1 <?xml version="1.0" encoding="utf-8"?>
5 <!-- Contract Types -->
6 <record id="hr_contract_type_emp" model="hr.contract.type">
7 <field name="name">Employee</field>
10 <record id="hr_contract_type_wrkr" model="hr.contract.type">
11 <field name="name">Worker</field>
14 <record id="hr_contract_type_sub" model="hr.contract.type">
15 <field name="name">Subcontractor</field>
18 <!-- Contract-related subtypes for messaging / Chatter -->
19 <record id="mt_contract_pending" model="mail.message.subtype">
20 <field name="name">To Renew</field>
21 <field name="res_model">hr.contract</field>
22 <field name="default" eval="True"/>
23 <field name="description">Contract about to expire</field>
25 <record id="mt_contract_close" model="mail.message.subtype">
26 <field name="name">Expired</field>
27 <field name="res_model">hr.contract</field>
28 <field name="default" eval="False"/>
29 <field name="description">Contract expired</field>
31 <!-- Department-related (parent) subtypes for messaging / Chatter -->
32 <record id="mt_department_contract_pending" model="mail.message.subtype">
33 <field name="name">Contract to Renew</field>
34 <field name="res_model">hr.department</field>
35 <field name="default" eval="False"/>
36 <field name="parent_id" eval="ref('mt_contract_pending')"/>
37 <field name="relation_field">department_id</field>
38 <field name="description">Contract about to expire</field>
41 <!-- base action rule about "Expiring Soon" contracts -->
42 <record id="contract_open" model="ir.filters">
43 <field name="name">Open Contracts</field>
44 <field name="model_id">hr.contract</field>
45 <field name="domain">[('state', '=', 'open')]</field>
46 <field name="user_id" eval="False"/>
48 <record id="contract_set_as_pending" model="ir.actions.server">
49 <field name="name">HR Contract: set as pending</field>
50 <field name="model_id" ref="model_hr_contract"/>
51 <field name="condition">True</field>
52 <field name="type">ir.actions.server</field>
53 <field name="state">code</field>
54 <field name="code">object.set_as_pending()</field>
56 <record id="rule_contract_1_set_as_pending" model="base.action.rule">
57 <field name="name">HR Contract: check for pending</field>
58 <field name="model_id" ref="model_hr_contract"/>
59 <field name="sequence">50</field>
60 <field name="kind">on_time</field>
61 <field name="filter_id" ref="contract_open"/>
62 <field name="trg_date_id" ref="hr_contract.field_hr_contract_date_end"/>
63 <field name="trg_date_range">-7</field>
64 <field name="trg_date_range_type">day</field>
65 <field name="server_action_ids" eval="[(6, 0, [ref('contract_set_as_pending')])]"/>
67 <record id="rule_contract_2_set_as_pending" model="base.action.rule">
68 <field name="name">HR Contract: check for pending</field>
69 <field name="model_id" ref="model_hr_contract"/>
70 <field name="sequence">51</field>
71 <field name="kind">on_time</field>
72 <field name="filter_id" ref="contract_open"/>
73 <field name="trg_date_id" ref="hr_contract.field_hr_contract_visa_expire"/>
74 <field name="trg_date_range">-60</field>
75 <field name="trg_date_range_type">day</field>
76 <field name="server_action_ids" eval="[(6, 0, [ref('contract_set_as_pending')])]"/>
78 <!-- base action rule about "Expired" contracts -->
79 <record id="contract_set_as_close" model="ir.actions.server">
80 <field name="name">HR Contract: set as close</field>
81 <field name="model_id" ref="model_hr_contract"/>
82 <field name="condition">True</field>
83 <field name="type">ir.actions.server</field>
84 <field name="state">code</field>
85 <field name="code">object.set_as_close()</field>
87 <record id="rule_contract_3_set_as_close" model="base.action.rule">
88 <field name="name">HR Contract: check for close</field>
89 <field name="model_id" ref="model_hr_contract"/>
90 <field name="sequence">52</field>
91 <field name="kind">on_time</field>
92 <field name="trg_date_id" ref="hr_contract.field_hr_contract_date_end"/>
93 <field name="trg_date_range">1</field>
94 <field name="trg_date_range_type">day</field>
95 <field name="server_action_ids" eval="[(6, 0, [ref('contract_set_as_close')])]"/>
97 <record id="rule_contract_4_set_as_close" model="base.action.rule">
98 <field name="name">HR Contract: check for close</field>
99 <field name="model_id" ref="model_hr_contract"/>
100 <field name="sequence">53</field>
101 <field name="kind">on_time</field>
102 <field name="trg_date_id" ref="hr_contract.field_hr_contract_visa_expire"/>
103 <field name="trg_date_range">1</field>
104 <field name="trg_date_range_type">day</field>
105 <field name="server_action_ids" eval="[(6, 0, [ref('contract_set_as_close')])]"/>