<?xml version="1.0" ?>
<openerp>
- <data>
-
- <!--
- Process
- -->
-
- <record id="process_process_hrtimesheetworkflow0" model="process.process">
- <field eval=""""Hr Timesheet flow for services companies."""" name="note"/>
- <field eval="1" name="active"/>
- <field eval=""""Hr Timesheet Workflow"""" name="name"/>
- </record>
-
- <!--
- Process Node
- -->
-
- <record id="process_node_workontask0" model="process.node">
- <field name="menu_id" ref="project.menu_action_view_task"/>
- <field name="model_id" ref="project.model_project_task"/>
- <field eval=""""state"""" name="kind"/>
- <field eval=""""Work on Task"""" name="name"/>
- <field eval=""""Defines the work summary of task"""" name="note"/>
- <field name="process_id" ref="process_process_hrtimesheetworkflow0"/>
- <field eval=""""object.state in ('open', pending', 'done', 'cancelled')"""" name="model_states"/>
- <field eval="1" name="flow_start"/>
- </record>
-
- <record id="process_node_attendance0" model="process.node">
- <field name="menu_id" ref="hr_attendance.menu_si_so"/>
- <field name="model_id" ref="hr.model_hr_employee"/>
- <field eval=""""state"""" name="kind"/>
- <field eval=""""Attendance"""" name="name"/>
- <field eval=""""Defines employee's timesheet entry"""" name="note"/>
- <field name="process_id" ref="process_process_hrtimesheetworkflow0"/>
- <field eval="1" name="flow_start"/>
- </record>
-
- <record id="process_node_timesheet0" model="process.node">
- <field name="menu_id" ref="hr_timesheet_sheet.menu_act_hr_timesheet_sheet_form_my_current"/>
- <field name="model_id" ref="hr_timesheet_sheet.model_hr_timesheet_sheet_sheet"/>
- <field eval=""""subflow"""" name="kind"/>
- <field eval=""""Timesheet"""" name="name"/>
- <field eval=""""Defines the task work entry into timesheet line"""" name="note"/>
- <field name="process_id" ref="process_process_hrtimesheetworkflow0"/>
+ <data>
+
+ <!--
+ Process
+ -->
+
+ <record id="process_process_hrtimesheetprocess0" model="process.process">
+ <field eval="1" name="active"/>
+ <field name="model_id" ref="hr_timesheet_sheet.model_hr_timesheet_sheet_sheet"/>
+ <field eval=""""Hr Timesheet"""" name="name"/>
+ </record>
+
+ <!--
+ Process Node
+ -->
+
+ <record id="process_node_attendance0" model="process.node">
+ <field name="model_id" ref="hr.model_hr_employee"/>
+ <field eval=""""state"""" name="kind"/>
+ <field eval=""""Attendance"""" name="name"/>
+ <field eval=""""Employee's timesheet entry"""" name="note"/>
+ <field name="process_id" ref="process_process_hrtimesheetprocess0"/>
+ <field eval="1" name="flow_start"/>
+ </record>
+
+ <record id="process_node_timesheet0" model="process.node">
+ <field name="menu_id" ref="hr_timesheet_sheet.menu_act_hr_timesheet_sheet_form"/>
+ <field name="model_id" ref="hr_timesheet_sheet.model_hr_timesheet_sheet_sheet"/>
+ <field eval=""""subflow"""" name="kind"/>
+ <field eval=""""Timesheet"""" name="name"/>
+ <field eval=""""Information of time spent on a service"""" name="note"/>
+ <field name="process_id" ref="process_process_hrtimesheetprocess0"/>
+ <field eval=""""object.state=='draft'"""" name="model_states"/>
+ <field eval="0" name="flow_start"/>
+ </record>
+
+ <record id="process_node_drafttimesheetsheet0" model="process.node">
+ <field name="menu_id" ref="hr_timesheet_sheet.menu_act_hr_timesheet_sheet_form"/>
+ <field name="model_id" ref="hr_timesheet_sheet.model_hr_timesheet_sheet_sheet"/>
+ <field eval=""""state"""" name="kind"/>
+ <field eval=""""Draft Timesheet"""" name="name"/>
+ <field eval=""""State is 'draft'."""" name="note"/>
+ <field name="process_id" ref="process_process_hrtimesheetprocess0"/>
<field eval=""""object.state=='draft'"""" name="model_states"/>
- <field eval="0" name="flow_start"/>
- </record>
-
- <record id="process_node_drafttimesheetsheet0" model="process.node">
- <field name="menu_id" ref="hr_timesheet_sheet.menu_act_hr_timesheet_sheet_form_my_current"/>
- <field name="model_id" ref="hr_timesheet_sheet.model_hr_timesheet_sheet_sheet"/>
- <field eval=""""state"""" name="kind"/>
- <field eval=""""Draft Timesheet sheet"""" name="name"/>
- <field eval=""""Encode Your hours and Sign in / out"""" name="note"/>
- <field name="process_id" ref="process_process_hrtimesheetworkflow0"/>
- <field eval=""""object.state=='draft'"""" name="model_states"/>
- <field eval="0" name="flow_start"/>
- </record>
-
- <record id="process_node_confirmedtimesheet0" model="process.node">
- <field name="menu_id" ref="hr_timesheet_sheet.menu_act_hr_timesheet_sheet_form_my_current"/>
- <field name="model_id" ref="hr_timesheet_sheet.model_hr_timesheet_sheet_sheet"/>
- <field eval=""""state"""" name="kind"/>
- <field eval=""""Confirmed Timesheet"""" name="name"/>
- <field eval=""""At the end of the period (week/month)"""" name="note"/>
- <field name="process_id" ref="process_process_hrtimesheetworkflow0"/>
- <field eval=""""object.state=='confirm'"""" name="model_states"/>
- <field eval="0" name="flow_start"/>
- </record>
+ <field eval="0" name="flow_start"/>
+ </record>
+
+ <record id="process_node_confirmedtimesheet0" model="process.node">
+ <field name="menu_id" ref="hr_timesheet_sheet.menu_act_hr_timesheet_sheet_form"/>
+ <field name="model_id" ref="hr_timesheet_sheet.model_hr_timesheet_sheet_sheet"/>
+ <field eval=""""state"""" name="kind"/>
+ <field eval=""""Confirmed"""" name="name"/>
+ <field eval=""""State is 'confirmed'."""" name="note"/>
+ <field name="process_id" ref="process_process_hrtimesheetprocess0"/>
+ <field eval=""""object.state=='confirm'"""" name="model_states"/>
+ <field eval="0" name="flow_start"/>
+ </record>
- <record id="process_node_validatedtimesheet0" model="process.node">
- <field name="menu_id" ref="hr_timesheet_sheet.menu_act_hr_timesheet_sheet_form_my_current"/>
- <field name="model_id" ref="hr_timesheet_sheet.model_hr_timesheet_sheet_sheet"/>
- <field eval=""""state"""" name="kind"/>
- <field eval=""""Validated Timesheet"""" name="name"/>
- <field eval=""""Control by the project manager"""" name="note"/>
- <field name="process_id" ref="process_process_hrtimesheetworkflow0"/>
- <field eval=""""object.state=='done'"""" name="model_states"/>
- <field eval="0" name="flow_start"/>
- </record>
-
- <record id="process_node_invoiceonwork0" model="process.node">
- <field name="menu_id" ref="account.menu_finance_invoice"/>
- <field name="model_id" ref="account.model_account_invoice"/>
- <field eval=""""state"""" name="kind"/>
- <field eval=""""Invoice on Work"""" name="name"/>
- <field eval=""""Invoice based on timesheet"""" name="note"/>
- <field name="process_id" ref="process_process_hrtimesheetworkflow0"/>
- <field eval=""""object.state=='draft'"""" name="model_states"/>
- <field eval="0" name="flow_start"/>
- </record>
-
- <!--
- Process Transition
- -->
-
- <record id="process_transition_tasktimesheet0" model="process.transition">
- <field eval="[(6,0,[])]" name="role_ids"/>
- <field eval="[(6,0,[])]" name="transition_ids"/>
- <field eval=""""Task timesheet"""" name="name"/>
- <field eval=""""Moves task entry into the timesheet line"""" name="note"/>
- <field model="process.node" name="target_node_id" search="[('name','=','Timesheet')]"/>
- <field model="process.node" name="source_node_id" search="[('name','=','Work on Task')]"/>
- </record>
-
- <record id="process_transition_attendance0" model="process.transition">
- <field eval="[(6,0,[])]" name="role_ids"/>
- <field eval="[(6,0,[])]" name="transition_ids"/>
- <field eval=""""Attendance"""" name="name"/>
- <field eval=""""Attendance entry moves into the timesheet"""" name="note"/>
- <field model="process.node" name="target_node_id" search="[('name','=','Draft Timesheet sheet')]"/>
- <field model="process.node" name="source_node_id" search="[('name','=','Attendance')]"/>
- </record>
-
- <record id="process_transition_timesheet0" model="process.transition">
- <field eval="[(6,0,[])]" name="role_ids"/>
- <field eval="[(6,0,[])]" name="transition_ids"/>
- <field eval=""""Timesheet"""" name="name"/>
- <field eval=""""timesheet entry is into draft state."""" name="note"/>
- <field model="process.node" name="target_node_id" search="[('name','=','Draft Timesheet sheet')]"/>
- <field model="process.node" name="source_node_id" search="[('name','=','Timesheet')]"/>
- </record>
-
- <record id="process_transition_confirmtimesheet0" model="process.transition">
- <field eval="[(6,0,[])]" name="role_ids"/>
- <field eval="[(6,0,[])]" name="transition_ids"/>
- <field eval=""""Confirm Timesheet"""" name="name"/>
- <field eval=""""timesheet is confirmed at the end of the week / month"""" name="note"/>
- <field model="process.node" name="target_node_id" search="[('name','=','Confirmed Timesheet')]"/>
- <field model="process.node" name="source_node_id" search="[('name','=','Draft Timesheet sheet')]"/>
- </record>
-
- <record id="process_transition_validatetimesheet0" model="process.transition">
- <field eval="[(6,0,[])]" name="role_ids"/>
- <field eval="[(6,0,[])]" name="transition_ids"/>
- <field eval=""""Validate Timesheet"""" name="name"/>
- <field eval=""""Timesheet is validate by project manager."""" name="note"/>
- <field model="process.node" name="target_node_id" search="[('name','=','Validated Timesheet')]"/>
- <field model="process.node" name="source_node_id" search="[('name','=','Confirmed Timesheet')]"/>
- </record>
-
- <record id="process_transition_invoiceontimesheet0" model="process.transition">
- <field eval="[(6,0,[])]" name="role_ids"/>
- <field eval="[(6,0,[])]" name="transition_ids"/>
- <field eval=""""Invoice on timesheet"""" name="name"/>
- <field eval=""""Creates invoice based on timesheet"""" name="note"/>
- <field model="process.node" name="target_node_id" search="[('name','=','Invoice on Work')]"/>
- <field model="process.node" name="source_node_id" search="[('name','=','Confirmed Timesheet')]"/>
- </record>
+ <record id="process_node_validatedtimesheet0" model="process.node">
+ <field name="menu_id" ref="hr_timesheet_sheet.menu_act_hr_timesheet_sheet_form"/>
+ <field name="model_id" ref="hr_timesheet_sheet.model_hr_timesheet_sheet_sheet"/>
+ <field eval=""""state"""" name="kind"/>
+ <field eval=""""Validated"""" name="name"/>
+ <field eval=""""State is 'validated'."""" name="note"/>
+ <field name="process_id" ref="process_process_hrtimesheetprocess0"/>
+ <field eval=""""object.state=='done'"""" name="model_states"/>
+ <field eval="0" name="flow_start"/>
+ </record>
+
+ <record id="process_node_invoiceonwork0" model="process.node">
+ <field name="menu_id" ref="account.menu_finance_invoice"/>
+ <field name="model_id" ref="account.model_account_invoice"/>
+ <field eval=""""subflow"""" name="kind"/>
+ <field eval=""""Invoice on Work"""" name="name"/>
+ <field eval=""""Based on the timesheet"""" name="note"/>
+ <field name="subflow_id" ref="account.process_process_invoiceprocess0"/>
+ <field name="process_id" ref="process_process_hrtimesheetprocess0"/>
+ <field eval=""""object.state=='draft'"""" name="model_states"/>
+ <field eval="0" name="flow_start"/>
+ </record>
- </data>
-</openerp>
\ No newline at end of file
+ <record id="process_node_workontask0" model="process.node">
+ <field name="menu_id" ref="hr_timesheet_sheet.menu_act_hr_timesheet_sheet_form"/>
+ <field name="model_id" ref="hr_timesheet_sheet.model_hr_timesheet_sheet_sheet"/>
+ <field eval=""""state"""" name="kind"/>
+ <field eval=""""Work on Task"""" name="name"/>
+ <field eval=""""Defines the work summary of task"""" name="note"/>
+ <field name="process_id" ref="hr_timesheet_sheet.process_process_hrtimesheetprocess0"/>
+ <field eval=""""object.state in ('open', pending', 'done', 'cancelled')"""" name="model_states"/>
+ <field eval="1" name="flow_start"/>
+ </record>
+
+ <!--
+ Process Transition
+ -->
+
+ <record id="res_roles_hr0" model="res.roles">
+ <field eval=""""HR"""" name="name"/>
+ </record>
+
+ <record id="hr_timesheet_sheet.t1" model="workflow.transition">
+ <field name="role_id" ref="res_roles_hr0"/>
+ </record>
+
+ <record id="process_transition_attendancetimesheet0" model="process.transition">
+ <field eval="[(6,0,[])]" name="role_ids"/>
+ <field eval="[(6,0,[])]" name="transition_ids"/>
+ <field eval=""""Sign in/out"""" name="name"/>
+ <field eval=""""The employee signs in and signs out."""" name="note"/>
+ <field model="process.node" name="target_node_id" ref="process_node_drafttimesheetsheet0"/>
+ <field model="process.node" name="source_node_id" ref="process_node_attendance0"/>
+ </record>
+
+ <record id="process_transition_timesheetdraft0" model="process.transition">
+ <field eval="[(6,0,[])]" name="role_ids"/>
+ <field eval="[(6,0,[])]" name="transition_ids"/>
+ <field eval=""""Service"""" name="name"/>
+ <field eval=""""The timesheet line represents the time spent by the employee on a specific service provided."""" name="note"/>
+ <field model="process.node" name="target_node_id" ref="process_node_drafttimesheetsheet0"/>
+ <field model="process.node" name="source_node_id" ref="process_node_timesheet0"/>
+ </record>
+
+ <record id="process_transition_confirmtimesheet0" model="process.transition">
+ <field eval="[(6,0,[])]" name="role_ids"/>
+ <field eval="[(6,0,[])]" name="transition_ids"/>
+ <field eval=""""Confirmation"""" name="name"/>
+ <field eval=""""The employee periodically confirms his own timesheets."""" name="note"/>
+ <field model="process.node" name="target_node_id" ref="process_node_confirmedtimesheet0"/>
+ <field model="process.node" name="source_node_id" ref="process_node_drafttimesheetsheet0"/>
+ <field eval="[(6,0,[ref('hr_timesheet_sheet.t1')])]" name="transition_ids"/>
+ </record>
+
+ <record id="process_transition_validatetimesheet0" model="process.transition">
+ <field eval="[(6,0,[])]" name="role_ids"/>
+ <field eval="[(6,0,[])]" name="transition_ids"/>
+ <field eval=""""Validation"""" name="name"/>
+ <field eval=""""The project manager validates the timesheets."""" name="note"/>
+ <field model="process.node" name="target_node_id" ref="process_node_validatedtimesheet0"/>
+ <field model="process.node" name="source_node_id" ref="process_node_confirmedtimesheet0"/>
+ </record>
+
+ <record id="process_transition_invoiceontimesheet0" model="process.transition">
+ <field eval="[(6,0,[])]" name="role_ids"/>
+ <field eval="[(6,0,[])]" name="transition_ids"/>
+ <field eval=""""Billing"""" name="name"/>
+ <field eval=""""The invoice is created based on the timesheet."""" name="note"/>
+ <field model="process.node" name="target_node_id" ref="process_node_invoiceonwork0"/>
+ <field model="process.node" name="source_node_id" ref="process_node_confirmedtimesheet0"/>
+ </record>
+
+ <record id="process_transition_tasktimesheet0" model="process.transition">
+ <field eval="[(6,0,[])]" name="role_ids"/>
+ <field eval="[(6,0,[])]" name="transition_ids"/>
+ <field eval=""""Task timesheet"""" name="name"/>
+ <field eval=""""Moves task entry into the timesheet line"""" name="note"/>
+ <field model="process.node" name="target_node_id" ref="process_node_timesheet0"/>
+ <field model="process.node" name="source_node_id" ref="process_node_workontask0"/>
+ </record>
+
+ <!--
+ Process Action
+ -->
+
+ <record id="process_transition_action_draftconfirmtimesheet0" model="process.transition.action">
+ <field eval=""""button_confirm"""" name="action"/>
+ <field eval=""""object"""" name="state"/>
+ <field eval=""""Confirm"""" name="name"/>
+ <field name="transition_id" ref="process_transition_confirmtimesheet0"/>
+ </record>
+
+ <record id="process_transition_action_validatetimesheet0" model="process.transition.action">
+ <field eval=""""write({'state':'done'})"""" name="action"/>
+ <field eval=""""object"""" name="state"/>
+ <field eval=""""Validate"""" name="name"/>
+ <field name="transition_id" ref="process_transition_validatetimesheet0"/>
+ </record>
+
+ <record id="process_transition_action_refusetimesheet0" model="process.transition.action">
+ <field eval=""""write({'state':'draft'})"""" name="action"/>
+ <field eval=""""object"""" name="state"/>
+ <field eval=""""Refuse"""" name="name"/>
+ <field name="transition_id" ref="process_transition_validatetimesheet0"/>
+ </record>
+
+ </data>
+</openerp>