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
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 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
=== added directory 'l10n_cr_hr_payroll_pay_generator_bac'
=== added file 'l10n_cr_hr_payroll_pay_generator_bac/__init__.py'
--- l10n_cr_hr_payroll_pay_generator_bac/__init__.py 1970-01-01 00:00:00 +0000
+++ l10n_cr_hr_payroll_pay_generator_bac/__init__.py 2014-06-26 15:55:58 +0000
@@ -0,0 +1,24 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Addons modules by CLEARCORP S.A.
6# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU Affero General Public License as
10# published by the Free Software Foundation, either version 3 of the
11# License, or (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
21##############################################################################
22
23import report
24import wizard
0\ No newline at end of file25\ No newline at end of file
126
=== added file 'l10n_cr_hr_payroll_pay_generator_bac/__openerp__.py'
--- l10n_cr_hr_payroll_pay_generator_bac/__openerp__.py 1970-01-01 00:00:00 +0000
+++ l10n_cr_hr_payroll_pay_generator_bac/__openerp__.py 2014-06-26 15:55:58 +0000
@@ -0,0 +1,49 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Addons modules by CLEARCORP S.A.
6# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU Affero General Public License as
10# published by the Free Software Foundation, either version 3 of the
11# License, or (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
21##############################################################################
22
23{
24 'name': 'BAC Payroll Pay Generator',
25 'version': '1.0',
26 'category': 'Human Resources',
27 'sequence': 3,
28 'summary': 'Payroll generator for BAC San Jose',
29 'description': """
30BAC Payroll Generators
31======================
32
33Payroll generator for BAC San Jose Bank""",
34 'author': 'CLEARCORP S.A.',
35 'website': 'http://clearcorp.co.cr',
36 'complexity': 'easy',
37 'images' : [],
38 'depends': ['hr_payroll_pay_generator'],
39 'data': [
40 'data/pay_types.xml',
41 'report/report.xml',
42 ],
43 'test' : [],
44 'demo': [],
45 'installable': True,
46 'auto_install': False,
47 'application': False,
48 'license': 'AGPL-3',
49}
0\ No newline at end of file50\ No newline at end of file
151
=== added directory 'l10n_cr_hr_payroll_pay_generator_bac/data'
=== added file 'l10n_cr_hr_payroll_pay_generator_bac/data/pay_types.xml'
--- l10n_cr_hr_payroll_pay_generator_bac/data/pay_types.xml 1970-01-01 00:00:00 +0000
+++ l10n_cr_hr_payroll_pay_generator_bac/data/pay_types.xml 2014-06-26 15:55:58 +0000
@@ -0,0 +1,14 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<openerp>
3 <data noupdate="0">
4 <record model="hr.payroll.pay.generator.pay.type" id="pay_type_bac">
5 <field name="code">bac</field>
6 </record>
7 </data>
8 <data noupdate="1">
9 <record model="hr.payroll.pay.generator.pay.type" id="pay_type_bac">
10 <field name="name">BAC San Jose</field>
11 <field name="description">BAC San Jose Pay Type</field>
12 </record>
13 </data>
14</openerp>
0\ No newline at end of file15\ No newline at end of file
116
=== added directory 'l10n_cr_hr_payroll_pay_generator_bac/i18n'
=== added file 'l10n_cr_hr_payroll_pay_generator_bac/i18n/es.po'
--- l10n_cr_hr_payroll_pay_generator_bac/i18n/es.po 1970-01-01 00:00:00 +0000
+++ l10n_cr_hr_payroll_pay_generator_bac/i18n/es.po 2014-06-26 15:55:58 +0000
@@ -0,0 +1,39 @@
1# Translation of OpenERP Server.
2# This file contains the translation of the following modules:
3# * l10n_cr_hr_payroll_pay_generator_bac
4#
5msgid ""
6msgstr ""
7"Project-Id-Version: OpenERP Server 7.0\n"
8"Report-Msgid-Bugs-To: \n"
9"POT-Creation-Date: 2014-06-26 15:28+0000\n"
10"PO-Revision-Date: 2014-06-26 15:28+0000\n"
11"Last-Translator: <>\n"
12"Language-Team: \n"
13"MIME-Version: 1.0\n"
14"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Transfer-Encoding: \n"
16"Plural-Forms: \n"
17
18#. module: l10n_cr_hr_payroll_pay_generator_bac
19#: model:ir.actions.report.xml,name:l10n_cr_hr_payroll_pay_generator_bac.payroll_report_bac
20msgid "Payroll Generator Bac San Jose Report"
21msgstr "Reporte generador de nomina Bac San Jose"
22
23#. module: l10n_cr_hr_payroll_pay_generator_bac
24#: code:addons/l10n_cr_hr_payroll_pay_generator_bac/report/l10n_cr_hr_payroll_pay_generator_bac_report.py:44
25#, python-format
26msgid "Amount"
27msgstr "Monto"
28
29#. module: l10n_cr_hr_payroll_pay_generator_bac
30#: code:addons/l10n_cr_hr_payroll_pay_generator_bac/report/l10n_cr_hr_payroll_pay_generator_bac_report.py:47
31#, python-format
32msgid "Bank Account"
33msgstr "Cuenta Bancaria"
34
35#. module: l10n_cr_hr_payroll_pay_generator_bac
36#: code:addons/l10n_cr_hr_payroll_pay_generator_bac/report/l10n_cr_hr_payroll_pay_generator_bac_report.py:41
37#, python-format
38msgid "Employee Name"
39msgstr "Nombre del empleado"
040
=== added file 'l10n_cr_hr_payroll_pay_generator_bac/i18n/l10n_cr_hr_payroll_pay_generator_bac.pot'
--- l10n_cr_hr_payroll_pay_generator_bac/i18n/l10n_cr_hr_payroll_pay_generator_bac.pot 1970-01-01 00:00:00 +0000
+++ l10n_cr_hr_payroll_pay_generator_bac/i18n/l10n_cr_hr_payroll_pay_generator_bac.pot 2014-06-26 15:55:58 +0000
@@ -0,0 +1,39 @@
1# Translation of OpenERP Server.
2# This file contains the translation of the following modules:
3# * l10n_cr_hr_payroll_pay_generator_bac
4#
5msgid ""
6msgstr ""
7"Project-Id-Version: OpenERP Server 7.0\n"
8"Report-Msgid-Bugs-To: \n"
9"POT-Creation-Date: 2014-06-26 15:28+0000\n"
10"PO-Revision-Date: 2014-06-26 15:28+0000\n"
11"Last-Translator: <>\n"
12"Language-Team: \n"
13"MIME-Version: 1.0\n"
14"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Transfer-Encoding: \n"
16"Plural-Forms: \n"
17
18#. module: l10n_cr_hr_payroll_pay_generator_bac
19#: model:ir.actions.report.xml,name:l10n_cr_hr_payroll_pay_generator_bac.payroll_report_bac
20msgid "Payroll Generator Bac San Jose Report"
21msgstr ""
22
23#. module: l10n_cr_hr_payroll_pay_generator_bac
24#: code:addons/l10n_cr_hr_payroll_pay_generator_bac/report/l10n_cr_hr_payroll_pay_generator_bac_report.py:44
25#, python-format
26msgid "Amount"
27msgstr ""
28
29#. module: l10n_cr_hr_payroll_pay_generator_bac
30#: code:addons/l10n_cr_hr_payroll_pay_generator_bac/report/l10n_cr_hr_payroll_pay_generator_bac_report.py:47
31#, python-format
32msgid "Bank Account"
33msgstr ""
34
35#. module: l10n_cr_hr_payroll_pay_generator_bac
36#: code:addons/l10n_cr_hr_payroll_pay_generator_bac/report/l10n_cr_hr_payroll_pay_generator_bac_report.py:41
37#, python-format
38msgid "Employee Name"
39msgstr ""
040
=== added directory 'l10n_cr_hr_payroll_pay_generator_bac/report'
=== added file 'l10n_cr_hr_payroll_pay_generator_bac/report/__init__.py'
--- l10n_cr_hr_payroll_pay_generator_bac/report/__init__.py 1970-01-01 00:00:00 +0000
+++ l10n_cr_hr_payroll_pay_generator_bac/report/__init__.py 2014-06-26 15:55:58 +0000
@@ -0,0 +1,23 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Addons modules by CLEARCORP S.A.
6# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU Affero General Public License as
10# published by the Free Software Foundation, either version 3 of the
11# License, or (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
21##############################################################################
22
23import l10n_cr_hr_payroll_pay_generator_bac_report
0\ No newline at end of file24\ No newline at end of file
125
=== added file 'l10n_cr_hr_payroll_pay_generator_bac/report/l10n_cr_hr_payroll_pay_generator_bac_report.py'
--- l10n_cr_hr_payroll_pay_generator_bac/report/l10n_cr_hr_payroll_pay_generator_bac_report.py 1970-01-01 00:00:00 +0000
+++ l10n_cr_hr_payroll_pay_generator_bac/report/l10n_cr_hr_payroll_pay_generator_bac_report.py 2014-06-26 15:55:58 +0000
@@ -0,0 +1,83 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Addons modules by CLEARCORP S.A.
6# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU Affero General Public License as
10# published by the Free Software Foundation, either version 3 of the
11# License, or (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
21##############################################################################
22
23from report import report_sxw
24from report.report_sxw import rml_parse
25import openerp.pooler as pooler
26from openerp.tools.translate import _
27
28class Parser(report_sxw.rml_parse):
29 def __init__(self, cr, uid, name, context):
30 super(Parser, self).__init__(cr, uid, name, context)
31 self.cursor = cr
32 self.pool = pooler.get_pool(cr.dbname)
33 self.localcontext.update({
34 'get_label_name': self.get_label_name,
35 'get_label_amount': self.get_label_amount,
36 'get_label_account': self.get_label_account,
37 'compute_payslip_lines': self.compute_payslip_lines,
38 })
39
40 def get_label_name(self):
41 return _('Employee Name')
42
43 def get_label_amount(self):
44 return _('Amount')
45
46 def get_label_account(self):
47 return _('Bank Account')
48
49 def compute_payslip_lines(self, data):
50 payslip_run_id = data.get('payslip_run_id', False)
51 if not payslip_run_id: return False
52 employee_ids = data.get('employee_ids', False)
53 if not employee_ids: return False
54 salary_rule_id = data.get('salary_rule_id', False)
55 if not salary_rule_id: return False
56 self.cr.execute("""SELECT EMP.name_related AS employee_name,
57 CASE WHEN EMP.bank_account_id IS NULL THEN ''
58 ELSE
59 (SELECT BANK.acc_number
60 FROM res_partner_bank AS BANK
61 WHERE EMP.bank_account_id = BANK.id
62 LIMIT 1)
63 END as acc_number,
64 CASE WHEN
65 (SELECT SUM(LINE.amount)
66 FROM hr_payslip_line AS LINE
67 WHERE LINE.slip_id = PAYSLIP.id AND
68 LINE.salary_rule_id = %s) IS NULL THEN 0.0
69 ELSE
70 (SELECT SUM(LINE.amount)
71 FROM hr_payslip_line AS LINE
72 WHERE LINE.slip_id = PAYSLIP.id AND
73 LINE.salary_rule_id = %s)
74 END AS amount
75FROM hr_employee as EMP,
76 hr_payslip as PAYSLIP,
77 hr_payslip_run as BATCH
78WHERE EMP.id in %s AND
79 EMP.id = PAYSLIP.employee_id AND
80 BATCH.id = PAYSLIP.payslip_run_id AND
81 BATCH.id = %s""",[salary_rule_id, salary_rule_id, tuple(employee_ids), payslip_run_id])
82 result = self.cr.dictfetchall()
83 return result
0\ No newline at end of file84\ No newline at end of file
185
=== added file 'l10n_cr_hr_payroll_pay_generator_bac/report/report.xml'
--- l10n_cr_hr_payroll_pay_generator_bac/report/report.xml 1970-01-01 00:00:00 +0000
+++ l10n_cr_hr_payroll_pay_generator_bac/report/report.xml 2014-06-26 15:55:58 +0000
@@ -0,0 +1,19 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<openerp>
3 <data noupdate="1">
4 <record id="payroll_report_bac" model="ir.actions.report.xml">
5 <field name="name">Payroll Generator Bac San Jose Report</field>
6 <field name="type">ir.actions.report.xml</field>
7 <field name="model">hr.payroll.pay.generator.generator.wizard</field>
8 <field name="report_name">l10n_cr_hr_payroll_pay_generator_bac_report</field>
9 <field name="report_type">aeroo</field>
10 <field name="in_format">oo-ods</field>
11 <field name="out_format" eval="ref('report_aeroo_ooo.report_mimetypes_xls_odt')"/>
12 <field name="parser_state">loc</field>
13 <field name="parser_loc">l10n_cr_hr_payroll_pay_generator_bac/report/l10n_cr_hr_payroll_pay_generator_bac_report.py</field>
14 <field name="tml_source">database</field>
15 <field name="report_sxw_content_data">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</field>
16 </record>
17 </data>
18</openerp>
19
020
=== added directory 'l10n_cr_hr_payroll_pay_generator_bac/wizard'
=== added file 'l10n_cr_hr_payroll_pay_generator_bac/wizard/__init__.py'
--- l10n_cr_hr_payroll_pay_generator_bac/wizard/__init__.py 1970-01-01 00:00:00 +0000
+++ l10n_cr_hr_payroll_pay_generator_bac/wizard/__init__.py 2014-06-26 15:55:58 +0000
@@ -0,0 +1,23 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Addons modules by CLEARCORP S.A.
6# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU Affero General Public License as
10# published by the Free Software Foundation, either version 3 of the
11# License, or (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
21##############################################################################
22
23import generator_wizard
0\ No newline at end of file24\ No newline at end of file
125
=== added file 'l10n_cr_hr_payroll_pay_generator_bac/wizard/generator_wizard.py'
--- l10n_cr_hr_payroll_pay_generator_bac/wizard/generator_wizard.py 1970-01-01 00:00:00 +0000
+++ l10n_cr_hr_payroll_pay_generator_bac/wizard/generator_wizard.py 2014-06-26 15:55:58 +0000
@@ -0,0 +1,46 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Addons modules by CLEARCORP S.A.
6# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU Affero General Public License as
10# published by the Free Software Foundation, either version 3 of the
11# License, or (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
21##############################################################################
22
23from openerp.osv import osv, fields
24
25class PayGenerator(osv.TransientModel):
26
27 _inherit = 'hr.payroll.pay.generator.generator.wizard'
28
29 def generator_exectute(self, cr, uid, ids, context=None):
30 res = super(PayGenerator, self).generator_exectute(cr, uid, ids, context=context)
31 wizard = self.browse(cr, uid, ids[0], context=context)
32 if wizard.pay_type_id.code == 'bac':
33 # return bac report
34 employee_ids = [employee.id for employee in wizard.employee_ids]
35 data = {
36 'payslip_run_id': wizard.payslip_run_id.id,
37 'employee_ids': employee_ids,
38 'salary_rule_id': wizard.salary_rule_id.id,
39 }
40 return {
41 'type': 'ir.actions.report.xml',
42 'report_name': 'l10n_cr_hr_payroll_pay_generator_bac_report',
43 'datas': data,
44 'context': context
45 }
46 return res
0\ No newline at end of file47\ No newline at end of file
148
=== added directory 'l10n_cr_hr_payroll_pay_generator_bcr'
=== added file 'l10n_cr_hr_payroll_pay_generator_bcr/__init__.py'
--- l10n_cr_hr_payroll_pay_generator_bcr/__init__.py 1970-01-01 00:00:00 +0000
+++ l10n_cr_hr_payroll_pay_generator_bcr/__init__.py 2014-06-26 15:55:58 +0000
@@ -0,0 +1,24 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Addons modules by CLEARCORP S.A.
6# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU Affero General Public License as
10# published by the Free Software Foundation, either version 3 of the
11# License, or (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
21##############################################################################
22
23import report
24import wizard
0\ No newline at end of file25\ No newline at end of file
126
=== added file 'l10n_cr_hr_payroll_pay_generator_bcr/__openerp__.py'
--- l10n_cr_hr_payroll_pay_generator_bcr/__openerp__.py 1970-01-01 00:00:00 +0000
+++ l10n_cr_hr_payroll_pay_generator_bcr/__openerp__.py 2014-06-26 15:55:58 +0000
@@ -0,0 +1,53 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Addons modules by CLEARCORP S.A.
6# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU Affero General Public License as
10# published by the Free Software Foundation, either version 3 of the
11# License, or (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
21##############################################################################
22
23{
24 'name': 'BCR Payroll Pay Generator',
25 'version': '1.0',
26 'category': 'Human Resources',
27 'sequence': 3,
28 'summary': 'Payroll generator for Banco de Costa Rica',
29 'description': """
30Banco de Costa Rica Payroll Generators
31======================================
32
33Payroll generator for Banco de Costa Rica Bank
34
35Important Information
36---------------------
37* 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""",
38 'author': 'CLEARCORP S.A.',
39 'website': 'http://clearcorp.co.cr',
40 'complexity': 'easy',
41 'images' : [],
42 'depends': ['hr_payroll_pay_generator'],
43 'data': [
44 'data/pay_types.xml',
45 'report/report.xml',
46 ],
47 'test' : [],
48 'demo': [],
49 'installable': True,
50 'auto_install': False,
51 'application': False,
52 'license': 'AGPL-3',
53}
0\ No newline at end of file54\ No newline at end of file
155
=== added directory 'l10n_cr_hr_payroll_pay_generator_bcr/data'
=== added file 'l10n_cr_hr_payroll_pay_generator_bcr/data/pay_types.xml'
--- l10n_cr_hr_payroll_pay_generator_bcr/data/pay_types.xml 1970-01-01 00:00:00 +0000
+++ l10n_cr_hr_payroll_pay_generator_bcr/data/pay_types.xml 2014-06-26 15:55:58 +0000
@@ -0,0 +1,14 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<openerp>
3 <data noupdate="0">
4 <record model="hr.payroll.pay.generator.pay.type" id="pay_type_bcr">
5 <field name="code">bcr</field>
6 </record>
7 </data>
8 <data noupdate="1">
9 <record model="hr.payroll.pay.generator.pay.type" id="pay_type_bcr">
10 <field name="name">Banco de Costa Rica</field>
11 <field name="description">Banco de Costa Rica Pay Type</field>
12 </record>
13 </data>
14</openerp>
0\ No newline at end of file15\ No newline at end of file
116
=== added directory 'l10n_cr_hr_payroll_pay_generator_bcr/i18n'
=== added file 'l10n_cr_hr_payroll_pay_generator_bcr/i18n/es.po'
--- l10n_cr_hr_payroll_pay_generator_bcr/i18n/es.po 1970-01-01 00:00:00 +0000
+++ l10n_cr_hr_payroll_pay_generator_bcr/i18n/es.po 2014-06-26 15:55:58 +0000
@@ -0,0 +1,75 @@
1# Translation of OpenERP Server.
2# This file contains the translation of the following modules:
3# * l10n_cr_hr_payroll_pay_generator_bcr
4#
5msgid ""
6msgstr ""
7"Project-Id-Version: OpenERP Server 7.0\n"
8"Report-Msgid-Bugs-To: \n"
9"POT-Creation-Date: 2014-06-26 15:33+0000\n"
10"PO-Revision-Date: 2014-06-26 15:33+0000\n"
11"Last-Translator: <>\n"
12"Language-Team: \n"
13"MIME-Version: 1.0\n"
14"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Transfer-Encoding: \n"
16"Plural-Forms: \n"
17
18#. module: l10n_cr_hr_payroll_pay_generator_bcr
19#: code:addons/l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py:49
20#, python-format
21msgid "Concept"
22msgstr "Concepto"
23
24#. module: l10n_cr_hr_payroll_pay_generator_bcr
25#: code:addons/l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py:52
26#, python-format
27msgid "Office"
28msgstr "Oficina"
29
30#. module: l10n_cr_hr_payroll_pay_generator_bcr
31#: code:addons/l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py:67
32#, python-format
33msgid "Sequence"
34msgstr "Consecutivo"
35
36#. module: l10n_cr_hr_payroll_pay_generator_bcr
37#: model:ir.actions.report.xml,name:l10n_cr_hr_payroll_pay_generator_bcr.payroll_report_bcr
38msgid "Payroll Generator Banco de Costa Rica Report"
39msgstr "Reporte generador de nomina Banco de Costa Rica"
40
41#. module: l10n_cr_hr_payroll_pay_generator_bcr
42#: code:addons/l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py:55
43#, python-format
44msgid "Bank Account"
45msgstr "Cuenta Bancaria"
46
47#. module: l10n_cr_hr_payroll_pay_generator_bcr
48#: code:addons/l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py:58
49#, python-format
50msgid "Currency"
51msgstr "Moneda"
52
53#. module: l10n_cr_hr_payroll_pay_generator_bcr
54#: code:addons/l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py:70
55#, python-format
56msgid "Amount"
57msgstr "Monto"
58
59#. module: l10n_cr_hr_payroll_pay_generator_bcr
60#: code:addons/l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py:61
61#, python-format
62msgid "Identification"
63msgstr "Identificación"
64
65#. module: l10n_cr_hr_payroll_pay_generator_bcr
66#: code:addons/l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py:64
67#, python-format
68msgid "Employee Name"
69msgstr "Nombre del Empleado"
70
71#. module: l10n_cr_hr_payroll_pay_generator_bcr
72#: code:addons/l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py:73
73#, python-format
74msgid "Identification Type"
75msgstr "Tipo de Identificación"
076
=== added file 'l10n_cr_hr_payroll_pay_generator_bcr/i18n/l10n_cr_hr_payroll_pay_generator_bcr.pot'
--- l10n_cr_hr_payroll_pay_generator_bcr/i18n/l10n_cr_hr_payroll_pay_generator_bcr.pot 1970-01-01 00:00:00 +0000
+++ l10n_cr_hr_payroll_pay_generator_bcr/i18n/l10n_cr_hr_payroll_pay_generator_bcr.pot 2014-06-26 15:55:58 +0000
@@ -0,0 +1,75 @@
1# Translation of OpenERP Server.
2# This file contains the translation of the following modules:
3# * l10n_cr_hr_payroll_pay_generator_bcr
4#
5msgid ""
6msgstr ""
7"Project-Id-Version: OpenERP Server 7.0\n"
8"Report-Msgid-Bugs-To: \n"
9"POT-Creation-Date: 2014-06-26 15:33+0000\n"
10"PO-Revision-Date: 2014-06-26 15:33+0000\n"
11"Last-Translator: <>\n"
12"Language-Team: \n"
13"MIME-Version: 1.0\n"
14"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Transfer-Encoding: \n"
16"Plural-Forms: \n"
17
18#. module: l10n_cr_hr_payroll_pay_generator_bcr
19#: code:addons/l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py:49
20#, python-format
21msgid "Concept"
22msgstr ""
23
24#. module: l10n_cr_hr_payroll_pay_generator_bcr
25#: code:addons/l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py:52
26#, python-format
27msgid "Office"
28msgstr ""
29
30#. module: l10n_cr_hr_payroll_pay_generator_bcr
31#: code:addons/l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py:67
32#, python-format
33msgid "Sequence"
34msgstr ""
35
36#. module: l10n_cr_hr_payroll_pay_generator_bcr
37#: model:ir.actions.report.xml,name:l10n_cr_hr_payroll_pay_generator_bcr.payroll_report_bcr
38msgid "Payroll Generator Banco de Costa Rica Report"
39msgstr ""
40
41#. module: l10n_cr_hr_payroll_pay_generator_bcr
42#: code:addons/l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py:55
43#, python-format
44msgid "Bank Account"
45msgstr ""
46
47#. module: l10n_cr_hr_payroll_pay_generator_bcr
48#: code:addons/l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py:58
49#, python-format
50msgid "Currency"
51msgstr ""
52
53#. module: l10n_cr_hr_payroll_pay_generator_bcr
54#: code:addons/l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py:70
55#, python-format
56msgid "Amount"
57msgstr ""
58
59#. module: l10n_cr_hr_payroll_pay_generator_bcr
60#: code:addons/l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py:61
61#, python-format
62msgid "Identification"
63msgstr ""
64
65#. module: l10n_cr_hr_payroll_pay_generator_bcr
66#: code:addons/l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py:64
67#, python-format
68msgid "Employee Name"
69msgstr ""
70
71#. module: l10n_cr_hr_payroll_pay_generator_bcr
72#: code:addons/l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py:73
73#, python-format
74msgid "Identification Type"
75msgstr ""
076
=== added directory 'l10n_cr_hr_payroll_pay_generator_bcr/report'
=== added file 'l10n_cr_hr_payroll_pay_generator_bcr/report/__init__.py'
--- l10n_cr_hr_payroll_pay_generator_bcr/report/__init__.py 1970-01-01 00:00:00 +0000
+++ l10n_cr_hr_payroll_pay_generator_bcr/report/__init__.py 2014-06-26 15:55:58 +0000
@@ -0,0 +1,23 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Addons modules by CLEARCORP S.A.
6# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU Affero General Public License as
10# published by the Free Software Foundation, either version 3 of the
11# License, or (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
21##############################################################################
22
23import l10n_cr_hr_payroll_pay_generator_bcr_report
0\ No newline at end of file24\ No newline at end of file
125
=== added file 'l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py'
--- l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py 1970-01-01 00:00:00 +0000
+++ l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py 2014-06-26 15:55:58 +0000
@@ -0,0 +1,131 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Addons modules by CLEARCORP S.A.
6# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU Affero General Public License as
10# published by the Free Software Foundation, either version 3 of the
11# License, or (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
21##############################################################################
22
23from report import report_sxw
24from report.report_sxw import rml_parse
25import openerp.pooler as pooler
26from openerp.tools.translate import _
27
28class Parser(report_sxw.rml_parse):
29 def __init__(self, cr, uid, name, context):
30 super(Parser, self).__init__(cr, uid, name, context)
31 self.cursor = cr
32 self.pool = pooler.get_pool(cr.dbname)
33 self.localcontext.update({
34 'get_label_concept': self.get_label_concept,
35 'get_label_office': self.get_label_office,
36 'get_label_account': self.get_label_account,
37 'get_label_currency': self.get_label_currency,
38 'get_label_identification': self.get_label_identification,
39 'get_label_name': self.get_label_name,
40 'get_label_sequence': self.get_label_sequence,
41 'get_label_amount': self.get_label_amount,
42 'get_label_id_type': self.get_label_id_type,
43 'compute_payslip_lines': self.compute_payslip_lines,
44 'get_account_office': self.get_account_office,
45 'get_account_number': self.get_account_number,
46 })
47
48 def get_label_concept(self):
49 return _('Concept')
50
51 def get_label_office(self):
52 return _('Office')
53
54 def get_label_account(self):
55 return _('Bank Account')
56
57 def get_label_currency(self):
58 return _('Currency')
59
60 def get_label_identification(self):
61 return _('Identification')
62
63 def get_label_name(self):
64 return _('Employee Name')
65
66 def get_label_sequence(self):
67 return _('Sequence')
68
69 def get_label_amount(self):
70 return _('Amount')
71
72 def get_label_id_type(self):
73 return _('Identification Type')
74
75 def compute_payslip_lines(self, data):
76 payslip_run_id = data.get('payslip_run_id', False)
77 if not payslip_run_id: return False
78 employee_ids = data.get('employee_ids', False)
79 if not employee_ids: return False
80 salary_rule_id = data.get('salary_rule_id', False)
81 if not salary_rule_id: return False
82 self.cr.execute("""SELECT EMP.name_related AS employee_name,
83 EMP.identification_id,
84 ROW_NUMBER() OVER (ORDER BY EMP.id) as sequence,
85 CASE WHEN EMP.bank_account_id IS NULL THEN ''
86 ELSE
87 (SELECT BANK.acc_number
88 FROM res_partner_bank AS BANK
89 WHERE EMP.bank_account_id = BANK.id
90 LIMIT 1)
91 END as acc_number,
92 CASE WHEN
93 (SELECT SUM(LINE.amount)
94 FROM hr_payslip_line AS LINE
95 WHERE LINE.slip_id = PAYSLIP.id AND
96 LINE.salary_rule_id = %s) IS NULL THEN 0.0
97 ELSE
98 (SELECT SUM(LINE.amount)
99 FROM hr_payslip_line AS LINE
100 WHERE LINE.slip_id = PAYSLIP.id AND
101 LINE.salary_rule_id = %s)
102 END AS amount
103FROM hr_employee as EMP,
104 hr_payslip as PAYSLIP,
105 hr_payslip_run as BATCH
106WHERE EMP.id in %s AND
107 EMP.id = PAYSLIP.employee_id AND
108 BATCH.id = PAYSLIP.payslip_run_id AND
109 BATCH.id = %s""",[salary_rule_id, salary_rule_id, tuple(employee_ids), payslip_run_id])
110 result = self.cr.dictfetchall()
111 return result
112
113 def get_account_office(self, account):
114 try:
115 l = account.split('-')
116 if len(l) == 2:
117 return l[0]
118 else:
119 return ""
120 except:
121 return ""
122
123 def get_account_number(self, account):
124 try:
125 l = account.split('-')
126 if len(l) == 2:
127 return l[1]
128 else:
129 return account
130 except:
131 return account
0\ No newline at end of file132\ No newline at end of file
1133
=== added file 'l10n_cr_hr_payroll_pay_generator_bcr/report/report.xml'
--- l10n_cr_hr_payroll_pay_generator_bcr/report/report.xml 1970-01-01 00:00:00 +0000
+++ l10n_cr_hr_payroll_pay_generator_bcr/report/report.xml 2014-06-26 15:55:58 +0000
@@ -0,0 +1,19 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<openerp>
3 <data noupdate="0">
4 <record id="payroll_report_bcr" model="ir.actions.report.xml">
5 <field name="name">Payroll Generator Banco de Costa Rica Report</field>
6 <field name="type">ir.actions.report.xml</field>
7 <field name="model">hr.payroll.pay.generator.generator.wizard</field>
8 <field name="report_name">l10n_cr_hr_payroll_pay_generator_bcr_report</field>
9 <field name="report_type">aeroo</field>
10 <field name="in_format">oo-ods</field>
11 <field name="out_format" eval="ref('report_aeroo_ooo.report_mimetypes_xls_odt')"/>
12 <field name="parser_state">loc</field>
13 <field name="parser_loc">l10n_cr_hr_payroll_pay_generator_bcr/report/l10n_cr_hr_payroll_pay_generator_bcr_report.py</field>
14 <field name="tml_source">database</field>
15 <field name="report_sxw_content_data">UEsDBBQAAAgAACZ72kSFbDmKLgAAAC4AAAAIAAAAbWltZXR5cGVhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnNwcmVhZHNoZWV0UEsDBBQAAAgAACZ72kRBPSPPmw0AAJsNAAAYAAAAVGh1bWJuYWlscy90aHVtYm5haWwucG5niVBORw0KGgoAAAANSUhEUgAAALkAAAEACAIAAABgfUACAAANYklEQVR4nO3cCVCU5x3H8ffdd3dhl2WBXZYFkWMBuZUboxLBi5Cj0WqjMYltzdHUJk2TySTt2DTaGaNppo1OktaMSWPSdpLOpJPENAckTSJWESoiqAQR5BBRrl1Z7j3fvnu4rILyh3iQ8ffJDLxZlud532e/uy+ur4h5nmcACMQ3egfgewOtABVaASq0AlRoBajQClChFaBCK0BFbYVl2Wu6HzDN8Tw/idcVvMN7k8M5CKjQClChFaBCK0CFVoAKrQAVWgEqtAJUaAWo0ApQoRWgQitAhVaACq0AFVoBKrQCVGgFqNAKUKEVoEIrQIVWgAqtABVaASq0AlRoBajQClBNohX8k+ab2Xf698y8oePwC8ea222M1D/2yZyMTOmUU7IeP7q3KnrRj5XcxbcLdXpPyvd2V79Y09hqYzhZxMPZmSGNJa/a41cyJz+wz8ywm2alzF0ko+zDJcM62fQ7vy7+ilWqGLPJL3FTbkoMN9632g1v7j0YkHv7PQqR9/4fq/7o2bOazcvy50qIhzyuy63DuPt8Fdd/Qq6XiSmfg2w9fz/WpstY/sdgtqm1vsk0Utd8YPs5M8f7FqTNNh7Z3xYUpO/un521OK+n7NUOMycJezQ7hWsue9fIW2yB6zIjy/fvbVRpeUNfdHx4w+nOXtOpJVnx4aIrzKj/R3VzaPrybRpR44nPf1O+L3zEeFZ0ZKfFKlLK600jQTae4S3H60tfEaYTq+crh78dds6Vk5EmIayjSLk89451vp1bvjl6whTVeuK/H42I7FzkM5na4n2l7sPJyBUWzDbS+lJlS3L2wrsUzgfV2lOi9y8M7C3u6fczlr/iOticVHFTqWfbp3mfe3HmJJ49ciwlb0lc0+fbpQXbdZa39roHT4ifcep0p3HCdRh3/Qc7duw7muwalpuddObwKVlQSnyKpWb/SWEj8ZacrgrHyltsw/39Kq3KcSzZRT9X8bXO5eLN58/YE3YsSx848sn7oUXbZo77nJtqK7x14LQ1YE2AI+bYqNRYS9tzLfx9BUUp50p+1XR+ISOKil3wkF/Jto7Tbe3sukVFyQOdekvH20095mCt3NZdMRTBsdKk2Hl3q798skt5h7/SlBB75QUSZmy2BqwOdMwYGaJRnJPMU/ZpE27LbygpjU3V1lY6H7bO91qd0xkqH/1fd1RoqGOuAVtaEOE47X17Kj7bZx80yFLvlYh6fBUa3tbS2VxjChF5Dqd7IJ0fLKk6PCP5zjsV7mf/oKGhVh7/e93p5xtqdg6y6xY7D9bc8U7rhQM3d/zNszgNPbO9J2WZ0cGHgvMJ6zD++tu6a70GFTFcXFL+gwHGN10bivaN5c6Vt3bWWqQZrum6BqzKAfdy9TW+Ud1Q2X9+oN9/SarvZZ5YU22FFfvrxMbyXnOOhm1sqqlSqF3nKN5x+MJ/4gChBbGINwu3OG63Wc39wpNbFHBX2oL0kV6TjPmE4YUXApvd/cI64S/sEGaMkxjLDKZcLXe6q9usSA2ytI53R9d0pkFG6Z7Lb9zTyRiu1xWF5esDH+9ssZrauUfzYvf0VDuGGz0c4f/EUaHK1rb27vC4EMeimo+3nO02GrbUWvWDw52M1n2wYpbxHLiw7VkclhUz9iG7fchstUvdB+Ye3OK4A/EXl1y6/v5hIs+wMuHLkmDXS6lnw7XyQ02vHTrpnm7ENZVzJ+2S1DDuP20tjK9ulc/lXoOnfA7i1A+k616s2bPWyosVcU/lhKfpTr18sJjj5T/KCNRXeY5JtTqy7c9lJRKx9pGc1DURJ147WPK+NPzxrAjHKp/YW9nHL8zURLeY/1LXsCw3MeIKTylOdX967B+qP15bzfr4RT+RHWarOjLmcLRrI+t2CNNxgasjmHddc+WoQylHZDd+WP5Jqcg2xIat14a1tB944xgbLR8pPWuM874b65Oiy55dvXd3Z8SzoT6MuePz3qAn8pcVyswHKj7cahx8p6xE6jzYtZH1O1wHnjv7AV2De3EyY8Kbm7YfKpsj5hm/i7tgpRF+5l0TroN7NS5Zf7Uu2OweVjamN3Homog6x8pzMl/vr3mWS6x9MEVnP1AtnZ2quuzpeup/ZmYDNekvLk0fvSFh6a6EC9uL73R8VNyxy/Gp8M2kC7en3PaGa8NuKGPleamL3T8kBq+aT5hRGZz2wtK00Rvmr8wTPmqcH7XOGRlpatLodOvpR8OpNyx7YIP3LQUrR7cTYrwOx1nOrSvcX5JGbi6MdG75LJh776feI3jtyUWLk778Pa97PXzRWq1aSN3jMevvPWxCtPOTyj04I03zrLyLezpmdLks577xVc0JkV2+Ury/AozjJ+W/lpe3hc1/7Ep/kLxRrYg8ycM0wAU/dOsPJ7rTdH8v7hpN+n18X/GG7zN+tyBQ4ecVoEIrQIVWgAqtABVaASq0AlRoBaim+3txME1M7rq4nq+ee3x3t8Jk0P1698Ysv2u3Wx6jF4Px9pFOi0Trw323XEcOHm8OS07WcVd32PHY9G9X64sy40PHDs2bO0ZEWpl4MpMKS2E58+8tv3yufFXJZ/drCVe4XE2Tvi7OHnj71l3ztEee/umhLmuW7jqdvaxmQ1lr83Gzb0a07lxzTZlNYrIErJkT1dNQ+bVJZOFC5nIdVWaRRRzxs8Tg5vrKUpvUapYvT9GWHu+9O1N3/kR5a0Ri+9FvuZCArvbGarOyKFTJTjisYzRNq2c7KTzQ9cDaDLsraoWh9Ab7bWkzyy6aok6skbUYrNFqWU+vaEVamHW4/V/fGvsG+FmBIqNdNDQiXZocVnH42KB6Rrx4oHFYHDcjrkAll5KXQpa07hf5jd3XaqUnNIlHXJM5X6UvfWm3/JGtUdftx5xzL5edTM5csEEpPAstp2S+0iFmsO9M64j8wGDkhsxwpq9xe0PkU1nhzPCw2Nb9xVDUY1kz+pr2f9qvHn3WsgwnDV4cEz9kaqs1aPNUfbxsomFdo3m2xw5lOdhgtjNet4ul6kWx0SeNNeroZK6uos0aJpIE35WU6nvqn+vrQlfEBfqw/Y0jWk6i+cGs+CgRU2gf2He0dMtgweaIK1wG4E2sig293CVr18UkHnRbZ/Gm3x1Zuu33BcHX7yUw9PEsW/HpqtfF6vxwyZ4e9WOZmsq+Cl44e7iuNLNZzLzj8h3earU6Ln+zux5A1nEdIe+4/tZqc1yNJuKEKFj2wt9pDU80rGM0r22vHfIMJUzkPQUj3C58USR2nFqErwpfcb1yCxs+M1cnzVJYhs2i4Q84iQ9jbmo/+aV+JECT+3QYMZTpYBKtVGx++jP9vO7fPvHV0meevyf6O12xTsbK/WeuTJlpNfeeMtni+bp3641yqa33vN8See2uo+02TrNI3urcmPlIUkiR36G3jnfZLZoVkQFdZ+s/aDDxg7YYz195shI101ncKbzkTDisMJqmUH7IvZ2sHGfXRIpkyYlLp/Bit+iL6w8b++N+MuPs60fPS2yKFanOC/SEwP1i1odP4uzj1PnF1k2vluwf6N0k3nzd1t/bJFqZv7O2auJ7XRtiaWCClEnIzhu9KTwv270Vu/jCbUGJCzyXzcXMWXiL586ZauFDaFLhnxzXgOk9179dcVgmKCkv45L9EKnWZaocQyXmzRI+jZ0i0/ndqQuEDwUL8sceSJzr2wMnPOKxtIUbXy/cOIVvvFpuxvdXWEnCxHe6gB843/hx55DrNOTjH7My3P/6P6Onh5uxFd5ST78zqwiadV/QtduZ75Hp/l4crovzuOH7jOvigOpmPAfB1KAVoEIrQIVWgAqtABVaAarp/v4KTBOTuNYJb64AzkFAhVaACq0AFVoBKrQCVGgFqNAKUKEVoEIrQIVWgAqtABVaASq0AlRoBajQClChFaBCK0CFVoAKrQAVWgEqtAJUaAWo0ApQoRWgQitAhVaACq0AFVoBKrQCVGgFqNAKUKEVoEIrQIVWgAqtABVaASq0AlRoBajQClChFaBCK0CFVoAKrQAVWgEqtAJUaAWo0ApQoRWgQitAhVaACq0AFVoBKrQCVGgFqNAKUKEVoEIrQIVWgAqtABVaASq0AlRoBajQClChFaBCK0CFVoAKrQAVWgEqtAJUaAWo0ApQoRWgQitAhVaACq0AFVoBKrQCVGgFqNAKUKEVoEIrQIVWgAqtABVaASq0AlRoBajQClChFaBCK0CFVoAKrQAVWgEqtAJUaAWo0ApQoRWgQitAhVaACq0AFVoBKrQCVGgFqNAKUKEVoEIrQIVWgAqtABVaASq0AlRoBajQClChFaBCK0CFVoAKrQAVWgEqtAJUaAWo0ApQoRWgQitAhVaACq0AFVoBKrQCVGgFqNAKUKEVoEIrQIVWgAqtABVaASq0AlRoBajQClChFaBCK0CFVoAKrQAVWgEqtAJUaAWo0ApQoRWgQitAhVaACq0AFVoBKrQCVGgFqNAKUKEVoEIrQIVWgAqtABVaASq0AlRoBajQClChFaBCK0CFVoAKrQAVWgEqtAJUaAWo0ApQoRWgQitAhVaACq0AFVoBKrQCVGgFqNAKUKEVoEIrQIVWgAqtABVaASq0AlRoBaj+D6EaEG2j3oNmAAAAAElFTkSuQmCCUEsDBBQACAgIACZ72kQAAAAAAAAAAAAAAAAMAAAAc2V0dGluZ3MueG1s7Vpbc9o4FH7fX5Hx606KIZfWTKBjHG5tkiY2OAlvsn0CamTJI8kY8utX5tJNXbuhBnd3Z5YXwJK+7+jo6Nzg4uMiJEdz4AIz2tLq73TtCKjPAkynLW086h1/0D62/7hgT0/Yh2bA/DgEKo8FSKmmiCO1nIrmerilxZw2GRJYNCkKQTSl32QR0O2y5uvZzRXZ+smCYPrc0mZSRs1aLUmSd8nJO8antbphGLXV6Haqz+gTnu5KtZ79moox9o0oXbAWZkXW0PXT2vq7drQR8pVqGlp7q4ft9tsXG4L12zGWEKa6Odo8TkVraYqyOceQfNOalrfu+zUuFtgjYHJAIxZp20G5jNQgplJrn57VL2o/wvwS9BU8yTzs87PG3tj3OJCzPPDG6en7D3vDDwBPZ7nCn9RPz3aFPw5RdIxpAAsIslSQ5B/Uao0yMb7cRWBIhkFGSiG5sgKtndrEzme4Yk1BM3KOkFLIW4J+v2TAvqL6DjZoxVwwfssEluoKPOQaYblz/B75MQ+5/r4c9IBx/MKoRMSJCJbXLICs+meMKwK9pAkCl9ivCj0j/VZDeQo6hPwV4Ju+xHNYoduITgvUU9K9bOUt8lslZd7C2kUuZU/cAg++J2qHScnCAwJPGAtHCuWgFp2CuojEWdT1JdfL6gBNIfWtP0U/LwnuzFjS5zjrtj3GCCCqtSWPIR855+HraFE0vHLru16tlcMviCgrz7635/E5I8RDvDiCv//fwva2sJSgoxKZ51sOaSZQZG1PiIgCc9uFZgKcreQXv27Ou+DfMFkVdLk7+BZyimoxwngGmrD0BtUb5yeNxtn5Ac61Aq0MkFCixyG1WTIAFKjipBISZwYglaOpAH0ovsRSFXTgLEOPEeFANuIehMShKBoxGwkJ2YM+xM1aAw/FpiCpjMEGoc67MP1W3q2kB8rC5+fge8I7sRfgORaF4h8IPF/4sqazhjcXWDhL6s84o/gFfl8ysKlG8ycIkLv3HNYPYo7SA/6V5kO1HqAbehD0VKpRiL1nyKsoJA3F5aa55MwQL7aIPaQ3CVEBROVy8hPzLER9INWE1iqzgioD7BVDga0CH6NkWYH+x1GAJPS4ylIhjIj6XI36q8wRqsucHDQHd90P/UItwkQVcW8oPgOnpsCI3sbUlzHKaVAcgshSlxj5ytNbLIw4iHRbB6hNijuKPcY9HARAvzHv31+8QnQaox+7LJt6EERJ3bA45S9AteySrSfE1alm070Nau3t9R2YYnqlUsfSCF0a/HT9viH7Tf8eS2Yh4sfVuJZV5AB+o74UHF0fKHDsH21m7kWjMvc429fykIDz0w6mSFlP+9kc/FnTA+KF7hLdX0/Hg0+RR23iT81/5WusB70R6Tju21PvTfPalH/vY2j2JmP1/uzdmaYTGtju9/RHx1xYtKP2fqZPHoaG3XDjycOn6HHZufNDEgd9d2mFhhp31eeeju6N+NbtzH1qLx/viW6FN3O/T4j/oi+ssD7zwyDyQnuGqPsS9OvEo3fGtZUkV5emuDajr15jMfdDpd+BzW5HQ11xv3h9tzG5Tww1nkz6k+fJwyR6bIyN1/ODkHydjPTEIp07u3szT88IuvYs6Hc/j/s9OnFvIgjH56O+q6cym1277vcXBC6jL17jjKh9O2b35nbkdjpuz+i6bufadmdPo7HRte+Yaffcu1HXfXzQjb49bbX+6cz8babfUj5WWh5VXNpVXJhWWVmrCPC8TvSKf745+RdWpmYUkeVYAL9EEv1He0sH6f4UFsa1H36erxX9caH9F1BLBwgeEAp+OwUAAPogAABQSwMEFAAICAgAJnvaRAAAAAAAAAAAAAAAAAsAAABjb250ZW50LnhtbO1bW2/bNhR+368QVDRYH2RZ8iWxW6foLkUHtBu2djcMQ8BIlM1WIlWSiu39+vEiKZIjOpITuzbQPjgVz4XfufDwkJZfvFwlsXUDKUMEz2yv17ctiAMSIjyf2b9/eO1c2C8vv3lBoggFcBqSIEsg5k5AMBd/LSGN2VRTZ3ZG8ZQAhtgUgwSyKQ+mJIW4kJpWuadqLj3C+DpuLa6Yq9IcrnhbYclbkwXX7WdWzFXpkIJlW2HJK5xaFY9IW+EVi52ICK8nKeBoA8UqRvjTzF5wnk5dd7lc9paDHqFz15tMJq6iloCDki/NaKy4wsCFMZSTMdfreW7Bm0AO2uKTvFVIOEuuIW3tGsDBnaimFDLBIsyVidlOUVWmll8389bZdTM3uDlYANo6zxRzPVUGYftUGYRV2QTwhSG+F+47QVQf797e5hVN2s4leWuuCihKW5upuavyhJASqhTQi13B9fv9oaufK9zLrexLijikFfZgK3sA4qD0OEmanCb4PFdwOPBGpny5iKQjmEHAdzW5ZGahUfVf796+DxYwAbfM6H5mB2HGAb71DJVBMFo6cilMCeWlY6L2xVdEyy+xLXgSm0uHpBascxqGjawCzsAVZUQsYucGweWTWm3dng8TVzFV6+lWAa/vSp5ySYpw3xZ/Oi/3p4hkONRlQDsDrlJIkSSBWIlNaxqqGRyTHVTme1pFQ63QIxgXq780qVENIU7CRDKIpCfptCJd3zdosmqnTiY6CaNNjRuLPmBswJti++E3V9IcuW2KjSGfqdIu+PZl0RvoWsDcciASPYITgQA6IQxidvlC1/hy2NLPEvfMfovEhqHca70HWKw0UYgL1gTF65l9BlLCnm/w6UHbqqmW/M4cYuEIUS7YEjFW40gRD0RBvQEUqexzt0P7AX4Ef2TbYVV42kBaMw6Th2B6TSE0AKqQ9ongT4h/zQD+G1nvUECJ9QYio3caeB/NS64p2/JxkHEiNlAUOEpPmYbqs2ZRQLxyshy+qk6iH4izBNuFZHXQScWqgpQjyKyITK8pBJ+caygWmFAopy405uxLFMq9vN8bjwZBovBX4GzD5h8Km9ebeMNu2AaHwzYc+d2wDQ+Fze9NzsfdsI0Oh61/ftEN2/hQ2AY9b9Ix384PhW3UG406Yrs4XEz9cceYTg4W0264vP4BF8LQ6wjuYLuCiOioU0SpaceiZLkBTIxUUWmSHFxANF9wuSXp0rodcMagQ1KOEhA7VekIxAx2AW7YznYDPhzvDJzTrBNuw1a3G27//GC4DdvgwROlG24OmhO8GEyAaBGpk4I5dIpmPQJZzDeMqhikL/FCxNIYrHM8uTZ52YDw3ElIKDTF1OHXHQoFNNUJGMcFJQVU3p6qh62ApdDdMMhjmANiNMcOIxmVV64RWhXKKUwhKK9mizWpwkRoKK/jMMGlsTdSszj+an0zO0HifF/p+gVUMKcgXWwUs1sM0masbmfEcALoHGEnhpFMEV3EKqDrOlSvztB/Ar83TLldji3zLLkmcVhr/CWzAxgCuBCpELVUQW6WlXd6MVyZpUsGJd8h7KbG/HjC3u/1xym3GIlRaD3pq3/Hlgbj7mkwflAaGKR3TgPTGejI0+Dgge53D3T/QYE2SO8caNOB8sgDfSzrvQg5JlT0BlviamYoQ5ezdAie6cR95MHrFB7GAeUnGR3TncPxREd1UF9rZteaabqwOZ7AfuHN8cuuO9Od1V7DcwPiDDp8ncJ9R+k4w+Eav6DICdckXN9+u5aKo3bIFhDyyxf6DKs+8/Osjsgb8lEemPVQNVTyHF0Tyy+qGljVtyD5IVkHWIe0KfJua53+HnQO9qBzuAedoz3oHO9B5/kedF7sQedkDzrlDfRuSilZNmiUN7Mbkwt9m3jEUBMa6N1BbuIs80C/cZWbyBxdSmE4sy9U5dlAvH8T/Nu3Bco6L1tTivDctorXLppojfawFGAszZlsMAjsFepAIpaK0/wvsNT7b9MFhdHMTtd8QfDUdTMGaU+95oXXV0i0QporB4Jk5bYvv9d04Tyl6TL/T7rhTumCwikBEecrGDp3nLMlPI3uG+wpat0BTr4C7JL3g13zvl3iziG/isE1jK9ElxTAlH/7zJS8itwleY/FMj2LybBfFPUU7QJBQDJsjNh3AH+yXmmeUzQvyKg4IgRrY0bm9FO0DYXiQILETOrNM5OFP9W4TtFOOaHJuh/FH7KG0PpZMJ2icQx+zkQCGg18n9NP0TaQbCstr5JTLSoovJLy7Vac9UEQ21m5W2PgP6AxGH6Rhthr6fGI0Kd+H4JgMXvq+4IDikeExYfskjMOr1KwZjFKrySNfSvf9n4mOJvDchbz50KjpfSdfc4Ify7FLIStLeo049mcP/8iLff57g3jQ/Ji1JgXUUwAr1Nmtt+cJ5q3jLP/8OXdjOlRl3feDBXNnkyDf/Q7wYJypWOnn/81rH2ZZHUtXVPnHi9cHM4L2t4HeKHgfVwPdMhNr1Vuekefm5UQ1Js+sRXlkTAH4q7EIeKxD9th3uypjvBeu+vcp2pz0R/ea27JeKqW6m7xXjtztpOuKV8bvXoWyE7PHHFJPcUGbNDkm9sJvf7wYjQeNwT1Pqhe/yGgHm++6kihVc4TOnAlf/Usf4/HKr+Gqn1d6Na+UCyeNn/Lf/k/UEsHCKDPgB7HBwAADEAAAFBLAwQUAAgICAAme9pEAAAAAAAAAAAAAAAACgAAAHN0eWxlcy54bWzdWdtu3DYQfe9XCDIQpEC1ktbOZRXv+iFBkAJxkLppiz7SEqVlQ4kCRe0lf9N+SvtjHVIiV3crTtIGsRe2RZ4ZDs9cOJQvrw4ptXaYF4Rla9tfeLaFs5BFJEvW9i/vXjpP7avNd5csjkmIg4iFZYoz4RTiSHFhgXBWBNXk2i55FjBUkCLIUIqLQIQBy3GmhYImOlBLVSNK2VxxBW5KC3wQc4UltiWLbuevrMBN6Yij/VxhiQVOm+Ixmyt8KKgTMydkaY4E6VhxoCR7v7a3QuSB6+73+8X+fMF44vqr1cpVs8bg0ODyklOFikIXUywXK1x/4bsam2KB5tonsU2TsjK9xXw2NUignldzjguAwHZlXM5T1JRpxdcumR1du2SE5nCL+Ow4U+B2qJxH80PlPGrKpkhsR/z71L2GSfXj+vUprng6dy2JbVEVcpLP3maFbsozxoypUqBKdmXu0vMu3Oq5gd5PwvecCMwb8HASHiIaGsZZOkQa4HwXEA7eyZDXaC43Par5kctxzrgwhsTzix2wszSpuhUpHU9VOauhCY+iQSiYc+5C2kLSODuC92etWjbN/8pVoGb9mhTwPVdiTAoAvadiyxNzHMSszKIq7Soy8CHHnMgpRJVY0NLQjBjK7qGyPkMaGlqpWhTnYoi7dzeunHPkMQCFrtbSOP2W9kYfdTGDYy5GIXYiHNJic1mVKDNsVc/SuLX9mkC9U9ZaP6MMogrqiIamhB7X9gOUs+JZB1cN2lZLtcQ7Cc5gtxDtxZ4URQuRExFCPdghTpQz3WnTXuA/0K/ltFkNzByTjoXA6afY9JJjPGJQY+pLWvAbzn4qUfY7sa5JyJn1CpNRdgawn40ldyza6vGqz9J7iXCMSlp3X1pzbavKbCfElNoaniOOEo7yrZNzyG0uCLRs1RSgQQvLnYgUAmWye4PofxSmJ+JkkvQFlaEjQR+zgKIsKVECs7gaCCGPBQf7nt/YXRUOlE+UdUNUYbQeDfmw1TO1Qj3x/E1frTzAKT5MKzagLemqNlM/vlE+GiB/c1n1OHWr0/JIxc4bz+6ArPopJZlDMoETkItIQkQB5KuFBnQaHWHJOXTmx6GlfO/irad3sWMUnCLbWsFLbA8oOKa3jGpr2h7T2IbXNn//ZSzr6DC6ZaxsLANTj8Obh/AmKaJOTiHYYeNLe5oWPZtwVubqUqJ21WCrTcxcvuyxMFcxSxl0r2dx7MGXXKu5L2d4m98avRU7KcpNcmQRqbrxHaIlfvj9g0Q8W5uwQ3lOa7KdVlhOuKqS7DvoRZVq9t0l7o4ipavEcLnvFe8aff+yrzWMFX89b46A8do1dRDOAmmTDHjUKINonUwN54x76gYX046yzFFkXhs4bSdPJKKysX47QKDvI6HWp8DQIWIO91usMQWjJBqB7Ekkr1GoFGwEUae9WlT9bRsb9pgkW2gpISmjjyVneS922sSqbr+bW6cs7S/9CiP5CufzOMYIDfQRkkJwTJI5BSu57CNictDK4daEkSQT6k4G9MWIFo3iMtifAOUnpWs7BEG4AY52JSZKyAfZwzzOhT0WOZ/mzJpR/16UanfMoZSz6g2GAyeHNH/l9Y10O+1h/SiDOwXh0Gn3jblseCg6slK09nSdp749AOobJS/isAEnZRHIUe6I25NPtrC7U7/SGosZA/d1HCaPom3tBG/xRHadahjxBGYojuV4e5DX6PboLRNCXvM907q64xbVpvz3VkKbPWBi2xy354MZvlt+Q76TM7eMR/K14XJxscpht7KaW2ee+lKAHEXVi2lv4flPtRQK38v2JYt0BT8LPflt2GkgoDlKcC9Oejv9+gPpK+Xr7qh2R2tVPZGiwqgoTn2oGpSapjrFZh4MlLjK/M2l+jdAXv8uthhX6M3V1dWl2x2sR/IOCR3PSzfqw5oU0H4fe8ddxY1Z/e0/f4JTkVU/S8urNnnj6yUbYz0rtLYW75NWuD0q72L3pn7rOUHuskeuPvoTeYZJgz6Sb+thhRNE0Cakev6+R0RrpdaQyqLO6tBJ4dGmClo1A3LULQeSy/MvHO+xs3xsbzzPVR/Pq62QwM0PljY4vVu1BGnVUpGjPu+8VbC8CC6eLFZL3/c8f+XL1QL1MfsfCsb2Vv/PCLXcJlBdcTerVRNYjX2hSHaHy4c7/J/Lzb9QSwcIB3XxEFcGAAD5HAAAUEsDBBQACAgIACZ72kQAAAAAAAAAAAAAAAAIAAAAbWV0YS54bWyNk82OmzAUhfd9CuTOFvwDE4JFGKmLtoupWmlSqbuImDvUU2NHxgzp2xcMZEibRZc+/o7PuTbkD+dGBa9gW2n0DtGIoAC0MJXU9Q59338Mt+iheJeb52cpgFdGdA1oFzbgymCw6pZPWzvUWc1N2cqW67KBljvBzQn0YuFrmvugSTkrqX/t0E/nThzjvu+jPo6MrTHNsgz73QWtxIU7dVZ5qhIYFIwJLaYRxQs7NvzfUiO7rmSMuQSN+FTaxzFCEjytF7q2VaVuDTCwMR4alq4MXyX071Ewj7+6cIaK5XbHGkXuy0gtnSxVKCyUztjikwIdPJkXk+Ob+5PLr4ZzwyESCkZoEpJNyJI9yXhMecIilqYsHUbYzOdcO/JK8GvrZrSye07jiKSMJts0i3O8YCN/o+FKnXpBNbTVdVh11qcV3/bxZ5Z+uY+f5h7/ENdG8VsoaIuE/oXP+gTXoMH61Ed5tPDVXypOIholEbt7lLo7H35sN4dNEqyAw8maFxAOJ5Q05O5DJ1UVsjnn7cgp4vL9t26o2TopAq+78qggFKbTbnhTNIkClFo0tojmOIYtMkG4yPHV8+Nbv1rxB1BLBwi2eoScuwEAAKgDAABQSwMEFAAICAgAJnvaRAAAAAAAAAAAAAAAAAwAAABtYW5pZmVzdC5yZGbNk81ugzAQhO88hWXO2EAvBQVyKMq5ap/ANYZYBS/ymhLevo6TVlGkquqf1OOuRjPfjrSb7WEcyIuyqMFUNGMpJcpIaLXpKzq7Lrml2zra2LYrH5od8WqDpZ8qunduKjlfloUtNwxsz7OiKHia8zxPvCLB1ThxSAzGtI4ICR6NQmn15HwaOc7iCWZXUXTroJB59yA9i906qaCyCmG2Ur2HtiCRgUCNCUzKhHSDHLpOS8UzlvNROcGh7eLHYL3Tg6I8YPArjs/Y3ogMpuVe4L2w7lyD33yVaHruY3p108Xx3yOUYJwy7k/quzt5/+f+Ls//GeKvtHZEbEDOo2f6kOe08h9VR69QSwcItPdo0gUBAACDAwAAUEsDBBQACAgIACZ72kQAAAAAAAAAAAAAAAAnAAAAQ29uZmlndXJhdGlvbnMyL2FjY2VsZXJhdG9yL2N1cnJlbnQueG1sAwBQSwcIAAAAAAIAAAAAAAAAUEsDBBQAAAgAACZ72kQAAAAAAAAAAAAAAAAaAAAAQ29uZmlndXJhdGlvbnMyL3N0YXR1c2Jhci9QSwMEFAAACAAAJnvaRAAAAAAAAAAAAAAAABoAAABDb25maWd1cmF0aW9uczIvcG9wdXBtZW51L1BLAwQUAAAIAAAme9pEAAAAAAAAAAAAAAAAHwAAAENvbmZpZ3VyYXRpb25zMi9pbWFnZXMvQml0bWFwcy9QSwMEFAAACAAAJnvaRAAAAAAAAAAAAAAAABwAAABDb25maWd1cmF0aW9uczIvcHJvZ3Jlc3NiYXIvUEsDBBQAAAgAACZ72kQAAAAAAAAAAAAAAAAYAAAAQ29uZmlndXJhdGlvbnMyL3Rvb2xiYXIvUEsDBBQAAAgAACZ72kQAAAAAAAAAAAAAAAAaAAAAQ29uZmlndXJhdGlvbnMyL3Rvb2xwYW5lbC9QSwMEFAAACAAAJnvaRAAAAAAAAAAAAAAAABgAAABDb25maWd1cmF0aW9uczIvZmxvYXRlci9QSwMEFAAACAAAJnvaRAAAAAAAAAAAAAAAABgAAABDb25maWd1cmF0aW9uczIvbWVudWJhci9QSwMEFAAICAgAJnvaRAAAAAAAAAAAAAAAABUAAABNRVRBLUlORi9tYW5pZmVzdC54bWytVMtuwyAQvOcrLK6Voc2pQnFyqNQvSD+A4rWDBAtilyj++9pR86iqVLGaG7s7OzOwwGpzCL7aQyYXsREv8llUgDa2DvtGfGzf61exWS9WwaDrgFifFtXYh3QOG1Ey6mjIkUYTgDRbHRNgG20JgKx/4vVR6RxdGViK9aK66HXOQz325+GC7or3dTK8a4S6RXJJB2idqXlI0AiTknfW8AhTe2zl0bC89ikpZTAt7QBYqDlWtrsSPtE4T4pPS5mwv2HFBdODmuqzVAiYx9mQHM/zBjPDgdVUnkVsI/K0/0fzEg8eHm83AJvHk37nZG67O27QiHqarfEWsXN9yUcKWipjLXgYw5iVLTn/PYP/ad35KqjgZEEWJ+01wyS+Ur++gvUXUEsHCFMqqZ8hAQAARQQAAFBLAQIUABQAAAgAACZ72kSFbDmKLgAAAC4AAAAIAAAAAAAAAAAAAAAAAAAAAABtaW1ldHlwZVBLAQIUABQAAAgAACZ72kRBPSPPmw0AAJsNAAAYAAAAAAAAAAAAAAAAAFQAAABUaHVtYm5haWxzL3RodW1ibmFpbC5wbmdQSwECFAAUAAgICAAme9pEHhAKfjsFAAD6IAAADAAAAAAAAAAAAAAAAAAlDgAAc2V0dGluZ3MueG1sUEsBAhQAFAAICAgAJnvaRKDPgB7HBwAADEAAAAsAAAAAAAAAAAAAAAAAmhMAAGNvbnRlbnQueG1sUEsBAhQAFAAICAgAJnvaRAd18RBXBgAA+RwAAAoAAAAAAAAAAAAAAAAAmhsAAHN0eWxlcy54bWxQSwECFAAUAAgICAAme9pEtnqEnLsBAACoAwAACAAAAAAAAAAAAAAAAAApIgAAbWV0YS54bWxQSwECFAAUAAgICAAme9pEtPdo0gUBAACDAwAADAAAAAAAAAAAAAAAAAAaJAAAbWFuaWZlc3QucmRmUEsBAhQAFAAICAgAJnvaRAAAAAACAAAAAAAAACcAAAAAAAAAAAAAAAAAWSUAAENvbmZpZ3VyYXRpb25zMi9hY2NlbGVyYXRvci9jdXJyZW50LnhtbFBLAQIUABQAAAgAACZ72kQAAAAAAAAAAAAAAAAaAAAAAAAAAAAAAAAAALAlAABDb25maWd1cmF0aW9uczIvc3RhdHVzYmFyL1BLAQIUABQAAAgAACZ72kQAAAAAAAAAAAAAAAAaAAAAAAAAAAAAAAAAAOglAABDb25maWd1cmF0aW9uczIvcG9wdXBtZW51L1BLAQIUABQAAAgAACZ72kQAAAAAAAAAAAAAAAAfAAAAAAAAAAAAAAAAACAmAABDb25maWd1cmF0aW9uczIvaW1hZ2VzL0JpdG1hcHMvUEsBAhQAFAAACAAAJnvaRAAAAAAAAAAAAAAAABwAAAAAAAAAAAAAAAAAXSYAAENvbmZpZ3VyYXRpb25zMi9wcm9ncmVzc2Jhci9QSwECFAAUAAAIAAAme9pEAAAAAAAAAAAAAAAAGAAAAAAAAAAAAAAAAACXJgAAQ29uZmlndXJhdGlvbnMyL3Rvb2xiYXIvUEsBAhQAFAAACAAAJnvaRAAAAAAAAAAAAAAAABoAAAAAAAAAAAAAAAAAzSYAAENvbmZpZ3VyYXRpb25zMi90b29scGFuZWwvUEsBAhQAFAAACAAAJnvaRAAAAAAAAAAAAAAAABgAAAAAAAAAAAAAAAAABScAAENvbmZpZ3VyYXRpb25zMi9mbG9hdGVyL1BLAQIUABQAAAgAACZ72kQAAAAAAAAAAAAAAAAYAAAAAAAAAAAAAAAAADsnAABDb25maWd1cmF0aW9uczIvbWVudWJhci9QSwECFAAUAAgICAAme9pEUyqpnyEBAABFBAAAFQAAAAAAAAAAAAAAAABxJwAATUVUQS1JTkYvbWFuaWZlc3QueG1sUEsFBgAAAAARABEAcAQAANUoAAAAAA==</field>
16 </record>
17 </data>
18</openerp>
19
020
=== added directory 'l10n_cr_hr_payroll_pay_generator_bcr/wizard'
=== added file 'l10n_cr_hr_payroll_pay_generator_bcr/wizard/__init__.py'
--- l10n_cr_hr_payroll_pay_generator_bcr/wizard/__init__.py 1970-01-01 00:00:00 +0000
+++ l10n_cr_hr_payroll_pay_generator_bcr/wizard/__init__.py 2014-06-26 15:55:58 +0000
@@ -0,0 +1,23 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Addons modules by CLEARCORP S.A.
6# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU Affero General Public License as
10# published by the Free Software Foundation, either version 3 of the
11# License, or (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
21##############################################################################
22
23import generator_wizard
0\ No newline at end of file24\ No newline at end of file
125
=== added file 'l10n_cr_hr_payroll_pay_generator_bcr/wizard/generator_wizard.py'
--- l10n_cr_hr_payroll_pay_generator_bcr/wizard/generator_wizard.py 1970-01-01 00:00:00 +0000
+++ l10n_cr_hr_payroll_pay_generator_bcr/wizard/generator_wizard.py 2014-06-26 15:55:58 +0000
@@ -0,0 +1,46 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Addons modules by CLEARCORP S.A.
6# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU Affero General Public License as
10# published by the Free Software Foundation, either version 3 of the
11# License, or (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
21##############################################################################
22
23from openerp.osv import osv, fields
24
25class PayGenerator(osv.TransientModel):
26
27 _inherit = 'hr.payroll.pay.generator.generator.wizard'
28
29 def generator_exectute(self, cr, uid, ids, context=None):
30 res = super(PayGenerator, self).generator_exectute(cr, uid, ids, context=context)
31 wizard = self.browse(cr, uid, ids[0], context=context)
32 if wizard.pay_type_id.code == 'bcr':
33 # return bcr report
34 employee_ids = [employee.id for employee in wizard.employee_ids]
35 data = {
36 'payslip_run_id': wizard.payslip_run_id.id,
37 'employee_ids': employee_ids,
38 'salary_rule_id': wizard.salary_rule_id.id,
39 }
40 return {
41 'type': 'ir.actions.report.xml',
42 'report_name': 'l10n_cr_hr_payroll_pay_generator_bcr_report',
43 'datas': data,
44 'context': context
45 }
46 return res
0\ No newline at end of file47\ No newline at end of file
148
=== added directory 'l10n_cr_hr_payroll_pay_generator_promerica'
=== added file 'l10n_cr_hr_payroll_pay_generator_promerica/__init__.py'
--- l10n_cr_hr_payroll_pay_generator_promerica/__init__.py 1970-01-01 00:00:00 +0000
+++ l10n_cr_hr_payroll_pay_generator_promerica/__init__.py 2014-06-26 15:55:58 +0000
@@ -0,0 +1,24 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Addons modules by CLEARCORP S.A.
6# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU Affero General Public License as
10# published by the Free Software Foundation, either version 3 of the
11# License, or (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
21##############################################################################
22
23import report
24import wizard
0\ No newline at end of file25\ No newline at end of file
126
=== added file 'l10n_cr_hr_payroll_pay_generator_promerica/__openerp__.py'
--- l10n_cr_hr_payroll_pay_generator_promerica/__openerp__.py 1970-01-01 00:00:00 +0000
+++ l10n_cr_hr_payroll_pay_generator_promerica/__openerp__.py 2014-06-26 15:55:58 +0000
@@ -0,0 +1,49 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Addons modules by CLEARCORP S.A.
6# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU Affero General Public License as
10# published by the Free Software Foundation, either version 3 of the
11# License, or (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
21##############################################################################
22
23{
24 'name': 'Promerica Payroll Pay Generator',
25 'version': '1.0',
26 'category': 'Human Resources',
27 'sequence': 3,
28 'summary': 'Payroll generator for Promerica',
29 'description': """
30Promerica Payroll Generators
31============================
32
33Payroll generator for Promerica Bank""",
34 'author': 'CLEARCORP S.A.',
35 'website': 'http://clearcorp.co.cr',
36 'complexity': 'easy',
37 'images' : [],
38 'depends': ['hr_payroll_pay_generator'],
39 'data': [
40 'data/pay_types.xml',
41 'report/report.xml',
42 ],
43 'test' : [],
44 'demo': [],
45 'installable': True,
46 'auto_install': False,
47 'application': False,
48 'license': 'AGPL-3',
49}
0\ No newline at end of file50\ No newline at end of file
151
=== added directory 'l10n_cr_hr_payroll_pay_generator_promerica/data'
=== added file 'l10n_cr_hr_payroll_pay_generator_promerica/data/pay_types.xml'
--- l10n_cr_hr_payroll_pay_generator_promerica/data/pay_types.xml 1970-01-01 00:00:00 +0000
+++ l10n_cr_hr_payroll_pay_generator_promerica/data/pay_types.xml 2014-06-26 15:55:58 +0000
@@ -0,0 +1,14 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<openerp>
3 <data noupdate="0">
4 <record model="hr.payroll.pay.generator.pay.type" id="pay_type_promerica">
5 <field name="code">promerica</field>
6 </record>
7 </data>
8 <data noupdate="1">
9 <record model="hr.payroll.pay.generator.pay.type" id="pay_type_promerica">
10 <field name="name">Banco Promerica</field>
11 <field name="description">Banco Promerica Pay Type</field>
12 </record>
13 </data>
14</openerp>
0\ No newline at end of file15\ No newline at end of file
116
=== added directory 'l10n_cr_hr_payroll_pay_generator_promerica/i18n'
=== added file 'l10n_cr_hr_payroll_pay_generator_promerica/i18n/es.po'
--- l10n_cr_hr_payroll_pay_generator_promerica/i18n/es.po 1970-01-01 00:00:00 +0000
+++ l10n_cr_hr_payroll_pay_generator_promerica/i18n/es.po 2014-06-26 15:55:58 +0000
@@ -0,0 +1,39 @@
1# Translation of OpenERP Server.
2# This file contains the translation of the following modules:
3# * l10n_cr_hr_payroll_pay_generator_promerica
4#
5msgid ""
6msgstr ""
7"Project-Id-Version: OpenERP Server 7.0\n"
8"Report-Msgid-Bugs-To: \n"
9"POT-Creation-Date: 2014-06-26 15:38+0000\n"
10"PO-Revision-Date: 2014-06-26 15:38+0000\n"
11"Last-Translator: <>\n"
12"Language-Team: \n"
13"MIME-Version: 1.0\n"
14"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Transfer-Encoding: \n"
16"Plural-Forms: \n"
17
18#. module: l10n_cr_hr_payroll_pay_generator_promerica
19#: model:ir.actions.report.xml,name:l10n_cr_hr_payroll_pay_generator_promerica.payroll_report_promerica
20msgid "Payroll Generator Promerica Report"
21msgstr "Reporte generador de nomina Promerica"
22
23#. module: l10n_cr_hr_payroll_pay_generator_promerica
24#: code:addons/l10n_cr_hr_payroll_pay_generator_promerica/report/l10n_cr_hr_payroll_pay_generator_promerica_report.py:44
25#, python-format
26msgid "Amount"
27msgstr "Monto"
28
29#. module: l10n_cr_hr_payroll_pay_generator_promerica
30#: code:addons/l10n_cr_hr_payroll_pay_generator_promerica/report/l10n_cr_hr_payroll_pay_generator_promerica_report.py:47
31#, python-format
32msgid "Bank Account"
33msgstr "Cuenta Bancaria"
34
35#. module: l10n_cr_hr_payroll_pay_generator_promerica
36#: code:addons/l10n_cr_hr_payroll_pay_generator_promerica/report/l10n_cr_hr_payroll_pay_generator_promerica_report.py:41
37#, python-format
38msgid "Employee Name"
39msgstr "Nombre del empleado"
040
=== added file 'l10n_cr_hr_payroll_pay_generator_promerica/i18n/l10n_cr_hr_payroll_pay_generator_promerica.pot'
--- l10n_cr_hr_payroll_pay_generator_promerica/i18n/l10n_cr_hr_payroll_pay_generator_promerica.pot 1970-01-01 00:00:00 +0000
+++ l10n_cr_hr_payroll_pay_generator_promerica/i18n/l10n_cr_hr_payroll_pay_generator_promerica.pot 2014-06-26 15:55:58 +0000
@@ -0,0 +1,39 @@
1# Translation of OpenERP Server.
2# This file contains the translation of the following modules:
3# * l10n_cr_hr_payroll_pay_generator_promerica
4#
5msgid ""
6msgstr ""
7"Project-Id-Version: OpenERP Server 7.0\n"
8"Report-Msgid-Bugs-To: \n"
9"POT-Creation-Date: 2014-06-26 15:38+0000\n"
10"PO-Revision-Date: 2014-06-26 15:38+0000\n"
11"Last-Translator: <>\n"
12"Language-Team: \n"
13"MIME-Version: 1.0\n"
14"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Transfer-Encoding: \n"
16"Plural-Forms: \n"
17
18#. module: l10n_cr_hr_payroll_pay_generator_promerica
19#: model:ir.actions.report.xml,name:l10n_cr_hr_payroll_pay_generator_promerica.payroll_report_promerica
20msgid "Payroll Generator Promerica Report"
21msgstr ""
22
23#. module: l10n_cr_hr_payroll_pay_generator_promerica
24#: code:addons/l10n_cr_hr_payroll_pay_generator_promerica/report/l10n_cr_hr_payroll_pay_generator_promerica_report.py:44
25#, python-format
26msgid "Amount"
27msgstr ""
28
29#. module: l10n_cr_hr_payroll_pay_generator_promerica
30#: code:addons/l10n_cr_hr_payroll_pay_generator_promerica/report/l10n_cr_hr_payroll_pay_generator_promerica_report.py:47
31#, python-format
32msgid "Bank Account"
33msgstr ""
34
35#. module: l10n_cr_hr_payroll_pay_generator_promerica
36#: code:addons/l10n_cr_hr_payroll_pay_generator_promerica/report/l10n_cr_hr_payroll_pay_generator_promerica_report.py:41
37#, python-format
38msgid "Employee Name"
39msgstr ""
040
=== added directory 'l10n_cr_hr_payroll_pay_generator_promerica/report'
=== added file 'l10n_cr_hr_payroll_pay_generator_promerica/report/__init__.py'
--- l10n_cr_hr_payroll_pay_generator_promerica/report/__init__.py 1970-01-01 00:00:00 +0000
+++ l10n_cr_hr_payroll_pay_generator_promerica/report/__init__.py 2014-06-26 15:55:58 +0000
@@ -0,0 +1,23 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Addons modules by CLEARCORP S.A.
6# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU Affero General Public License as
10# published by the Free Software Foundation, either version 3 of the
11# License, or (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
21##############################################################################
22
23import l10n_cr_hr_payroll_pay_generator_promerica_report
0\ No newline at end of file24\ No newline at end of file
125
=== added file 'l10n_cr_hr_payroll_pay_generator_promerica/report/l10n_cr_hr_payroll_pay_generator_promerica_report.py'
--- l10n_cr_hr_payroll_pay_generator_promerica/report/l10n_cr_hr_payroll_pay_generator_promerica_report.py 1970-01-01 00:00:00 +0000
+++ l10n_cr_hr_payroll_pay_generator_promerica/report/l10n_cr_hr_payroll_pay_generator_promerica_report.py 2014-06-26 15:55:58 +0000
@@ -0,0 +1,83 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Addons modules by CLEARCORP S.A.
6# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU Affero General Public License as
10# published by the Free Software Foundation, either version 3 of the
11# License, or (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
21##############################################################################
22
23from report import report_sxw
24from report.report_sxw import rml_parse
25import openerp.pooler as pooler
26from openerp.tools.translate import _
27
28class Parser(report_sxw.rml_parse):
29 def __init__(self, cr, uid, name, context):
30 super(Parser, self).__init__(cr, uid, name, context)
31 self.cursor = cr
32 self.pool = pooler.get_pool(cr.dbname)
33 self.localcontext.update({
34 'get_label_name': self.get_label_name,
35 'get_label_amount': self.get_label_amount,
36 'get_label_account': self.get_label_account,
37 'compute_payslip_lines': self.compute_payslip_lines,
38 })
39
40 def get_label_name(self):
41 return _('Employee Name')
42
43 def get_label_amount(self):
44 return _('Amount')
45
46 def get_label_account(self):
47 return _('Bank Account')
48
49 def compute_payslip_lines(self, data):
50 payslip_run_id = data.get('payslip_run_id', False)
51 if not payslip_run_id: return False
52 employee_ids = data.get('employee_ids', False)
53 if not employee_ids: return False
54 salary_rule_id = data.get('salary_rule_id', False)
55 if not salary_rule_id: return False
56 self.cr.execute("""SELECT EMP.name_related AS employee_name,
57 CASE WHEN EMP.bank_account_id IS NULL THEN ''
58 ELSE
59 (SELECT BANK.acc_number
60 FROM res_partner_bank AS BANK
61 WHERE EMP.bank_account_id = BANK.id
62 LIMIT 1)
63 END as acc_number,
64 CASE WHEN
65 (SELECT SUM(LINE.amount)
66 FROM hr_payslip_line AS LINE
67 WHERE LINE.slip_id = PAYSLIP.id AND
68 LINE.salary_rule_id = %s) IS NULL THEN 0.0
69 ELSE
70 (SELECT SUM(LINE.amount)
71 FROM hr_payslip_line AS LINE
72 WHERE LINE.slip_id = PAYSLIP.id AND
73 LINE.salary_rule_id = %s)
74 END AS amount
75FROM hr_employee as EMP,
76 hr_payslip as PAYSLIP,
77 hr_payslip_run as BATCH
78WHERE EMP.id in %s AND
79 EMP.id = PAYSLIP.employee_id AND
80 BATCH.id = PAYSLIP.payslip_run_id AND
81 BATCH.id = %s""",[salary_rule_id, salary_rule_id, tuple(employee_ids), payslip_run_id])
82 result = self.cr.dictfetchall()
83 return result
0\ No newline at end of file84\ No newline at end of file
185
=== added file 'l10n_cr_hr_payroll_pay_generator_promerica/report/report.xml'
--- l10n_cr_hr_payroll_pay_generator_promerica/report/report.xml 1970-01-01 00:00:00 +0000
+++ l10n_cr_hr_payroll_pay_generator_promerica/report/report.xml 2014-06-26 15:55:58 +0000
@@ -0,0 +1,19 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<openerp>
3 <data noupdate="1">
4 <record id="payroll_report_promerica" model="ir.actions.report.xml">
5 <field name="name">Payroll Generator Promerica Report</field>
6 <field name="type">ir.actions.report.xml</field>
7 <field name="model">hr.payroll.pay.generator.generator.wizard</field>
8 <field name="report_name">l10n_cr_hr_payroll_pay_generator_promerica_report</field>
9 <field name="report_type">aeroo</field>
10 <field name="in_format">oo-ods</field>
11 <field name="out_format" eval="ref('report_aeroo_ooo.report_mimetypes_xls_odt')"/>
12 <field name="parser_state">loc</field>
13 <field name="parser_loc">l10n_cr_hr_payroll_pay_generator_promerica/report/l10n_cr_hr_payroll_pay_generator_promerica_report.py</field>
14 <field name="tml_source">database</field>
15 <field name="report_sxw_content_data">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</field>
16 </record>
17 </data>
18</openerp>
19
020
=== added directory 'l10n_cr_hr_payroll_pay_generator_promerica/wizard'
=== added file 'l10n_cr_hr_payroll_pay_generator_promerica/wizard/__init__.py'
--- l10n_cr_hr_payroll_pay_generator_promerica/wizard/__init__.py 1970-01-01 00:00:00 +0000
+++ l10n_cr_hr_payroll_pay_generator_promerica/wizard/__init__.py 2014-06-26 15:55:58 +0000
@@ -0,0 +1,23 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Addons modules by CLEARCORP S.A.
6# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU Affero General Public License as
10# published by the Free Software Foundation, either version 3 of the
11# License, or (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
21##############################################################################
22
23import generator_wizard
0\ No newline at end of file24\ No newline at end of file
125
=== added file 'l10n_cr_hr_payroll_pay_generator_promerica/wizard/generator_wizard.py'
--- l10n_cr_hr_payroll_pay_generator_promerica/wizard/generator_wizard.py 1970-01-01 00:00:00 +0000
+++ l10n_cr_hr_payroll_pay_generator_promerica/wizard/generator_wizard.py 2014-06-26 15:55:58 +0000
@@ -0,0 +1,46 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Addons modules by CLEARCORP S.A.
6# Copyright (C) 2009-TODAY CLEARCORP S.A. (<http://clearcorp.co.cr>).
7#
8# This program is free software: you can redistribute it and/or modify
9# it under the terms of the GNU Affero General Public License as
10# published by the Free Software Foundation, either version 3 of the
11# License, or (at your option) any later version.
12#
13# This program is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16# GNU Affero General Public License for more details.
17#
18# You should have received a copy of the GNU Affero General Public License
19# along with this program. If not, see <http://www.gnu.org/licenses/>.
20#
21##############################################################################
22
23from openerp.osv import osv, fields
24
25class PayGenerator(osv.TransientModel):
26
27 _inherit = 'hr.payroll.pay.generator.generator.wizard'
28
29 def generator_exectute(self, cr, uid, ids, context=None):
30 res = super(PayGenerator, self).generator_exectute(cr, uid, ids, context=context)
31 wizard = self.browse(cr, uid, ids[0], context=context)
32 if wizard.pay_type_id.code == 'promerica':
33 # return promerica report
34 employee_ids = [employee.id for employee in wizard.employee_ids]
35 data = {
36 'payslip_run_id': wizard.payslip_run_id.id,
37 'employee_ids': employee_ids,
38 'salary_rule_id': wizard.salary_rule_id.id,
39 }
40 return {
41 'type': 'ir.actions.report.xml',
42 'report_name': 'l10n_cr_hr_payroll_pay_generator_promerica_report',
43 'datas': data,
44 'context': context
45 }
46 return res
0\ No newline at end of file47\ No newline at end of file

Subscribers

People subscribed via source and target branches

to all changes: