From 9c7f5d95026d9eb1ed3faf7498b02203c4dac2dd Mon Sep 17 00:00:00 2001 From: eloyoussef Date: Fri, 23 Feb 2018 01:28:25 +0100 Subject: [PATCH] =?UTF-8?q?Verification=20si=20le=20membre=20a=20ajout?= =?UTF-8?q?=C3=A9=20depuis=20l'attente=20n'est=20pas=20sur=20l'inscription?= =?UTF-8?q?=20et=20si=20oui=20passage=20au=20suivant?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- golem_activity_queue/models/golem_activity.py | 42 +++++++++++++++---- 1 file changed, 33 insertions(+), 9 deletions(-) diff --git a/golem_activity_queue/models/golem_activity.py b/golem_activity_queue/models/golem_activity.py index dbe0ea8..61ab630 100644 --- a/golem_activity_queue/models/golem_activity.py +++ b/golem_activity_queue/models/golem_activity.py @@ -17,6 +17,7 @@ # along with this program. If not, see . from odoo import models, fields, api, _ +from odoo.exceptions import ValidationError class GolemActivity(models.Model): """ GOLEM Activity adaptations """ @@ -60,22 +61,45 @@ class GolemActivity(models.Model): + #fonction enregistrement du premier element de la liste d'ttente en inscription @api.multi def register_from_queue(self): + for record in self: + print("________________________testuii____________________________________") #recupérer la liste en file d'attente queues = record.activity_queue_ids #trier la liste selon l'id : récupérer l'ancien element queues_sorted = sorted(queues, key=lambda k: k['id']) - #valeures pour creer une inscritpion apartir de la file - values = { - 'activity_id' : queues_sorted[0].activity_id, - 'member_id' : queues_sorted[0].member_id - } - # creation d'inscription - record.activity_registration_ids = [(0, 0,values)] - #suppression de l'element de la file d'attente - record.activity_queue_ids = [(2, queues_sorted[0].id, 0)] + membre_registred = True + for queue in queues_sorted: + membre_registred = False + registrations = record.activity_registration_ids + for registration in registrations: + if queue.member_id == registration.member_id: + membre_registred = True + break + if not membre_registred: + #valeures pour creer une inscritpion apartir de la file + values = { + 'activity_id' : queue.activity_id, + 'member_id' : queue.member_id + } + # creation d'inscription + record.activity_registration_ids = [(0, 0,values)] + #suppression de l'element de la file d'attente + record.activity_queue_ids = [(2, queue.id, 0)] + break + if membre_registred: + print "diknokemekrklekrlekr" + message = _('there is no member to register for this activity' + ' from queue.') + raise ValidationError(message) + + + + + @api.multi