Merge lp:~gs.clearcorp/openerp-costa-rica/7.0_l10n_cr_hr_payroll_pay_generator_bac into lp:openerp-costa-rica

Proposed by Glen Sojo on 2014-06-26
Status: Merged
Merged at revision: 288
Proposed branch: lp:~gs.clearcorp/openerp-costa-rica/7.0_l10n_cr_hr_payroll_pay_generator_bac
Merge into: lp:openerp-costa-rica
Diff against target: 1386 lines (+1201/-0)
30 files modified
l10n_cr_hr_payroll_pay_generator_bac/__init__.py (+24/-0)
l10n_cr_hr_payroll_pay_generator_bac/__openerp__.py (+49/-0)
l10n_cr_hr_payroll_pay_generator_bac/data/pay_types.xml (+14/-0)
l10n_cr_hr_payroll_pay_generator_bac/i18n/es.po (+39/-0)
l10n_cr_hr_payroll_pay_generator_bac/i18n/l10n_cr_hr_payroll_pay_generator_bac.pot (+39/-0)
l10n_cr_hr_payroll_pay_generator_bac/report/__init__.py (+23/-0)
l10n_cr_hr_payroll_pay_generator_bac/report/l10n_cr_hr_payroll_pay_generator_bac_report.py (+83/-0)
l10n_cr_hr_payroll_pay_generator_bac/report/report.xml (+19/-0)
l10n_cr_hr_payroll_pay_generator_bac/wizard/__init__.py (+23/-0)
l10n_cr_hr_payroll_pay_generator_bac/wizard/generator_wizard.py (+46/-0)
l10n_cr_hr_payroll_pay_generator_bcr/__init__.py (+24/-0)
l10n_cr_hr_payroll_pay_generator_bcr/__openerp__.py (+53/-0)
l10n_cr_hr_payroll_pay_generator_bcr/data/pay_types.xml (+14/-0)
l10n_cr_hr_payroll_pay_generator_bcr/i18n/es.po (+75/-0)
l10n_cr_hr_payroll_pay_generator_bcr/i18n/l10n_cr_hr_payroll_pay_generator_bcr.pot (+75/-0)
l10n_cr_hr_payroll_pay_generator_bcr/report/__init__.py (+23/-0)
l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py (+131/-0)
l10n_cr_hr_payroll_pay_generator_bcr/report/report.xml (+19/-0)
l10n_cr_hr_payroll_pay_generator_bcr/wizard/__init__.py (+23/-0)
l10n_cr_hr_payroll_pay_generator_bcr/wizard/generator_wizard.py (+46/-0)
l10n_cr_hr_payroll_pay_generator_promerica/__init__.py (+24/-0)
l10n_cr_hr_payroll_pay_generator_promerica/__openerp__.py (+49/-0)
l10n_cr_hr_payroll_pay_generator_promerica/data/pay_types.xml (+14/-0)
l10n_cr_hr_payroll_pay_generator_promerica/i18n/es.po (+39/-0)
l10n_cr_hr_payroll_pay_generator_promerica/i18n/l10n_cr_hr_payroll_pay_generator_promerica.pot (+39/-0)
l10n_cr_hr_payroll_pay_generator_promerica/report/__init__.py (+23/-0)
l10n_cr_hr_payroll_pay_generator_promerica/report/l10n_cr_hr_payroll_pay_generator_promerica_report.py (+83/-0)
l10n_cr_hr_payroll_pay_generator_promerica/report/report.xml (+19/-0)
l10n_cr_hr_payroll_pay_generator_promerica/wizard/__init__.py (+23/-0)
l10n_cr_hr_payroll_pay_generator_promerica/wizard/generator_wizard.py (+46/-0)
To merge this branch: bzr merge lp:~gs.clearcorp/openerp-costa-rica/7.0_l10n_cr_hr_payroll_pay_generator_bac
Reviewer Review Type Date Requested Status
ClearCorp drivers 2014-06-26 Pending
Review via email: mp+224668@code.launchpad.net

Description of the change

[ADD] - Added 3 new modules to generate Bac San Jose, Promerica and Banco de Costa Rica payment Reports.

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added directory 'l10n_cr_hr_payroll_pay_generator_bac'
2=== added file 'l10n_cr_hr_payroll_pay_generator_bac/__init__.py'
3--- l10n_cr_hr_payroll_pay_generator_bac/__init__.py 1970-01-01 00:00:00 +0000
4+++ l10n_cr_hr_payroll_pay_generator_bac/__init__.py 2014-06-26 15:55:58 +0000
5@@ -0,0 +1,24 @@
6+# -*- coding: utf-8 -*-
7+##############################################################################
8+#
9+# OpenERP, Open Source Management Solution
10+# Addons modules by CLEARCORP S.A.
11+# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
12+#
13+# This program is free software: you can redistribute it and/or modify
14+# it under the terms of the GNU Affero General Public License as
15+# published by the Free Software Foundation, either version 3 of the
16+# License, or (at your option) any later version.
17+#
18+# This program is distributed in the hope that it will be useful,
19+# but WITHOUT ANY WARRANTY; without even the implied warranty of
20+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21+# GNU Affero General Public License for more details.
22+#
23+# You should have received a copy of the GNU Affero General Public License
24+# along with this program. If not, see <http://www.gnu.org/licenses/>.
25+#
26+##############################################################################
27+
28+import report
29+import wizard
30\ No newline at end of file
31
32=== added file 'l10n_cr_hr_payroll_pay_generator_bac/__openerp__.py'
33--- l10n_cr_hr_payroll_pay_generator_bac/__openerp__.py 1970-01-01 00:00:00 +0000
34+++ l10n_cr_hr_payroll_pay_generator_bac/__openerp__.py 2014-06-26 15:55:58 +0000
35@@ -0,0 +1,49 @@
36+# -*- coding: utf-8 -*-
37+##############################################################################
38+#
39+# OpenERP, Open Source Management Solution
40+# Addons modules by CLEARCORP S.A.
41+# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
42+#
43+# This program is free software: you can redistribute it and/or modify
44+# it under the terms of the GNU Affero General Public License as
45+# published by the Free Software Foundation, either version 3 of the
46+# License, or (at your option) any later version.
47+#
48+# This program is distributed in the hope that it will be useful,
49+# but WITHOUT ANY WARRANTY; without even the implied warranty of
50+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
51+# GNU Affero General Public License for more details.
52+#
53+# You should have received a copy of the GNU Affero General Public License
54+# along with this program. If not, see <http://www.gnu.org/licenses/>.
55+#
56+##############################################################################
57+
58+{
59+ 'name': 'BAC Payroll Pay Generator',
60+ 'version': '1.0',
61+ 'category': 'Human Resources',
62+ 'sequence': 3,
63+ 'summary': 'Payroll generator for BAC San Jose',
64+ 'description': """
65+BAC Payroll Generators
66+======================
67+
68+Payroll generator for BAC San Jose Bank""",
69+ 'author': 'CLEARCORP S.A.',
70+ 'website': 'http://clearcorp.co.cr',
71+ 'complexity': 'easy',
72+ 'images' : [],
73+ 'depends': ['hr_payroll_pay_generator'],
74+ 'data': [
75+ 'data/pay_types.xml',
76+ 'report/report.xml',
77+ ],
78+ 'test' : [],
79+ 'demo': [],
80+ 'installable': True,
81+ 'auto_install': False,
82+ 'application': False,
83+ 'license': 'AGPL-3',
84+}
85\ No newline at end of file
86
87=== added directory 'l10n_cr_hr_payroll_pay_generator_bac/data'
88=== added file 'l10n_cr_hr_payroll_pay_generator_bac/data/pay_types.xml'
89--- l10n_cr_hr_payroll_pay_generator_bac/data/pay_types.xml 1970-01-01 00:00:00 +0000
90+++ l10n_cr_hr_payroll_pay_generator_bac/data/pay_types.xml 2014-06-26 15:55:58 +0000
91@@ -0,0 +1,14 @@
92+<?xml version="1.0" encoding="UTF-8"?>
93+<openerp>
94+ <data noupdate="0">
95+ <record model="hr.payroll.pay.generator.pay.type" id="pay_type_bac">
96+ <field name="code">bac</field>
97+ </record>
98+ </data>
99+ <data noupdate="1">
100+ <record model="hr.payroll.pay.generator.pay.type" id="pay_type_bac">
101+ <field name="name">BAC San Jose</field>
102+ <field name="description">BAC San Jose Pay Type</field>
103+ </record>
104+ </data>
105+</openerp>
106\ No newline at end of file
107
108=== added directory 'l10n_cr_hr_payroll_pay_generator_bac/i18n'
109=== added file 'l10n_cr_hr_payroll_pay_generator_bac/i18n/es.po'
110--- l10n_cr_hr_payroll_pay_generator_bac/i18n/es.po 1970-01-01 00:00:00 +0000
111+++ l10n_cr_hr_payroll_pay_generator_bac/i18n/es.po 2014-06-26 15:55:58 +0000
112@@ -0,0 +1,39 @@
113+# Translation of OpenERP Server.
114+# This file contains the translation of the following modules:
115+# * l10n_cr_hr_payroll_pay_generator_bac
116+#
117+msgid ""
118+msgstr ""
119+"Project-Id-Version: OpenERP Server 7.0\n"
120+"Report-Msgid-Bugs-To: \n"
121+"POT-Creation-Date: 2014-06-26 15:28+0000\n"
122+"PO-Revision-Date: 2014-06-26 15:28+0000\n"
123+"Last-Translator: <>\n"
124+"Language-Team: \n"
125+"MIME-Version: 1.0\n"
126+"Content-Type: text/plain; charset=UTF-8\n"
127+"Content-Transfer-Encoding: \n"
128+"Plural-Forms: \n"
129+
130+#. module: l10n_cr_hr_payroll_pay_generator_bac
131+#: model:ir.actions.report.xml,name:l10n_cr_hr_payroll_pay_generator_bac.payroll_report_bac
132+msgid "Payroll Generator Bac San Jose Report"
133+msgstr "Reporte generador de nomina Bac San Jose"
134+
135+#. module: l10n_cr_hr_payroll_pay_generator_bac
136+#: code:addons/l10n_cr_hr_payroll_pay_generator_bac/report/l10n_cr_hr_payroll_pay_generator_bac_report.py:44
137+#, python-format
138+msgid "Amount"
139+msgstr "Monto"
140+
141+#. module: l10n_cr_hr_payroll_pay_generator_bac
142+#: code:addons/l10n_cr_hr_payroll_pay_generator_bac/report/l10n_cr_hr_payroll_pay_generator_bac_report.py:47
143+#, python-format
144+msgid "Bank Account"
145+msgstr "Cuenta Bancaria"
146+
147+#. module: l10n_cr_hr_payroll_pay_generator_bac
148+#: code:addons/l10n_cr_hr_payroll_pay_generator_bac/report/l10n_cr_hr_payroll_pay_generator_bac_report.py:41
149+#, python-format
150+msgid "Employee Name"
151+msgstr "Nombre del empleado"
152
153=== added file 'l10n_cr_hr_payroll_pay_generator_bac/i18n/l10n_cr_hr_payroll_pay_generator_bac.pot'
154--- l10n_cr_hr_payroll_pay_generator_bac/i18n/l10n_cr_hr_payroll_pay_generator_bac.pot 1970-01-01 00:00:00 +0000
155+++ l10n_cr_hr_payroll_pay_generator_bac/i18n/l10n_cr_hr_payroll_pay_generator_bac.pot 2014-06-26 15:55:58 +0000
156@@ -0,0 +1,39 @@
157+# Translation of OpenERP Server.
158+# This file contains the translation of the following modules:
159+# * l10n_cr_hr_payroll_pay_generator_bac
160+#
161+msgid ""
162+msgstr ""
163+"Project-Id-Version: OpenERP Server 7.0\n"
164+"Report-Msgid-Bugs-To: \n"
165+"POT-Creation-Date: 2014-06-26 15:28+0000\n"
166+"PO-Revision-Date: 2014-06-26 15:28+0000\n"
167+"Last-Translator: <>\n"
168+"Language-Team: \n"
169+"MIME-Version: 1.0\n"
170+"Content-Type: text/plain; charset=UTF-8\n"
171+"Content-Transfer-Encoding: \n"
172+"Plural-Forms: \n"
173+
174+#. module: l10n_cr_hr_payroll_pay_generator_bac
175+#: model:ir.actions.report.xml,name:l10n_cr_hr_payroll_pay_generator_bac.payroll_report_bac
176+msgid "Payroll Generator Bac San Jose Report"
177+msgstr ""
178+
179+#. module: l10n_cr_hr_payroll_pay_generator_bac
180+#: code:addons/l10n_cr_hr_payroll_pay_generator_bac/report/l10n_cr_hr_payroll_pay_generator_bac_report.py:44
181+#, python-format
182+msgid "Amount"
183+msgstr ""
184+
185+#. module: l10n_cr_hr_payroll_pay_generator_bac
186+#: code:addons/l10n_cr_hr_payroll_pay_generator_bac/report/l10n_cr_hr_payroll_pay_generator_bac_report.py:47
187+#, python-format
188+msgid "Bank Account"
189+msgstr ""
190+
191+#. module: l10n_cr_hr_payroll_pay_generator_bac
192+#: code:addons/l10n_cr_hr_payroll_pay_generator_bac/report/l10n_cr_hr_payroll_pay_generator_bac_report.py:41
193+#, python-format
194+msgid "Employee Name"
195+msgstr ""
196
197=== added directory 'l10n_cr_hr_payroll_pay_generator_bac/report'
198=== added file 'l10n_cr_hr_payroll_pay_generator_bac/report/__init__.py'
199--- l10n_cr_hr_payroll_pay_generator_bac/report/__init__.py 1970-01-01 00:00:00 +0000
200+++ l10n_cr_hr_payroll_pay_generator_bac/report/__init__.py 2014-06-26 15:55:58 +0000
201@@ -0,0 +1,23 @@
202+# -*- coding: utf-8 -*-
203+##############################################################################
204+#
205+# OpenERP, Open Source Management Solution
206+# Addons modules by CLEARCORP S.A.
207+# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
208+#
209+# This program is free software: you can redistribute it and/or modify
210+# it under the terms of the GNU Affero General Public License as
211+# published by the Free Software Foundation, either version 3 of the
212+# License, or (at your option) any later version.
213+#
214+# This program is distributed in the hope that it will be useful,
215+# but WITHOUT ANY WARRANTY; without even the implied warranty of
216+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
217+# GNU Affero General Public License for more details.
218+#
219+# You should have received a copy of the GNU Affero General Public License
220+# along with this program. If not, see <http://www.gnu.org/licenses/>.
221+#
222+##############################################################################
223+
224+import l10n_cr_hr_payroll_pay_generator_bac_report
225\ No newline at end of file
226
227=== added file 'l10n_cr_hr_payroll_pay_generator_bac/report/l10n_cr_hr_payroll_pay_generator_bac_report.py'
228--- l10n_cr_hr_payroll_pay_generator_bac/report/l10n_cr_hr_payroll_pay_generator_bac_report.py 1970-01-01 00:00:00 +0000
229+++ l10n_cr_hr_payroll_pay_generator_bac/report/l10n_cr_hr_payroll_pay_generator_bac_report.py 2014-06-26 15:55:58 +0000
230@@ -0,0 +1,83 @@
231+# -*- coding: utf-8 -*-
232+##############################################################################
233+#
234+# OpenERP, Open Source Management Solution
235+# Addons modules by CLEARCORP S.A.
236+# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
237+#
238+# This program is free software: you can redistribute it and/or modify
239+# it under the terms of the GNU Affero General Public License as
240+# published by the Free Software Foundation, either version 3 of the
241+# License, or (at your option) any later version.
242+#
243+# This program is distributed in the hope that it will be useful,
244+# but WITHOUT ANY WARRANTY; without even the implied warranty of
245+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
246+# GNU Affero General Public License for more details.
247+#
248+# You should have received a copy of the GNU Affero General Public License
249+# along with this program. If not, see <http://www.gnu.org/licenses/>.
250+#
251+##############################################################################
252+
253+from report import report_sxw
254+from report.report_sxw import rml_parse
255+import openerp.pooler as pooler
256+from openerp.tools.translate import _
257+
258+class Parser(report_sxw.rml_parse):
259+ def __init__(self, cr, uid, name, context):
260+ super(Parser, self).__init__(cr, uid, name, context)
261+ self.cursor = cr
262+ self.pool = pooler.get_pool(cr.dbname)
263+ self.localcontext.update({
264+ 'get_label_name': self.get_label_name,
265+ 'get_label_amount': self.get_label_amount,
266+ 'get_label_account': self.get_label_account,
267+ 'compute_payslip_lines': self.compute_payslip_lines,
268+ })
269+
270+ def get_label_name(self):
271+ return _('Employee Name')
272+
273+ def get_label_amount(self):
274+ return _('Amount')
275+
276+ def get_label_account(self):
277+ return _('Bank Account')
278+
279+ def compute_payslip_lines(self, data):
280+ payslip_run_id = data.get('payslip_run_id', False)
281+ if not payslip_run_id: return False
282+ employee_ids = data.get('employee_ids', False)
283+ if not employee_ids: return False
284+ salary_rule_id = data.get('salary_rule_id', False)
285+ if not salary_rule_id: return False
286+ self.cr.execute("""SELECT EMP.name_related AS employee_name,
287+ CASE WHEN EMP.bank_account_id IS NULL THEN ''
288+ ELSE
289+ (SELECT BANK.acc_number
290+ FROM res_partner_bank AS BANK
291+ WHERE EMP.bank_account_id = BANK.id
292+ LIMIT 1)
293+ END as acc_number,
294+ CASE WHEN
295+ (SELECT SUM(LINE.amount)
296+ FROM hr_payslip_line AS LINE
297+ WHERE LINE.slip_id = PAYSLIP.id AND
298+ LINE.salary_rule_id = %s) IS NULL THEN 0.0
299+ ELSE
300+ (SELECT SUM(LINE.amount)
301+ FROM hr_payslip_line AS LINE
302+ WHERE LINE.slip_id = PAYSLIP.id AND
303+ LINE.salary_rule_id = %s)
304+ END AS amount
305+FROM hr_employee as EMP,
306+ hr_payslip as PAYSLIP,
307+ hr_payslip_run as BATCH
308+WHERE EMP.id in %s AND
309+ EMP.id = PAYSLIP.employee_id AND
310+ BATCH.id = PAYSLIP.payslip_run_id AND
311+ BATCH.id = %s""",[salary_rule_id, salary_rule_id, tuple(employee_ids), payslip_run_id])
312+ result = self.cr.dictfetchall()
313+ return result
314\ No newline at end of file
315
316=== added file 'l10n_cr_hr_payroll_pay_generator_bac/report/report.xml'
317--- l10n_cr_hr_payroll_pay_generator_bac/report/report.xml 1970-01-01 00:00:00 +0000
318+++ l10n_cr_hr_payroll_pay_generator_bac/report/report.xml 2014-06-26 15:55:58 +0000
319@@ -0,0 +1,19 @@
320+<?xml version="1.0" encoding="UTF-8"?>
321+<openerp>
322+ <data noupdate="1">
323+ <record id="payroll_report_bac" model="ir.actions.report.xml">
324+ <field name="name">Payroll Generator Bac San Jose Report</field>
325+ <field name="type">ir.actions.report.xml</field>
326+ <field name="model">hr.payroll.pay.generator.generator.wizard</field>
327+ <field name="report_name">l10n_cr_hr_payroll_pay_generator_bac_report</field>
328+ <field name="report_type">aeroo</field>
329+ <field name="in_format">oo-ods</field>
330+ <field name="out_format" eval="ref('report_aeroo_ooo.report_mimetypes_xls_odt')"/>
331+ <field name="parser_state">loc</field>
332+ <field name="parser_loc">l10n_cr_hr_payroll_pay_generator_bac/report/l10n_cr_hr_payroll_pay_generator_bac_report.py</field>
333+ <field name="tml_source">database</field>
334+ <field name="report_sxw_content_data">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</field>
335+ </record>
336+ </data>
337+</openerp>
338+
339
340=== added directory 'l10n_cr_hr_payroll_pay_generator_bac/wizard'
341=== added file 'l10n_cr_hr_payroll_pay_generator_bac/wizard/__init__.py'
342--- l10n_cr_hr_payroll_pay_generator_bac/wizard/__init__.py 1970-01-01 00:00:00 +0000
343+++ l10n_cr_hr_payroll_pay_generator_bac/wizard/__init__.py 2014-06-26 15:55:58 +0000
344@@ -0,0 +1,23 @@
345+# -*- coding: utf-8 -*-
346+##############################################################################
347+#
348+# OpenERP, Open Source Management Solution
349+# Addons modules by CLEARCORP S.A.
350+# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
351+#
352+# This program is free software: you can redistribute it and/or modify
353+# it under the terms of the GNU Affero General Public License as
354+# published by the Free Software Foundation, either version 3 of the
355+# License, or (at your option) any later version.
356+#
357+# This program is distributed in the hope that it will be useful,
358+# but WITHOUT ANY WARRANTY; without even the implied warranty of
359+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
360+# GNU Affero General Public License for more details.
361+#
362+# You should have received a copy of the GNU Affero General Public License
363+# along with this program. If not, see <http://www.gnu.org/licenses/>.
364+#
365+##############################################################################
366+
367+import generator_wizard
368\ No newline at end of file
369
370=== added file 'l10n_cr_hr_payroll_pay_generator_bac/wizard/generator_wizard.py'
371--- l10n_cr_hr_payroll_pay_generator_bac/wizard/generator_wizard.py 1970-01-01 00:00:00 +0000
372+++ l10n_cr_hr_payroll_pay_generator_bac/wizard/generator_wizard.py 2014-06-26 15:55:58 +0000
373@@ -0,0 +1,46 @@
374+# -*- coding: utf-8 -*-
375+##############################################################################
376+#
377+# OpenERP, Open Source Management Solution
378+# Addons modules by CLEARCORP S.A.
379+# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
380+#
381+# This program is free software: you can redistribute it and/or modify
382+# it under the terms of the GNU Affero General Public License as
383+# published by the Free Software Foundation, either version 3 of the
384+# License, or (at your option) any later version.
385+#
386+# This program is distributed in the hope that it will be useful,
387+# but WITHOUT ANY WARRANTY; without even the implied warranty of
388+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
389+# GNU Affero General Public License for more details.
390+#
391+# You should have received a copy of the GNU Affero General Public License
392+# along with this program. If not, see <http://www.gnu.org/licenses/>.
393+#
394+##############################################################################
395+
396+from openerp.osv import osv, fields
397+
398+class PayGenerator(osv.TransientModel):
399+
400+ _inherit = 'hr.payroll.pay.generator.generator.wizard'
401+
402+ def generator_exectute(self, cr, uid, ids, context=None):
403+ res = super(PayGenerator, self).generator_exectute(cr, uid, ids, context=context)
404+ wizard = self.browse(cr, uid, ids[0], context=context)
405+ if wizard.pay_type_id.code == 'bac':
406+ # return bac report
407+ employee_ids = [employee.id for employee in wizard.employee_ids]
408+ data = {
409+ 'payslip_run_id': wizard.payslip_run_id.id,
410+ 'employee_ids': employee_ids,
411+ 'salary_rule_id': wizard.salary_rule_id.id,
412+ }
413+ return {
414+ 'type': 'ir.actions.report.xml',
415+ 'report_name': 'l10n_cr_hr_payroll_pay_generator_bac_report',
416+ 'datas': data,
417+ 'context': context
418+ }
419+ return res
420\ No newline at end of file
421
422=== added directory 'l10n_cr_hr_payroll_pay_generator_bcr'
423=== added file 'l10n_cr_hr_payroll_pay_generator_bcr/__init__.py'
424--- l10n_cr_hr_payroll_pay_generator_bcr/__init__.py 1970-01-01 00:00:00 +0000
425+++ l10n_cr_hr_payroll_pay_generator_bcr/__init__.py 2014-06-26 15:55:58 +0000
426@@ -0,0 +1,24 @@
427+# -*- coding: utf-8 -*-
428+##############################################################################
429+#
430+# OpenERP, Open Source Management Solution
431+# Addons modules by CLEARCORP S.A.
432+# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
433+#
434+# This program is free software: you can redistribute it and/or modify
435+# it under the terms of the GNU Affero General Public License as
436+# published by the Free Software Foundation, either version 3 of the
437+# License, or (at your option) any later version.
438+#
439+# This program is distributed in the hope that it will be useful,
440+# but WITHOUT ANY WARRANTY; without even the implied warranty of
441+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
442+# GNU Affero General Public License for more details.
443+#
444+# You should have received a copy of the GNU Affero General Public License
445+# along with this program. If not, see <http://www.gnu.org/licenses/>.
446+#
447+##############################################################################
448+
449+import report
450+import wizard
451\ No newline at end of file
452
453=== added file 'l10n_cr_hr_payroll_pay_generator_bcr/__openerp__.py'
454--- l10n_cr_hr_payroll_pay_generator_bcr/__openerp__.py 1970-01-01 00:00:00 +0000
455+++ l10n_cr_hr_payroll_pay_generator_bcr/__openerp__.py 2014-06-26 15:55:58 +0000
456@@ -0,0 +1,53 @@
457+# -*- coding: utf-8 -*-
458+##############################################################################
459+#
460+# OpenERP, Open Source Management Solution
461+# Addons modules by CLEARCORP S.A.
462+# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
463+#
464+# This program is free software: you can redistribute it and/or modify
465+# it under the terms of the GNU Affero General Public License as
466+# published by the Free Software Foundation, either version 3 of the
467+# License, or (at your option) any later version.
468+#
469+# This program is distributed in the hope that it will be useful,
470+# but WITHOUT ANY WARRANTY; without even the implied warranty of
471+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
472+# GNU Affero General Public License for more details.
473+#
474+# You should have received a copy of the GNU Affero General Public License
475+# along with this program. If not, see <http://www.gnu.org/licenses/>.
476+#
477+##############################################################################
478+
479+{
480+ 'name': 'BCR Payroll Pay Generator',
481+ 'version': '1.0',
482+ 'category': 'Human Resources',
483+ 'sequence': 3,
484+ 'summary': 'Payroll generator for Banco de Costa Rica',
485+ 'description': """
486+Banco de Costa Rica Payroll Generators
487+======================================
488+
489+Payroll generator for Banco de Costa Rica Bank
490+
491+Important Information
492+---------------------
493+* Bank Account Number Must use the format XXX-XXXXXXX in order to be used by report. In case it is not full account will be used""",
494+ 'author': 'CLEARCORP S.A.',
495+ 'website': 'http://clearcorp.co.cr',
496+ 'complexity': 'easy',
497+ 'images' : [],
498+ 'depends': ['hr_payroll_pay_generator'],
499+ 'data': [
500+ 'data/pay_types.xml',
501+ 'report/report.xml',
502+ ],
503+ 'test' : [],
504+ 'demo': [],
505+ 'installable': True,
506+ 'auto_install': False,
507+ 'application': False,
508+ 'license': 'AGPL-3',
509+}
510\ No newline at end of file
511
512=== added directory 'l10n_cr_hr_payroll_pay_generator_bcr/data'
513=== added file 'l10n_cr_hr_payroll_pay_generator_bcr/data/pay_types.xml'
514--- l10n_cr_hr_payroll_pay_generator_bcr/data/pay_types.xml 1970-01-01 00:00:00 +0000
515+++ l10n_cr_hr_payroll_pay_generator_bcr/data/pay_types.xml 2014-06-26 15:55:58 +0000
516@@ -0,0 +1,14 @@
517+<?xml version="1.0" encoding="UTF-8"?>
518+<openerp>
519+ <data noupdate="0">
520+ <record model="hr.payroll.pay.generator.pay.type" id="pay_type_bcr">
521+ <field name="code">bcr</field>
522+ </record>
523+ </data>
524+ <data noupdate="1">
525+ <record model="hr.payroll.pay.generator.pay.type" id="pay_type_bcr">
526+ <field name="name">Banco de Costa Rica</field>
527+ <field name="description">Banco de Costa Rica Pay Type</field>
528+ </record>
529+ </data>
530+</openerp>
531\ No newline at end of file
532
533=== added directory 'l10n_cr_hr_payroll_pay_generator_bcr/i18n'
534=== added file 'l10n_cr_hr_payroll_pay_generator_bcr/i18n/es.po'
535--- l10n_cr_hr_payroll_pay_generator_bcr/i18n/es.po 1970-01-01 00:00:00 +0000
536+++ l10n_cr_hr_payroll_pay_generator_bcr/i18n/es.po 2014-06-26 15:55:58 +0000
537@@ -0,0 +1,75 @@
538+# Translation of OpenERP Server.
539+# This file contains the translation of the following modules:
540+# * l10n_cr_hr_payroll_pay_generator_bcr
541+#
542+msgid ""
543+msgstr ""
544+"Project-Id-Version: OpenERP Server 7.0\n"
545+"Report-Msgid-Bugs-To: \n"
546+"POT-Creation-Date: 2014-06-26 15:33+0000\n"
547+"PO-Revision-Date: 2014-06-26 15:33+0000\n"
548+"Last-Translator: <>\n"
549+"Language-Team: \n"
550+"MIME-Version: 1.0\n"
551+"Content-Type: text/plain; charset=UTF-8\n"
552+"Content-Transfer-Encoding: \n"
553+"Plural-Forms: \n"
554+
555+#. module: l10n_cr_hr_payroll_pay_generator_bcr
556+#: code:addons/l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py:49
557+#, python-format
558+msgid "Concept"
559+msgstr "Concepto"
560+
561+#. module: l10n_cr_hr_payroll_pay_generator_bcr
562+#: code:addons/l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py:52
563+#, python-format
564+msgid "Office"
565+msgstr "Oficina"
566+
567+#. module: l10n_cr_hr_payroll_pay_generator_bcr
568+#: code:addons/l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py:67
569+#, python-format
570+msgid "Sequence"
571+msgstr "Consecutivo"
572+
573+#. module: l10n_cr_hr_payroll_pay_generator_bcr
574+#: model:ir.actions.report.xml,name:l10n_cr_hr_payroll_pay_generator_bcr.payroll_report_bcr
575+msgid "Payroll Generator Banco de Costa Rica Report"
576+msgstr "Reporte generador de nomina Banco de Costa Rica"
577+
578+#. module: l10n_cr_hr_payroll_pay_generator_bcr
579+#: code:addons/l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py:55
580+#, python-format
581+msgid "Bank Account"
582+msgstr "Cuenta Bancaria"
583+
584+#. module: l10n_cr_hr_payroll_pay_generator_bcr
585+#: code:addons/l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py:58
586+#, python-format
587+msgid "Currency"
588+msgstr "Moneda"
589+
590+#. module: l10n_cr_hr_payroll_pay_generator_bcr
591+#: code:addons/l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py:70
592+#, python-format
593+msgid "Amount"
594+msgstr "Monto"
595+
596+#. module: l10n_cr_hr_payroll_pay_generator_bcr
597+#: code:addons/l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py:61
598+#, python-format
599+msgid "Identification"
600+msgstr "Identificación"
601+
602+#. module: l10n_cr_hr_payroll_pay_generator_bcr
603+#: code:addons/l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py:64
604+#, python-format
605+msgid "Employee Name"
606+msgstr "Nombre del Empleado"
607+
608+#. module: l10n_cr_hr_payroll_pay_generator_bcr
609+#: code:addons/l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py:73
610+#, python-format
611+msgid "Identification Type"
612+msgstr "Tipo de Identificación"
613
614=== added file 'l10n_cr_hr_payroll_pay_generator_bcr/i18n/l10n_cr_hr_payroll_pay_generator_bcr.pot'
615--- l10n_cr_hr_payroll_pay_generator_bcr/i18n/l10n_cr_hr_payroll_pay_generator_bcr.pot 1970-01-01 00:00:00 +0000
616+++ l10n_cr_hr_payroll_pay_generator_bcr/i18n/l10n_cr_hr_payroll_pay_generator_bcr.pot 2014-06-26 15:55:58 +0000
617@@ -0,0 +1,75 @@
618+# Translation of OpenERP Server.
619+# This file contains the translation of the following modules:
620+# * l10n_cr_hr_payroll_pay_generator_bcr
621+#
622+msgid ""
623+msgstr ""
624+"Project-Id-Version: OpenERP Server 7.0\n"
625+"Report-Msgid-Bugs-To: \n"
626+"POT-Creation-Date: 2014-06-26 15:33+0000\n"
627+"PO-Revision-Date: 2014-06-26 15:33+0000\n"
628+"Last-Translator: <>\n"
629+"Language-Team: \n"
630+"MIME-Version: 1.0\n"
631+"Content-Type: text/plain; charset=UTF-8\n"
632+"Content-Transfer-Encoding: \n"
633+"Plural-Forms: \n"
634+
635+#. module: l10n_cr_hr_payroll_pay_generator_bcr
636+#: code:addons/l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py:49
637+#, python-format
638+msgid "Concept"
639+msgstr ""
640+
641+#. module: l10n_cr_hr_payroll_pay_generator_bcr
642+#: code:addons/l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py:52
643+#, python-format
644+msgid "Office"
645+msgstr ""
646+
647+#. module: l10n_cr_hr_payroll_pay_generator_bcr
648+#: code:addons/l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py:67
649+#, python-format
650+msgid "Sequence"
651+msgstr ""
652+
653+#. module: l10n_cr_hr_payroll_pay_generator_bcr
654+#: model:ir.actions.report.xml,name:l10n_cr_hr_payroll_pay_generator_bcr.payroll_report_bcr
655+msgid "Payroll Generator Banco de Costa Rica Report"
656+msgstr ""
657+
658+#. module: l10n_cr_hr_payroll_pay_generator_bcr
659+#: code:addons/l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py:55
660+#, python-format
661+msgid "Bank Account"
662+msgstr ""
663+
664+#. module: l10n_cr_hr_payroll_pay_generator_bcr
665+#: code:addons/l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py:58
666+#, python-format
667+msgid "Currency"
668+msgstr ""
669+
670+#. module: l10n_cr_hr_payroll_pay_generator_bcr
671+#: code:addons/l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py:70
672+#, python-format
673+msgid "Amount"
674+msgstr ""
675+
676+#. module: l10n_cr_hr_payroll_pay_generator_bcr
677+#: code:addons/l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py:61
678+#, python-format
679+msgid "Identification"
680+msgstr ""
681+
682+#. module: l10n_cr_hr_payroll_pay_generator_bcr
683+#: code:addons/l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py:64
684+#, python-format
685+msgid "Employee Name"
686+msgstr ""
687+
688+#. module: l10n_cr_hr_payroll_pay_generator_bcr
689+#: code:addons/l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py:73
690+#, python-format
691+msgid "Identification Type"
692+msgstr ""
693
694=== added directory 'l10n_cr_hr_payroll_pay_generator_bcr/report'
695=== added file 'l10n_cr_hr_payroll_pay_generator_bcr/report/__init__.py'
696--- l10n_cr_hr_payroll_pay_generator_bcr/report/__init__.py 1970-01-01 00:00:00 +0000
697+++ l10n_cr_hr_payroll_pay_generator_bcr/report/__init__.py 2014-06-26 15:55:58 +0000
698@@ -0,0 +1,23 @@
699+# -*- coding: utf-8 -*-
700+##############################################################################
701+#
702+# OpenERP, Open Source Management Solution
703+# Addons modules by CLEARCORP S.A.
704+# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
705+#
706+# This program is free software: you can redistribute it and/or modify
707+# it under the terms of the GNU Affero General Public License as
708+# published by the Free Software Foundation, either version 3 of the
709+# License, or (at your option) any later version.
710+#
711+# This program is distributed in the hope that it will be useful,
712+# but WITHOUT ANY WARRANTY; without even the implied warranty of
713+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
714+# GNU Affero General Public License for more details.
715+#
716+# You should have received a copy of the GNU Affero General Public License
717+# along with this program. If not, see <http://www.gnu.org/licenses/>.
718+#
719+##############################################################################
720+
721+import l10n_cr_hr_payroll_pay_generator_bcr_report
722\ No newline at end of file
723
724=== added file 'l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py'
725--- l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py 1970-01-01 00:00:00 +0000
726+++ l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py 2014-06-26 15:55:58 +0000
727@@ -0,0 +1,131 @@
728+# -*- coding: utf-8 -*-
729+##############################################################################
730+#
731+# OpenERP, Open Source Management Solution
732+# Addons modules by CLEARCORP S.A.
733+# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
734+#
735+# This program is free software: you can redistribute it and/or modify
736+# it under the terms of the GNU Affero General Public License as
737+# published by the Free Software Foundation, either version 3 of the
738+# License, or (at your option) any later version.
739+#
740+# This program is distributed in the hope that it will be useful,
741+# but WITHOUT ANY WARRANTY; without even the implied warranty of
742+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
743+# GNU Affero General Public License for more details.
744+#
745+# You should have received a copy of the GNU Affero General Public License
746+# along with this program. If not, see <http://www.gnu.org/licenses/>.
747+#
748+##############################################################################
749+
750+from report import report_sxw
751+from report.report_sxw import rml_parse
752+import openerp.pooler as pooler
753+from openerp.tools.translate import _
754+
755+class Parser(report_sxw.rml_parse):
756+ def __init__(self, cr, uid, name, context):
757+ super(Parser, self).__init__(cr, uid, name, context)
758+ self.cursor = cr
759+ self.pool = pooler.get_pool(cr.dbname)
760+ self.localcontext.update({
761+ 'get_label_concept': self.get_label_concept,
762+ 'get_label_office': self.get_label_office,
763+ 'get_label_account': self.get_label_account,
764+ 'get_label_currency': self.get_label_currency,
765+ 'get_label_identification': self.get_label_identification,
766+ 'get_label_name': self.get_label_name,
767+ 'get_label_sequence': self.get_label_sequence,
768+ 'get_label_amount': self.get_label_amount,
769+ 'get_label_id_type': self.get_label_id_type,
770+ 'compute_payslip_lines': self.compute_payslip_lines,
771+ 'get_account_office': self.get_account_office,
772+ 'get_account_number': self.get_account_number,
773+ })
774+
775+ def get_label_concept(self):
776+ return _('Concept')
777+
778+ def get_label_office(self):
779+ return _('Office')
780+
781+ def get_label_account(self):
782+ return _('Bank Account')
783+
784+ def get_label_currency(self):
785+ return _('Currency')
786+
787+ def get_label_identification(self):
788+ return _('Identification')
789+
790+ def get_label_name(self):
791+ return _('Employee Name')
792+
793+ def get_label_sequence(self):
794+ return _('Sequence')
795+
796+ def get_label_amount(self):
797+ return _('Amount')
798+
799+ def get_label_id_type(self):
800+ return _('Identification Type')
801+
802+ def compute_payslip_lines(self, data):
803+ payslip_run_id = data.get('payslip_run_id', False)
804+ if not payslip_run_id: return False
805+ employee_ids = data.get('employee_ids', False)
806+ if not employee_ids: return False
807+ salary_rule_id = data.get('salary_rule_id', False)
808+ if not salary_rule_id: return False
809+ self.cr.execute("""SELECT EMP.name_related AS employee_name,
810+ EMP.identification_id,
811+ ROW_NUMBER() OVER (ORDER BY EMP.id) as sequence,
812+ CASE WHEN EMP.bank_account_id IS NULL THEN ''
813+ ELSE
814+ (SELECT BANK.acc_number
815+ FROM res_partner_bank AS BANK
816+ WHERE EMP.bank_account_id = BANK.id
817+ LIMIT 1)
818+ END as acc_number,
819+ CASE WHEN
820+ (SELECT SUM(LINE.amount)
821+ FROM hr_payslip_line AS LINE
822+ WHERE LINE.slip_id = PAYSLIP.id AND
823+ LINE.salary_rule_id = %s) IS NULL THEN 0.0
824+ ELSE
825+ (SELECT SUM(LINE.amount)
826+ FROM hr_payslip_line AS LINE
827+ WHERE LINE.slip_id = PAYSLIP.id AND
828+ LINE.salary_rule_id = %s)
829+ END AS amount
830+FROM hr_employee as EMP,
831+ hr_payslip as PAYSLIP,
832+ hr_payslip_run as BATCH
833+WHERE EMP.id in %s AND
834+ EMP.id = PAYSLIP.employee_id AND
835+ BATCH.id = PAYSLIP.payslip_run_id AND
836+ BATCH.id = %s""",[salary_rule_id, salary_rule_id, tuple(employee_ids), payslip_run_id])
837+ result = self.cr.dictfetchall()
838+ return result
839+
840+ def get_account_office(self, account):
841+ try:
842+ l = account.split('-')
843+ if len(l) == 2:
844+ return l[0]
845+ else:
846+ return ""
847+ except:
848+ return ""
849+
850+ def get_account_number(self, account):
851+ try:
852+ l = account.split('-')
853+ if len(l) == 2:
854+ return l[1]
855+ else:
856+ return account
857+ except:
858+ return account
859\ No newline at end of file
860
861=== added file 'l10n_cr_hr_payroll_pay_generator_bcr/report/report.xml'
862--- l10n_cr_hr_payroll_pay_generator_bcr/report/report.xml 1970-01-01 00:00:00 +0000
863+++ l10n_cr_hr_payroll_pay_generator_bcr/report/report.xml 2014-06-26 15:55:58 +0000
864@@ -0,0 +1,19 @@
865+<?xml version="1.0" encoding="UTF-8"?>
866+<openerp>
867+ <data noupdate="0">
868+ <record id="payroll_report_bcr" model="ir.actions.report.xml">
869+ <field name="name">Payroll Generator Banco de Costa Rica Report</field>
870+ <field name="type">ir.actions.report.xml</field>
871+ <field name="model">hr.payroll.pay.generator.generator.wizard</field>
872+ <field name="report_name">l10n_cr_hr_payroll_pay_generator_bcr_report</field>
873+ <field name="report_type">aeroo</field>
874+ <field name="in_format">oo-ods</field>
875+ <field name="out_format" eval="ref('report_aeroo_ooo.report_mimetypes_xls_odt')"/>
876+ <field name="parser_state">loc</field>
877+ <field name="parser_loc">l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py</field>
878+ <field name="tml_source">database</field>
879+ <field name="report_sxw_content_data">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</field>
880+ </record>
881+ </data>
882+</openerp>
883+
884
885=== added directory 'l10n_cr_hr_payroll_pay_generator_bcr/wizard'
886=== added file 'l10n_cr_hr_payroll_pay_generator_bcr/wizard/__init__.py'
887--- l10n_cr_hr_payroll_pay_generator_bcr/wizard/__init__.py 1970-01-01 00:00:00 +0000
888+++ l10n_cr_hr_payroll_pay_generator_bcr/wizard/__init__.py 2014-06-26 15:55:58 +0000
889@@ -0,0 +1,23 @@
890+# -*- coding: utf-8 -*-
891+##############################################################################
892+#
893+# OpenERP, Open Source Management Solution
894+# Addons modules by CLEARCORP S.A.
895+# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
896+#
897+# This program is free software: you can redistribute it and/or modify
898+# it under the terms of the GNU Affero General Public License as
899+# published by the Free Software Foundation, either version 3 of the
900+# License, or (at your option) any later version.
901+#
902+# This program is distributed in the hope that it will be useful,
903+# but WITHOUT ANY WARRANTY; without even the implied warranty of
904+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
905+# GNU Affero General Public License for more details.
906+#
907+# You should have received a copy of the GNU Affero General Public License
908+# along with this program. If not, see <http://www.gnu.org/licenses/>.
909+#
910+##############################################################################
911+
912+import generator_wizard
913\ No newline at end of file
914
915=== added file 'l10n_cr_hr_payroll_pay_generator_bcr/wizard/generator_wizard.py'
916--- l10n_cr_hr_payroll_pay_generator_bcr/wizard/generator_wizard.py 1970-01-01 00:00:00 +0000
917+++ l10n_cr_hr_payroll_pay_generator_bcr/wizard/generator_wizard.py 2014-06-26 15:55:58 +0000
918@@ -0,0 +1,46 @@
919+# -*- coding: utf-8 -*-
920+##############################################################################
921+#
922+# OpenERP, Open Source Management Solution
923+# Addons modules by CLEARCORP S.A.
924+# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
925+#
926+# This program is free software: you can redistribute it and/or modify
927+# it under the terms of the GNU Affero General Public License as
928+# published by the Free Software Foundation, either version 3 of the
929+# License, or (at your option) any later version.
930+#
931+# This program is distributed in the hope that it will be useful,
932+# but WITHOUT ANY WARRANTY; without even the implied warranty of
933+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
934+# GNU Affero General Public License for more details.
935+#
936+# You should have received a copy of the GNU Affero General Public License
937+# along with this program. If not, see <http://www.gnu.org/licenses/>.
938+#
939+##############################################################################
940+
941+from openerp.osv import osv, fields
942+
943+class PayGenerator(osv.TransientModel):
944+
945+ _inherit = 'hr.payroll.pay.generator.generator.wizard'
946+
947+ def generator_exectute(self, cr, uid, ids, context=None):
948+ res = super(PayGenerator, self).generator_exectute(cr, uid, ids, context=context)
949+ wizard = self.browse(cr, uid, ids[0], context=context)
950+ if wizard.pay_type_id.code == 'bcr':
951+ # return bcr report
952+ employee_ids = [employee.id for employee in wizard.employee_ids]
953+ data = {
954+ 'payslip_run_id': wizard.payslip_run_id.id,
955+ 'employee_ids': employee_ids,
956+ 'salary_rule_id': wizard.salary_rule_id.id,
957+ }
958+ return {
959+ 'type': 'ir.actions.report.xml',
960+ 'report_name': 'l10n_cr_hr_payroll_pay_generator_bcr_report',
961+ 'datas': data,
962+ 'context': context
963+ }
964+ return res
965\ No newline at end of file
966
967=== added directory 'l10n_cr_hr_payroll_pay_generator_promerica'
968=== added file 'l10n_cr_hr_payroll_pay_generator_promerica/__init__.py'
969--- l10n_cr_hr_payroll_pay_generator_promerica/__init__.py 1970-01-01 00:00:00 +0000
970+++ l10n_cr_hr_payroll_pay_generator_promerica/__init__.py 2014-06-26 15:55:58 +0000
971@@ -0,0 +1,24 @@
972+# -*- coding: utf-8 -*-
973+##############################################################################
974+#
975+# OpenERP, Open Source Management Solution
976+# Addons modules by CLEARCORP S.A.
977+# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
978+#
979+# This program is free software: you can redistribute it and/or modify
980+# it under the terms of the GNU Affero General Public License as
981+# published by the Free Software Foundation, either version 3 of the
982+# License, or (at your option) any later version.
983+#
984+# This program is distributed in the hope that it will be useful,
985+# but WITHOUT ANY WARRANTY; without even the implied warranty of
986+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
987+# GNU Affero General Public License for more details.
988+#
989+# You should have received a copy of the GNU Affero General Public License
990+# along with this program. If not, see <http://www.gnu.org/licenses/>.
991+#
992+##############################################################################
993+
994+import report
995+import wizard
996\ No newline at end of file
997
998=== added file 'l10n_cr_hr_payroll_pay_generator_promerica/__openerp__.py'
999--- l10n_cr_hr_payroll_pay_generator_promerica/__openerp__.py 1970-01-01 00:00:00 +0000
1000+++ l10n_cr_hr_payroll_pay_generator_promerica/__openerp__.py 2014-06-26 15:55:58 +0000
1001@@ -0,0 +1,49 @@
1002+# -*- coding: utf-8 -*-
1003+##############################################################################
1004+#
1005+# OpenERP, Open Source Management Solution
1006+# Addons modules by CLEARCORP S.A.
1007+# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
1008+#
1009+# This program is free software: you can redistribute it and/or modify
1010+# it under the terms of the GNU Affero General Public License as
1011+# published by the Free Software Foundation, either version 3 of the
1012+# License, or (at your option) any later version.
1013+#
1014+# This program is distributed in the hope that it will be useful,
1015+# but WITHOUT ANY WARRANTY; without even the implied warranty of
1016+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1017+# GNU Affero General Public License for more details.
1018+#
1019+# You should have received a copy of the GNU Affero General Public License
1020+# along with this program. If not, see <http://www.gnu.org/licenses/>.
1021+#
1022+##############################################################################
1023+
1024+{
1025+ 'name': 'Promerica Payroll Pay Generator',
1026+ 'version': '1.0',
1027+ 'category': 'Human Resources',
1028+ 'sequence': 3,
1029+ 'summary': 'Payroll generator for Promerica',
1030+ 'description': """
1031+Promerica Payroll Generators
1032+============================
1033+
1034+Payroll generator for Promerica Bank""",
1035+ 'author': 'CLEARCORP S.A.',
1036+ 'website': 'http://clearcorp.co.cr',
1037+ 'complexity': 'easy',
1038+ 'images' : [],
1039+ 'depends': ['hr_payroll_pay_generator'],
1040+ 'data': [
1041+ 'data/pay_types.xml',
1042+ 'report/report.xml',
1043+ ],
1044+ 'test' : [],
1045+ 'demo': [],
1046+ 'installable': True,
1047+ 'auto_install': False,
1048+ 'application': False,
1049+ 'license': 'AGPL-3',
1050+}
1051\ No newline at end of file
1052
1053=== added directory 'l10n_cr_hr_payroll_pay_generator_promerica/data'
1054=== added file 'l10n_cr_hr_payroll_pay_generator_promerica/data/pay_types.xml'
1055--- l10n_cr_hr_payroll_pay_generator_promerica/data/pay_types.xml 1970-01-01 00:00:00 +0000
1056+++ l10n_cr_hr_payroll_pay_generator_promerica/data/pay_types.xml 2014-06-26 15:55:58 +0000
1057@@ -0,0 +1,14 @@
1058+<?xml version="1.0" encoding="UTF-8"?>
1059+<openerp>
1060+ <data noupdate="0">
1061+ <record model="hr.payroll.pay.generator.pay.type" id="pay_type_promerica">
1062+ <field name="code">promerica</field>
1063+ </record>
1064+ </data>
1065+ <data noupdate="1">
1066+ <record model="hr.payroll.pay.generator.pay.type" id="pay_type_promerica">
1067+ <field name="name">Banco Promerica</field>
1068+ <field name="description">Banco Promerica Pay Type</field>
1069+ </record>
1070+ </data>
1071+</openerp>
1072\ No newline at end of file
1073
1074=== added directory 'l10n_cr_hr_payroll_pay_generator_promerica/i18n'
1075=== added file 'l10n_cr_hr_payroll_pay_generator_promerica/i18n/es.po'
1076--- l10n_cr_hr_payroll_pay_generator_promerica/i18n/es.po 1970-01-01 00:00:00 +0000
1077+++ l10n_cr_hr_payroll_pay_generator_promerica/i18n/es.po 2014-06-26 15:55:58 +0000
1078@@ -0,0 +1,39 @@
1079+# Translation of OpenERP Server.
1080+# This file contains the translation of the following modules:
1081+# * l10n_cr_hr_payroll_pay_generator_promerica
1082+#
1083+msgid ""
1084+msgstr ""
1085+"Project-Id-Version: OpenERP Server 7.0\n"
1086+"Report-Msgid-Bugs-To: \n"
1087+"POT-Creation-Date: 2014-06-26 15:38+0000\n"
1088+"PO-Revision-Date: 2014-06-26 15:38+0000\n"
1089+"Last-Translator: <>\n"
1090+"Language-Team: \n"
1091+"MIME-Version: 1.0\n"
1092+"Content-Type: text/plain; charset=UTF-8\n"
1093+"Content-Transfer-Encoding: \n"
1094+"Plural-Forms: \n"
1095+
1096+#. module: l10n_cr_hr_payroll_pay_generator_promerica
1097+#: model:ir.actions.report.xml,name:l10n_cr_hr_payroll_pay_generator_promerica.payroll_report_promerica
1098+msgid "Payroll Generator Promerica Report"
1099+msgstr "Reporte generador de nomina Promerica"
1100+
1101+#. module: l10n_cr_hr_payroll_pay_generator_promerica
1102+#: code:addons/l10n_cr_hr_payroll_pay_generator_promerica/report/l10n_cr_hr_payroll_pay_generator_promerica_report.py:44
1103+#, python-format
1104+msgid "Amount"
1105+msgstr "Monto"
1106+
1107+#. module: l10n_cr_hr_payroll_pay_generator_promerica
1108+#: code:addons/l10n_cr_hr_payroll_pay_generator_promerica/report/l10n_cr_hr_payroll_pay_generator_promerica_report.py:47
1109+#, python-format
1110+msgid "Bank Account"
1111+msgstr "Cuenta Bancaria"
1112+
1113+#. module: l10n_cr_hr_payroll_pay_generator_promerica
1114+#: code:addons/l10n_cr_hr_payroll_pay_generator_promerica/report/l10n_cr_hr_payroll_pay_generator_promerica_report.py:41
1115+#, python-format
1116+msgid "Employee Name"
1117+msgstr "Nombre del empleado"
1118
1119=== added file 'l10n_cr_hr_payroll_pay_generator_promerica/i18n/l10n_cr_hr_payroll_pay_generator_promerica.pot'
1120--- l10n_cr_hr_payroll_pay_generator_promerica/i18n/l10n_cr_hr_payroll_pay_generator_promerica.pot 1970-01-01 00:00:00 +0000
1121+++ l10n_cr_hr_payroll_pay_generator_promerica/i18n/l10n_cr_hr_payroll_pay_generator_promerica.pot 2014-06-26 15:55:58 +0000
1122@@ -0,0 +1,39 @@
1123+# Translation of OpenERP Server.
1124+# This file contains the translation of the following modules:
1125+# * l10n_cr_hr_payroll_pay_generator_promerica
1126+#
1127+msgid ""
1128+msgstr ""
1129+"Project-Id-Version: OpenERP Server 7.0\n"
1130+"Report-Msgid-Bugs-To: \n"
1131+"POT-Creation-Date: 2014-06-26 15:38+0000\n"
1132+"PO-Revision-Date: 2014-06-26 15:38+0000\n"
1133+"Last-Translator: <>\n"
1134+"Language-Team: \n"
1135+"MIME-Version: 1.0\n"
1136+"Content-Type: text/plain; charset=UTF-8\n"
1137+"Content-Transfer-Encoding: \n"
1138+"Plural-Forms: \n"
1139+
1140+#. module: l10n_cr_hr_payroll_pay_generator_promerica
1141+#: model:ir.actions.report.xml,name:l10n_cr_hr_payroll_pay_generator_promerica.payroll_report_promerica
1142+msgid "Payroll Generator Promerica Report"
1143+msgstr ""
1144+
1145+#. module: l10n_cr_hr_payroll_pay_generator_promerica
1146+#: code:addons/l10n_cr_hr_payroll_pay_generator_promerica/report/l10n_cr_hr_payroll_pay_generator_promerica_report.py:44
1147+#, python-format
1148+msgid "Amount"
1149+msgstr ""
1150+
1151+#. module: l10n_cr_hr_payroll_pay_generator_promerica
1152+#: code:addons/l10n_cr_hr_payroll_pay_generator_promerica/report/l10n_cr_hr_payroll_pay_generator_promerica_report.py:47
1153+#, python-format
1154+msgid "Bank Account"
1155+msgstr ""
1156+
1157+#. module: l10n_cr_hr_payroll_pay_generator_promerica
1158+#: code:addons/l10n_cr_hr_payroll_pay_generator_promerica/report/l10n_cr_hr_payroll_pay_generator_promerica_report.py:41
1159+#, python-format
1160+msgid "Employee Name"
1161+msgstr ""
1162
1163=== added directory 'l10n_cr_hr_payroll_pay_generator_promerica/report'
1164=== added file 'l10n_cr_hr_payroll_pay_generator_promerica/report/__init__.py'
1165--- l10n_cr_hr_payroll_pay_generator_promerica/report/__init__.py 1970-01-01 00:00:00 +0000
1166+++ l10n_cr_hr_payroll_pay_generator_promerica/report/__init__.py 2014-06-26 15:55:58 +0000
1167@@ -0,0 +1,23 @@
1168+# -*- coding: utf-8 -*-
1169+##############################################################################
1170+#
1171+# OpenERP, Open Source Management Solution
1172+# Addons modules by CLEARCORP S.A.
1173+# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
1174+#
1175+# This program is free software: you can redistribute it and/or modify
1176+# it under the terms of the GNU Affero General Public License as
1177+# published by the Free Software Foundation, either version 3 of the
1178+# License, or (at your option) any later version.
1179+#
1180+# This program is distributed in the hope that it will be useful,
1181+# but WITHOUT ANY WARRANTY; without even the implied warranty of
1182+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1183+# GNU Affero General Public License for more details.
1184+#
1185+# You should have received a copy of the GNU Affero General Public License
1186+# along with this program. If not, see <http://www.gnu.org/licenses/>.
1187+#
1188+##############################################################################
1189+
1190+import l10n_cr_hr_payroll_pay_generator_promerica_report
1191\ No newline at end of file
1192
1193=== added file 'l10n_cr_hr_payroll_pay_generator_promerica/report/l10n_cr_hr_payroll_pay_generator_promerica_report.py'
1194--- l10n_cr_hr_payroll_pay_generator_promerica/report/l10n_cr_hr_payroll_pay_generator_promerica_report.py 1970-01-01 00:00:00 +0000
1195+++ l10n_cr_hr_payroll_pay_generator_promerica/report/l10n_cr_hr_payroll_pay_generator_promerica_report.py 2014-06-26 15:55:58 +0000
1196@@ -0,0 +1,83 @@
1197+# -*- coding: utf-8 -*-
1198+##############################################################################
1199+#
1200+# OpenERP, Open Source Management Solution
1201+# Addons modules by CLEARCORP S.A.
1202+# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
1203+#
1204+# This program is free software: you can redistribute it and/or modify
1205+# it under the terms of the GNU Affero General Public License as
1206+# published by the Free Software Foundation, either version 3 of the
1207+# License, or (at your option) any later version.
1208+#
1209+# This program is distributed in the hope that it will be useful,
1210+# but WITHOUT ANY WARRANTY; without even the implied warranty of
1211+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1212+# GNU Affero General Public License for more details.
1213+#
1214+# You should have received a copy of the GNU Affero General Public License
1215+# along with this program. If not, see <http://www.gnu.org/licenses/>.
1216+#
1217+##############################################################################
1218+
1219+from report import report_sxw
1220+from report.report_sxw import rml_parse
1221+import openerp.pooler as pooler
1222+from openerp.tools.translate import _
1223+
1224+class Parser(report_sxw.rml_parse):
1225+ def __init__(self, cr, uid, name, context):
1226+ super(Parser, self).__init__(cr, uid, name, context)
1227+ self.cursor = cr
1228+ self.pool = pooler.get_pool(cr.dbname)
1229+ self.localcontext.update({
1230+ 'get_label_name': self.get_label_name,
1231+ 'get_label_amount': self.get_label_amount,
1232+ 'get_label_account': self.get_label_account,
1233+ 'compute_payslip_lines': self.compute_payslip_lines,
1234+ })
1235+
1236+ def get_label_name(self):
1237+ return _('Employee Name')
1238+
1239+ def get_label_amount(self):
1240+ return _('Amount')
1241+
1242+ def get_label_account(self):
1243+ return _('Bank Account')
1244+
1245+ def compute_payslip_lines(self, data):
1246+ payslip_run_id = data.get('payslip_run_id', False)
1247+ if not payslip_run_id: return False
1248+ employee_ids = data.get('employee_ids', False)
1249+ if not employee_ids: return False
1250+ salary_rule_id = data.get('salary_rule_id', False)
1251+ if not salary_rule_id: return False
1252+ self.cr.execute("""SELECT EMP.name_related AS employee_name,
1253+ CASE WHEN EMP.bank_account_id IS NULL THEN ''
1254+ ELSE
1255+ (SELECT BANK.acc_number
1256+ FROM res_partner_bank AS BANK
1257+ WHERE EMP.bank_account_id = BANK.id
1258+ LIMIT 1)
1259+ END as acc_number,
1260+ CASE WHEN
1261+ (SELECT SUM(LINE.amount)
1262+ FROM hr_payslip_line AS LINE
1263+ WHERE LINE.slip_id = PAYSLIP.id AND
1264+ LINE.salary_rule_id = %s) IS NULL THEN 0.0
1265+ ELSE
1266+ (SELECT SUM(LINE.amount)
1267+ FROM hr_payslip_line AS LINE
1268+ WHERE LINE.slip_id = PAYSLIP.id AND
1269+ LINE.salary_rule_id = %s)
1270+ END AS amount
1271+FROM hr_employee as EMP,
1272+ hr_payslip as PAYSLIP,
1273+ hr_payslip_run as BATCH
1274+WHERE EMP.id in %s AND
1275+ EMP.id = PAYSLIP.employee_id AND
1276+ BATCH.id = PAYSLIP.payslip_run_id AND
1277+ BATCH.id = %s""",[salary_rule_id, salary_rule_id, tuple(employee_ids), payslip_run_id])
1278+ result = self.cr.dictfetchall()
1279+ return result
1280\ No newline at end of file
1281
1282=== added file 'l10n_cr_hr_payroll_pay_generator_promerica/report/report.xml'
1283--- l10n_cr_hr_payroll_pay_generator_promerica/report/report.xml 1970-01-01 00:00:00 +0000
1284+++ l10n_cr_hr_payroll_pay_generator_promerica/report/report.xml 2014-06-26 15:55:58 +0000
1285@@ -0,0 +1,19 @@
1286+<?xml version="1.0" encoding="UTF-8"?>
1287+<openerp>
1288+ <data noupdate="1">
1289+ <record id="payroll_report_promerica" model="ir.actions.report.xml">
1290+ <field name="name">Payroll Generator Promerica Report</field>
1291+ <field name="type">ir.actions.report.xml</field>
1292+ <field name="model">hr.payroll.pay.generator.generator.wizard</field>
1293+ <field name="report_name">l10n_cr_hr_payroll_pay_generator_promerica_report</field>
1294+ <field name="report_type">aeroo</field>
1295+ <field name="in_format">oo-ods</field>
1296+ <field name="out_format" eval="ref('report_aeroo_ooo.report_mimetypes_xls_odt')"/>
1297+ <field name="parser_state">loc</field>
1298+ <field name="parser_loc">l10n_cr_hr_payroll_pay_generator_promerica/report/l10n_cr_hr_payroll_pay_generator_promerica_report.py</field>
1299+ <field name="tml_source">database</field>
1300+ <field name="report_sxw_content_data">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</field>
1301+ </record>
1302+ </data>
1303+</openerp>
1304+
1305
1306=== added directory 'l10n_cr_hr_payroll_pay_generator_promerica/wizard'
1307=== added file 'l10n_cr_hr_payroll_pay_generator_promerica/wizard/__init__.py'
1308--- l10n_cr_hr_payroll_pay_generator_promerica/wizard/__init__.py 1970-01-01 00:00:00 +0000
1309+++ l10n_cr_hr_payroll_pay_generator_promerica/wizard/__init__.py 2014-06-26 15:55:58 +0000
1310@@ -0,0 +1,23 @@
1311+# -*- coding: utf-8 -*-
1312+##############################################################################
1313+#
1314+# OpenERP, Open Source Management Solution
1315+# Addons modules by CLEARCORP S.A.
1316+# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
1317+#
1318+# This program is free software: you can redistribute it and/or modify
1319+# it under the terms of the GNU Affero General Public License as
1320+# published by the Free Software Foundation, either version 3 of the
1321+# License, or (at your option) any later version.
1322+#
1323+# This program is distributed in the hope that it will be useful,
1324+# but WITHOUT ANY WARRANTY; without even the implied warranty of
1325+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1326+# GNU Affero General Public License for more details.
1327+#
1328+# You should have received a copy of the GNU Affero General Public License
1329+# along with this program. If not, see <http://www.gnu.org/licenses/>.
1330+#
1331+##############################################################################
1332+
1333+import generator_wizard
1334\ No newline at end of file
1335
1336=== added file 'l10n_cr_hr_payroll_pay_generator_promerica/wizard/generator_wizard.py'
1337--- l10n_cr_hr_payroll_pay_generator_promerica/wizard/generator_wizard.py 1970-01-01 00:00:00 +0000
1338+++ l10n_cr_hr_payroll_pay_generator_promerica/wizard/generator_wizard.py 2014-06-26 15:55:58 +0000
1339@@ -0,0 +1,46 @@
1340+# -*- coding: utf-8 -*-
1341+##############################################################################
1342+#
1343+# OpenERP, Open Source Management Solution
1344+# Addons modules by CLEARCORP S.A.
1345+# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
1346+#
1347+# This program is free software: you can redistribute it and/or modify
1348+# it under the terms of the GNU Affero General Public License as
1349+# published by the Free Software Foundation, either version 3 of the
1350+# License, or (at your option) any later version.
1351+#
1352+# This program is distributed in the hope that it will be useful,
1353+# but WITHOUT ANY WARRANTY; without even the implied warranty of
1354+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1355+# GNU Affero General Public License for more details.
1356+#
1357+# You should have received a copy of the GNU Affero General Public License
1358+# along with this program. If not, see <http://www.gnu.org/licenses/>.
1359+#
1360+##############################################################################
1361+
1362+from openerp.osv import osv, fields
1363+
1364+class PayGenerator(osv.TransientModel):
1365+
1366+ _inherit = 'hr.payroll.pay.generator.generator.wizard'
1367+
1368+ def generator_exectute(self, cr, uid, ids, context=None):
1369+ res = super(PayGenerator, self).generator_exectute(cr, uid, ids, context=context)
1370+ wizard = self.browse(cr, uid, ids[0], context=context)
1371+ if wizard.pay_type_id.code == 'promerica':
1372+ # return promerica report
1373+ employee_ids = [employee.id for employee in wizard.employee_ids]
1374+ data = {
1375+ 'payslip_run_id': wizard.payslip_run_id.id,
1376+ 'employee_ids': employee_ids,
1377+ 'salary_rule_id': wizard.salary_rule_id.id,
1378+ }
1379+ return {
1380+ 'type': 'ir.actions.report.xml',
1381+ 'report_name': 'l10n_cr_hr_payroll_pay_generator_promerica_report',
1382+ 'datas': data,
1383+ 'context': context
1384+ }
1385+ return res
1386\ No newline at end of file

Subscribers

People subscribed via source and target branches

to all changes: