<?xml version="1.0" encoding="utf-8"?>
<odoo>
        <!--
            Vues
        -->

        <!-- Tree view -->
        <record id="view_cgscop_timesheet_sheet_tree" model="ir.ui.view">
            <field name="name">cgscop.timesheet.sheet.tree</field>
            <field name="model">cgscop.timesheet.sheet</field>
            <field name="arch" type="xml">
                <tree string="Timesheet Reports" decoration-warning="state=='draft'">
                    <field name="name" />
                    <field name="employee_id"/>
                    <field name="create_date"/>
                    <field name="validation_date" />
                    <field name="total_hour" sum="Total"/>
                    <field name="state"/>
                </tree>
            </field>
        </record>

        <!-- Form view -->
        <record id="view_cgscop_timesheet_sheet_form" model="ir.ui.view">
            <field name="name">cgscop.timesheet.sheet.form</field>
            <field name="model">cgscop.timesheet.sheet</field>
            <field eval="25" name="priority"/>
            <field name="arch" type="xml">
                <form>
                    <header>
                        <button name="action_submit_timesheet" states="draft" string="Soumettre" type="object" class="oe_highlight"/>
                        <button name="approve_timesheet_sheets" states="submit" string="Valider" type="object" groups="hr_timesheet.group_timesheet_manager" class="oe_highlight"/>
                        <button name="print_timesheet" string="Imprimer" type="object" />
                        <button name="reset_timesheet_sheets" string="Remettre en brouillon" type="object" attrs="{'invisible': [('state', '=', 'draft')]}" groups="hr_timesheet.group_timesheet_manager"/>
                        <field name="state" widget="statusbar" statusbar_visible="draft,submit,valid"/>
                    </header>
                    <sheet>
                        <div class="oe_title">
                            <label for="name" class="oe_edit_only"/>
                            <h1>
                                <field name="name" attrs="{'readonly': [('can_edit','=', False), ('state','!=', 'draft')]}"/>
                            </h1>
                        </div>
                        <group>
                            <group>
                                <field name="employee_id" groups="hr_timesheet.group_timesheet_manager" options="{'no_open': True, 'no_create': True}"/>
                                <field name="company_id" groups="base.group_multi_company" options="{'no_open': True, 'no_create': True}"/>
                            </group>
                            <group>
                                <field name="create_date" readonly="1"/>
                                <field name="submit_date" readonly="1"/>
                                <field name="validation_date" readonly="1"/>
                                <field name="total_hour" widget="float_time"/>
                            </group>
                        </group>
                        <field name="can_edit" invisible="1"/>
                        <field name="timesheet_line_ids" widget="many2many" domain="[('sheet_id', '=', False), ('employee_id', '=', employee_id)]" options="{'reload_on_button': True}" attrs="{'readonly': [('can_edit','=', False), ('state','!=', 'draft')]}" context="{'form_view_ref' : 'hr_timesheet.timesheet_view_form_user'}">
                            <tree editable="top">
                                <field name="date"/>
                                <field name="employee_id" readonly="1"/>
                                <field name="state" invisible="1"/>
                                <field name="sheet_id" invisible="1"/>
                                <field name="project_id"/>
                                <field name="partner_id" />
                                <field name="name"/>
                                <field name="unit_amount" widget="float_time" />
                                <field name="ur_financial_system_id"/>
                            </tree>
                        </field>
                    </sheet>
                    <div class="oe_chatter">
                        <field name="message_follower_ids" widget="mail_followers"/>
                        <field name="activity_ids" widget="mail_activity"/>
                        <field name="message_ids" widget="mail_thread"/>
                    </div>
                </form>
            </field>
        </record>

        <!-- Search view -->
        <record id="view_cgscop_timesheet_sheet_filter" model="ir.ui.view">
            <field name="name">cgscop.timesheet.sheet.filter</field>
            <field name="model">cgscop.timesheet.sheet</field>
            <field name="arch" type="xml">
                <search string="Feuille de temps">
                    <field name="name"/>
                    <field name="state"/>
                    <separator />
                    <field name="employee_id"/>
                    <filter string="Mes feuilles de temps" name="my_reports" domain="[('employee_id.user_id', '=', uid)]"/>
                    <filter string="Mon équipe" name="my_team_reports" domain="[('employee_id.parent_id.user_id', '=', uid)]" groups="hr_timesheet.group_timesheet_manager" help="Expenses of Your Team Member"/>
                    <separator />
                    <filter domain="[('state', '=', 'draft')]" string="Brouillon" name="draft" />
                    <filter domain="[('state', '=', 'submit')]" string="Soumis" name="submitted"/>
                    <filter domain="[('state', '=', 'valid')]" string="Validé" name="valid"/>                    
                    <group expand="0" string="Group By">
                        <filter string="Employé" name="employee" domain="[]" context="{'group_by': 'employee_id'}"/>
                        <filter string="Statut" domain="[]" context="{'group_by': 'state'}" name="state"/>
                    </group>
                </search>
            </field>
        </record>


        <!--
            Actions
        -->

        <record id="action_cgscop_timesheet_sheet_my_all" model="ir.actions.act_window">
            <field name="name">Mes feuilles de temps</field>
            <field name="res_model">cgscop.timesheet.sheet</field>
            <field name="view_mode">tree,form</field>
            <field name="search_view_id" ref="view_cgscop_timesheet_sheet_filter"/>
            <field name="domain">[('employee_id.user_id', '=', uid)]</field>
            <field name="context">{'search_default_my_reports': 1}</field>
        </record>

        <record id="action_cgscop_timesheet_sheet_to_approve" model="ir.actions.act_window">
            <field name="name">Feuilles de temps à valider</field>
            <field name="res_model">cgscop.timesheet.sheet</field>
            <field name="view_mode">tree,form</field>
            <field name="search_view_id" ref="view_cgscop_timesheet_sheet_filter"/>
            <field name="domain">[]</field>
            <field name="context">{'search_default_submitted': 1}</field>
        </record>

        <record id="action_cgscop_timesheet_sheet_all" model="ir.actions.act_window">
            <field name="name">Toutes les feuilles de temps</field>
            <field name="res_model">cgscop.timesheet.sheet</field>
            <field name="view_mode">tree,form</field>
            <field name="search_view_id" ref="view_cgscop_timesheet_sheet_filter"/>
            <field name="domain">[]</field>
            <field name="context">{}</field>
        </record>

        

        <!--
            Menus
        -->

        <menuitem id="timesheet_sheet_menu"
            parent="hr_timesheet.timesheet_menu_root"
            name="Feuilles de temps"
            sequence="25"/>

        <menuitem id="menu_hr_timesheet_my_timesheet"
            name="Mes feuilles de temps"
            sequence="1"
            action="cgscop_timesheet.action_cgscop_timesheet_sheet_my_all"
            parent="cgscop_timesheet.timesheet_sheet_menu"/>

        <menuitem id="menu_hr_timesheet_to_approve"
            name="À valider"
            sequence="1"
            action="cgscop_timesheet.action_cgscop_timesheet_sheet_to_approve"
            parent="cgscop_timesheet.timesheet_sheet_menu"
            groups="hr_timesheet.group_timesheet_manager"/>
        
        <menuitem id="menu_hr_timesheet_all"
            name="Toutes les feuilles de temps"
            sequence="1"
            action="cgscop_timesheet.action_cgscop_timesheet_sheet_all"
            parent="cgscop_timesheet.timesheet_sheet_menu"
            groups="hr_timesheet.group_timesheet_manager"/>

</odoo>