← Back to team overview

clearcorp team mailing list archive

[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