-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+ Lock your fiscal period
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
-
+
+
+
diff --git a/om_hr_payroll/models/hr_payslip.py b/om_hr_payroll/models/hr_payslip.py
index 6d095b1b..ce97c208 100644
--- a/om_hr_payroll/models/hr_payslip.py
+++ b/om_hr_payroll/models/hr_payslip.py
@@ -149,7 +149,6 @@ def refund_sheet(self):
'name': (_("Refund Payslip")),
'view_mode': 'list, form',
'view_id': False,
- 'view_type': 'form',
'res_model': 'hr.payslip',
'type': 'ir.actions.act_window',
'target': 'current',
@@ -503,12 +502,19 @@ def onchange_employee_id(self, date_from, date_to, employee_id=False, contract_i
}
if (not employee_id) or (not date_from) or (not date_to):
return res
+
ttyme = datetime.combine(fields.Date.from_string(date_from), time.min)
employee = self.env['hr.employee'].browse(employee_id)
locale = self.env.context.get('lang') or 'en_US'
res['value'].update({
- 'name': _('Salary Slip of %s for %s') % (employee.name, tools.ustr(
- babel.dates.format_date(date=ttyme, format='MMMM-y', locale=locale))),
+ 'name': _('Salary Slip of %s for %s') % (
+ employee.name,
+ babel.dates.format_date(
+ date=ttyme,
+ format='MMMM-y',
+ locale=locale
+ )
+ ),
'company_id': employee.company_id.id,
})
@@ -558,8 +564,14 @@ def onchange_employee(self):
ttyme = datetime.combine(fields.Date.from_string(date_from), time.min)
locale = self.env.context.get('lang') or 'en_US'
- self.name = _('Salary Slip of %s for %s') % (employee.name, tools.ustr(
- babel.dates.format_date(date=ttyme, format='MMMM-y', locale=locale)))
+ self.name = _('Salary Slip of %s for %s') % (
+ employee.name,
+ babel.dates.format_date(
+ date=ttyme,
+ format='MMMM-y',
+ locale=locale
+ )
+ )
self.company_id = employee.company_id
if not self.env.context.get('version') or not self.version_id:
@@ -808,7 +820,6 @@ def unlink(self):
# 'name': (_("Refund Payslip")),
# 'view_mode': 'list, form',
# 'view_id': False,
-# 'view_type': 'form',
# 'res_model': 'hr.payslip',
# 'type': 'ir.actions.act_window',
# 'target': 'current',
@@ -1470,7 +1481,6 @@ def unlink(self):
# 'name': (_("Refund Payslip")),
# 'view_mode': 'list, form',
# 'view_id': False,
-# 'view_type': 'form',
# 'res_model': 'hr.payslip',
# 'type': 'ir.actions.act_window',
# 'target': 'current',
diff --git a/om_hr_payroll/views/report_contribution_register_templates.xml b/om_hr_payroll/views/report_contribution_register_templates.xml
index 30472cb9..693732f5 100644
--- a/om_hr_payroll/views/report_contribution_register_templates.xml
+++ b/om_hr_payroll/views/report_contribution_register_templates.xml
@@ -49,11 +49,11 @@
+ t-options='{"widget": "monetary", "display_currency": o.company_id.currency_id}'/>
|
+ t-options='{"widget": "monetary", "display_currency": o.company_id.currency_id}'/>
|
@@ -68,7 +68,7 @@
+ t-options='{"widget": "monetary", "display_currency": o.company_id.currency_id}'/>
|
diff --git a/om_hr_payroll/views/report_payslip_details_templates.xml b/om_hr_payroll/views/report_payslip_details_templates.xml
index ea146691..5e72e7e0 100644
--- a/om_hr_payroll/views/report_payslip_details_templates.xml
+++ b/om_hr_payroll/views/report_payslip_details_templates.xml
@@ -88,7 +88,7 @@
+ t-options='{"widget": "monetary", "display_currency": o.company_id.currency_id}'/>
|
@@ -121,7 +121,7 @@
+ t-options='{"widget": "monetary", "display_currency": o.company_id.currency_id}'/>
|
diff --git a/om_recurring_payments/models/recurring_payment.py b/om_recurring_payments/models/recurring_payment.py
index b5e2dfee..7384d588 100644
--- a/om_recurring_payments/models/recurring_payment.py
+++ b/om_recurring_payments/models/recurring_payment.py
@@ -6,7 +6,7 @@
class RecurringPayment(models.Model):
_name = 'recurring.payment'
- _description = 'Recurring Payment('
+ _description = 'Recurring Payment'
_rec_name = 'name'
name = fields.Char('Name', readonly=True)
@@ -86,6 +86,9 @@ def action_generate_payment(self):
@api.model_create_multi
def create(self, vals_list):
for vals in vals_list:
+ if vals.get('amount', 0) <= 0:
+ raise ValidationError(_('Amount must be a non-zero positive number.'))
+
if 'company_id' in vals:
vals['name'] = self.env['ir.sequence'].with_context(force_company=vals['company_id']).next_by_code(
'recurring.payment') or _('New')
@@ -93,11 +96,6 @@ def create(self, vals_list):
vals['name'] = self.env['ir.sequence'].next_by_code('recurring.payment') or _('New')
return super(RecurringPayment, self).create(vals)
- @api.constrains('amount')
- def _check_amount(self):
- if self.amount <= 0:
- raise ValidationError(_('Amount Must Be Non-Zero Positive Number'))
-
def unlink(self):
for rec in self:
if rec.state == 'done':