1932 lines
92 KiB
XML
1932 lines
92 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<odoo>
|
|
|
|
<record id="project_task_view_list_fsm" model="ir.ui.view">
|
|
<field name="name">project.task.list.fsm</field>
|
|
<field name="model">project.task</field>
|
|
<field name="inherit_id" ref="project.project_task_view_tree_base"/>
|
|
<field name="mode">primary</field>
|
|
<field name="arch" type="xml">
|
|
<list position="attributes">
|
|
<attribute name="default_order">planned_date_begin</attribute>
|
|
<attribute name="js_class">project_task_list</attribute>
|
|
</list>
|
|
<list position="inside">
|
|
<field name="activity_exception_decoration" widget="activity_exception"/>
|
|
</list>
|
|
<field name="partner_id" position="attributes">
|
|
<attribute name="optional"/>
|
|
</field>
|
|
<field name="planned_date_begin" position="attributes">
|
|
<attribute name="optional">show</attribute>
|
|
</field>
|
|
<field name="partner_id" position="after">
|
|
<field name="is_fsm" column_invisible="True"/>
|
|
</field>
|
|
<field name="partner_id" position="attributes">
|
|
<attribute name="required">is_fsm</attribute>
|
|
</field>
|
|
<field name="date_deadline" position="attributes">
|
|
<attribute name="string">Planned Date</attribute>
|
|
<attribute name="options">{'start_date_field': 'planned_date_begin', 'always_range': '1'}</attribute>
|
|
</field>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_task_view_list_fsm_my_task" model="ir.ui.view">
|
|
<field name="name">project.task.list.fsm.my.task</field>
|
|
<field name="model">project.task</field>
|
|
<field name="inherit_id" ref="project_task_view_list_fsm"/>
|
|
<field name="mode">primary</field>
|
|
<field name="priority">999</field>
|
|
<field name="arch" type="xml">
|
|
<list position="attributes">
|
|
<attribute name="js_class">fsm_my_task_list</attribute>
|
|
</list>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_task_view_search_fsm_base" model="ir.ui.view">
|
|
<field name="name">project.task.search.fsm.base</field>
|
|
<field name="model">project.task</field>
|
|
<field name="inherit_id" ref="project.view_task_search_form_project_fsm_base"/>
|
|
<field name="mode">primary</field>
|
|
<field name="priority">999</field>
|
|
<field name="arch" type="xml">
|
|
<search position="inside"/>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_task_view_search_fsm" model="ir.ui.view">
|
|
<field name="name">project.task.search.fsm</field>
|
|
<field name="model">project.task</field>
|
|
<field name="inherit_id" ref="project_task_view_search_fsm_base"/>
|
|
<field name="mode">primary</field>
|
|
<field name="priority">20</field>
|
|
<field name="arch" type="xml">
|
|
<filter name="my_tasks" position="before">
|
|
<field string="Properties" name="task_properties"/>
|
|
</filter>
|
|
<filter name="closed_on" position="after">
|
|
<separator/>
|
|
<filter string="Unread Messages" name="message_needaction" domain="[('message_needaction', '=', True)]" groups="mail.group_mail_notification_type_inbox"/>
|
|
<separator invisible="1"/>
|
|
<filter string="To Schedule/Assign" name="schedule" domain="[
|
|
'|',
|
|
('user_ids', '=', False),
|
|
'&',
|
|
('planned_date_begin', '=', False),
|
|
('date_deadline', '=', False),
|
|
('state', 'not in', ['1_done', '1_canceled'])
|
|
]" invisible="1"/>
|
|
<separator invisible="1"/>
|
|
<filter name="planned_today" string="Today" domain="[
|
|
('planned_date_begin','<', 'today +1d'),
|
|
('date_deadline','>=', 'today'),
|
|
]" invisible="1"/>
|
|
<filter name="planned_future" string="Future" domain="[('planned_date_begin', '>=', 'today')]" invisible="1"/>
|
|
<separator invisible="1"/>
|
|
<filter invisible="1" string="My Activities" name="filter_activities_my"
|
|
domain="[('activity_user_id', '=', uid)]"/>
|
|
<separator invisible="1"/>
|
|
<filter invisible="1" string="Late Activities" name="activities_overdue"
|
|
domain="[('my_activity_date_deadline', '<', 'today')]"
|
|
help="Show all records whose next activity date is past"/>
|
|
<filter invisible="1" string="Today Activities" name="activities_today"
|
|
domain="[('my_activity_date_deadline', '=', 'today')]"/>
|
|
<filter invisible="1" string="Future Activities" name="activities_upcoming_all"
|
|
domain="[('my_activity_date_deadline', '>', 'today')]"/>
|
|
</filter>
|
|
|
|
<xpath expr="//group" position="inside">
|
|
<filter string="Start Date" name="planned_date_begin" context="{'group_by': 'planned_date_begin'}"/>
|
|
</xpath>
|
|
|
|
<xpath expr="//group/filter[@name='customer']" position="after">
|
|
<filter name="partner_zip" context="{'group_by': 'partner_zip'}"/>
|
|
<filter name="partner_city" context="{'group_by': 'partner_city'}"/>
|
|
</xpath>
|
|
|
|
<field name="partner_id" position="after">
|
|
<field name="partner_zip" filter_domain="['|', ('partner_zip', 'ilike', self), ('partner_city', 'ilike', self)]"/>
|
|
</field>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_task_view_calendar_fsm" model="ir.ui.view">
|
|
<field name="name">project.task.calendar.fsm</field>
|
|
<field name="model">project.task</field>
|
|
<field name="arch" type="xml">
|
|
<calendar date_start="planned_date_start" date_stop="date_deadline" string="Tasks" mode="month" color="project_id" event_open_popup="1" form_view_id="%(project.view_task_form2)d" quick_create="0" show_unusual_days="True" js_class="fsm_task_calendar">
|
|
<field name="is_closed" invisible="1"/>
|
|
<field name="name"/>
|
|
<field name="project_id" filters="1"/>
|
|
<field name="user_ids" widget="many2many_avatar_user" invisible="not user_ids"/>
|
|
<field name="partner_id" widget="res_partner_many2one" context="{'show_address': 1}"/>
|
|
<field name="partner_zip" filters="1" invisible="not partner_zip"/>
|
|
<field name="partner_phone" widget="phone" invisible="not partner_phone"/>
|
|
<field name="tag_ids" widget="many2many_tags" options="{'color_field': 'color'}" invisible="not tag_ids"/>
|
|
</calendar>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_task_view_calendar_fsm2" model="ir.ui.view">
|
|
<field name="name">project.task.calendar.fsm2</field>
|
|
<field name="model">project.task</field>
|
|
<field name="inherit_id" ref="project_task_view_calendar_fsm"/>
|
|
<field name="mode">primary</field>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//field[@name='project_id']" position="replace"/>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_task_map_view_fsm" model="ir.ui.view">
|
|
<field name="name">project.task.view.map.fsm</field>
|
|
<field name="model">project.task</field>
|
|
<field name="inherit_id" ref="project_enterprise.project_task_map_view"/>
|
|
<field name="mode">primary</field>
|
|
<field name="arch" type="xml">
|
|
<map position="attributes">
|
|
<attribute name="js_class">fsm_task_map</attribute>
|
|
</map>
|
|
<field name="partner_id" position="after">
|
|
<field name="partner_phone" string="Contact Number"/>
|
|
</field>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_task_map_view_fsm2" model="ir.ui.view">
|
|
<field name="name">project.task.view.map.fsm2</field>
|
|
<field name="model">project.task</field>
|
|
<field name="inherit_id" ref="project_task_map_view_fsm"/>
|
|
<field name="mode">primary</field>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//field[@name='project_id']" position="replace"/>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_task_map_view_fsm_my_task" model="ir.ui.view">
|
|
<field name="name">project.task.view.map.fsm</field>
|
|
<field name="model">project.task</field>
|
|
<field name="inherit_id" ref="project_task_map_view_fsm"/>
|
|
<field name="mode">primary</field>
|
|
<field name="priority">999</field>
|
|
<field name="arch" type="xml">
|
|
<map position="attributes">
|
|
<attribute name="js_class">fsm_my_task_map</attribute>
|
|
</map>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_task_map_view_fsm_my_task2" model="ir.ui.view">
|
|
<field name="name">project.task.view.map.fsm</field>
|
|
<field name="model">project.task</field>
|
|
<field name="inherit_id" ref="project_task_map_view_fsm_my_task"/>
|
|
<field name="mode">primary</field>
|
|
<field name="priority">999</field>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//field[@name='project_id']" position="replace"/>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Non primary kanban inherit (fsm tasks must display start date instead of deadline in all application) -->
|
|
<record id="project_task_view_kanban" model="ir.ui.view">
|
|
<field name="name">project.task.kanban.fsm.nonprimary</field>
|
|
<field name="model">project.task</field>
|
|
<field name="inherit_id" ref="project_enterprise.view_task_kanban_inherited"/>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//kanban" position="inside">
|
|
<field name="is_fsm"/>
|
|
<field name="fsm_done" />
|
|
</xpath>
|
|
<xpath expr="//field[@name='partner_id']" position="replace">
|
|
<div t-if="!record.is_template.raw_value and !record.has_project_template.raw_value" class="d-flex">
|
|
<field class="text-truncate" name="partner_id"/>
|
|
<span t-if="record.is_fsm.raw_value and record.partner_city.value" class="ms-1 text-truncate">
|
|
•<field name="partner_city" class="ms-1"/>
|
|
</span>
|
|
</div>
|
|
<field name="partner_phone" t-if="!record.is_template.raw_value and !record.has_project_template.raw_value and record.is_fsm.raw_value" invisible="not context.get('is_form_gantt')"/>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<!-- Primary kanban inherit all tasks in fsm must display their date in hours format -->
|
|
<record id="quick_create_task_form_fsm_inherited" model="ir.ui.view">
|
|
<field name="name">project.task.form.quick_create_inherited</field>
|
|
<field name="model">project.task</field>
|
|
<field name="inherit_id" ref="project.quick_create_task_form"/>
|
|
<field name="mode">primary</field>
|
|
<field name="arch" type="xml">
|
|
<field name="display_name" position="attributes">
|
|
<attribute name="placeholder">e.g. Boiler replacement</attribute>
|
|
</field>
|
|
<field name="project_id" position="attributes">
|
|
<attribute name="required">1</attribute>
|
|
<attribute name="domain">[('is_fsm', '=', True)]</attribute>
|
|
</field>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_task_view_kanban_fsm" model="ir.ui.view">
|
|
<field name="name">project.task.kanban.fsm</field>
|
|
<field name="model">project.task</field>
|
|
<field name="inherit_id" ref="project.view_task_kanban"/>
|
|
<field name="mode">primary</field>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//kanban" position="attributes">
|
|
<attribute name="default_order">planned_date_begin</attribute>
|
|
<attribute name="class">o_fsm_kanban o_kanban_project_tasks</attribute>
|
|
<attribute name="quick_create_view">industry_fsm.quick_create_task_form_fsm_inherited</attribute>
|
|
<attribute name="on_create">quick_create</attribute>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_task_view_kanban_fsm_my_task" model="ir.ui.view">
|
|
<field name="name">project.task.kanban.fsm.my.task</field>
|
|
<field name="model">project.task</field>
|
|
<field name="inherit_id" ref="project_task_view_kanban_fsm"/>
|
|
<field name="mode">primary</field>
|
|
<field name="priority">999</field>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//kanban" position="attributes">
|
|
<attribute name="js_class">fsm_my_task_kanban</attribute>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm_no_quick_create" model="ir.ui.view">
|
|
<field name="name">project.task.kanban.fsm.no.quick.create</field>
|
|
<field name="model">project.task</field>
|
|
<field name="inherit_id" ref="project_task_view_kanban_fsm_my_task"/>
|
|
<field name="mode">primary</field>
|
|
<field name="priority">999</field>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//kanban" position="attributes">
|
|
<attribute name="quick_create">0</attribute>
|
|
<attribute name="default_group_by">planned_date_begin:day</attribute>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_task_view_graph_group_by_planned_date_begin_fsm" model="ir.ui.view">
|
|
<field name="name">project.task.view.graph.fsm.group.by.planned_date_begin</field>
|
|
<field name="model">project.task</field>
|
|
<field name="inherit_id" ref="project.view_project_task_graph"/>
|
|
<field name="mode">primary</field>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//field[@name='project_id']" position='replace'>
|
|
<field name="planned_date_begin" interval="day"/>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_task_view_pivot_group_by_planned_date_begin_fsm" model="ir.ui.view">
|
|
<field name="name">project.task.view.pivot.fsm.group.by.planned_date_begin</field>
|
|
<field name="model">project.task</field>
|
|
<field name="inherit_id" ref="project.view_project_task_pivot"/>
|
|
<field name="mode">primary</field>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//field[@name='project_id']" position='replace'>
|
|
<field name="planned_date_begin" interval="day" type="row"/>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_task_view_pivot_group_by_users_fsm" model="ir.ui.view">
|
|
<field name="name">project.task.view.pivot.fsm.group.by.users</field>
|
|
<field name="model">project.task</field>
|
|
<field name="inherit_id" ref="project.view_project_task_pivot"/>
|
|
<field name="mode">primary</field>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//pivot" position="inside">
|
|
<field name="user_ids" type="row"/>
|
|
</xpath>
|
|
<xpath expr="//field[@name='project_id']" position="replace"></xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_task_gantt_view_grouped_by_project_and_users" model="ir.ui.view">
|
|
<field name="name">project.task.gantt.fsm</field>
|
|
<field name="model">project.task</field>
|
|
<field name="inherit_id" ref="project_enterprise.project_task_view_gantt"/>
|
|
<field name="mode">primary</field>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//gantt" position="attributes">
|
|
<attribute name="default_group_by">project_id,user_ids</attribute>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
|
|
<record id="project_task_pivot_view_grouped_by_project_and_users" model="ir.ui.view">
|
|
<field name="name">project.task.pivot.fsm</field>
|
|
<field name="model">project.task</field>
|
|
<field name="inherit_id" ref="project.view_project_task_pivot"/>
|
|
<field name="mode">primary</field>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//field[@name='project_id']" position="after">
|
|
<field name="user_ids" type="row"/>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_task_gantt_view_grouped_by_location" model="ir.ui.view">
|
|
<field name="name">project.task.view.gantt.fsm.group.by.location</field>
|
|
<field name="model">project.task</field>
|
|
<field name="inherit_id" ref="project_enterprise.project_task_view_gantt"/>
|
|
<field name="mode">primary</field>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//gantt" position="attributes">
|
|
<attribute name="default_group_by">partner_zip,user_ids</attribute>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_task_pivot_view_grouped_by_location" model="ir.ui.view">
|
|
<field name="name">project.task.view.pivot.fsm.group.by.location</field>
|
|
<field name="model">project.task</field>
|
|
<field name="inherit_id" ref="project.view_project_task_pivot"/>
|
|
<field name="mode">primary</field>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//field[@name='project_id']" position="replace">
|
|
<field name="partner_zip" type="row"/>
|
|
<field name="user_ids" type="col"/>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_task_graph_view_grouped_by_location" model="ir.ui.view">
|
|
<field name="name">project.task.view.graph.fsm.group.by.location</field>
|
|
<field name="model">project.task</field>
|
|
<field name="inherit_id" ref="project.view_project_task_graph"/>
|
|
<field name="mode">primary</field>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//field[@name='project_id']" position="before">
|
|
<field name="partner_zip"/>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="fsm_project_task_view_calendar" model="ir.ui.view">
|
|
<field name="name">fsm.project.task.calendar</field>
|
|
<field name="model">project.task</field>
|
|
<field name="inherit_id" ref="project_task_view_calendar_fsm"/>
|
|
<field name="mode">primary</field>
|
|
<field name="arch" type="xml">
|
|
<calendar position="attributes">
|
|
<attribute name="js_class">fsm_my_task_calendar</attribute>
|
|
</calendar>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="fsm_project_task_view_calendar2" model="ir.ui.view">
|
|
<field name="name">project.task.calendar.fsm2</field>
|
|
<field name="model">project.task</field>
|
|
<field name="inherit_id" ref="fsm_project_task_view_calendar"/>
|
|
<field name="mode">primary</field>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//field[@name='project_id']" position="replace"/>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="fsm_project_task_view_gantt" model="ir.ui.view">
|
|
<field name="name">fsm.project.task.view.gantt</field>
|
|
<field name="model">project.task</field>
|
|
<field name="inherit_id" ref="project_enterprise.project_task_view_gantt"/>
|
|
<field name="mode">primary</field>
|
|
<field name="arch" type="xml">
|
|
<gantt position="attributes">
|
|
<attribute name="js_class">fsm_task_gantt</attribute>
|
|
<attribute name="default_range">day</attribute>
|
|
</gantt>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_task_view_activity" model="ir.ui.view">
|
|
<field name="name">industry_fsm.project.task.activity.view</field>
|
|
<field name="model">project.task</field>
|
|
<field name="inherit_id" ref="project.project_task_view_activity"/>
|
|
<field name="mode">primary</field>
|
|
<field name="priority">999</field>
|
|
<field name="arch" type="xml">
|
|
<activity position="attributes">
|
|
<attribute name="js_class">fsm_my_task_activity</attribute>
|
|
</activity>
|
|
</field>
|
|
</record>
|
|
|
|
<!--
|
|
FSM Actions
|
|
-->
|
|
<record id="project_task_fsm_mobile_server_action" model="ir.actions.server">
|
|
<field name="name">My Tasks in mobile Server Action</field>
|
|
<field name="model_id" ref="project.model_project_task"/>
|
|
<field name="state">code</field>
|
|
<field name="code">action = (record or model)._get_action_fsm_task_mobile_view()</field>
|
|
</record>
|
|
|
|
<!-- My Tasks: kanban server action -->
|
|
<record id="project_task_fsm_server_action" model="ir.actions.server">
|
|
<field name="name">My Tasks Server Action</field>
|
|
<field name="model_id" ref="project.model_project_task"/>
|
|
<field name="path">field-service</field>
|
|
<field name="state">code</field>
|
|
<field name="code">action = model._server_action_project_task_fsm(
|
|
'industry_fsm.project_task_action_fsm',
|
|
'industry_fsm.project_task_action_fsm2',
|
|
[(4, uid)],
|
|
)</field>
|
|
</record>
|
|
|
|
<!-- My Tasks: kanban action if the number of FSM projects > 1 -->
|
|
<record id="project_task_action_fsm" model="ir.actions.act_window">
|
|
<field name="name">My Tasks</field>
|
|
<field name="res_model">project.task</field>
|
|
<field name="view_mode">kanban,list,map,calendar,gantt,form,graph,pivot,activity</field>
|
|
<field name="search_view_id" ref="project_task_view_search_fsm"/>
|
|
<field name="domain">[('is_fsm', '=', True), ('project_id', '!=', False)]</field>
|
|
<field name="context">{
|
|
'fsm_mode': True,
|
|
'search_default_my_tasks': True,
|
|
'search_default_planned_future': True,
|
|
'search_default_planned_today': True,
|
|
'default_scale': 'day',
|
|
}</field>
|
|
<field name="help" type="html">
|
|
<p class='o_view_nocontent_smiling_face'>No tasks found. Let's create one!</p>
|
|
<p>Find here your upcoming tasks for the next few days.</p>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm_view_kanban" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="5"/>
|
|
<field name="view_mode">kanban</field>
|
|
<field name="view_id" ref="project_task_action_fsm_no_quick_create"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm_view_map" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="10"/>
|
|
<field name="view_mode">map</field>
|
|
<field name="view_id" ref="project_task_map_view_fsm_my_task"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm_view_calendar" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="20"/>
|
|
<field name="view_mode">calendar</field>
|
|
<field name="view_id" ref="fsm_project_task_view_calendar"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm_view_gantt" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="25"/>
|
|
<field name="view_mode">gantt</field>
|
|
<field name="view_id" ref="fsm_project_task_view_gantt"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm_view_tree" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="7"/>
|
|
<field name="view_mode">list</field>
|
|
<field name="view_id" ref="project_task_view_list_fsm_my_task"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm_view_form" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="30"/>
|
|
<field name="view_mode">form</field>
|
|
<field name="view_id" ref="project.view_task_form2"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm_view_pivot" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="33"/>
|
|
<field name="view_mode">pivot</field>
|
|
<field name="view_id" ref="project_task_view_pivot_group_by_planned_date_begin_fsm"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm_view_graph" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="34"/>
|
|
<field name="view_mode">graph</field>
|
|
<field name="view_id" ref="project_task_view_graph_group_by_planned_date_begin_fsm"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm_view_activity" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="31"/>
|
|
<field name="view_mode">activity</field>
|
|
<field name="view_id" ref="industry_fsm.project_task_view_activity"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm"/>
|
|
</record>
|
|
|
|
<!-- My Tasks: kanban action if the number of FSM projects <= 1 -->
|
|
<record id="project_task_action_fsm2" model="ir.actions.act_window">
|
|
<field name="name">My Tasks</field>
|
|
<field name="res_model">project.task</field>
|
|
<field name="view_mode">kanban,list,map,calendar,gantt,form,graph,pivot,activity</field>
|
|
<field name="search_view_id" ref="project_task_view_search_fsm"/>
|
|
<field name="domain">[('has_template_ancestor', '=', False), ('is_fsm', '=', True), ('project_id', '!=', False)]</field>
|
|
<field name="context">{
|
|
'fsm_mode': True,
|
|
'search_default_my_tasks': True,
|
|
'search_default_planned_future': True,
|
|
'search_default_planned_today': True,
|
|
'default_scale': 'day',
|
|
}</field>
|
|
<field name="help" type="html">
|
|
<p class='o_view_nocontent_smiling_face'>No tasks found. Let's create one!</p>
|
|
<p>Find here your upcoming tasks for the next few days.</p>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm2_view_kanban" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="5"/>
|
|
<field name="view_mode">kanban</field>
|
|
<field name="view_id" ref="project_task_action_fsm_no_quick_create"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm2_view_map" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="10"/>
|
|
<field name="view_mode">map</field>
|
|
<field name="view_id" ref="project_task_map_view_fsm_my_task2"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm2_view_calendar" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="20"/>
|
|
<field name="view_mode">calendar</field>
|
|
<field name="view_id" ref="fsm_project_task_view_calendar2"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm2_view_gantt" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="25"/>
|
|
<field name="view_mode">gantt</field>
|
|
<field name="view_id" ref="fsm_project_task_view_gantt"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm2_view_tree" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="7"/>
|
|
<field name="view_mode">list</field>
|
|
<field name="view_id" ref="project_task_view_list_fsm_my_task"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm2_view_form" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="30"/>
|
|
<field name="view_mode">form</field>
|
|
<field name="view_id" ref="project.view_task_form2"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm2_view_pivot" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="33"/>
|
|
<field name="view_mode">pivot</field>
|
|
<field name="view_id" ref="project_task_view_pivot_group_by_planned_date_begin_fsm"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm2_view_graph" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="34"/>
|
|
<field name="view_mode">graph</field>
|
|
<field name="view_id" ref="project_task_view_graph_group_by_planned_date_begin_fsm"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm2_view_activity" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="31"/>
|
|
<field name="view_mode">activity</field>
|
|
<field name="view_id" ref="industry_fsm.project_task_view_activity"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm2"/>
|
|
</record>
|
|
|
|
<!-- My Tasks: map server action -->
|
|
<record id="project_task_fsm_map_server_action" model="ir.actions.server">
|
|
<field name="name">Map Server Action</field>
|
|
<field name="model_id" ref="project.model_project_task"/>
|
|
<field name="path">field-service-map</field>
|
|
<field name="state">code</field>
|
|
<field name="code">action = model._server_action_project_task_fsm(
|
|
'industry_fsm.project_task_action_fsm_map',
|
|
'industry_fsm.project_task_action_fsm_map2',
|
|
[(4, uid)],
|
|
)</field>
|
|
</record>
|
|
|
|
<!-- My Tasks: map action if the number of FSM projects > 1 -->
|
|
<record id="project_task_action_fsm_map" model="ir.actions.act_window">
|
|
<field name="name">Map</field>
|
|
<field name="res_model">project.task</field>
|
|
<field name="view_mode">map,calendar,gantt,kanban,list,pivot,graph,activity,form</field>
|
|
<field name="mobile_view_mode">map</field>
|
|
<field name="search_view_id" ref="project_task_view_search_fsm"/>
|
|
<field name="domain">[('is_fsm', '=', True), ('project_id', '!=', False)]</field>
|
|
<field name="context">{
|
|
'fsm_mode': True,
|
|
'search_default_my_tasks': True,
|
|
'search_default_planned_today': True,
|
|
'default_scale': 'day',
|
|
}</field>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
No tasks found. Let's create one!
|
|
</p><p>
|
|
Find here your itinerary for today's tasks.
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm_map_view_map" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="5"/>
|
|
<field name="view_mode">map</field>
|
|
<field name="view_id" ref="project_task_map_view_fsm_my_task"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_map"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm_map_view_kanban" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="20"/>
|
|
<field name="view_mode">kanban</field>
|
|
<field name="view_id" ref="project_task_view_kanban_fsm_my_task"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_map"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm_map_view_calendar" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="10"/>
|
|
<field name="view_mode">calendar</field>
|
|
<field name="view_id" ref="fsm_project_task_view_calendar"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_map"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm_map_view_gantt" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="15"/>
|
|
<field name="view_mode">gantt</field>
|
|
<field name="view_id" ref="fsm_project_task_view_gantt"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_map"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm_map_view_tree" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="25"/>
|
|
<field name="view_mode">list</field>
|
|
<field name="view_id" ref="project_task_view_list_fsm_my_task"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_map"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm_map_view_form" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="30"/>
|
|
<field name="view_mode">form</field>
|
|
<field name="view_id" ref="project.view_task_form2"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_map"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm_map_view_pivot" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="40"/>
|
|
<field name="view_mode">pivot</field>
|
|
<field name="act_window_id" ref="project_task_action_fsm_map"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm_map_view_graph" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="50"/>
|
|
<field name="view_mode">graph</field>
|
|
<field name="view_id" ref="project.view_project_task_graph"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_map"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm_map_view_activity" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="35"/>
|
|
<field name="view_mode">activity</field>
|
|
<field name="view_id" ref="industry_fsm.project_task_view_activity"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_map"/>
|
|
</record>
|
|
|
|
<!-- My Tasks: map action if the number of FSM projects <= 1 -->
|
|
<record id="project_task_action_fsm_map2" model="ir.actions.act_window">
|
|
<field name="name">Map</field>
|
|
<field name="res_model">project.task</field>
|
|
<field name="view_mode">map,calendar,gantt,kanban,list,pivot,graph,activity,form</field>
|
|
<field name="mobile_view_mode">map</field>
|
|
<field name="search_view_id" ref="project_task_view_search_fsm"/>
|
|
<field name="domain">[('is_fsm', '=', True), ('project_id', '!=', False)]</field>
|
|
<field name="context">{
|
|
'fsm_mode': True,
|
|
'search_default_my_tasks': True,
|
|
'search_default_planned_today': True,
|
|
'default_scale': 'day',
|
|
}</field>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
No tasks found. Let's create one!
|
|
</p><p>
|
|
Find here your itinerary for today's tasks.
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm_map2_view_map" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="5"/>
|
|
<field name="view_mode">map</field>
|
|
<field name="view_id" ref="project_task_map_view_fsm_my_task2"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_map2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm_map2_view_kanban" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="20"/>
|
|
<field name="view_mode">kanban</field>
|
|
<field name="view_id" ref="project_task_view_kanban_fsm_my_task"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_map2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm_map2_view_calendar" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="10"/>
|
|
<field name="view_mode">calendar</field>
|
|
<field name="view_id" ref="fsm_project_task_view_calendar2"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_map2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm_map2_view_gantt" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="15"/>
|
|
<field name="view_mode">gantt</field>
|
|
<field name="view_id" ref="fsm_project_task_view_gantt"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_map2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm_map2_view_tree" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="25"/>
|
|
<field name="view_mode">list</field>
|
|
<field name="view_id" ref="project_task_view_list_fsm_my_task"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_map2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm_map2_view_form" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="30"/>
|
|
<field name="view_mode">form</field>
|
|
<field name="view_id" ref="project.view_task_form2"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_map2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm_map2_view_pivot" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="40"/>
|
|
<field name="view_mode">pivot</field>
|
|
<field name="act_window_id" ref="project_task_action_fsm_map2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm_map2_view_graph" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="50"/>
|
|
<field name="view_mode">graph</field>
|
|
<field name="view_id" ref="project.view_project_task_graph"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_map2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm_map2_view_activity" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="35"/>
|
|
<field name="view_mode">activity</field>
|
|
<field name="view_id" ref="industry_fsm.project_task_view_activity"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_map2"/>
|
|
</record>
|
|
|
|
<!-- All Tasks default group by stage -->
|
|
<record id="project_task_view_kanban_fsm_all" model="ir.ui.view">
|
|
<field name="name">project.task.kanban.fsm.all</field>
|
|
<field name="model">project.task</field>
|
|
<field name="inherit_id" ref="industry_fsm.project_task_view_kanban_fsm"/>
|
|
<field name="mode">primary</field>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//kanban" position="attributes" t-translation="off">
|
|
<attribute name="default_group_by">stage_id</attribute>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
<!-- Tasks with Add stage column -->
|
|
<record id="project_tasks_view_kanban_action_fsm" model="ir.ui.view">
|
|
<field name="name">project.tasks.kanban.fsm</field>
|
|
<field name="model">project.task</field>
|
|
<field name="inherit_id" ref="industry_fsm.project_task_view_kanban_fsm_all"/>
|
|
<field name="mode">primary</field>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//kanban" position="attributes" t-translation="off">
|
|
<attribute name="group_create">1</attribute>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
<!-- All Tasks: main server action -->
|
|
<record id="project_task_all_fsm_server_action" model="ir.actions.server">
|
|
<field name="name">All Tasks Server Action</field>
|
|
<field name="model_id" ref="project.model_project_task"/>
|
|
<field name="path">field-service-tasks</field>
|
|
<field name="state">code</field>
|
|
<field name="code">action = model._server_action_project_task_fsm(
|
|
'industry_fsm.project_task_action_all_fsm',
|
|
'industry_fsm.project_task_action_all_fsm2',
|
|
)</field>
|
|
</record>
|
|
|
|
<!-- All Tasks: main action if the number of FSM projects > 1 -->
|
|
<record id="project_task_action_all_fsm" model="ir.actions.act_window">
|
|
<field name="name">All Tasks</field>
|
|
<field name="res_model">project.task</field>
|
|
<field name="view_mode">list,kanban,map,calendar,gantt,activity,pivot,graph,form</field>
|
|
<field name="search_view_id" ref="project_task_view_search_fsm"/>
|
|
<field name="domain">[('is_fsm', '=', True), ('project_id', '!=', False)]</field>
|
|
<field name="context">{
|
|
'fsm_mode': True,
|
|
'default_scale': 'week',
|
|
'graph_measure': '__count__',
|
|
'graph_groupbys': ['project_id'],
|
|
'pivot_measures': ['__count__'],
|
|
}</field>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
No tasks found. Let's create one!
|
|
</p><p>
|
|
To get things done, plan activities and use the task status.<br/>
|
|
Collaborate efficiently by chatting in real-time or via email.
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_task_action_all_fsm_view_kanban" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="10"/>
|
|
<field name="view_mode">kanban</field>
|
|
<field name="view_id" ref="project_task_view_kanban_fsm_all"/>
|
|
<field name="act_window_id" ref="project_task_action_all_fsm"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_all_fsm_view_map" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="10"/>
|
|
<field name="view_mode">map</field>
|
|
<field name="view_id" ref="project_task_map_view_fsm"/>
|
|
<field name="act_window_id" ref="project_task_action_all_fsm"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_all_fsm_view_calendar" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="11"/>
|
|
<field name="view_mode">calendar</field>
|
|
<field name="view_id" ref="project_task_view_calendar_fsm"/>
|
|
<field name="act_window_id" ref="project_task_action_all_fsm"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_all_fsm_view_tree" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="5"/>
|
|
<field name="view_mode">list</field>
|
|
<field name="view_id" ref="project_task_view_list_fsm"/>
|
|
<field name="act_window_id" ref="project_task_action_all_fsm"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_all_fsm_view_form" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="40"/>
|
|
<field name="view_mode">form</field>
|
|
<field name="view_id" ref="project.view_task_form2"/>
|
|
<field name="act_window_id" ref="project_task_action_all_fsm"/>
|
|
</record>
|
|
|
|
<!-- All Tasks: main action if the number of FSM projects <= 1 -->
|
|
<record id="project_task_action_all_fsm2" model="ir.actions.act_window">
|
|
<field name="name">All Tasks</field>
|
|
<field name="res_model">project.task</field>
|
|
<field name="view_mode">list,kanban,map,calendar,gantt,activity,pivot,graph,form</field>
|
|
<field name="search_view_id" ref="project_task_view_search_fsm"/>
|
|
<field name="domain">[('is_fsm', '=', True), ('project_id', '!=', False)]</field>
|
|
<field name="context">{
|
|
'fsm_mode': True,
|
|
'default_scale': 'week',
|
|
'graph_measure': '__count__',
|
|
'graph_groupbys': ['project_id'],
|
|
'pivot_measures': ['__count__'],
|
|
}</field>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
No tasks found. Let's create one!
|
|
</p><p>
|
|
To get things done, plan activities and use the task status.<br/>
|
|
Collaborate efficiently by chatting in real-time or via email.
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_task_action_all_fsm2_view_kanban" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="10"/>
|
|
<field name="view_mode">kanban</field>
|
|
<field name="view_id" ref="project_task_view_kanban_fsm_all"/>
|
|
<field name="act_window_id" ref="project_task_action_all_fsm2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_all_fsm2_view_map" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="10"/>
|
|
<field name="view_mode">map</field>
|
|
<field name="view_id" ref="project_task_map_view_fsm2"/>
|
|
<field name="act_window_id" ref="project_task_action_all_fsm2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_all_fsm2_view_calendar" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="11"/>
|
|
<field name="view_mode">calendar</field>
|
|
<field name="view_id" ref="project_task_view_calendar_fsm2"/>
|
|
<field name="act_window_id" ref="project_task_action_all_fsm2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_all_fsm2_view_gantt" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="12"/>
|
|
<field name="view_mode">gantt</field>
|
|
<field name="view_id" ref="project_enterprise.project_task_view_gantt"/>
|
|
<field name="act_window_id" ref="project_task_action_all_fsm2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_all_fsm2_view_tree" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="5"/>
|
|
<field name="view_mode">list</field>
|
|
<field name="view_id" ref="project_task_view_list_fsm"/>
|
|
<field name="act_window_id" ref="project_task_action_all_fsm2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_all_fsm2_view_form" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="40"/>
|
|
<field name="view_mode">form</field>
|
|
<field name="view_id" ref="project.view_task_form2"/>
|
|
<field name="act_window_id" ref="project_task_action_all_fsm2"/>
|
|
</record>
|
|
|
|
<!-- All Tasks: to schedule server action -->
|
|
<record id="project_task_to_schedule_fsm_server_action" model="ir.actions.server">
|
|
<field name="name">To Schedule Server Action</field>
|
|
<field name="model_id" ref="project.model_project_task"/>
|
|
<field name="path">field-service-to-schedule</field>
|
|
<field name="state">code</field>
|
|
<field name="code">action = model._server_action_project_task_fsm(
|
|
'industry_fsm.project_task_action_to_schedule_fsm',
|
|
'industry_fsm.project_task_action_to_schedule_fsm2',
|
|
)</field>
|
|
</record>
|
|
|
|
<!-- All Tasks: to schedule action if the number of FSM projects > 1 -->
|
|
<record id="project_task_action_to_schedule_fsm" model="ir.actions.act_window">
|
|
<field name="name">To Schedule</field>
|
|
<field name="res_model">project.task</field>
|
|
<field name="view_mode">list,kanban,map,calendar,gantt,activity,pivot,graph,form</field>
|
|
<field name="search_view_id" ref="project_task_view_search_fsm"/>
|
|
<field name="domain">[('is_fsm', '=', True), ('project_id', '!=', False)]</field>
|
|
<field name="context">{
|
|
'fsm_mode': True,
|
|
'search_default_schedule': True,
|
|
'default_scale': 'week',
|
|
}</field>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
No tasks found. Let's create one!
|
|
</p><p>Schedule your tasks and assign them to your technicians.</p>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_task_action_to_schedule_fsm_view_calendar" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="5"/>
|
|
<field name="view_mode">calendar</field>
|
|
<field name="view_id" ref="project_task_view_calendar_fsm"/>
|
|
<field name="act_window_id" ref="project_task_action_to_schedule_fsm"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_to_schedule_fsm_view_list" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="10"/>
|
|
<field name="view_mode">list</field>
|
|
<field name="view_id" ref="project_task_view_list_fsm"/>
|
|
<field name="act_window_id" ref="project_task_action_to_schedule_fsm"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_to_schedule_fsm_view_kanban" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="15"/>
|
|
<field name="view_mode">kanban</field>
|
|
<field name="view_id" ref="project_task_view_kanban_fsm"/>
|
|
<field name="act_window_id" ref="project_task_action_to_schedule_fsm"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_to_schedule_fsm_view_map" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="20"/>
|
|
<field name="view_mode">map</field>
|
|
<field name="view_id" ref="project_task_map_view_fsm"/>
|
|
<field name="act_window_id" ref="project_task_action_to_schedule_fsm"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_to_schedule_fsm_view_form" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="45"/>
|
|
<field name="view_mode">form</field>
|
|
<field name="view_id" ref="project.view_task_form2"/>
|
|
<field name="act_window_id" ref="project_task_action_to_schedule_fsm"/>
|
|
</record>
|
|
|
|
<!-- All Tasks: to schedule action if the number of FSM projects <= 1 -->
|
|
<record id="project_task_action_to_schedule_fsm2" model="ir.actions.act_window">
|
|
<field name="name">To Schedule</field>
|
|
<field name="res_model">project.task</field>
|
|
<field name="view_mode">list,kanban,map,calendar,gantt,activity,pivot,graph,form</field>
|
|
<field name="search_view_id" ref="project_task_view_search_fsm"/>
|
|
<field name="domain">[('is_fsm', '=', True), ('project_id', '!=', False)]</field>
|
|
<field name="context">{
|
|
'fsm_mode': True,
|
|
'search_default_schedule': True,
|
|
'default_scale': 'week',
|
|
}</field>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
No tasks found. Let's create one!
|
|
</p><p>Schedule your tasks and assign them to your technicians.</p>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_task_action_to_schedule_fsm2_view_calendar" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="5"/>
|
|
<field name="view_mode">calendar</field>
|
|
<field name="view_id" ref="project_task_view_calendar_fsm2"/>
|
|
<field name="act_window_id" ref="project_task_action_to_schedule_fsm2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_to_schedule_fsm2_view_list" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="10"/>
|
|
<field name="view_mode">list</field>
|
|
<field name="view_id" ref="project_task_view_list_fsm"/>
|
|
<field name="act_window_id" ref="project_task_action_to_schedule_fsm2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_to_schedule_fsm2_view_kanban" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="15"/>
|
|
<field name="view_mode">kanban</field>
|
|
<field name="view_id" ref="project_task_view_kanban_fsm"/>
|
|
<field name="act_window_id" ref="project_task_action_to_schedule_fsm2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_to_schedule_fsm2_view_map" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="20"/>
|
|
<field name="view_mode">map</field>
|
|
<field name="view_id" ref="project_task_map_view_fsm2"/>
|
|
<field name="act_window_id" ref="project_task_action_to_schedule_fsm2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_to_schedule_fsm2_view_gantt" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="21"/>
|
|
<field name="view_mode">gantt</field>
|
|
<field name="view_id" ref="project_enterprise.project_task_view_gantt"/>
|
|
<field name="act_window_id" ref="project_task_action_to_schedule_fsm2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_to_schedule_fsm2_view_form" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="45"/>
|
|
<field name="view_mode">form</field>
|
|
<field name="view_id" ref="project.view_task_form2"/>
|
|
<field name="act_window_id" ref="project_task_action_to_schedule_fsm2"/>
|
|
</record>
|
|
|
|
<!-- Tasks: main action -->
|
|
<record id="project_tasks_action_fsm" model="ir.actions.act_window">
|
|
<field name="name">Tasks</field>
|
|
<field name="res_model">project.task</field>
|
|
<field name="view_mode">kanban,list,gantt,calendar,map,pivot,graph,form,activity</field>
|
|
<field name="search_view_id" ref="project_task_view_search_fsm"/>
|
|
<field name="domain">[
|
|
('is_fsm', '=', True),
|
|
('project_id', '=', active_id),
|
|
('has_template_ancestor', '=', False),
|
|
]</field>
|
|
<field name="context">{
|
|
'pivot_row_groupby': ['user_ids'],
|
|
'default_project_id': active_id,
|
|
'show_project_update': True,
|
|
}</field>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
No tasks found. Let's create one!
|
|
</p><p>
|
|
To get things done, use activities and status on tasks.<br/>
|
|
Chat in real-time or by email to collaborate efficiently.
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_tasks_action_fsm_view_kanban" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="10"/>
|
|
<field name="view_mode">kanban</field>
|
|
<field name="view_id" ref="project_tasks_view_kanban_action_fsm"/>
|
|
<field name="act_window_id" ref="project_tasks_action_fsm"/>
|
|
</record>
|
|
|
|
<record id="project_tasks_action_fsm_view_tree" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="20"/>
|
|
<field name="view_mode">list</field>
|
|
<field name="view_id" ref="project_task_view_list_fsm"/>
|
|
<field name="act_window_id" ref="project_tasks_action_fsm"/>
|
|
</record>
|
|
|
|
<record id="project_tasks_action_fsm_view_calendar" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="30"/>
|
|
<field name="view_mode">calendar</field>
|
|
<field name="view_id" ref="project_task_view_calendar_fsm"/>
|
|
<field name="act_window_id" ref="project_tasks_action_fsm"/>
|
|
</record>
|
|
|
|
<record id="project_tasks_action_fsm_view_form" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="40"/>
|
|
<field name="view_mode">form</field>
|
|
<field name="view_id" ref="project.view_task_form2"/>
|
|
<field name="act_window_id" ref="project_tasks_action_fsm"/>
|
|
</record>
|
|
|
|
<!-- Planning : by users server action -->
|
|
<record id="project_task_fsm_planning_groupby_user_server_action" model="ir.actions.server">
|
|
<field name="name">Planning by User Action</field>
|
|
<field name="model_id" ref="project.model_project_task"/>
|
|
<field name="path">tasks-planning-user</field>
|
|
<field name="state">code</field>
|
|
<field name="code">action = model._server_action_project_task_fsm(
|
|
'industry_fsm.project_task_action_fsm_planning_groupby_user',
|
|
'industry_fsm.project_task_action_fsm_planning_groupby_user2',
|
|
)</field>
|
|
</record>
|
|
|
|
<!-- Planning : by users action if the number of FSM projects > 1 -->
|
|
<record id="project_task_action_fsm_planning_groupby_user" model="ir.actions.act_window">
|
|
<field name="name">Planning by User</field>
|
|
<field name="res_model">project.task</field>
|
|
<field name="view_mode">gantt,calendar,map,list,kanban,activity,pivot,graph,form</field>
|
|
<field name="mobile_view_mode">calendar</field>
|
|
<field name="search_view_id" ref="project_task_view_search_fsm"/>
|
|
<field name="domain">[('is_fsm', '=', True), ('project_id', '!=', False)]</field>
|
|
<field name="context">{'fsm_mode': 1, 'task_nameget_with_hours': 1, 'default_scale': 'week'}</field>
|
|
<field name="help" type="html">
|
|
<p class='o_view_nocontent_smiling_face'>
|
|
No tasks found. Let's create one!
|
|
</p><p>
|
|
Schedule your tasks and assign them to your technicians.
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_user_gantt" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="5"/>
|
|
<field name="view_mode">gantt</field>
|
|
<field name="view_id" ref="project_enterprise.project_task_view_gantt"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_user"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_user_fsm_view_kanban" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="25"/>
|
|
<field name="view_mode">kanban</field>
|
|
<field name="view_id" ref="project_task_view_kanban_fsm"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_user"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_user_fsm_view_list" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="20"/>
|
|
<field name="view_mode">list</field>
|
|
<field name="view_id" ref="project_task_view_list_fsm"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_user"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_user_fsm_view_calendar" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="10"/>
|
|
<field name="view_mode">calendar</field>
|
|
<field name="view_id" ref="project_task_view_calendar_fsm"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_user"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_user_fsm_view_map" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="15"/>
|
|
<field name="view_mode">map</field>
|
|
<field name="view_id" ref="project_task_map_view_fsm"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_user"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm_planning_groupby_user_view_activity" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="27"/>
|
|
<field name="view_mode">activity</field>
|
|
<field name="view_id" ref="industry_fsm.project_task_view_activity"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_user"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_user_form" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="35"/>
|
|
<field name="view_mode">form</field>
|
|
<field name="view_id" ref="project.view_task_form2"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_user"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_user_fsm_view_pivot" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="40"/>
|
|
<field name="view_mode">pivot</field>
|
|
<field name="view_id" ref="industry_fsm.project_task_view_pivot_group_by_users_fsm"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_user"/>
|
|
</record>
|
|
|
|
<!-- Planning : by users action if the number of FSM projects <= 1 -->
|
|
<record id="project_task_action_fsm_planning_groupby_user2" model="ir.actions.act_window">
|
|
<field name="name">Planning by User</field>
|
|
<field name="res_model">project.task</field>
|
|
<field name="view_mode">gantt,calendar,map,list,kanban,activity,pivot,graph,form</field>
|
|
<field name="mobile_view_mode">calendar</field>
|
|
<field name="search_view_id" ref="project_task_view_search_fsm"/>
|
|
<field name="domain">[('is_fsm', '=', True), ('project_id', '!=', False)]</field>
|
|
<field name="context">{'fsm_mode': 1, 'task_nameget_with_hours': 1, 'default_scale': 'week'}</field>
|
|
<field name="help" type="html">
|
|
<p class='o_view_nocontent_smiling_face'>
|
|
No tasks found. Let's create one!
|
|
</p><p>
|
|
Schedule your tasks and assign them to your technicians.
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_user2_gantt" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="5"/>
|
|
<field name="view_mode">gantt</field>
|
|
<field name="view_id" ref="project_enterprise.project_task_view_gantt"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_user2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_user_fsm2_view_kanban" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="25"/>
|
|
<field name="view_mode">kanban</field>
|
|
<field name="view_id" ref="project_task_view_kanban_fsm"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_user2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_user_fsm2_view_list" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="20"/>
|
|
<field name="view_mode">list</field>
|
|
<field name="view_id" ref="project_task_view_list_fsm"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_user2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_user_fsm2_view_calendar" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="10"/>
|
|
<field name="view_mode">calendar</field>
|
|
<field name="view_id" ref="project_task_view_calendar_fsm2"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_user2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_user_fsm2_view_map" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="15"/>
|
|
<field name="view_mode">map</field>
|
|
<field name="view_id" ref="project_task_map_view_fsm2"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_user2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm_planning_groupby_user2_view_activity" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="27"/>
|
|
<field name="view_mode">activity</field>
|
|
<field name="view_id" ref="industry_fsm.project_task_view_activity"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_user2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_user2_form" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="35"/>
|
|
<field name="view_mode">form</field>
|
|
<field name="view_id" ref="project.view_task_form2"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_user2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_user_fsm2_view_pivot" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="40"/>
|
|
<field name="view_mode">pivot</field>
|
|
<field name="view_id" ref="industry_fsm.project_task_view_pivot_group_by_users_fsm"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_user2"/>
|
|
</record>
|
|
|
|
<!-- Planning : by project server action -->
|
|
<record id="project_task_fsm_planning_groupby_project_server_action" model="ir.actions.server">
|
|
<field name="name">Planning by Project Server Action</field>
|
|
<field name="model_id" ref="project.model_project_task"/>
|
|
<field name="path">tasks-planning-project</field>
|
|
<field name="state">code</field>
|
|
<field name="code">action = model._server_action_project_task_fsm(
|
|
'industry_fsm.project_task_action_fsm_planning_groupby_project',
|
|
'industry_fsm.project_task_action_fsm_planning_groupby_project2',
|
|
)</field>
|
|
</record>
|
|
|
|
<!-- Planning : by project action if the number of FSM projects > 1 -->
|
|
<record id="project_task_action_fsm_planning_groupby_project" model="ir.actions.act_window">
|
|
<field name="name">Planning by Project</field>
|
|
<field name="res_model">project.task</field>
|
|
<field name="view_mode">gantt,calendar,map,list,kanban,activity,pivot,graph</field>
|
|
<field name="mobile_view_mode">calendar</field>
|
|
<field name="search_view_id" ref="project_task_view_search_fsm"/>
|
|
<field name="domain">[('is_fsm', '=', True), ('project_id', '!=', False)]</field>
|
|
<field name="context">{'fsm_mode': 1, 'task_nameget_with_hours': 1, 'default_scale': 'week'}</field>
|
|
<field name="help" type="html">
|
|
<p class='o_view_nocontent_smiling_face'>
|
|
No tasks found. Let's create one!
|
|
</p><p>
|
|
Schedule your tasks and assign them to your technicians.
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_project_gantt" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="5"/>
|
|
<field name="view_mode">gantt</field>
|
|
<field name="view_id" ref="project_task_gantt_view_grouped_by_project_and_users"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_project"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_project_fsm_view_kanban" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="25"/>
|
|
<field name="view_mode">kanban</field>
|
|
<field name="view_id" ref="project_task_view_kanban_fsm"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_project"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_project_fsm_view_list" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="20"/>
|
|
<field name="view_mode">list</field>
|
|
<field name="view_id" ref="project_task_view_list_fsm"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_project"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_project_fsm_view_calendar" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="10"/>
|
|
<field name="view_mode">calendar</field>
|
|
<field name="view_id" ref="project_task_view_calendar_fsm"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_project"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_project_fsm_view_map" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="15"/>
|
|
<field name="view_mode">map</field>
|
|
<field name="view_id" ref="project_task_map_view_fsm"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_project"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm_planning_groupby_project_view_activity" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="30"/>
|
|
<field name="view_mode">activity</field>
|
|
<field name="view_id" ref="industry_fsm.project_task_view_activity"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_project"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_project_fsm_view_form" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="35"/>
|
|
<field name="view_mode">form</field>
|
|
<field name="view_id" ref="project.view_task_form2"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_project"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_project_fsm_view_pivot" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="40"/>
|
|
<field name="view_mode">pivot</field>
|
|
<field name="view_id" ref="project_task_pivot_view_grouped_by_project_and_users"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_project"/>
|
|
</record>
|
|
|
|
<!-- Planning : by project action if the number of FSM projects <= 1 -->
|
|
<record id="project_task_action_fsm_planning_groupby_project2" model="ir.actions.act_window">
|
|
<field name="name">Planning by Project</field>
|
|
<field name="res_model">project.task</field>
|
|
<field name="view_mode">gantt,calendar,map,list,kanban,pivot,graph,activity</field>
|
|
<field name="mobile_view_mode">calendar</field>
|
|
<field name="search_view_id" ref="project_task_view_search_fsm"/>
|
|
<field name="domain">[('is_fsm', '=', True), ('project_id', '!=', False)]</field>
|
|
<field name="context">{'fsm_mode': 1, 'task_nameget_with_hours': 1, 'default_scale': 'week'}</field>
|
|
<field name="help" type="html">
|
|
<p class='o_view_nocontent_smiling_face'>
|
|
No tasks found. Let's create one!
|
|
</p><p>
|
|
Schedule your tasks and assign them to your technicians.
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_project2_gantt" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="5"/>
|
|
<field name="view_mode">gantt</field>
|
|
<field name="view_id" ref="project_task_gantt_view_grouped_by_project_and_users"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_project2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_project_fsm2_view_kanban" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="25"/>
|
|
<field name="view_mode">kanban</field>
|
|
<field name="view_id" ref="project_task_view_kanban_fsm"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_project2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_project_fsm2_view_list" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="20"/>
|
|
<field name="view_mode">list</field>
|
|
<field name="view_id" ref="project_task_view_list_fsm"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_project2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_project_fsm2_view_calendar" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="10"/>
|
|
<field name="view_mode">calendar</field>
|
|
<field name="view_id" ref="project_task_view_calendar_fsm2"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_project2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_project_fsm2_view_map" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="15"/>
|
|
<field name="view_mode">map</field>
|
|
<field name="view_id" ref="project_task_map_view_fsm2"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_project2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_project_fsm2_view_form" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="35"/>
|
|
<field name="view_mode">form</field>
|
|
<field name="view_id" ref="project.view_task_form2"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_project2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm_planning_groupby_project2_view_activity" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="30"/>
|
|
<field name="view_mode">activity</field>
|
|
<field name="view_id" ref="industry_fsm.project_task_view_activity"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_project2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_project_fsm2_view_pivot" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="40"/>
|
|
<field name="view_mode">pivot</field>
|
|
<field name="view_id" ref="project_task_pivot_view_grouped_by_project_and_users"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_project2"/>
|
|
</record>
|
|
|
|
<!-- Planning : by location server action -->
|
|
<record id="project_task_fsm_planning_groupby_location_server_action" model="ir.actions.server">
|
|
<field name="name">Planning by Location Server Action</field>
|
|
<field name="model_id" ref="project.model_project_task"/>
|
|
<field name="path">tasks-planning-location</field>
|
|
<field name="state">code</field>
|
|
<field name="code">action = model._server_action_project_task_fsm(
|
|
'industry_fsm.project_task_action_fsm_planning_groupby_location',
|
|
'industry_fsm.project_task_action_fsm_planning_groupby_location2',
|
|
)</field>
|
|
</record>
|
|
|
|
<!-- Planning : by location action if the number of FSM projects > 1 -->
|
|
<record id="project_task_action_fsm_planning_groupby_location" model="ir.actions.act_window">
|
|
<field name="name">Planning by Location</field>
|
|
<field name="res_model">project.task</field>
|
|
<field name="view_mode">gantt,calendar,map,list,kanban,pivot,graph,activity</field>
|
|
<field name="mobile_view_mode">calendar</field>
|
|
<field name="search_view_id" ref="project_task_view_search_fsm"/>
|
|
<field name="domain">[('is_fsm', '=', True), ('project_id', '!=', False)]</field>
|
|
<field name="context">{'fsm_mode': 1, 'task_nameget_with_hours': 1, 'default_scale': 'week'}</field>
|
|
<field name="help" type="html">
|
|
<p class='o_view_nocontent_smiling_face'>
|
|
No tasks found. Let's create one!
|
|
</p>
|
|
<p>
|
|
Schedule your tasks and assign them to your technicians.
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_location_fsm_view_gantt" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="5"/>
|
|
<field name="view_mode">gantt</field>
|
|
<field name="view_id" ref="project_task_gantt_view_grouped_by_location"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_location"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_location_fsm_view_calendar" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="10"/>
|
|
<field name="view_mode">calendar</field>
|
|
<field name="view_id" ref="project_task_view_calendar_fsm"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_location"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_location_fsm_view_map" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="15"/>
|
|
<field name="view_mode">map</field>
|
|
<field name="view_id" ref="project_task_map_view_fsm"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_location"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_location_fsm_view_list" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="20"/>
|
|
<field name="view_mode">list</field>
|
|
<field name="view_id" ref="project_task_view_list_fsm"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_location"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_location_fsm_view_kanban" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="25"/>
|
|
<field name="view_mode">kanban</field>
|
|
<field name="view_id" ref="project_task_view_kanban_fsm"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_location"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm_planning_groupby_location_view_activity" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="26"/>
|
|
<field name="view_mode">activity</field>
|
|
<field name="view_id" ref="industry_fsm.project_task_view_activity"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_location"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_location_fsm_view_pivot" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="30"/>
|
|
<field name="view_mode">pivot</field>
|
|
<field name="view_id" ref="project_task_pivot_view_grouped_by_location"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_location"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_location_fsm_view_graph" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="35"/>
|
|
<field name="view_mode">graph</field>
|
|
<field name="view_id" ref="project_task_graph_view_grouped_by_location"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_location"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_location_fsm_view_form" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="40"/>
|
|
<field name="view_mode">form</field>
|
|
<field name="view_id" ref="project.view_task_form2"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_location"/>
|
|
</record>
|
|
|
|
<!-- Planning : by location action if the number of FSM projects <= 1 -->
|
|
<record id="project_task_action_fsm_planning_groupby_location2" model="ir.actions.act_window">
|
|
<field name="name">Planning by Location</field>
|
|
<field name="res_model">project.task</field>
|
|
<field name="view_mode">gantt,calendar,map,list,kanban,activity,pivot,graph</field>
|
|
<field name="mobile_view_mode">calendar</field>
|
|
<field name="search_view_id" ref="project_task_view_search_fsm"/>
|
|
<field name="domain">[('is_fsm', '=', True), ('project_id', '!=', False)]</field>
|
|
<field name="context">{'fsm_mode': 1, 'task_nameget_with_hours': 1, 'default_scale': 'week'}</field>
|
|
<field name="help" type="html">
|
|
<p class='o_view_nocontent_smiling_face'>
|
|
No tasks found. Let's create one!
|
|
</p>
|
|
<p>
|
|
Schedule your tasks and assign them to your technicians.
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_location2_fsm2_view_gantt" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="5"/>
|
|
<field name="view_mode">gantt</field>
|
|
<field name="view_id" ref="project_task_gantt_view_grouped_by_location"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_location2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_location_fsm2_view_calendar" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="10"/>
|
|
<field name="view_mode">calendar</field>
|
|
<field name="view_id" ref="project_task_view_calendar_fsm2"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_location2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_location_fsm2_view_map" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="15"/>
|
|
<field name="view_mode">map</field>
|
|
<field name="view_id" ref="project_task_map_view_fsm2"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_location2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_location_fsm2_view_list" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="20"/>
|
|
<field name="view_mode">list</field>
|
|
<field name="view_id" ref="project_task_view_list_fsm"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_location2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_location_fsm2_view_kanban" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="25"/>
|
|
<field name="view_mode">kanban</field>
|
|
<field name="view_id" ref="project_task_view_kanban_fsm"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_location2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_fsm_planning_groupby_location2_view_activity" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="26"/>
|
|
<field name="view_mode">activity</field>
|
|
<field name="view_id" ref="industry_fsm.project_task_view_activity"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_location2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_location_fsm2_view_pivot" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="30"/>
|
|
<field name="view_mode">pivot</field>
|
|
<field name="view_id" ref="project_task_pivot_view_grouped_by_location"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_location2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_location_fsm2_view_graph" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="35"/>
|
|
<field name="view_mode">graph</field>
|
|
<field name="view_id" ref="project_task_graph_view_grouped_by_location"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_location2"/>
|
|
</record>
|
|
|
|
<record id="project_task_action_planning_groupby_location_fsm2_view_form" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="40"/>
|
|
<field name="view_mode">form</field>
|
|
<field name="view_id" ref="project.view_task_form2"/>
|
|
<field name="act_window_id" ref="project_task_action_fsm_planning_groupby_location2"/>
|
|
</record>
|
|
|
|
<!-- Settings actions -->
|
|
<record id="res_config_settings_action_fsm" model="ir.actions.act_window">
|
|
<field name="name">Settings</field>
|
|
<field name="res_model">res.config.settings</field>
|
|
<field name="view_mode">form</field>
|
|
<field name="context">{'module' : 'industry_fsm', 'bin_size': False}</field>
|
|
</record>
|
|
|
|
<record id="view_project_fsm" model="ir.ui.view">
|
|
<field name="name">project.view.tree.fsm</field>
|
|
<field name="model">project.project</field>
|
|
<field name="inherit_id" ref="project.view_project"/>
|
|
<field name="arch" type="xml">
|
|
<field name="name" position="replace">
|
|
<field name="display_name" string="Name" class="fw-bold" column_invisible="context.get('allowed_company_ids', []).length < 2"/>
|
|
<field name="name" class="fw-bold" column_invisible="context.get('allowed_company_ids', []).length >= 2"/>
|
|
</field>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_view_tree_primary" model="ir.ui.view">
|
|
<field name="name">project.view.list.primary</field>
|
|
<field name="model">project.project</field>
|
|
<field name="inherit_id" ref="project.view_project"/>
|
|
<field name="mode">primary</field>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//list" position="attributes">
|
|
<attribute name="default_order">sequence, name, id</attribute>
|
|
</xpath>
|
|
<field name="sequence" position="attributes">
|
|
<attribute name="column_invisible">0</attribute>
|
|
<attribute name="widget">handle</attribute>
|
|
</field>
|
|
<field name="partner_id" position="attributes">
|
|
<attribute name="optional">hide</attribute>
|
|
</field>
|
|
<field name="last_update_status" position="attributes">
|
|
<attribute name="optional">hide</attribute>
|
|
</field>
|
|
<field name="stage_id" position="attributes">
|
|
<attribute name="optional">hide</attribute>
|
|
</field>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_project_view_form_simplified_footer_fsm" model="ir.ui.view">
|
|
<field name="name">project.project.view.form.simplified</field>
|
|
<field name="model">project.project</field>
|
|
<field name="inherit_id" ref="project.project_project_view_form_simplified"/>
|
|
<field name="mode">primary</field>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//div[@name='alias_def']" position="after">
|
|
<footer>
|
|
<button string="Create" name="%(industry_fsm.project_tasks_action_fsm)d" type="action" class="btn-primary o_open_tasks" data-hotkey="q"/>
|
|
<button string="Discard" class="btn-secondary" special="cancel" data-hotkey="x"/>
|
|
</footer>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="open_create_project_fsm" model="ir.actions.act_window">
|
|
<field name="name">Create a Project</field>
|
|
<field name="res_model">project.project</field>
|
|
<field name="view_mode">form</field>
|
|
<field name="view_id" ref="industry_fsm.project_project_view_form_simplified_footer_fsm"/>
|
|
<field name="target">new</field>
|
|
<field name="context">{"default_allow_billable": 1}</field>
|
|
</record>
|
|
|
|
<record id="view_project_kanban_fsm" model="ir.ui.view">
|
|
<field name="name">project.project.kanban</field>
|
|
<field name="model">project.project</field>
|
|
<field name="inherit_id" ref="project.view_project_kanban"/>
|
|
<field name="mode">primary</field>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//kanban" position="attributes">
|
|
<attribute name="on_create">industry_fsm.open_create_project_fsm</attribute>
|
|
</xpath>
|
|
<xpath expr='//a[@name="action_view_tasks"]' position='attributes'>
|
|
<attribute name="name">%(industry_fsm.project_tasks_action_fsm)d</attribute>
|
|
<attribute name="type">action</attribute>
|
|
</xpath>
|
|
<xpath expr="//a[@name='action_view_tasks'][hasclass('o_project_kanban_box')]" position='attributes'>
|
|
<attribute name="name">%(industry_fsm.project_tasks_action_fsm)d</attribute>
|
|
<attribute name="type">action</attribute>
|
|
</xpath>
|
|
<xpath expr="//kanban" position="attributes">
|
|
<attribute name="action"></attribute>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="edit_fsm_project_inherit" model="ir.ui.view">
|
|
<field name="name">project.project.fsm.form.inherit</field>
|
|
<field name="model">project.project</field>
|
|
<field name="inherit_id" ref="project.edit_project"/>
|
|
<field name="priority">32</field>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//form" position="inside">
|
|
<field name="is_fsm" invisible="1"/>
|
|
</xpath>
|
|
<xpath expr="//group/field[@name='company_id']" position="attributes">
|
|
<attribute name="required">is_fsm</attribute>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_project_action_only_fsm" model="ir.actions.act_window" >
|
|
<field name="name">Projects</field>
|
|
<field name="res_model">project.project</field>
|
|
<field name="path">field-service-projects</field>
|
|
<field name="domain">[('is_fsm', '=', True), ('is_template', '=', False)]</field>
|
|
<field name="view_mode">list,kanban,form</field>
|
|
<field name="view_id" eval="False"/>
|
|
<field name="search_view_id" ref="project.view_project_project_filter"/>
|
|
<field name="target">main</field>
|
|
<field name="context">{
|
|
'fsm_mode': True,
|
|
'default_is_fsm': True,
|
|
'default_allow_timesheets': True,
|
|
'display_milestone_deadline': True,
|
|
}</field>
|
|
<field name="help" type="html">
|
|
<p class='o_view_nocontent_smiling_face'>No projects found. Let's create one!</p>
|
|
<p>Create projects to organize your tasks and define a different workflow for each project.</p>
|
|
</field>
|
|
</record>
|
|
<record id="project_project_action_only_fsm_view_tree" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="15"/>
|
|
<field name="view_mode">list</field>
|
|
<field name="view_id" ref="industry_fsm.project_view_tree_primary"/>
|
|
<field name="act_window_id" ref="project_project_action_only_fsm"/>
|
|
</record>
|
|
<record id="project_project_action_only_fsm_view_kanban" model="ir.actions.act_window.view">
|
|
<field name="sequence" eval="25"/>
|
|
<field name="view_mode">kanban</field>
|
|
<field name="view_id" ref="industry_fsm.view_project_kanban_fsm"/>
|
|
<field name="act_window_id" ref="project_project_action_only_fsm"/>
|
|
</record>
|
|
|
|
<record id="project_project_view_form_simplified_inherit" model="ir.ui.view">
|
|
<field name="name">project.project.view.form.simplified.inherit</field>
|
|
<field name="model">project.project</field>
|
|
<field name="inherit_id" ref="project.project_project_view_form_simplified"/>
|
|
<field name="arch" type="xml">
|
|
<field name="user_id" position="after">
|
|
<field name="is_fsm" invisible="1"/>
|
|
</field>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="project_task_type_action_fsm" model="ir.actions.act_window">
|
|
<field name="name">Stages</field>
|
|
<field name="res_model">project.task.type</field>
|
|
<field name="view_mode">list,kanban,form</field>
|
|
<field name="domain">[('project_ids.is_fsm', '=', True)]</field>
|
|
<field name="view_id" ref="project.task_type_tree"/>
|
|
<field name="context">{
|
|
'fsm_mode': True,
|
|
}</field>
|
|
<field name="help" type="html">
|
|
<p class="o_view_nocontent_smiling_face">
|
|
No stages found. Let's create one!
|
|
</p><p>
|
|
Track the progress of your tasks from their creation to their closing.
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<!--
|
|
FSM Menus
|
|
-->
|
|
|
|
<menuitem id="fsm_menu_root"
|
|
name="Field Service"
|
|
sequence="80"
|
|
web_icon="industry_fsm,static/description/icon.png"
|
|
groups="industry_fsm.group_fsm_user"/>
|
|
|
|
<menuitem id="fsm_tasks_menu"
|
|
name="My Tasks"
|
|
sequence="10"
|
|
parent="fsm_menu_root"
|
|
groups="industry_fsm.group_fsm_user"/>
|
|
|
|
<menuitem id="fsm_menu_tasks_kanban"
|
|
name="Tasks"
|
|
action="project_task_fsm_server_action"
|
|
sequence="10"
|
|
parent="fsm_tasks_menu"
|
|
groups="industry_fsm.group_fsm_user"/>
|
|
|
|
<menuitem id="fsm_menu_tasks_map"
|
|
name="Map"
|
|
action="project_task_fsm_map_server_action"
|
|
sequence="20"
|
|
parent="fsm_tasks_menu"
|
|
groups="industry_fsm.group_fsm_user"/>
|
|
|
|
<menuitem id="fsm_menu_all_tasks_root"
|
|
name="All Tasks"
|
|
sequence="15"
|
|
parent="fsm_menu_root"
|
|
groups="industry_fsm.group_fsm_manager" />
|
|
|
|
<menuitem id="fsm_menu_all_tasks_todo"
|
|
name="All Tasks"
|
|
action="project_task_all_fsm_server_action"
|
|
sequence="10"
|
|
parent="industry_fsm.fsm_menu_all_tasks_root"
|
|
groups="industry_fsm.group_fsm_manager" />
|
|
|
|
<menuitem id="fsm_menu_all_tasks_schedule"
|
|
name="To Schedule"
|
|
action="project_task_to_schedule_fsm_server_action"
|
|
sequence="20"
|
|
parent="industry_fsm.fsm_menu_all_tasks_root"
|
|
groups="industry_fsm.group_fsm_manager" />
|
|
|
|
<menuitem id="fsm_menu_planning"
|
|
name="Planning"
|
|
sequence="20"
|
|
parent="fsm_menu_root"
|
|
groups="industry_fsm.group_fsm_manager"/>
|
|
|
|
<menuitem id="project_task_menu_planning_by_user_fsm"
|
|
name="By User"
|
|
sequence="10"
|
|
action="industry_fsm.project_task_fsm_planning_groupby_user_server_action"
|
|
parent="fsm_menu_planning"
|
|
groups="industry_fsm.group_fsm_manager"/>
|
|
|
|
<menuitem id="project_task_menu_planning_by_project_fsm"
|
|
name="By Project"
|
|
sequence="15"
|
|
action="industry_fsm.project_task_fsm_planning_groupby_project_server_action"
|
|
parent="fsm_menu_planning"
|
|
groups="industry_fsm.group_fsm_manager"/>
|
|
|
|
<menuitem id="project_task_menu_planning_by_location_fsm"
|
|
name="By Location"
|
|
sequence="25"
|
|
action="industry_fsm.project_task_fsm_planning_groupby_location_server_action"
|
|
parent="fsm_menu_planning"
|
|
groups="industry_fsm.group_fsm_manager"/>
|
|
|
|
<menuitem id="fsm_menu_reporting"
|
|
name="Reporting"
|
|
sequence="40"
|
|
parent="fsm_menu_root"/>
|
|
|
|
<menuitem id="fsm_menu_reporting_customer_ratings"
|
|
name="Customer Ratings"
|
|
action="rating_rating_action_fsm"
|
|
parent="industry_fsm.fsm_menu_reporting"
|
|
sequence="20"/>
|
|
|
|
<menuitem id="fsm_menu_settings"
|
|
name="Configuration"
|
|
sequence="50"
|
|
parent="industry_fsm.fsm_menu_root"
|
|
groups="industry_fsm.group_fsm_manager">
|
|
|
|
<menuitem id="fsm_menu_settings_res_config"
|
|
name="Settings"
|
|
sequence="0"
|
|
action="industry_fsm.res_config_settings_action_fsm"
|
|
groups="base.group_system"/>
|
|
|
|
<menuitem id="fsm_menu_settings_project"
|
|
name="Projects"
|
|
sequence="10"
|
|
action="project_project_action_only_fsm"
|
|
groups="industry_fsm.group_fsm_manager"/>
|
|
|
|
<menuitem id="fsm_menu_settings_stage"
|
|
name="Stages"
|
|
sequence="15"
|
|
action="industry_fsm.project_task_type_action_fsm"
|
|
groups="industry_fsm.group_fsm_manager"/>
|
|
|
|
<menuitem id="menu_project_tags_act"
|
|
name="Tags"
|
|
sequence="40"
|
|
action="project.project_tags_action"
|
|
groups="industry_fsm.group_fsm_manager"/>
|
|
|
|
<menuitem id="fsm_menu_config_activity_type"
|
|
name="Activity Types"
|
|
sequence="45"
|
|
action="project.mail_activity_type_action_config_project_types"
|
|
groups="industry_fsm.group_fsm_manager"/>
|
|
|
|
<menuitem id="mail_activity_plan_menu_config_task"
|
|
name="Activity Plans"
|
|
sequence="50"
|
|
action="project.mail_activity_plan_action_config_project_task_plan"
|
|
groups="industry_fsm.group_fsm_manager"/>
|
|
|
|
</menuitem>
|
|
|
|
</odoo>
|