From 95269a192a4d3965e66aeae94609cbee06997f17 Mon Sep 17 00:00:00 2001 From: Elouan Le Bars Date: Mon, 25 Nov 2019 17:14:35 +0100 Subject: [PATCH] [FIX] b_shift : barcode scan to attendance sheet validation --- .../wizard/validate_attendance_sheet.py | 20 ++++++++++--------- .../wizard/validate_attendance_sheet.xml | 2 +- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/beesdoo_shift/wizard/validate_attendance_sheet.py b/beesdoo_shift/wizard/validate_attendance_sheet.py index a8f64e8..529587d 100644 --- a/beesdoo_shift/wizard/validate_attendance_sheet.py +++ b/beesdoo_shift/wizard/validate_attendance_sheet.py @@ -9,23 +9,25 @@ class ValidateAttendanceSheet(models.TransientModel): Useless for users in group_cooperative_admin""" _inherit = ["barcodes.barcode_events_mixin"] + barcode = fields.Char("Barcode Scanned", required=True) + @api.multi - def validate_sheet(self, user): + def validate_sheet(self): sheet_id = self._context.get("active_id") sheet_model = self._context.get("active_model") sheet = self.env[sheet_model].browse(sheet_id) - if not user.super: + card = self.env["member.card"].search( + [("barcode", "=", self.barcode)] + ) + if not len(card): + raise UserError("Please set a correct barcode.") + user = card[0].partner_id + if not user: raise UserError( "Only super-cooperators and administrators can validate attendance sheets." ) - # Following methods call not working sheet.validated_by = user sheet.validate() def on_barcode_scanned(self, barcode): - card = self.env["member.card"].search( - [("barcode", "=", barcode)] - ) - if not len(card): - raise UserError("Please set a correct barcode.") - self.validate_sheet(card[0].partner_id) + self.barcode = barcode diff --git a/beesdoo_shift/wizard/validate_attendance_sheet.xml b/beesdoo_shift/wizard/validate_attendance_sheet.xml index dd460ff..ad1d479 100644 --- a/beesdoo_shift/wizard/validate_attendance_sheet.xml +++ b/beesdoo_shift/wizard/validate_attendance_sheet.xml @@ -9,7 +9,7 @@ - +