[MOV] (website_)event(_online): move tag color field to event

PURPOSE

Clean organization and models linked to Event Online feature introduced in
semi stable saas-13.3 at odoo/odoo@981f95bbf4 and odoo/enterprise@14722028ae

Also clean website event menu not being available in website event but only
in website event track, which implies some extra-code to manage it.

In short: merge website_event_online in website_event, website_event_track
_(online/session) in website_event_track.

RATIONALE

_online modules have been added to extend content of website_event and
website_event_track without having any impact on those module. First step
of cleaning is to move this content directly in base module.

track_session module is mainly a rewrite of track module. Second step of
cleaning is to move its content directly in website_event_track.

SPECIFICATIONS

Move event.tag color field from website event online to event. This field is
part of standard event models.

LINKS

Task ID-2319779
COM odoo/odoo#56067
ENT odoo/enterprise#12520
UPG odoo/upgrade#1654
This commit is contained in:
Thibault Delavallée
2020-08-21 17:30:13 +00:00
parent 77d7a3cf6a
commit d697966585
12 changed files with 25 additions and 124 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
{
'name': 'Events Organization',
'version': '1.2',
'version': '1.3',
'website': 'https://www.odoo.com/page/events',
'category': 'Marketing/Events',
'summary': 'Trainings, Conferences, Meetings, Exhibitions, Registrations',
+9
View File
@@ -42,51 +42,60 @@
<field name="name">5-10</field>
<field name="sequence">1</field>
<field name="category_id" ref="event_tag_category_1"/>
<field name="color">1</field>
</record>
<record id="event_tag_category_1_tag_2" model="event.tag">
<field name="name">10-14</field>
<field name="sequence">2</field>
<field name="category_id" ref="event_tag_category_1"/>
<field name="color">2</field>
</record>
<record id="event_tag_category_1_tag_3" model="event.tag">
<field name="name">15-18</field>
<field name="sequence">3</field>
<field name="category_id" ref="event_tag_category_1"/>
<field name="color">3</field>
</record>
<record id="event_tag_category_1_tag_4" model="event.tag">
<field name="name">18+</field>
<field name="sequence">4</field>
<field name="category_id" ref="event_tag_category_1"/>
<field name="color">4</field>
</record>
<record id="event_tag_category_2_tag_1" model="event.tag">
<field name="name">Culture</field>
<field name="sequence">10</field>
<field name="category_id" ref="event_tag_category_2"/>
<field name="color">5</field>
</record>
<record id="event_tag_category_2_tag_2" model="event.tag">
<field name="name">Music</field>
<field name="sequence">11</field>
<field name="category_id" ref="event_tag_category_2"/>
<field name="color">6</field>
</record>
<record id="event_tag_category_2_tag_3" model="event.tag">
<field name="name">Sport</field>
<field name="sequence">12</field>
<field name="category_id" ref="event_tag_category_2"/>
<field name="color">7</field>
</record>
<record id="event_tag_category_3_tag_1" model="event.tag">
<field name="name">Online</field>
<field name="sequence">20</field>
<field name="category_id" ref="event_tag_category_3"/>
<field name="color">8</field>
</record>
<record id="event_tag_category_3_tag_2" model="event.tag">
<field name="name">Conference</field>
<field name="sequence">21</field>
<field name="category_id" ref="event_tag_category_3"/>
<field name="color">9</field>
</record>
</data></odoo>
+9 -1
View File
@@ -1,7 +1,9 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import _, api, fields, models
from random import randint
from odoo import api, fields, models
class EventTagCategory(models.Model):
@@ -18,9 +20,15 @@ class EventTag(models.Model):
_description = "Event Tag"
_order = "sequence"
def _default_color(self):
return randint(1, 11)
name = fields.Char("Name", required=True, translate=True)
sequence = fields.Integer('Sequence', default=0)
category_id = fields.Many2one("event.tag.category", string="Category", required=True, ondelete='cascade')
color = fields.Integer(
string='Color Index', default=lambda self: self._default_color(),
help='Tag color. No color means no display in kanban or front-end, to distinguish internal tags from public categorization tags.')
def name_get(self):
return [(tag.id, "%s: %s" % (tag.category_id.name, tag.name)) for tag in self]
+4 -1
View File
@@ -9,7 +9,7 @@
<tree string="Event Category">
<field name="sequence" widget="handle"/>
<field name="name"/>
<field name="tag_ids" widget="many2many_tags" />
<field name="tag_ids" widget="many2many_tags" options="{'color_field': 'color'}"/>
</tree>
</field>
</record>
@@ -28,6 +28,7 @@
<tree string="Tags" editable="bottom">
<field name="sequence" widget="handle"/>
<field name="name"/>
<field name="color" widget="color_picker"/>
</tree>
</field>
</group>
@@ -51,6 +52,7 @@
<field name="sequence" widget="handle"/>
<field name="name"/>
<field name="category_id"/>
<field name="color" widget="color_picker"/>
</tree>
</field>
</record>
@@ -64,6 +66,7 @@
<group>
<field name="name"/>
<field name="category_id" widget="many2one"/>
<field name="color" widget="color_picker"/>
</group>
</sheet>
</form>
+2 -2
View File
@@ -78,7 +78,7 @@
<label for="tag_ids" string="Tags"/>
<div class="row">
<div class="col-12 mt16">
<field name="tag_ids" widget="many2many_tags" options="{'no_quick_create': True}"/>
<field name="tag_ids" widget="many2many_tags" options="{'color_field': 'color', 'no_quick_create': True}"/>
</div>
</div>
</div>
@@ -232,7 +232,7 @@
</div>
<field name="date_tz"/>
<field name="event_type_id" string="Template" options="{'no_create':True}"/>
<field name="tag_ids" widget="many2many_tags" options="{'no_quick_create': True}"/>
<field name="tag_ids" widget="many2many_tags" options="{'color_field': 'color', 'no_quick_create': True}"/>
</group>
<group>
<field name="organizer_id"/>
@@ -19,8 +19,6 @@
'views/assets.xml',
'views/event_event_views.xml',
'views/event_registration_views.xml',
'views/event_tag_views.xml',
'views/event_type_views.xml',
'views/website_visitor_views.xml',
'views/event_templates_event.xml',
'views/event_templates_widgets.xml',
@@ -29,7 +27,6 @@
'data/website_visitor_demo.xml',
'data/event_demo.xml',
'data/event_registration_demo.xml',
'data/event_tag_demo.xml',
],
'application': False,
'installable': True,
@@ -1,32 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="event.event_tag_category_1_tag_1" model="event.tag">
<field name="color">1</field>
</record>
<record id="event.event_tag_category_1_tag_2" model="event.tag">
<field name="color">2</field>
</record>
<record id="event.event_tag_category_1_tag_3" model="event.tag">
<field name="color">3</field>
</record>
<record id="event.event_tag_category_1_tag_4" model="event.tag">
<field name="color">4</field>
</record>
<record id="event.event_tag_category_2_tag_1" model="event.tag">
<field name="color">5</field>
</record>
<record id="event.event_tag_category_2_tag_2" model="event.tag">
<field name="color">6</field>
</record>
<record id="event.event_tag_category_2_tag_3" model="event.tag">
<field name="color">7</field>
</record>
<record id="event.event_tag_category_3_tag_1" model="event.tag">
<field name="color">8</field>
</record>
<record id="event.event_tag_category_3_tag_2" model="event.tag">
<field name="color">9</field>
</record>
</odoo>
@@ -3,5 +3,4 @@
from . import event_event
from . import event_registration
from . import event_tag
from . import website_visitor
@@ -1,17 +0,0 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from random import randint
from odoo import models, fields
class EventTag(models.Model):
_inherit = ['event.tag']
def _default_color(self):
return randint(1, 11)
color = fields.Integer(
string='Color Index', default=lambda self: self._default_color(),
help='Tag color. No color means no display in kanban or front-end, to distinguish internal tags from public categorization tags.')
@@ -12,9 +12,6 @@
<field name="menu_register_cta"/>
</div>
</xpath>
<xpath expr="//field[@name='tag_ids']" position="attributes">
<attribute name="options">{'color_field': 'color', 'no_quick_create': True}</attribute>
</xpath>
</field>
</record>
@@ -1,48 +0,0 @@
<?xml version="1.0"?>
<odoo><data>
<record id="event_tag_category_view_form" model="ir.ui.view">
<field name="name">event.tag.category.view.form.inherit.online</field>
<field name="model">event.tag.category</field>
<field name="inherit_id" ref="event.event_tag_category_view_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='tag_ids']//field[@name='name']" position="after">
<field name="color" widget="color_picker"/>
</xpath>
</field>
</record>
<record id="event_tag_category_view_list" model="ir.ui.view">
<field name="name">event.tag.category.view.tree.inherit.online</field>
<field name="model">event.tag.category</field>
<field name="inherit_id" ref="event.event_tag_category_view_tree"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='tag_ids']" position="attributes">
<attribute name="widget">many2many_tags</attribute>
<attribute name="options">{'color_field': 'color'}</attribute>
</xpath>
</field>
</record>
<record id="event_tag_view_list" model="ir.ui.view">
<field name="name">event.tag.view.list.inherit.online</field>
<field name="model">event.tag</field>
<field name="inherit_id" ref="event.event_tag_view_tree"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='category_id']" position="after">
<field name="color" widget="color_picker"/>
</xpath>
</field>
</record>
<record id="event_tag_view_form" model="ir.ui.view">
<field name="name">event.tag.view.form.inherit.online</field>
<field name="model">event.tag</field>
<field name="inherit_id" ref="event.event_tag_view_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='category_id']" position="after">
<field name="color" widget="color_picker"/>
</xpath>
</field>
</record>
</data></odoo>
@@ -1,15 +0,0 @@
<?xml version="1.0"?>
<odoo><data>
<record id="event_type_view_form" model="ir.ui.view" >
<field name="name">event.type.view.form.inherit.online</field>
<field name="model">event.type</field>
<field name="inherit_id" ref="event.view_event_type_form"/>
<field name="arch" type="xml">
<xpath expr="//field[@name='tag_ids']" position="attributes">
<attribute name="options">{'color_field': 'color', 'no_quick_create': True}</attribute>
</xpath>
</field>
</record>
</data></odoo>