diff --git a/addons/event/models/event.py b/addons/event/models/event.py index ff3ba12f57a..17abb5c1268 100644 --- a/addons/event/models/event.py +++ b/addons/event/models/event.py @@ -276,6 +276,9 @@ class EventEvent(models.Model): for attendee in self.registration_ids.filtered(filter_func): self.env['mail.template'].browse(template_id).send_mail(attendee.id, force_send=force_send) + @api.multi + def _is_event_registrable(self): + return True class EventRegistration(models.Model): _name = 'event.registration' diff --git a/addons/event_sale/models/event.py b/addons/event_sale/models/event.py index 1110072837d..0021bdbf022 100644 --- a/addons/event_sale/models/event.py +++ b/addons/event_sale/models/event.py @@ -24,6 +24,12 @@ class Event(models.Model): event_ticket_ids = fields.One2many('event.event.ticket', 'event_id', string='Event Ticket', default=lambda self: self._default_tickets(), copy=True) + @api.multi + def _is_event_registrable(self): + self.ensure_one() + if not self.event_ticket_ids: + return True + return all(self.event_ticket_ids.with_context(active_test=False).mapped(lambda t: t.product_id.active)) class EventTicket(models.Model): diff --git a/addons/website_event/controllers/main.py b/addons/website_event/controllers/main.py index 9970d7f511e..045402055cc 100644 --- a/addons/website_event/controllers/main.py +++ b/addons/website_event/controllers/main.py @@ -165,13 +165,11 @@ class WebsiteEventController(http.Controller): @http.route(['/event//register'], type='http', auth="public", website=True) def event_register(self, event, **post): - if event.state == 'done': - return request.redirect("/event/%s" % slug(event)) - values = { 'event': event, 'main_object': event, 'range': range, + 'registrable': event._is_event_registrable() } return request.render("website_event.event_description_full", values) diff --git a/addons/website_event/views/website_event_templates.xml b/addons/website_event/views/website_event_templates.xml index 918c59e3d1e..f260c8506a5 100644 --- a/addons/website_event/views/website_event_templates.xml +++ b/addons/website_event/views/website_event_templates.xml @@ -303,7 +303,8 @@