<?xml version="1.0" ?> <!-- Copyright 2019 Le Filament License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). --> <odoo> <data> <!-- Vues --> <record id="cgscop_hr_timesheet_line_search" model="ir.ui.view"> <field name="name">cgscop.hr.timesheet.line.search</field> <field name="model">account.analytic.line</field> <field name="inherit_id" ref="hr_timesheet.hr_timesheet_line_search" /> <field name="priority">100</field> <field name="arch" type="xml"> <field name="task_id" position="replace" /> <field name="project_id" position="attributes"> <attribute name="string">Code activité UR</attribute> </field> <field name="project_id" position="after"> <field name="partner_id" string="Contact" /> </field> <xpath expr="//filter[@name='mine']" position="after"> <separator /> <filter domain="[('sheet_id', '=', False)]" string="A rapporter" name="no_report" /> <filter domain="[('state', '=', 'draft')]" string="En brouillon" name="draft" /> <filter domain="[('state', '=', 'submit')]" string="Soumis" name="submitted" /> <filter domain="[('state', '=', 'valid')]" string="Validé" name="validated" /> </xpath> <xpath expr="//filter[@name='groupby_task']" position="replace"> <filter string="Contact" name="groupby_partner" domain="[]" context="{'group_by':'partner_id'}" /> <filter string="Dispositif financier" name="groupby_financial_system" domain="[]" context="{'group_by':'ur_financial_system_id'}" /> </xpath> <xpath expr="//filter[@name='groupby_date']" position="attributes"> <attribute name="context">{'group_by':'date:day'}</attribute> </xpath> <xpath expr="//filter[@name='groupby_project']" position="attributes"> <attribute name="string">Code activité UR</attribute> </xpath> </field> </record> <!-- Form View Timesheet CG --> <record id="view_cgscop_hr_timesheet_line_form" model="ir.ui.view"> <field name="name">account.analytic.line.timesheet.form.cgscop</field> <field name="model">account.analytic.line</field> <field name="inherit_id" ref="hr_timesheet.hr_timesheet_line_form" /> <field name="arch" type="xml"> <xpath expr="//form/sheet/group" position="attributes"> <attribute name="invisible">1</attribute> </xpath> <xpath expr="//form/sheet/group" position="after"> <group string="Activité"> <field name="ur_id" options="{'no_open': True, 'no_create': True}" groups="cgscop_partner.group_cg_administrator" /> <field name="employee_id" required="True" readonly="1" /> <field name="employee_id" options="{'no_open': True, 'no_create': True}" required="True" groups="hr_timesheet.group_timesheet_manager" /> <field name="date" /> <field name="project_id" required="True" options="{'no_open': True, 'no_create': True}" string="Code activité UR" /> <field name="partner_id" domain="[('is_company', '=', True), ('ur_id', '=', ur_id)]" required="True" options="{'no_create': True}" string="Contact" /> <field name="name" /> <field name="unit_amount" widget="float_time" /> </group> <group string="Divers"> <field name="is_present" widget="boolean_toggle" /> </group> <group name="DF" string="Dispositif financier" attrs="{'invisible': ['&',('ur_regional_convention_nb', '=', 0),('ur_financial_system_nb', '=', 0)]}" > <field name="ur_financial_system_id" options="{'no_open': True, 'no_create': True}" attrs="{'required':[('ur_financial_system_nb', '>', 0)], 'invisible':[('ur_financial_system_nb', '=', 0)]}" /> <field name="ur_regional_convention_id" options="{'no_open': True, 'no_create': True}" attrs="{'required':[('ur_regional_convention_nb', '>', 0)], 'invisible':[('ur_regional_convention_nb', '=', 0)]}" /> <field name="justificatifs" attrs="{'invisible': [('ur_id', '!=', %(cgscop_partner.riga_14243)d)]}" /> <field name="ur_regional_convention_nb" invisible="1" /> <field name="ur_financial_system_nb" invisible="1" /> <field name="user_id" invisible="1" /> </group> </xpath> </field> </record> <!-- Form View Timesheet CG --> <record id="view_cgscop_hr_timesheet_line_form2" model="ir.ui.view"> <field name="name">account.analytic.line.timesheet.form.cgscop</field> <field name="model">account.analytic.line</field> <field name="inherit_id" ref="analytic.view_account_analytic_line_form" /> <field name="arch" type="xml"> <xpath expr="//sheet/group" position="attributes"> <attribute name="groups">base.group_system</attribute> </xpath> <xpath expr="//sheet/group" position="before"> <group string="Activité"> <field name="ur_id" options="{'no_open': True, 'no_create': True}" groups="cgscop_partner.group_cg_administrator" /> <field name="employee_id" options="{'no_open': True, 'no_create': True}" required="True" groups="hr_timesheet.group_timesheet_manager" /> <field name="date" /> <field name="project_id" required="True" options="{'no_open': True, 'no_create': True}" string="Code activité UR" /> <field name="partner_id" domain="[('is_company', '=', True), ('ur_id', '=', ur_id)]" required="True" options="{'no_open': True, 'no_create': True}" string="Contact" /> <field name="name" /> <field name="unit_amount" widget="float_time" /> </group> <group string="Divers"> <field name="is_present" widget="boolean_toggle" /> </group> <group name="DF" string="Dispositif financier" attrs="{'invisible': ['&',('ur_regional_convention_nb', '=', 0),('ur_financial_system_nb', '=', 0)]}" > <field name="ur_financial_system_id" options="{'no_open': True, 'no_create': True}" attrs="{'required':[('ur_financial_system_nb', '>', 0)], 'invisible':[('ur_financial_system_nb', '=', 0)]}" /> <field name="ur_regional_convention_id" options="{'no_open': True, 'no_create': True}" attrs="{'required':[('ur_regional_convention_nb', '>', 0)], 'invisible':[('ur_regional_convention_nb', '=', 0)]}" /> <field name="justificatifs" attrs="{'invisible': [('ur_id', '!=', %(cgscop_partner.riga_14243)d)]}" /> <field name="ur_regional_convention_nb" invisible="1" /> <field name="ur_financial_system_nb" invisible="1" /> </group> </xpath> </field> </record> <!-- Tree View Timesheet CG --> <record id="view_cgscop_hr_timesheet_line_tree" model="ir.ui.view"> <field name="name">account.analytic.line.timesheet.cgscop</field> <field name="model">account.analytic.line</field> <field name="inherit_id" ref="hr_timesheet.hr_timesheet_line_tree" /> <field name="priority">100</field> <field name="arch" type="xml"> <field name="name" position="replace" /> <field name="date" position="attributes"> <attribute name="attrs" >{'readonly': [('state', 'in', ('submit', 'valid'))]}</attribute> </field> <field name="project_id" position="attributes"> <attribute name="options" >{'no_open': True, 'no_create': True}</attribute> <attribute name="string">Code activité UR</attribute> <attribute name="attrs" >{'readonly': [('state', 'in', ('submit', 'valid'))]}</attribute> </field> <field name="project_id" position="after"> <field name="partner_id" domain="[('is_company', '=', True), ('ur_id', '=', ur_id)]" required="True" class="td-ellipsis" options="{'no_open': True, 'no_create': True}" string="Contact" attrs="{'readonly': [('state', 'in', ('submit', 'valid'))]}" /> <field name="name" class="td-minwidth" attrs="{'readonly': [('state', 'in', ('submit', 'valid'))]}" /> <field name="is_present" widget="boolean_toggle" /> </field> <field name="task_id" position="attributes"> <attribute name="invisible">True</attribute> </field> <field name="unit_amount" position="attributes"> <attribute name="widget">float_time</attribute> <attribute name="attrs" >{'readonly': [('state', 'in', ('submit', 'valid'))]}</attribute> </field> <field name="unit_amount" position="after"> <field name="ur_regional_convention_nb" invisible="1" /> <field name="ur_financial_system_nb" invisible="1" /> <field name="ur_financial_system_id" options="{'no_open': True, 'no_create': True}" attrs="{'required': [('ur_financial_system_nb', '>', 0)], 'invisible': [('ur_financial_system_nb', '<', 1)], 'readonly': [('state', 'in', ('submit', 'valid'))]}" /> <field name="ur_regional_convention_id" options="{'no_open': True, 'no_create': True}" attrs="{'required':[('ur_regional_convention_nb', '>', 0)], 'invisible':[('ur_regional_convention_nb', '<', 1)], 'readonly': [('state', 'in', ('submit', 'valid'))]}" /> <field name="justificatifs" attrs="{'invisible': [('ur_id', '!=', %(cgscop_partner.riga_14243)d)]}" /> <field name="state" /> <field name="ur_id" attrs="{'readonly': [('state', 'in', ('submit', 'valid'))]}" groups="cgscop_partner.group_cg_administrator" /> </field> </field> </record> <!-- Pivot View Timesheet CG --> <record id="view_cgscop_hr_timesheet_line_pivot" model="ir.ui.view"> <field name="name">account.analytic.line.timesheet.cgscop.pivot</field> <field name="model">account.analytic.line</field> <field name="arch" type="xml"> <pivot string="Rapport"> <field name="project_id" type="row" string="Code activité UR" /> <field name="partner_id" type="row" string="Contact" /> <field name="date" interval="month" type="col" /> <field name="unit_amount" type="measure" widget="timesheet_uom" /> </pivot> </field> </record> <!-- Calendar View Timesheet CG --> <record model="ir.ui.view" id="view_cgscop_hr_timesheet_line_calendar"> <field name="name">account.analytic.line.timesheet.cgscop.calendar</field> <field name="model">account.analytic.line</field> <field name="arch" type="xml"> <calendar string="Ligne de temps" date_start="date" mode="month" quick_add="False" color="project_id" form_view_id="cgscop_timesheet.view_cgscop_hr_timesheet_line_form" > <field name="calendar_l1" /> <field name="calendar_l2" /> </calendar> </field> </record> <!-- Actions --> <!-- Hérite l'action de la fenetre dans hr_timesheet --> <record id="hr_timesheet.act_hr_timesheet_line" model="ir.actions.act_window"> <field name="view_mode">calendar,tree,form,pivot</field> <field name="context" >{'search_default_no_report': 1, 'search_default_groupby_date': 1}</field> </record> <record id="act_hr_timesheet_line_view_calendar" model="ir.actions.act_window.view" > <field name="view_mode">calendar</field> <field name="sequence" eval="5" /> <field name="view_id" ref="view_cgscop_hr_timesheet_line_calendar" /> <field name="act_window_id" ref="hr_timesheet.act_hr_timesheet_line" /> </record> <!-- Hérite l'action de la fenetre dans hr_timesheet --> <record id="hr_timesheet.timesheet_action_all" model="ir.actions.act_window"> <field name="res_model">account.analytic.line</field> <field name="search_view_id" ref="cgscop_hr_timesheet_line_search" /> <field name="domain">[('project_id', '!=', False)]</field> <field name="context">{ 'search_default_week':1, 'search_default_groupby_date':1, 'search_default_groupby_employee':1, 'search_default_groupby_project':1, }</field> </record> <!-- Report View per Contact --> <record id="timesheet_action_report_by_contact" model="ir.actions.act_window"> <field name="name">Par Contact</field> <field name="res_model">account.analytic.line</field> <field name="domain">[('project_id', '!=', False)]</field> <field name="context">{'search_default_groupby_partner':1,}</field> <field name="search_view_id" ref="cgscop_timesheet.cgscop_hr_timesheet_line_search" /> <field name="view_ids" eval="[(5, 0, 0), (0, 0, {'view_mode': 'pivot', 'sequence': 5, 'view_id': ref('hr_timesheet.view_hr_timesheet_line_pivot')}), (0, 0, {'view_mode': 'tree', 'sequence': 10, 'view_id': ref('cgscop_timesheet.view_cgscop_hr_timesheet_line_tree')}), (0, 0, {'view_mode': 'form', 'sequence': 15, 'view_id': ref('cgscop_timesheet.view_cgscop_hr_timesheet_line_form')})]" /> </record> <record id="hr_timesheet_submit_action_server" model="ir.actions.server"> <field name="name">Insérer dans une feuille de temps</field> <field name="type">ir.actions.server</field> <field name="model_id" ref="model_account_analytic_line" /> <field name="binding_model_id" ref="model_account_analytic_line" /> <field name="state">code</field> <field name="code"> if records: action = records.action_submit_timesheet_lines() </field> </record> <!-- Menus --> <!-- affichage du menu employé uniquement pour le groupe Fonctionnaire --> <record model="ir.ui.menu" id="hr.menu_hr_root"> <field name="groups_id" eval="[(6,0,[ref('hr.group_hr_user')])]" /> </record> <!-- ajoute des droits sur le menu Configuration --> <record model="ir.ui.menu" id="hr_timesheet.hr_timesheet_menu_configuration"> <field name="groups_id" eval="[(6,0, [ref('hr_timesheet.group_timesheet_manager'), ref('cgscop_partner.group_cg_administrator'), ref('cgscop_partner.group_ur_list_modif')])]" /> </record> <!-- ajoute des droits pour gestionnaire uniquement sur le menu Toutes les lignes de temps --> <record model="ir.ui.menu" id="hr_timesheet.timesheet_menu_activity_all"> <field name="groups_id" eval="[(6,0, [ref('hr_timesheet.group_timesheet_manager'), ref('cgscop_partner.group_cg_administrator')])]" /> </record> <menuitem id="timesheet_menu_report_timesheet_by_contact" parent="hr_timesheet.menu_timesheets_reports_timesheet" action="timesheet_action_report_by_contact" name="Par Contact" sequence="25" /> </data> </odoo>