GoodERP

46 lines
1.5KB

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