|
|
<?xml version="1.0" encoding="utf-8" ?> <odoo> <!--
VIEWS -->
<!-- FORM VIEW --> <record id="mail_activity_view_form_board" model="ir.ui.view"> <field name="name">mail.activity.boards.view.form</field> <field name="model">mail.activity</field> <field name="priority">30</field> <field name="arch" type="xml"> <form string="Activity Form" create="false" edit="false" delete="false"> <sheet string="Activity"> <button name="open_origin" type="object" class="centre oe_link" nolabel="1"> <h1><field name="res_name"/></h1> </button> <field name="activity_category" invisible="1" /> <field name="res_model" invisible="1"/> <field name="res_model_id" invisible="1"/> <field name="res_id" invisible="1"/> <group> <group> <field name="activity_type_id" required="1" options="{'no_create': True, 'no_open': True}"/> <field name="res_model_id_name"/> <field name="calendar_event_id" invisible="1"/> <field name="create_date" invisible="1"/> </group> <group> <field name="date_deadline" attrs="{'invisible': [('activity_category', '=', 'meeting')]}"/> <field name="calendar_event_id_start" string="Start meeting" attrs="{'invisible': [('calendar_event_id','=', False)]}"/> <field name="duration" widget="float_time" attrs="{'invisible': ['|',('duration', '=', False), ('calendar_event_id','=', False)]}"/> <field name="user_id" options="{'no_open': True}"/>
</group> </group> <group attrs="{'invisible': ['|',('calendar_event_id','=', False),('calendar_event_id_partner_ids','=', False)]}"> <field name="calendar_event_id_partner_ids" mode="kanban"/> </group> <group> <field name="summary" placeholder="e.g. Discuss proposal"/> <field name="note" placeholder="Log a note..."/> </group> </sheet> </form> </field> </record>
<!-- TREE VIEW --> <record id="mail_activity_view_tree" model="ir.ui.view"> <field name="name">mail.activity.boards.view.tree</field> <field name="model">mail.activity</field> <field name="inherit_id" ref="mail.mail_activity_view_tree"/> <field name="arch" type="xml"> <xpath expr="//tree" position="attributes"> <attribute name="default_order"></attribute> <attribute name="decoration-danger">(date_deadline < current_date)</attribute> <attribute name="decoration-warning">(date_deadline == current_date)</attribute> <attribute name="decoration-success">(date_deadline > current_date)</attribute> </xpath>
</field> </record>
<!-- KANBAN VIEW --> <record id="mail_activity_view_kanban" model="ir.ui.view"> <field name="name">mail.activity.boards.view.kanban</field> <field name="model">mail.activity</field> <field name="priority" eval="10"/> <field name="arch" type="xml"> <kanban default_group_by="activity_type_id" class="_kanban_small_column o_opportunity_kanban" create="0" _order="date_deadline" group_create="false" group_delete="false" group_edit="false"> <field name="user_id"/> <field name="res_id"/> <field name="res_name"/> <field name="res_model"/> <field name="summary"/> <field name="date_deadline"/> <field name="state"/> <field name="icon"/> <field name="activity_type_id"/> <field name="activity_category"/> <templates> <t t-name="kanban-box"> <div t-attf-class="oe_kanban_content oe_kanban_global_click"> <div class="oe_kanban_content"> <div> <strong class="o_kanban_record_subtitle"> <span t-attf-class="fa #{record.icon.raw_value}" /> <field name="summary"/> </strong> </div> <div> <strong class="o_kanban_record_title"><field name="res_name"/></strong> </div>
<div class="o_kanban_record_bottom"> <div class="oe_kanban_bottom_left"> <t t-set="act_date" t-value="new Date(record.date_deadline.raw_value)"/> <t t-if="act_date < (new Date())"> <span t-attf-class="text-danger"><i class="fa fa-clock-o"/></span> <t t-if="record.activity_category.raw_value!='meeting'"> <span t-attf-class="text-danger"> <field name="date_deadline" t-options='{"widget": "date"}'/> </span> </t> <t t-else=""> <span t-attf-class="text-danger"> <field name="calendar_event_id_start" t-options='{"widget": "date"}'/> </span> </t> </t> <t t-else=""> <span><i class="fa fa-clock-o"/></span> <t t-if="record.activity_category.raw_value!='meeting'"> <span> <field name="date_deadline" t-options='{"widget": "date"}'/> </span> </t> <t t-else=""> <field name="calendar_event_id_start" t-options='{"widget": "date"}'/> </t> </t> </div> <div class="oe_kanban_bottom_right"> <img t-att-src="kanban_image('res.users', 'image_small', record.user_id.raw_value)" t-att-title="record.user_id.value" width="24" height="24" class="oe_kanban_avatar"/> </div> </div> </div> </div> </t> </templates> </kanban> </field> </record>
<!-- SEARCH VIEW --> <record id="mail_activity_view_search" model="ir.ui.view"> <field name="name">mail.activity.boards.view.search</field> <field name="model">mail.activity</field> <field name="inherit_id" ref="mail.mail_activity_view_search"/> <field name="priority" eval="2"/> <field name="mode">primary</field> <field name="arch" type="xml"> <xpath expr='//field[@name="res_model_id"]' position='before'> <field name="user_id"/> <field name="res_name" string="Origin"/> </xpath>
<xpath expr='//filter[@name="activities_my"]' position='after'> <filter string="Act. next month" name="activities_month" domain="[('date_deadline', '<', (context_today()+datetime.timedelta(days=30)).strftime('%Y-%m-%d'))]" help="Show activities scheduled for next month."/> <filter string="Act. next 6 months" name="activities_6_month" domain="[('date_deadline', '<', (context_today()+datetime.timedelta(days=180)).strftime('%Y-%m-%d'))]" help="Show activities scheduled for next 6 months."/> <separator/> </xpath>
<xpath expr='//search/group' position='inside'> <filter string="User" context="{'group_by':'user_id'}"/> <filter string="Origin" context="{'group_by': 'res_model_id'}"/> </xpath>
</field> </record>
<!--
ACTION --> <record model="ir.actions.act_window" id="open_boards_activities"> <field name="name">Activities</field> <field name="res_model">mail.activity</field> <field name="view_type">form</field> <field name="view_mode">kanban,form</field> <field name="domain">[]</field> <field name="context">{}</field> <field name="view_ids" eval="[(5, 0, 0), (0, 0, {'view_mode': 'kanban', 'view_id': ref('mail_activity_view_kanban')}), (0, 0, {'view_mode': 'tree', 'view_id': ref('mail_activity_view_tree')}), (0, 0, {'view_mode': 'form', 'view_id': ref('mail_activity_view_form_board')}), (0, 0, {'view_mode': 'calendar'}), (0, 0, {'view_mode': 'pivot'}), (0, 0, {'view_mode': 'graph'})]"/> <field name="search_view_id" ref="mail_activity_view_search"/> </record>
<!--
Menus --> <menuitem id="board_menu_activities" name="Activities" parent="base.menu_board_root" action="open_boards_activities" sequence="1"/>
</odoo>
|