summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/event/models/event_event.py2
-rw-r--r--addons/mass_mailing_event/models/event.py35
-rw-r--r--addons/mass_mailing_event/views/event_views.xml7
-rw-r--r--addons/mass_mailing_event_sms/models/event.py6
4 files changed, 35 insertions, 15 deletions
diff --git a/addons/event/models/event_event.py b/addons/event/models/event_event.py
index 2e78da33d97..df2ff09af0d 100644
--- a/addons/event/models/event_event.py
+++ b/addons/event/models/event_event.py
@@ -220,7 +220,7 @@ class EventEvent(models.Model):
@api.depends('date_end', 'seats_available', 'seats_availability', 'event_ticket_ids.sale_available')
def _compute_event_registrations_open(self):
for event in self:
- event.event_registrations_open = (event.date_end > fields.Datetime.now()) and \
+ event.event_registrations_open = event.date_end and (event.date_end > fields.Datetime.now()) and \
(event.seats_available or event.seats_availability == 'unlimited') and \
(not event.event_ticket_ids or any(ticket.sale_available for ticket in event.event_ticket_ids))
diff --git a/addons/mass_mailing_event/models/event.py b/addons/mass_mailing_event/models/event.py
index 88def04d85f..648a900795b 100644
--- a/addons/mass_mailing_event/models/event.py
+++ b/addons/mass_mailing_event/models/event.py
@@ -1,22 +1,31 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
-from odoo import models
+from odoo import models, _
class Event(models.Model):
_inherit = "event.event"
def action_mass_mailing_attendees(self):
- mass_mailing_action = dict(
- name='Mass Mail Attendees',
- type='ir.actions.act_window',
- res_model='mailing.mailing',
- view_mode='form',
- target='current',
- context=dict(
- default_mailing_model_id=self.env.ref('event.model_event_registration').id,
- default_mailing_domain=repr([('event_id', 'in', self.ids)])
- ),
- )
- return mass_mailing_action
+ return {
+ 'name': 'Mass Mail Attendees',
+ 'type': 'ir.actions.act_window',
+ 'res_model': 'mailing.mailing',
+ 'view_mode': 'form',
+ 'target': 'current',
+ 'context': {
+ 'default_mailing_model_id': self.env.ref('event.model_event_registration').id,
+ 'default_mailing_domain': repr([('event_id', 'in', self.ids)])
+ },
+ }
+
+ def action_invite_contacts(self):
+ return {
+ 'name': 'Mass Mail Invitation',
+ 'type': 'ir.actions.act_window',
+ 'res_model': 'mailing.mailing',
+ 'view_mode': 'form',
+ 'target': 'current',
+ 'context': {'default_mailing_model_id': self.env.ref('base.model_res_partner').id},
+ }
diff --git a/addons/mass_mailing_event/views/event_views.xml b/addons/mass_mailing_event/views/event_views.xml
index 86b870f706a..0a24375fe1f 100644
--- a/addons/mass_mailing_event/views/event_views.xml
+++ b/addons/mass_mailing_event/views/event_views.xml
@@ -3,10 +3,15 @@
<record id="event_event_view_form_inherit_mass_mailing" model="ir.ui.view">
<field name="name">event.event.view.form.inherit.mass.mailing</field>
<field name="model">event.event</field>
- <field name="priority" eval="15"/>
+ <field name="priority" eval="4"/>
<field name="inherit_id" ref="event.view_event_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='stage_id']" position="before">
+ <field name="event_registrations_open" invisible="1"/>
+ <button name="action_invite_contacts" type="object" string="Invite"
+ class="btn btn-primary" attrs="{'invisible': [('event_registrations_open', '=', False)]}"/>
+ <button name="action_invite_contacts" type="object" string="Invite"
+ class="btn btn-secondary" attrs="{'invisible': [('event_registrations_open', '=', True)]}"/>
<button name="action_mass_mailing_attendees" string="Contact Attendees" type="object" attrs="{'invisible': [('seats_expected', '=', 0)]}"/>
</xpath>
</field>
diff --git a/addons/mass_mailing_event_sms/models/event.py b/addons/mass_mailing_event_sms/models/event.py
index e2d4df79bd6..eb4a27bc3a1 100644
--- a/addons/mass_mailing_event_sms/models/event.py
+++ b/addons/mass_mailing_event_sms/models/event.py
@@ -12,3 +12,9 @@ class Event(models.Model):
action = super(Event, self).action_mass_mailing_attendees()
action['view_id'] = self.env.ref('mass_mailing_sms.mailing_mailing_view_form_mixed').id
return action
+
+ def action_invite_contacts(self):
+ # Minimal override: set form view being the one mixing sms and mail (not prioritized one)
+ action = super(Event, self).action_invite_contacts()
+ action['view_id'] = self.env.ref('mass_mailing_sms.mailing_mailing_view_form_mixed').id
+ return action