This commit revamps the event template form to be similar to the event form itself and removes unnecessary fields, purpose is to give more clarity to the user. It also fixes the order of the fields in the event form to be exactly the same as in the front-end, so that the user don't get confused. Task-2541208 closes odoo/odoo#71856 Ent-pr: https://github.com/odoo/enterprise/pull/19128 Upg-pr: https://github.com/odoo/upgrade/pull/2516 Related: odoo/enterprise#19128 Related: odoo/upgrade#2516 Signed-off-by: Thibault Delavallee (tde) <tde@openerp.com>
112 lines
4.7 KiB
Python
112 lines
4.7 KiB
Python
# -*- coding: utf-8 -*-
|
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
|
|
|
from datetime import datetime, timedelta
|
|
|
|
from odoo import fields
|
|
from odoo.addons.mail.tests.common import mail_new_test_user
|
|
from odoo.tests import common
|
|
|
|
|
|
class TestEventCommon(common.TransactionCase):
|
|
|
|
@classmethod
|
|
def setUpClass(cls):
|
|
super(TestEventCommon, cls).setUpClass()
|
|
|
|
# Test users to use through the various tests
|
|
cls.user_portal = mail_new_test_user(
|
|
cls.env, login='portal_test',
|
|
name='Patrick Portal', email='patrick.portal@test.example.com',
|
|
notification_type='email', company_id=cls.env.ref("base.main_company").id,
|
|
groups='base.group_portal')
|
|
cls.user_employee = mail_new_test_user(
|
|
cls.env, login='user_employee',
|
|
name='Eglantine Employee', email='eglantine.employee@test.example.com',
|
|
tz='Europe/Brussels', notification_type='inbox',
|
|
company_id=cls.env.ref("base.main_company").id,
|
|
groups='base.group_user',
|
|
)
|
|
cls.user_eventregistrationdesk = mail_new_test_user(
|
|
cls.env, login='user_eventregistrationdesk',
|
|
name='Ursule EventRegistration', email='ursule.eventregistration@test.example.com',
|
|
tz='Europe/Brussels', notification_type='inbox',
|
|
company_id=cls.env.ref("base.main_company").id,
|
|
groups='base.group_user,event.group_event_registration_desk',
|
|
)
|
|
cls.user_eventuser = mail_new_test_user(
|
|
cls.env, login='user_eventuser',
|
|
name='Ursule EventUser', email='ursule.eventuser@test.example.com',
|
|
tz='Europe/Brussels', notification_type='inbox',
|
|
company_id=cls.env.ref("base.main_company").id,
|
|
groups='base.group_user,event.group_event_user',
|
|
)
|
|
cls.user_eventmanager = mail_new_test_user(
|
|
cls.env, login='user_eventmanager',
|
|
name='Martine EventManager', email='martine.eventmanager@test.example.com',
|
|
tz='Europe/Brussels', notification_type='inbox',
|
|
company_id=cls.env.ref("base.main_company").id,
|
|
groups='base.group_user,event.group_event_manager',
|
|
)
|
|
|
|
cls.event_customer = cls.env['res.partner'].create({
|
|
'name': 'Constantin Customer',
|
|
'email': 'constantin@test.example.com',
|
|
'country_id': cls.env.ref('base.be').id,
|
|
'phone': '0485112233',
|
|
'mobile': False,
|
|
})
|
|
cls.event_customer2 = cls.env['res.partner'].create({
|
|
'name': 'Constantin Customer 2',
|
|
'email': 'constantin2@test.example.com',
|
|
'country_id': cls.env.ref('base.be').id,
|
|
'phone': '0456987654',
|
|
'mobile': '0456654321',
|
|
})
|
|
|
|
cls.event_type_complex = cls.env['event.type'].create({
|
|
'name': 'Update Type',
|
|
'auto_confirm': True,
|
|
'has_seats_limitation': True,
|
|
'seats_max': 30,
|
|
'default_timezone': 'Europe/Paris',
|
|
'event_type_ticket_ids': [(0, 0, {
|
|
'name': 'First Ticket',
|
|
}), (0, 0, {
|
|
'name': 'Second Ticket',
|
|
})
|
|
],
|
|
'event_type_mail_ids': [
|
|
(0, 0, { # right at subscription
|
|
'interval_unit': 'now',
|
|
'interval_type': 'after_sub',
|
|
'template_id': cls.env['ir.model.data'].xmlid_to_res_id('event.event_subscription')}),
|
|
(0, 0, { # 1 days before event
|
|
'interval_nbr': 1,
|
|
'interval_unit': 'days',
|
|
'interval_type': 'before_event',
|
|
'template_id': cls.env['ir.model.data'].xmlid_to_res_id('event.event_reminder')}),
|
|
],
|
|
})
|
|
cls.event_0 = cls.env['event.event'].create({
|
|
'name': 'TestEvent',
|
|
'auto_confirm': True,
|
|
'date_begin': fields.Datetime.to_string(datetime.today() + timedelta(days=1)),
|
|
'date_end': fields.Datetime.to_string(datetime.today() + timedelta(days=15)),
|
|
'date_tz': 'Europe/Brussels',
|
|
})
|
|
|
|
# set country in order to format Belgian numbers
|
|
cls.event_0.company_id.write({'country_id': cls.env.ref('base.be').id})
|
|
|
|
@classmethod
|
|
def _create_registrations(cls, event, reg_count):
|
|
# create some registrations
|
|
registrations = cls.env['event.registration'].create([{
|
|
'event_id': event.id,
|
|
'name': 'Test Registration %s' % x,
|
|
'email': '_test_reg_%s@example.com' % x,
|
|
'phone': '04560000%s%s' % (x, x),
|
|
} for x in range(0, reg_count)])
|
|
return registrations
|