clearcorp team mailing list archive
-
clearcorp team
-
Mailing list archive
-
Message #00333
[Merge] lp:~dr.clearcorp/openerp-costa-rica/l10n_cr_period_id_payslip into lp:openerp-costa-rica
Diana Rodríguez Martínez has proposed merging lp:~dr.clearcorp/openerp-costa-rica/l10n_cr_period_id_payslip into lp:openerp-costa-rica.
Requested reviews:
CLEARCORP drivers (clearcorp-drivers)
For more details, see:
https://code.launchpad.net/~dr.clearcorp/openerp-costa-rica/l10n_cr_period_id_payslip/+merge/131040
[ADD] Add forced period for payslip run and payslip
[FIX] Fix Payroll report for month. Add forced period filter
--
https://code.launchpad.net/~dr.clearcorp/openerp-costa-rica/l10n_cr_period_id_payslip/+merge/131040
Your team CLEARCORP development team is subscribed to branch lp:openerp-costa-rica.
=== modified file 'l10n_cr_hr_payroll/l10n_cr_hr_payroll.py'
--- l10n_cr_hr_payroll/l10n_cr_hr_payroll.py 2012-09-17 21:09:56 +0000
+++ l10n_cr_hr_payroll/l10n_cr_hr_payroll.py 2012-10-23 16:03:22 +0000
@@ -75,6 +75,9 @@
('bi-weekly', 'Bi-weekly'),
('bi-monthly', 'Bi-monthly'),
], 'Scheduled Pay', select=True, readonly=True, states={'draft': [('readonly', False)]}),
+
+ 'period_id': fields.many2one('account.period', 'Force Period'),
+
}
def confirm_payslips(self, cr, uid, ids, context=None):
@@ -91,7 +94,8 @@
_inherit = 'hr.payslip'
_columns = {
- 'name': fields.char('Description', size=256, required=False, readonly=True, states={'draft': [('readonly', False)]}),
+ 'name': fields.char('Description', size=256, required=False, readonly=True, states={'draft': [('readonly', False)]}),
+ 'forced_period_id':fields.related('payslip_run_id', 'period_id', type="many2one", relation="account.period", string="Force period", store=True,readonly=True),
}
def onchange_employee_id(self, cr, uid, ids, date_from, date_to, employee_id=False, contract_id=False, context=None):
=== modified file 'l10n_cr_hr_payroll/l10n_cr_hr_payroll_view.xml'
--- l10n_cr_hr_payroll/l10n_cr_hr_payroll_view.xml 2012-06-04 05:45:31 +0000
+++ l10n_cr_hr_payroll/l10n_cr_hr_payroll_view.xml 2012-10-23 16:03:22 +0000
@@ -25,8 +25,11 @@
<field name="type">form</field>
<field name="inherit_id" ref="hr_payroll.hr_payslip_run_form"/>
<field name="arch" type="xml">
- <data>
- <field name = "date_end" position = "after">
+ <data>
+ <field name = "date_end" position = "after">
+ <field name="period_id" domain="[('state', '=', 'draft'),('special', '=', False)]" widget="selection"/>
+ </field>
+ <field name = "period_id" position = "after">
<field name="schedule_pay" required = "True" string = "Schedule pay"/>
</field>
<button string = "Generate Payslips" position = "replace">
@@ -55,5 +58,21 @@
</field>
</record>
<!-- End Employee wizard-->
- </data>
+
+ <!-- forced period Payslip -->
+ <record id="view_hr_payslip_form_inherit" model="ir.ui.view">
+ <field name="name">view.hr.payslip.form.inherit</field>
+ <field name="model">hr.payslip</field>
+ <field name="type">form</field>
+ <field name="inherit_id" ref="hr_payroll.view_hr_payslip_form"/>
+ <field name="arch" type="xml">
+ <data>
+ <field name="credit_note" position="after">
+ <field name="forced_period_id"/>
+ </field>
+ </data>
+ </field>
+ </record>
+ <!-- End forced period Payslip -->
+ </data>
</openerp>
=== modified file 'l10n_cr_hr_payroll/report/payroll_report_for_month.py'
--- l10n_cr_hr_payroll/report/payroll_report_for_month.py 2012-09-19 22:41:39 +0000
+++ l10n_cr_hr_payroll/report/payroll_report_for_month.py 2012-10-23 16:03:22 +0000
@@ -23,6 +23,7 @@
from report import report_sxw
from tools.translate import _
import pooler
+from osv import fields,osv
from openerp.addons.account_financial_report_webkit.report.trial_balance import TrialBalanceWebkit
from openerp.addons.account_financial_report_webkit.report.webkit_parser_header_fix import HeaderFooterTextWebKitParser
@@ -68,8 +69,16 @@
return super(payroll_report_for_month, self).set_context(objects, data, ids, report_type=report_type)
def get_payslips_by_period(self, cr, uid, start_period, stop_period):
- payslips_ids = self.pool.get('hr.payslip').search(cr, uid, [('date_to', '>=' , start_period.date_start), ('date_to', '<=' , stop_period.date_stop)])
- payslips = self.pool.get('hr.payslip').browse(cr, uid, payslips_ids)
+ hr_payslip_object = self.pool.get('hr.payslip')
+ payslips_ids = []
+ payslips = []
+ res = {}
+
+ payslips_ids = self.pool.get('hr.payslip').search(cr, uid, [('forced_period_id.date_start', '>=' , start_period.date_start), ('forced_period_id.date_stop', '<=' , stop_period.date_stop)])
+
+ if len(payslips_ids) > 0:
+ payslips = self.pool.get('hr.payslip').browse(cr, uid, payslips_ids)
+
return payslips
def get_payslips_by_struct(self, cr, uid, start_period, stop_period):
@@ -81,7 +90,7 @@
for payslip in all_payslips:
struct_name = payslip.struct_id.name
if struct_name not in struct_list:
- struct_list.append(struct_name)
+ struct_list.append(struct_name)
for struct in struct_list:
struct_payslip = []
Follow ups