Merge lp:~gs.clearcorp/openerp-ccorp-addons/hr_contract_extended into lp:openerp-ccorp-addons/7.0

Proposed by Glen Sojo
Status: Merged
Merged at revision: 759
Proposed branch: lp:~gs.clearcorp/openerp-ccorp-addons/hr_contract_extended
Merge into: lp:openerp-ccorp-addons/7.0
Diff against target: 164 lines (+86/-3)
3 files modified
hr_contract_extended/hr_contract_extended.py (+36/-1)
hr_contract_extended/hr_contract_extended_view.xml (+12/-0)
hr_contract_extended/i18n/es_CR.po (+38/-2)
To merge this branch: bzr merge lp:~gs.clearcorp/openerp-ccorp-addons/hr_contract_extended
Reviewer Review Type Date Requested Status
ClearCorp drivers Pending
Review via email: mp+185574@code.launchpad.net

Description of the change

[ADD] Calculations of time worked in years, months and days

To post a comment you must log in.
760. By Glen Sojo

[ADD] New es_CR translation

761. By Glen Sojo

[Fix] Changed view. Switched normal text for label tags.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'hr_contract_extended/hr_contract_extended.py'
2--- hr_contract_extended/hr_contract_extended.py 2013-08-27 17:42:04 +0000
3+++ hr_contract_extended/hr_contract_extended.py 2013-09-13 19:58:54 +0000
4@@ -19,7 +19,10 @@
5 # along with this program. If not, see <http://www.gnu.org/licenses/>.
6 #
7 ##############################################################################
8-from osv import fields, osv
9+from openerp.osv import fields, osv
10+from dateutil.relativedelta import relativedelta
11+from datetime import datetime
12+
13
14 class HrContractAcademicAchievement(osv.osv):
15 _name = 'hr.contract.academic.achievement'
16@@ -64,11 +67,43 @@
17 return res
18
19 class HrContract(osv.osv):
20+
21+ def _days_between(self, start_date, end_date):
22+ start_date = datetime.strptime(start_date, "%Y-%m-%d")
23+ end_date = datetime.strptime(end_date, "%Y-%m-%d")
24+ return relativedelta(end_date, start_date).days
25+
26+ def _months_between(self, start_date, end_date):
27+ start_date = datetime.strptime(start_date, "%Y-%m-%d")
28+ end_date = datetime.strptime(end_date, "%Y-%m-%d")
29+ return relativedelta(end_date, start_date).months
30+
31+ def _years_between(self, start_date, end_date):
32+ start_date = datetime.strptime(start_date, "%Y-%m-%d")
33+ end_date = datetime.strptime(end_date, "%Y-%m-%d")
34+ return relativedelta(end_date, start_date).years
35+
36+
37+ def _compute_duration(self, cr, uid, ids, field_name, arg, context={}):
38+ res = {}
39+ contracts = self.browse(cr, uid, ids, context=context)
40+ for contract in contracts:
41+
42+ res[contract.id] = {
43+ 'duration_years': self._years_between(contract.date_start, contract.date_end),
44+ 'duration_months': self._months_between(contract.date_start, contract.date_end),
45+ 'duration_days': self._days_between(contract.date_start, contract.date_end),
46+ }
47+ return res
48+
49 _inherit = 'hr.contract'
50
51 _columns = {
52 'hr_salary_rule_ids':fields.one2many('hr.salary.rule', 'contract_id', 'Salary Rules'),
53 'academic_achievement':fields.one2many('hr.contract.academic.achievement', 'contract_academic_achievement', 'Academic Achievements'),
54+ 'duration_years': fields.function(_compute_duration, type="integer", string="Years", multi="sums"),
55+ 'duration_months': fields.function(_compute_duration, type="integer", string="Months", multi="sums"),
56+ 'duration_days': fields.function(_compute_duration, type="integer", string="Days", multi="sums"),
57 }
58
59 def unlink(self, cr, uid, ids, context=None):
60
61=== modified file 'hr_contract_extended/hr_contract_extended_view.xml'
62--- hr_contract_extended/hr_contract_extended_view.xml 2013-08-27 17:42:04 +0000
63+++ hr_contract_extended/hr_contract_extended_view.xml 2013-09-13 19:58:54 +0000
64@@ -5,9 +5,21 @@
65 <record id="hr_contract_salary_rule_form" model="ir.ui.view">
66 <field name="name">hr.contract.salary.rule.form</field>
67 <field name="model">hr.contract</field>
68+ <field name="priority" eval="16"/>
69 <field name="inherit_id" ref="hr_contract.hr_contract_view_form"/>
70 <field name="arch" type="xml">
71 <data>
72+ <xpath expr="//field[@name='working_hours']" position="before">
73+ <label for="duration_years" string="Time Worked"/>
74+ <div>
75+ <field name="duration_years" class="oe_inline" nolabel="1"/>
76+ <label string="year(s) - "/>
77+ <field name="duration_months" class="oe_inline" nolabel="1"/>
78+ <label string="month(s) - "/>
79+ <field name="duration_days" class="oe_inline" nolabel="1"/>
80+ <label string="day(s)"/>
81+ </div>
82+ </xpath>
83 <xpath expr="//page[@string='Information']" position="after">
84 <page string="Salary Rules">
85 <field name="hr_salary_rule_ids"/>
86
87=== modified file 'hr_contract_extended/i18n/es_CR.po'
88--- hr_contract_extended/i18n/es_CR.po 2013-08-27 17:38:35 +0000
89+++ hr_contract_extended/i18n/es_CR.po 2013-09-13 19:58:54 +0000
90@@ -6,8 +6,8 @@
91 msgstr ""
92 "Project-Id-Version: OpenERP Server 7.0\n"
93 "Report-Msgid-Bugs-To: \n"
94-"POT-Creation-Date: 2013-08-27 17:31+0000\n"
95-"PO-Revision-Date: 2013-08-27 17:31+0000\n"
96+"POT-Creation-Date: 2013-09-13 19:54+0000\n"
97+"PO-Revision-Date: 2013-09-13 19:54+0000\n"
98 "Last-Translator: <>\n"
99 "Language-Team: \n"
100 "MIME-Version: 1.0\n"
101@@ -16,16 +16,36 @@
102 "Plural-Forms: \n"
103
104 #. module: hr_contract_extended
105+#: view:hr.contract:0
106+msgid "day(s)"
107+msgstr "día(s)"
108+
109+#. module: hr_contract_extended
110 #: model:ir.model,name:hr_contract_extended.model_hr_contract_academic_achievement
111 msgid "Hr Contract Academic Achievement"
112 msgstr "Hr Contrat Logros Académicos"
113
114 #. module: hr_contract_extended
115+#: view:hr.contract:0
116+msgid "Time Worked"
117+msgstr "Tiempo Laborado"
118+
119+#. module: hr_contract_extended
120 #: field:hr.contract.academic.achievement,degree_obtained:0
121 msgid "Degree Obtained"
122 msgstr "Título Obtenido"
123
124 #. module: hr_contract_extended
125+#: field:hr.contract,duration_months:0
126+msgid "Months"
127+msgstr "Meses"
128+
129+#. module: hr_contract_extended
130+#: field:hr.contract,duration_days:0
131+msgid "Days"
132+msgstr "Días"
133+
134+#. module: hr_contract_extended
135 #: field:hr.salary.rule,contract_id:0
136 #: model:ir.model,name:hr_contract_extended.model_hr_contract
137 msgid "Contract"
138@@ -53,6 +73,11 @@
139 msgstr "Logros Académicos"
140
141 #. module: hr_contract_extended
142+#: view:hr.contract:0
143+msgid "year(s) - "
144+msgstr "año(s) - "
145+
146+#. module: hr_contract_extended
147 #: field:hr.contract.academic.achievement,date_obtained:0
148 msgid "Date Obtained"
149 msgstr "Fecha de Obtención"
150@@ -67,3 +92,14 @@
151 #: field:hr.contract.academic.achievement,institution:0
152 msgid "Institution"
153 msgstr "Institución"
154+
155+#. module: hr_contract_extended
156+#: view:hr.contract:0
157+msgid "month(s) - "
158+msgstr "mes(es) - "
159+
160+#. module: hr_contract_extended
161+#: field:hr.contract,duration_years:0
162+msgid "Years"
163+msgstr "Años"
164+

Subscribers

People subscribed via source and target branches