You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

31 lines
1.0 KiB

  1. # -*- coding: utf-8 -*-
  2. from openerp import models, fields, api, exceptions, _
  3. from openerp.exceptions import UserError, ValidationError
  4. class ValidateAttendanceSheet(models.TransientModel):
  5. _name = "beesdoo.shift.sheet.validate"
  6. _description = """Check the user name and validate sheet.
  7. Useless for users in group_cooperative_admin"""
  8. def _get_sheet(self):
  9. return self._context.get("active_id")
  10. # current user as default value !
  11. user = fields.Many2one("res.partner", string="User Name", required=True,)
  12. # Is the "@api.multi" correct here ?
  13. @api.multi
  14. def validate_sheet(self):
  15. sheet_id = self._context.get("active_id")
  16. sheet_model = self._context.get("active_model")
  17. sheet = self.env[sheet_model].browse(sheet_id)
  18. sheet.ensure_one()
  19. if not self.user.super:
  20. raise UserError(
  21. "You must be super-coop or admin to validate the sheet."
  22. )
  23. sheet.validated_by = self.user
  24. sheet.validate()
  25. return