[IMP] hr_expense: rename responsible_id to user_id

As user_id is a magical field, we rename responsible_id to user_id to notify him when he is assigned to an expense sheet.
The other option is to rewrite the mail template "message_user_assigned" and to adapt mail_thread.py to accept other field than user_id, but this task is let for later.
This commit is contained in:
fda-odoo
2018-01-25 15:51:57 +01:00
parent 2df2afc405
commit 8cf946a838
3 changed files with 9 additions and 9 deletions
+7 -7
View File
@@ -475,7 +475,7 @@ class HrExpenseSheet(models.Model):
employee_id = fields.Many2one('hr.employee', string="Employee", required=True, readonly=True, states={'submit': [('readonly', False)]}, default=lambda self: self.env['hr.employee'].search([('user_id', '=', self.env.uid)], limit=1))
address_id = fields.Many2one('res.partner', string="Employee Home Address")
payment_mode = fields.Selection([("own_account", "Employee (to reimburse)"), ("company_account", "Company")], related='expense_line_ids.payment_mode', default='own_account', readonly=True, string="Paid By")
responsible_id = fields.Many2one('res.users', 'Manager', readonly=True, copy=False, states={'submit': [('readonly', False)]}, track_visibility='onchange')
user_id = fields.Many2one('res.users', 'Manager', readonly=True, copy=False, states={'submit': [('readonly', False)]}, track_visibility='onchange', oldname='responsible_id')
total_amount = fields.Monetary('Total Amount', currency_field='currency_id', compute='_compute_amount', store=True, digits=dp.get_precision('Account'))
company_id = fields.Many2one('res.company', string='Company', readonly=True, states={'submit': [('readonly', False)]}, default=lambda self: self.env.user.company_id)
currency_id = fields.Many2one('res.currency', string='Currency', readonly=True, states={'submit': [('readonly', False)]}, default=lambda self: self.env.user.company_id.currency_id)
@@ -506,7 +506,7 @@ class HrExpenseSheet(models.Model):
def _onchange_employee_id(self):
self.address_id = self.employee_id.address_home_id
self.department_id = self.employee_id.department_id
self.responsible_id = self.employee_id.expense_manager_id
self.user_id = self.employee_id.expense_manager_id
@api.multi
@api.constrains('expense_line_ids')
@@ -558,7 +558,7 @@ class HrExpenseSheet(models.Model):
return 'hr_expense.mt_expense_refused'
elif 'state' in init_values and self.state == 'done':
return 'hr_expense.mt_expense_paid'
elif 'responsible_id' in init_values:
elif 'user_id' in init_values:
return 'hr_expense.mt_expense_responsible'
return super(HrExpenseSheet, self)._track_subtype(init_values)
@@ -591,8 +591,8 @@ class HrExpenseSheet(models.Model):
for partner in users.mapped('partner_id'):
values['message_follower_ids'] += MailFollowers._add_follower_command(self._name, [], {partner.id: None}, {})[0]
if values.get('responsible_id') and values.get('responsible_id') != values.get('employee_id'):
resp_partner = self.env['res.users'].browse(values['responsible_id'])
if values.get('user_id') and values.get('user_id') != employee.user_id.id:
resp_partner = self.env['res.users'].browse(values['user_id'])
values['message_follower_ids'] += MailFollowers._add_follower_command(self._name, [], {resp_partner.partner_id.id: None}, {})[0]
# --------------------------------------------
@@ -644,8 +644,8 @@ class HrExpenseSheet(models.Model):
def approve_expense_sheets(self):
if not self.user_has_groups('hr_expense.group_hr_expense_user'):
raise UserError(_("Only HR Officers can approve expenses"))
responsible = self.responsible_id.id or self.env.user.id
self.write({'state': 'approve', 'responsible_id': responsible})
responsible_id = self.user_id.id or self.env.user.id
self.write({'state': 'approve', 'user_id': responsible_id})
@api.multi
def paid_expense_sheets(self):
@@ -22,7 +22,7 @@
</div>
<div class="col-xs-2">
<strong>Validated By:</strong>
<p t-field="o.responsible_id"/>
<p t-field="o.user_id"/>
</div>
<div class="col-xs-3">
<strong>Payment By:</strong>
+1 -1
View File
@@ -429,7 +429,7 @@
<group>
<field name="employee_id"/>
<field name="payment_mode"/>
<field name="responsible_id"/>
<field name="user_id"/>
<field name="address_id" invisible="1"/>
<field name="department_id" invisible="1"/>
<field name="company_id" groups="base.group_multi_company"/>