diff --git a/golem_activity_queue/__manifest__.py b/golem_activity_queue/__manifest__.py index 128de52..60ec6b3 100644 --- a/golem_activity_queue/__manifest__.py +++ b/golem_activity_queue/__manifest__.py @@ -25,5 +25,7 @@ 'application': True, 'installable': True, 'depends': ['golem_activity', 'golem_activity_registration'], - 'data': ['views/golem_activity_queue_views.xml'] + 'data': ['views/golem_activity_queue_views.xml', + 'views/golem_activity_views.xml', + ] } diff --git a/golem_activity_queue/models/golem_activity_queue.py b/golem_activity_queue/models/golem_activity_queue.py index 5871b0d..ad3a43d 100644 --- a/golem_activity_queue/models/golem_activity_queue.py +++ b/golem_activity_queue/models/golem_activity_queue.py @@ -19,14 +19,69 @@ from odoo import models, fields, api, _ +class YesNoQueuePopUp(models.TransientModel): + """GOLEM Resource wizard""" + _name = "golem.queuepopup" + + + yes_no = fields.Char(default='Do you want to proceed?') + + @api.multi + def yes(self): + pass + # sure continue! + + @api.multi + def no(self): + pass # don't do anything stupid + + class GolemActivity(models.Model): - """ GOLEM Activity """ - _name = 'golem.activity' + """ GOLEM Activity adaptations """ + _inherit = 'golem.activity' + #ajout d'un champs O2M vers activity_id activity_queue_id = fields.One2many('golem.activity.queue', 'activity_id') # un boolen pour determiner si une fille d'attente est autorisé - allows_queue = fields.Boolean(required=False) + queue_allowed = fields.Boolean(default=True) + + @api.multi + @api.constrains('places_remain') + def _check_remaining_places(self): + """ Forbid inscription when there is no more place """ + for activity in self: + if activity.places_remain < 5: + + if self.queue_allowed: + print "__________________________ test ______________________" + return { + 'name' : _('Please enter the reseaon of rejection'), + 'type' : 'ir.actions.act_window', + 'res_model' : 'golem.queuepopup', + 'view_mode': 'form', + 'view_type': 'form', + 'target': 'new', + } + + return { + 'name' : _('Do you want to add your registration to the queue?'), + 'type' : 'ir.actions.act_window', + 'res_model' : 'golem.queuepopup', + 'view_mode': 'form', + 'view_type': 'form', + 'target': 'new', + } + print "________________________________test 2 __________________" + + + else: + emsg = _('Sorry, there is no more place man !') + raise models.ValidationError(emsg) + + + + class GolemActivityQueue(models.Model): """ GOLEM Activity Queue """ @@ -34,5 +89,5 @@ class GolemActivityQueue(models.Model): _description = 'GOLEM Activity Queue' activity_id = fields.Many2one('golem.activity', required=True) - season_id = fields.Many2one('golem.season', related='golem.activity.season_id') + season_id = fields.Many2one(related='activity_id.season_id') member_id = fields.Many2one('golem.member', required=True) diff --git a/golem_activity_queue/views/golem_activity_queue_views.xml b/golem_activity_queue/views/golem_activity_queue_views.xml new file mode 100644 index 0000000..0ab8d6f --- /dev/null +++ b/golem_activity_queue/views/golem_activity_queue_views.xml @@ -0,0 +1,26 @@ + + + + + + + + + + + diff --git a/golem_activity_queue/views/golem_activity_views.xml b/golem_activity_queue/views/golem_activity_views.xml new file mode 100644 index 0000000..d259888 --- /dev/null +++ b/golem_activity_queue/views/golem_activity_views.xml @@ -0,0 +1,48 @@ + + + + + + + Activity Registrations and Places + golem.activity + + + + + + + + + + queuepopup.form + golem.queuepopup + form + +
+ + + +
+
+
+