GoodERP
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

48 lines
1.5KB

  1. # -*- coding: utf-8 -*-
  2. # Copyright 2016 上海开阖软件有限公司 (http://www.osbzr.com)
  3. # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
  4. from odoo import _
  5. from odoo import api, fields, models
  6. from odoo.exceptions import UserError
  7. class ResUsers(models.Model):
  8. _inherit = 'res.users'
  9. employee_ids = fields.One2many('staff', 'user_id', '对应员工')
  10. team_id = fields.Many2one('team', '所属团队')
  11. notification_type = fields.Selection(default="inbox")
  12. @api.model_create_multi
  13. def create(self, vals_list):
  14. for vals in vals_list:
  15. if not vals.get('email'):
  16. vals.update({
  17. 'email': '@'
  18. })
  19. return super().create(vals_list)
  20. def write(self, vals):
  21. res = super(ResUsers, self).write(vals)
  22. # 如果普通用户修改管理员,则报错
  23. if self.env.user.id > 2:
  24. for record in self:
  25. if record.id < 3:
  26. raise UserError(_('系统用户不可修改'))
  27. # 如果管理员将自己的系统管理权限去掉,则报错
  28. else:
  29. if not self.env.ref('base.user_admin'
  30. ).has_group('base.group_erp_manager'):
  31. raise UserError(_('不能删除管理员的管理权限'))
  32. return res
  33. class Team(models.Model):
  34. _name = 'team'
  35. _description = '团队'
  36. name = fields.Char('名称')
  37. leader_id = fields.Many2one('res.users', '队长')
  38. member_ids = fields.One2many('res.users', 'team_id', '队员')
上海开阖软件有限公司 沪ICP备12045867号-1