|
|
<odoo>
<!-- Attendance Sheet Shifts Views -->
<record model="ir.ui.view" id="sheet_view_search"> <field name="name">Attendance Sheet Search</field> <field name="model">beesdoo.shift.sheet</field> <field name="arch" type="xml"> <search> <field name="day" /> <field name="validated_by" /> <filter string="Annotated (unread)" domain="[('is_annotated', '=', True), ('is_read', '=', False)]" /> <filter string="Annotated (read)" domain="[('is_annotated', '=', True), ('is_read', '=', True)]" /> <separator /> <filter string="Archived" domain="[('active', '=', False)]" /> <group expand="1" string="Group By"> <filter string="Day" name="gb_day" context="{'group_by' : 'start_time:day'}" /> </group> </search> </field> </record>
<record model="ir.ui.view" id="sheet_expected_view_tree"> <field name="name">Expected Shifts List</field> <field name="model">beesdoo.shift.sheet.expected</field> <field name="arch" type="xml"> <tree editable="bottom" create="false" delete="false" open="false" decoration-danger="state == 'absent'" decoration-success="state == 'done'"> <field name="task_type_id" readonly="True" options="{'no_open': True}"/> <field name="super_coop_id" readonly="True" options="{'no_open': True}"/> <field name="worker_id" readonly="True" options="{'no_open': True}"/> <field name="working_mode" /> <field name="replacement_worker_id" attrs="{'readonly': [('working_mode','=','irregular')]}" options="{'no_create': True, 'no_create_edit':True}"/> <field name="state" options="{'no_open': True}" /> <field name="compensation_no" options="{'horizontal': true}" attrs="{ 'invisible': [('state', 'in', ['done', False])] }" /> </tree> </field> </record>
<record model="ir.ui.view" id="sheet_added_view_tree"> <field name="view_mode">tree</field> <field name="name">Added Shifts List</field> <field name="model">beesdoo.shift.sheet.added</field> <field name="arch" type="xml"> <tree editable="bottom" decoration-success="state == 'done'"> <field name="task_type_id" options="{'no_open': True, 'no_create': True, 'no_create_edit':True }" /> <field name="worker_id" options="{'no_open': True, 'no_create': True, 'no_create_edit':True }" /> <field name="working_mode" /> <field name="is_compensation" attrs="{'invisible': [('working_mode','=','irregular')]}"/> <field name="state" readonly="True" /> </tree> </field> </record>
<record model="ir.ui.view" id="sheet_expected_view_form"> <field name="view_mode">tree</field> <field name="name">Expected Shifts Form</field> <field name="model">beesdoo.shift.sheet.expected</field> <field name="arch" type="xml"> <form readonly="True"> <group string="Expected Shift" > <field name="task_type_id" options="{'no_open': True}" /> <field name="worker_id" options="{'no_open': True}" /> <field name="working_mode" options="{'no_open': True}" /> <field name="replacement_worker_id" options="{'no_open': True}" /> <field name="state" options="{'no_open': True}" /> </group> </form> </field> </record>
<record model="ir.ui.view" id="sheet_added_view_form"> <field name="view_mode">tree</field> <field name="name">Added Shifts Form</field> <field name="model">beesdoo.shift.sheet.added</field> <field name="arch" type="xml"> <form readonly="True" > <group> <field name="task_type_id" options="{'no_open': True}" /> <field name="worker_id" options="{'no_open': True}" /> <field name="working_mode" options="{'no_open': True}" /> <field name="is_compensation" options="{'no_open': True}" /> <field name="state" options="{'no_open': True}" /> </group> </form> </field> </record>
<!-- Attendance Sheets Views -->
<record model="ir.ui.view" id="sheet_view_tree"> <field name="name">Attendance Sheet List</field> <field name="model">beesdoo.shift.sheet</field> <field name="arch" type="xml"> <tree create="false" delete="false" decoration-danger="state == 'not_validated'"> <field name="week" /> <field name="day" /> <field name="time_slot" /> <field name="max_worker_no" type="char"/> <field name="state" /> <field name="validated_by" /> <field name="is_annotated" /> </tree> </field> </record>
<record model="ir.ui.view" id="sheet_view_form"> <field name="name">Attendance Sheet Form</field> <field name="model">beesdoo.shift.sheet</field> <field name="arch" type="xml"> <form create="false" delete="false"> <field name="_barcode_scanned" widget="barcode_handler"/> <header> <div> <field name="state" widget="statusbar" readonly="True" class="oe_inline"/> <button type="object" name="validate_with_checks" string="Validate Sheet" confirm="Beware : a validated sheet cannot be edited anymore and you won't be able to add any latecomers. Emails will be sent to workers who did not attend their shift." attrs="{'invisible': [('state', '=', 'validated')]}" /> </div> <div class="oe_clear" /> </header> <sheet> <div class="oe_button_box" name="button_box"> <button name="button_mark_as_read" type="object" class="oe_stat_button" icon="fa-check" string="Mark as read" groups="beesdoo_shift.group_cooperative_admin" /> <button name="toggle_active" type="object" groups="beesdoo_shift.group_cooperative_admin" class="oe_stat_button" icon="fa-archive"> <field name="active" widget="boolean_button" options='{"terminology": "archive"}'/> </button> </div> <div class="oe_title"> <h1> <field name="time_slot" /> </h1> </div> <group> <field name="max_worker_no" /> </group> <label string="If you encounter any issues, you can add an annotation during validation to notify permanent members." /> <separator string="Added workers" /> <field name="added_shift_ids"/> <separator string="Expected workers" /> <field name="expected_shift_ids" /> <br/> <group col="1" string="Feedback" groups="beesdoo_shift.group_cooperative_admin"> <field name="annotation" /> <br/> <field name="feedback" /> <br/> <field name="worker_nb_feedback" /> <br/> <group> <field name="validated_by" readonly="True"/> </group> </group> </sheet> <div class="oe_chatter"> <field name="message_ids" widget="mail_thread" groups="beesdoo_shift.group_cooperative_admin" /> </div> </form> </field> </record>
<!-- Actions -->
<act_window id="action_sheet_admin_non_validated" name="Non-validated sheets" res_model="beesdoo.shift.sheet" view_mode="tree,form" domain="[('state','=','not_validated')]" /> <!-- Annotated sheets should display only the both annotated and validated ones--> <act_window id="action_sheet_admin_annotated" name="Unread annotations" res_model="beesdoo.shift.sheet" view_mode="tree,form" domain="[('is_annotated','=',True), ('is_read','=',False)]" /> <act_window id="action_sheet_admin_list" name="All sheets" res_model="beesdoo.shift.sheet" view_mode="tree,form" /> <act_window id="action_sheet_daily" name="Daily attendance sheets" res_model="beesdoo.shift.sheet" view_mode="tree,form" domain="[('end_time','>', datetime.date.today().strftime('%Y-%m-%d 00:00:00')), ('start_time','<', datetime.date.today().strftime('%Y-%m-%d 23:59:59'))]" />
<!-- Top menu item --> <menuitem id="menu_sheet_top" name="Attendance Sheets" parent="menu_root" groups="beesdoo_shift.group_shift_attendance_sheet" sequence="1" />
<!-- Menu actions --> <menuitem id="menu_sheet" name="Daily attendance sheets" parent="menu_sheet_top" action="action_sheet_daily" sequence="2" /> <menuitem id="menu_sheet_admin_non_validated" name="Non-validated sheets" parent="menu_sheet_top" action="action_sheet_admin_non_validated" groups="beesdoo_shift.group_cooperative_admin" /> <menuitem id="menu_sheet_admin_annotated" name="Unread annotations" parent="menu_sheet_top" action="action_sheet_admin_annotated" groups="beesdoo_shift.group_cooperative_admin" /> <menuitem id="menu_sheet_admin_list" name="All sheets" parent="menu_sheet_top" action="action_sheet_admin_list" groups="beesdoo_shift.group_cooperative_admin" /> </odoo>
|