[IMP] event: Improve the settings form view

This commit is contained in:
Kishan Gajjar
2017-01-12 13:13:27 +01:00
committed by Yannick Tivisse
parent 402379a48a
commit bf82638bb0
6 changed files with 120 additions and 52 deletions
+1 -1
View File
@@ -9,7 +9,7 @@
</function>
<!-- Automatic confirmation of events by default -->
<function id="default_auto_confirmation" model="ir.values" name="set_default" eval="('event.config.settings', 'auto_confirmation', True)"/>
<function id="default_auto_confirmation" model="ir.values" name="set_default" eval="('event.config.settings', 'default_auto_confirmation', True)"/>
<!-- Event Mail Scheduler-->
<record model="ir.cron" forcecreate="True" id="event_mail_scheduler">
+8 -31
View File
@@ -1,38 +1,15 @@
# -*- coding: utf-8 -*-
from odoo import api, fields, models
from odoo import fields, models
class event_config_settings(models.TransientModel):
_name = 'event.config.settings'
_inherit = 'res.config.settings'
module_event_sale = fields.Selection([
(0, "All events are free"),
(1, 'Allow selling tickets')
], "Tickets",
help='Install the event_sale module')
module_website_event_track = fields.Selection([
(0, "No mini website per event"),
(1, 'Allow tracks, agenda and dedicated menus/website per event')
], "Tracks and Agenda",
help='Install the module website_event_track')
module_website_event_questions = fields.Selection([
(0, "No extra questions on registrations"),
(1, 'Allow adding extra questions on registrations')
], "Registration Survey",
help='Install the website_event_questions module')
auto_confirmation = fields.Selection([
(1, 'No validation step on registration'),
(0, "Manually confirm every registration")
], "Auto Confirmation",
help='Unselect this option to manually manage draft event and draft registration')
module_event_barcode = fields.Boolean("Scan badges to confirm attendances",
help="Install the event_barcode module")
@api.multi
def set_default_auto_confirmation(self):
if self.env.user._is_admin() or self.env['res.users'].has_group('event.group_event_manager'):
IrValues = self.env['ir.values'].sudo()
else:
IrValues = self.env['ir.values']
IrValues.set_default('event.config.settings', 'auto_confirmation', self.auto_confirmation)
module_event_sale = fields.Boolean("Tickets")
module_website_event_track = fields.Boolean("Tracks and Agenda")
module_website_event_questions = fields.Boolean("Registration Survey")
default_auto_confirmation = fields.Boolean("Auto Confirmation", default_model='event.config.settings')
module_event_barcode = fields.Boolean("Barcode")
module_website_event = fields.Boolean("Online Events")
module_website_event_sale = fields.Boolean("Online Ticketing")
+2 -2
View File
@@ -16,7 +16,7 @@ class TestEventFlow(TestEventCommon):
def test_00_basic_event_auto_confirm(self):
""" Basic event management with auto confirmation """
event_config = self.env['event.config.settings'].sudo(self.user_eventmanager).create({
'auto_confirmation': 1
'default_auto_confirmation': 1
})
event_config.execute()
@@ -114,7 +114,7 @@ class TestEventFlow(TestEventCommon):
]})
with self.assertRaises(AccessError):
event_config = self.env['event.config.settings'].sudo(self.user_eventmanager).create({
'auto_confirmation': 1
'default_auto_confirmation': 1
})
event_config.execute()
@@ -1,27 +1,92 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<record id="view_event_configuration" model="ir.ui.view">
<field name="name">Configure Event</field>
<record id="event_config_settings_view_form" model="ir.ui.view">
<field name="name">event.config.settings.form</field>
<field name="model">event.config.settings</field>
<field name="inherit_id" eval="False"/>
<field name="arch" type="xml">
<form class="oe_form_configuration">
<header>
<button string="Apply" type="object" name="execute" class="oe_highlight"/>
<button string="Cancel" type="object" name="cancel" class="oe_link"/>
</header>
<group string="Events">
<field name="module_event_sale" widget="radio"/>
<field name="module_website_event_track" widget="radio"/>
<field name="module_website_event_questions" widget="radio"/>
<field name="auto_confirmation" widget="radio"/>
<label for="id" string="Barcode Interface"/>
<div class="o_row">
<field name="module_event_barcode" widget="upgrade_boolean"/>
<label for="module_event_barcode"/>
<form String="Event settings" class="oe_form_configuration">
<header>
<button string="Save" type="object" name="execute" class="oe_highlight"/>
<button string="Cancel" type="object" name="cancel" class="oe_link"/>
</header>
<sheet>
<h2>Advertising</h2>
<div class="row mt16 o_settings_container">
<div class="col-xs-12 col-md-6 o_setting_box">
<div class="o_setting_left_pane">
<field name="module_website_event"/>
</div>
<div class="o_setting_right_pane">
<label for="module_website_event"/>
<div class="text-muted">
Publish events on your website
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box" title="Add a navigation menu to your event web pages with an agenda, tracks, a track proposal form, etc.">
<div class="o_setting_left_pane">
<field name="module_website_event_track"/>
</div>
<div class="o_setting_right_pane">
<label string="Agenda &amp; Tracks" for="module_website_event_track"/>
<div class="text-muted">
Manage &amp; publish an agenda with tracks
</div>
</div>
</div>
</div>
</group>
<h2>Registration</h2>
<div class="row mt16 o_settings_container">
<div class="col-xs-12 col-md-6 o_setting_box">
<div class="o_setting_left_pane">
<field name="module_event_sale"/>
</div>
<div class="o_setting_right_pane">
<label for="module_event_sale"/>
<div class="text-muted">
Sell tickets with sales orders
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box">
<div class="o_setting_left_pane">
<field name="module_website_event_sale"/>
</div>
<div class="o_setting_right_pane">
<label for="module_website_event_sale"/>
<div class="text-muted">
Sell tickets on your website
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box" id="default_auto_confirmation" title="Uncheck this option to manually manage draft event and draft registration.">
<div class="o_setting_left_pane">
<field name="default_auto_confirmation"/>
</div>
<div class="o_setting_right_pane">
<label for="default_auto_confirmation"/>
<div class="text-muted">
Confirm registrations automatically
</div>
</div>
</div>
</div>
<h2>Attendance</h2>
<div class="row mt16 o_settings_container">
<div class="col-xs-12 col-md-6 o_setting_box">
<div class="o_setting_left_pane">
<field name="module_event_barcode" widget="upgrade_boolean"/>
</div>
<div class="o_setting_right_pane">
<label for="module_event_barcode"/>
<div class="text-muted">
Scan badges to confirm attendances
</div>
</div>
</div>
</div>
</sheet>
</form>
</field>
</record>
+1
View File
@@ -12,6 +12,7 @@ Online Events
'depends': ['website', 'website_partner', 'website_mail', 'event'],
'data': [
'data/website_event_data.xml',
'views/event_config_settings_views.xml',
'views/website_event_templates.xml',
'views/website_event_views.xml',
'security/ir.model.access.csv',
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="event_config_settings_view_form_inherit_website_event" model="ir.ui.view">
<field name="name">event.config.settings.form.inherit.website.event</field>
<field name="model">event.config.settings</field>
<field name="inherit_id" ref="event.event_config_settings_view_form"/>
<field name="arch" type="xml">
<div id="default_auto_confirmation" position="before">
<div class="col-xs-12 col-md-6 o_setting_box">
<div class="o_setting_left_pane">
<field name="module_website_event_questions"/>
</div>
<div class="o_setting_right_pane">
<label string="Questions" for="module_website_event_questions"/>
<div class="text-muted">
Ask questions to attendees when registering online
</div>
</div>
</div>
</div>
</field>
</record>
</odoo>