diff options
| author | Thibault Delavallée <tde@odoo.com> | 2020-01-09 14:29:26 +0000 |
|---|---|---|
| committer | Thibault Delavallée <tde@odoo.com> | 2020-01-10 16:06:40 +0000 |
| commit | abcd6c15cf27d0e5da77b2e08a742f40e11c4e84 (patch) | |
| tree | 123ce41b18972f5cd4ad65a24215499fe4877866 /addons/website_event_track/models | |
| parent | 59e5c8630fef744de7d1f4cdd648edd809507c6d (diff) | |
[MOV] (website_)event(_sale/_question/_track): split main model files
PURPOSE
As event will soon evolve (onchange -> compute, code improvements, addition of
new features) cleaning and improving tests is necessary to help avoid issues.
SPECIFICATIONS
As event model grow in complexity and features, it is easier to find its
way through the application with having registration model lying in its
own file to separate it from event-specific models (event.type, event.event).
Ticket (event_sale) and sponsor (website_event_track) models are also extracted
in their own file.
LINKS
LINKS
Side effect of Task ID 2089156 (event onchange to compute)
Community PR odoo/odoo#43127
Enterprise PR odoo/enterprise#7656
Diffstat (limited to 'addons/website_event_track/models')
| -rw-r--r-- | addons/website_event_track/models/__init__.py | 4 | ||||
| -rw-r--r-- | addons/website_event_track/models/event_event.py (renamed from addons/website_event_track/models/event.py) | 0 | ||||
| -rw-r--r-- | addons/website_event_track/models/event_sponsor.py | 26 | ||||
| -rw-r--r-- | addons/website_event_track/models/event_track.py | 41 | ||||
| -rw-r--r-- | addons/website_event_track/models/event_track_stage.py | 23 |
5 files changed, 52 insertions, 42 deletions
diff --git a/addons/website_event_track/models/__init__.py b/addons/website_event_track/models/__init__.py index 48beb002677..1a9f0aa1fe0 100644 --- a/addons/website_event_track/models/__init__.py +++ b/addons/website_event_track/models/__init__.py @@ -1,5 +1,7 @@ # -*- coding: utf-8 -*- # Part of Odoo. See LICENSE file for full copyright and licensing details. +from . import event_event +from . import event_sponsor from . import event_track -from . import event +from . import event_track_stage diff --git a/addons/website_event_track/models/event.py b/addons/website_event_track/models/event_event.py index 1c75e41f857..1c75e41f857 100644 --- a/addons/website_event_track/models/event.py +++ b/addons/website_event_track/models/event_event.py diff --git a/addons/website_event_track/models/event_sponsor.py b/addons/website_event_track/models/event_sponsor.py new file mode 100644 index 00000000000..53a587e1a2b --- /dev/null +++ b/addons/website_event_track/models/event_sponsor.py @@ -0,0 +1,26 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import fields, models + + +class SponsorType(models.Model): + _name = "event.sponsor.type" + _description = 'Event Sponsor Type' + _order = "sequence" + + name = fields.Char('Sponsor Type', required=True, translate=True) + sequence = fields.Integer('Sequence') + + +class Sponsor(models.Model): + _name = "event.sponsor" + _description = 'Event Sponsor' + _order = "sequence" + + event_id = fields.Many2one('event.event', 'Event', required=True) + sponsor_type_id = fields.Many2one('event.sponsor.type', 'Sponsoring Type', required=True) + partner_id = fields.Many2one('res.partner', 'Sponsor/Customer', required=True) + url = fields.Char('Sponsor Website') + sequence = fields.Integer('Sequence', store=True, related='sponsor_type_id.sequence', readonly=False) + image_128 = fields.Image(string="Logo", related='partner_id.image_128', store=True, readonly=False) diff --git a/addons/website_event_track/models/event_track.py b/addons/website_event_track/models/event_track.py index bbfdb93d369..7d7b20a72be 100644 --- a/addons/website_event_track/models/event_track.py +++ b/addons/website_event_track/models/event_track.py @@ -28,25 +28,6 @@ class TrackLocation(models.Model): name = fields.Char('Location', required=True) -class TrackStage(models.Model): - _name = 'event.track.stage' - _description = 'Event Track Stage' - _order = 'sequence, id' - - name = fields.Char(string='Stage Name', required=True, translate=True) - sequence = fields.Integer(string='Sequence', default=1) - mail_template_id = fields.Many2one( - 'mail.template', string='Email Template', - domain=[('model', '=', 'event.track')], - help="If set an email will be sent to the customer when the track reaches this step.") - fold = fields.Boolean( - string='Folded in Kanban', - help='This stage is folded in the kanban view when there are no records in that stage to display.') - is_done = fields.Boolean(string='Accepted Stage') - is_cancel = fields.Boolean(string='Canceled Stage') - color = fields.Integer(string='Color') - - class Track(models.Model): _name = "event.track" _description = 'Event Track' @@ -194,25 +175,3 @@ class Track(models.Model): 'view_id': False, 'type': 'ir.actions.act_window', } - - -class SponsorType(models.Model): - _name = "event.sponsor.type" - _description = 'Event Sponsor Type' - _order = "sequence" - - name = fields.Char('Sponsor Type', required=True, translate=True) - sequence = fields.Integer('Sequence') - - -class Sponsor(models.Model): - _name = "event.sponsor" - _description = 'Event Sponsor' - _order = "sequence" - - event_id = fields.Many2one('event.event', 'Event', required=True) - sponsor_type_id = fields.Many2one('event.sponsor.type', 'Sponsoring Type', required=True) - partner_id = fields.Many2one('res.partner', 'Sponsor/Customer', required=True) - url = fields.Char('Sponsor Website') - sequence = fields.Integer('Sequence', store=True, related='sponsor_type_id.sequence', readonly=False) - image_128 = fields.Image(string="Logo", related='partner_id.image_128', store=True, readonly=False) diff --git a/addons/website_event_track/models/event_track_stage.py b/addons/website_event_track/models/event_track_stage.py new file mode 100644 index 00000000000..c019c32536d --- /dev/null +++ b/addons/website_event_track/models/event_track_stage.py @@ -0,0 +1,23 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from odoo import fields, models + + +class TrackStage(models.Model): + _name = 'event.track.stage' + _description = 'Event Track Stage' + _order = 'sequence, id' + + name = fields.Char(string='Stage Name', required=True, translate=True) + sequence = fields.Integer(string='Sequence', default=1) + mail_template_id = fields.Many2one( + 'mail.template', string='Email Template', + domain=[('model', '=', 'event.track')], + help="If set an email will be sent to the customer when the track reaches this step.") + fold = fields.Boolean( + string='Folded in Kanban', + help='This stage is folded in the kanban view when there are no records in that stage to display.') + is_done = fields.Boolean(string='Accepted Stage') + is_cancel = fields.Boolean(string='Canceled Stage') + color = fields.Integer(string='Color') |
