diff --git a/beesdoo_shift/wizard/validate_attendance_sheet.py b/beesdoo_shift/wizard/validate_attendance_sheet.py
index dc81004..9dc9505 100644
--- a/beesdoo_shift/wizard/validate_attendance_sheet.py
+++ b/beesdoo_shift/wizard/validate_attendance_sheet.py
@@ -12,11 +12,24 @@ class ValidateAttendanceSheet(models.TransientModel):
return self._context.get("active_id")
# current user as default value !
- user = fields.Many2one("res.partner", string="User Name", required=True,)
+ #card = fields.Many2one("member.card", string="MemberCard")
+ barcode = fields.Char(string="Barcode", required=True)
+ user = fields.Many2one("res.partner", compute="_compute_user", string="User Name", readonly=True)
+
+ @api.depends("barcode")
+ def _compute_user(self):
+ if self.barcode:
+ card = self.env["member.card"].search([("barcode", "=", self.barcode)])
+ if card:
+ self.user = card[0].partner_id
+ else:
+ self.user = False
# Is the "@api.multi" correct here ?
@api.multi
def validate_sheet(self):
+ if not self.user:
+ raise UserError("Please set a correct barcode.")
sheet_id = self._context.get("active_id")
sheet_model = self._context.get("active_model")
sheet = self.env[sheet_model].browse(sheet_id)
diff --git a/beesdoo_shift/wizard/validate_attendance_sheet.xml b/beesdoo_shift/wizard/validate_attendance_sheet.xml
index d68de37..f443f06 100644
--- a/beesdoo_shift/wizard/validate_attendance_sheet.xml
+++ b/beesdoo_shift/wizard/validate_attendance_sheet.xml
@@ -8,6 +8,7 @@
Emails will be sent to workers who did not attend their shift." />
+