<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data>
        <!-- Views -->
        <record id="view_shift_registration_tree_inherit" model="ir.ui.view">
            <field name="name">shift.registration.tree.inherit</field>
            <field name="model">shift.registration</field>
            <field name="inherit_id" ref="coop_shift.view_shift_registration_tree_confirm"/>
            <field name="arch" type="xml">
                <field name="is_related_shift_ftop" position="after">
                    <field name="related_extension_id" invisible="1"/>
                </field>
                <button name="%(coop_shift.action_replace_registration)d" position="after">
                    <button name="action_create_extension" string="Create Extension until next regular shift" type="object" icon="fa-expand fa-lg"
                            attrs="{'invisible': ['|',('related_extension_id', '!=', False),('related_shift_state', '!=', 'entry')]}"
                            groups="coop_membership.group_shift_create_extension_from_attendance"
                    />
                </button>
            </field>
        </record>

        <record id="view_shift_registration_tree_confirm_one2many" model="ir.ui.view">
            <field name="name">shift.registration.tree.confirm.one2many</field>
            <field name="model">shift.registration</field>
            <field name="inherit_id" ref="coop_membership.view_shift_registration_tree_inherit"/>
            <field name="mode">primary</field>
            <field name="arch" type="xml">
                <xpath expr="//tree[@name='registration_list']" position="attributes">
                    <attribute name="editable">bottom</attribute>
                    <attribute name="decoration-bf" eval="False"/>
                </xpath>
                <field name="message_needaction" position="replace"/>

                <field name="date_begin" position="attributes">
                    <attribute name="invisible">1</attribute>
                </field>
                <field name="shift_id" position="attributes">
                    <attribute name="invisible">1</attribute>
                </field>
                <field name="partner_id" position="attributes">
                    <attribute name="invisible">1</attribute>
                </field>
                <field name="shift_ticket_id" position="after">
                    <field name="partner_id" options="{'no_create_edit': True, 'no_create': True}"/>
                </field>
                <field name="replacing_reg_id" position="attributes">
                    <attribute name="invisible">1</attribute>
                </field>
                <xpath expr="//button[@name='action_create_extension']" position="attributes">
                    <attribute name="invisible">1</attribute>
                </xpath>

                <button name="button_reg_close" position="attributes">
                    <attribute name="groups">coop_shift.group_shift_user,
                        coop_membership.group_membership_bdm_presence,
                        coop_membership.group_membership_bdm_saisie</attribute>
                </button>
                <button name="confirm_registration" position="attributes">
                    <attribute name="groups">coop_shift.group_shift_manager,
                        coop_membership.group_membership_bdm_presence,
                        coop_membership.group_membership_bdm_saisie</attribute>
                </button>
                <button name="button_reg_absent" position="attributes">
                    <attribute name="groups">coop_shift.group_shift_user,
                        coop_membership.group_membership_bdm_presence,
                        coop_membership.group_membership_bdm_saisie</attribute>
                </button>
                <button name="button_reg_cancel" position="attributes">
                    <attribute name="groups">coop_shift.group_shift_manager,
                        coop_membership.group_membership_bdm_presence,
                        coop_membership.group_membership_bdm_saisie</attribute>
                </button>
                <button name="button_reg_excused" position="attributes">
                    <attribute name="groups">coop_shift.group_shift_user,
                        coop_membership.group_membership_bdm_presence,
                        coop_membership.group_membership_bdm_saisie</attribute>
                </button>
                <button name="do_draft" position="attributes">
                    <attribute name="groups">coop_shift.group_shift_manager,
                        coop_membership.group_membership_bdm_presence,
                        coop_membership.group_membership_bdm_saisie</attribute>
                </button>
                <xpath expr="//button[@name=%(coop_shift.action_replace_registration)d]" position="attributes">
                    <attribute name="groups">coop_shift.group_shift_user,
                        coop_membership.group_membership_bdm_presence,
                        coop_membership.group_membership_bdm_saisie</attribute>
                </xpath>

                <xpath expr="//button[@name=%(coop_shift.action_replace_registration)d]" position="after">
                    <button name="action_create_extension"
                            string="Create Extension until next regular shift" type="object" icon="fa-expand fa-lg"
                            attrs="{'invisible': ['|',('related_extension_id', '!=', False),('related_shift_state', '!=', 'entry')]}"
                            groups="coop_membership.group_shift_create_extension_from_attendance"
                    />
                    <field name="replacing_reg_id" readonly="1"/>
                </xpath>
            </field>
        </record>

        <record id="view_shift_registration_tree_confirm_inherit" model="ir.ui.view">
            <field name="name">shift.registration.tree.confirm.inherit</field>
            <field name="model">shift.registration</field>
            <field name="inherit_id" ref="coop_shift.view_shift_registration_tree_confirm"/>
            <field name="arch" type="xml">
                <field name="is_related_shift_ftop" position="after">
                    <field name="related_shift_state" invisible="1" />
                </field>
                <button name="button_reg_close" position="attributes">
                    <attribute name="attrs">{'invisible': ['|', '|', ('state', '!=', 'open'),('is_related_shift_ftop', '=', True), ('related_shift_state', '!=', 'entry')]}</attribute>
                </button>
                <button name="confirm_registration" position="attributes">
                    <attribute name="attrs">{'invisible': ['|', '|', ('state', '!=', 'draft'),('is_related_shift_ftop', '=', True), ('related_shift_state', '!=', 'entry')]}</attribute>
                </button>
                <button name="button_reg_absent" position="attributes">
                    <attribute name="attrs">{'invisible': ['|', '|', ('state', '!=', 'open'),('is_related_shift_ftop', '=', True), ('related_shift_state', '!=', 'entry')]}</attribute>
                </button>
                <button name="button_reg_cancel" position="attributes">
                    <attribute name="attrs">{'invisible': ['|', '|', ('state', '!=', 'draft'),('is_related_shift_ftop', '=', True), ('related_shift_state', '!=', 'entry')]}</attribute>
                </button>
                <button name="button_reg_excused" position="attributes">
                    <attribute name="attrs">{'invisible': ['|', '|', ('state', '!=', 'open'),('is_related_shift_ftop', '=', True), ('related_shift_state', '!=', 'entry')]}</attribute>
                </button>
                <button name="do_draft" position="attributes">
                    <attribute name="attrs">{'invisible': ['|', '|', ('state', 'not in', ['cancel', 'done', 'absent', 'excused', 'replaced', 'replacing', 'open']),('is_related_shift_ftop', '=', True), ('related_shift_state', '!=', 'entry')]}</attribute>
                </button>
                <button name="%(coop_shift.action_replace_registration)d" position="attributes">
                    <attribute name="attrs">{'invisible': ['|', '|', ('state', '!=', 'open'),('is_related_shift_ftop', '=', True), ('related_shift_state', '!=', 'entry')]}</attribute>
                </button>
            </field>
        </record>

        <record id="view_shift_registration_form_inherit" model="ir.ui.view">
            <field name="name">shift.registration.confirm.inherit</field>
            <field name="model">shift.registration</field>
            <field name="inherit_id" ref="coop_shift.view_shift_registration_form"/>
            <field name="arch" type="xml">
                <field name="shift_type" position="after">
                    <field name="related_shift_state" invisible="1"/>
                </field>
                
                <button name="action_send_badge_email" position="attributes">
                    <attribute name="groups">coop_shift.group_shift_manager,
                        coop_membership.group_membership_bdm_presence,
                        coop_membership.group_membership_bdm_saisie</attribute>
                </button>    

                <button name="button_reg_close" position="attributes">
                    <attribute name="states"/>
                    <attribute name="attrs">{'invisible': ['|', ('related_shift_state', '!=', 'entry'), ('state', '!=', 'open')]}</attribute>
                    <attribute name="groups">coop_shift.group_shift_manager,
                        coop_membership.group_membership_bdm_presence,
                        coop_membership.group_membership_bdm_saisie</attribute>
                </button>

                <button name="button_reg_absent" position="attributes">
                    <attribute name="states"/>
                    <attribute name="attrs">{'invisible': ['|', ('related_shift_state', '!=', 'entry'), ('state', '!=', 'open')]}</attribute>
                    <attribute name="groups">coop_shift.group_shift_manager,
                        coop_membership.group_membership_bdm_presence,
                        coop_membership.group_membership_bdm_saisie</attribute>
                </button>
                
                <button name="confirm_registration" position="attributes">
                    <attribute name="groups">coop_shift.group_shift_manager,
                        coop_membership.group_membership_bdm_presence,
                        coop_membership.group_membership_bdm_saisie</attribute>
                </button>

                <button name="button_reg_cancel" position="attributes">
                    <attribute name="groups">coop_shift.group_shift_manager,
                        coop_membership.group_membership_bdm_presence,
                        coop_membership.group_membership_bdm_saisie</attribute>
                </button>

                <button name="button_reg_excused" position="attributes">
                    <attribute name="states"/>
                    <attribute name="attrs">{'invisible': ['|', ('related_shift_state', '!=', 'entry'), ('state', '!=', 'open')]}</attribute>
                    <attribute name="groups">coop_shift.group_shift_manager,
                        coop_membership.group_membership_bdm_presence,
                        coop_membership.group_membership_bdm_saisie</attribute>                    
                </button>

                <button name="do_draft" position="attributes">
                    <attribute name="groups">coop_shift.group_shift_manager,
                        coop_membership.group_membership_bdm_presence,
                        coop_membership.group_membership_bdm_saisie</attribute>
                </button>

                <button name="%(coop_shift.action_replace_registration)d" position="attributes">
                    <attribute name="states"/>
                    <attribute name="attrs">{'invisible': ['|', ('related_shift_state', '!=', 'entry'), ('state', '!=', 'open')]}</attribute>
                    <attribute name="groups">coop_shift.group_shift_manager,
                        coop_membership.group_membership_bdm_presence,
                        coop_membership.group_membership_bdm_saisie</attribute>
                </button>

            </field>
        </record>

        <record id="view_template_registration_search_inherit" model="ir.ui.view">
            <field name="name">shift.template.registration.search.inherit</field>
            <field name="model">shift.template.registration</field>
            <field name="inherit_id" ref="coop_shift.view_template_registration_search"/>
            <field name="arch" type="xml">
                <xpath expr="//filter[@name='message_needaction']" position="after">
                    <filter string="Current Participants" name="current_participant" domain="[('is_current_participant','=',True)]"/>
                    <separator/>
                </xpath>
            </field>
        </record>

        <record model="ir.ui.view"
                id="coop_shift.view_shift_template_registration_line_tree_futurechanges">
            <field name="groups_id" eval="[
                (4, ref('coop_shift.group_shift_future_changes')),
                (4, ref('coop_membership.group_membership_bdm_saisie'))
            ]"/>
        </record>

    </data>
</openerp>