From cee2b11da2de2f7ead795ebebbc47bf1fd23a10a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Wed, 1 Apr 2020 14:28:48 +0000 Subject: [PATCH] [FIX] event_*: remove now unnecessary copy=True Commit 397872a07fe22afa7d83b3170e3b037be1ae607a remove most onchange in event related modules to replace them by computed r+w stored fields. At that time copy was by default set to False for computed fields as resulting of standard behavior. Since 4b274d3b4101fbae154a572cdf40d23838899773 this is not True anymore as we consider those fields are duplicable. We can therefore remove unnecessary copy=True on fields to clean their definitions. Task ID 2228189 Community PR odoo/odoo#48652 X-original-commit: c6b378987bd3351deba7770b51c2a5755f7ff341 --- addons/event/models/event_event.py | 11 +++++------ addons/event/models/event_registration.py | 10 +++++----- addons/event_sale/models/event_registration.py | 6 +++--- addons/event_sale/models/event_ticket.py | 4 ++-- addons/website_event_track/models/event_event.py | 8 ++++---- addons/website_event_track/models/event_track.py | 6 +++--- 6 files changed, 22 insertions(+), 23 deletions(-) diff --git a/addons/event/models/event_event.py b/addons/event/models/event_event.py index 89d31e3c8da..00ca45c62a7 100644 --- a/addons/event/models/event_event.py +++ b/addons/event/models/event_event.py @@ -37,7 +37,7 @@ class EventType(models.Model): has_seats_limitation = fields.Boolean('Limited Seats') seats_max = fields.Integer( 'Maximum Registrations', compute='_compute_default_registration', - copy=True, readonly=False, store=True, + readonly=False, store=True, help="It will select this default maximum value when you choose this event") auto_confirm = fields.Boolean( 'Automatically Confirm Registrations', default=True, @@ -139,10 +139,10 @@ class EventEvent(models.Model): # Seats and computation seats_max = fields.Integer( string='Maximum Attendees Number', - compute='_compute_from_event_type', copy=True, readonly=False, store=True, + compute='_compute_from_event_type', readonly=False, store=True, help="For each event you can define a maximum registration of seats(number of attendees), above this numbers the registrations are not accepted.") seats_limited = fields.Boolean('Maximum Attendees', required=True, compute='_compute_seats_limited', - copy=True, readonly=False, store=True) + readonly=False, store=True) seats_reserved = fields.Integer( string='Reserved Seats', store=True, readonly=True, compute='_compute_seats') @@ -160,8 +160,7 @@ class EventEvent(models.Model): compute_sudo=True, readonly=True, compute='_compute_seats') # Registration fields auto_confirm = fields.Boolean( - string='Autoconfirmation', - compute='_compute_from_event_type', copy=True, readonly=False, store=True, + string='Autoconfirmation', compute='_compute_from_event_type', readonly=False, store=True, help='Autoconfirm Registrations. Registrations will automatically be confirmed upon creation.') registration_ids = fields.One2many('event.registration', 'event_id', string='Attendees') event_ticket_ids = fields.One2many( @@ -179,7 +178,7 @@ class EventEvent(models.Model): # Date fields date_tz = fields.Selection( _tz_get, string='Timezone', required=True, - compute='_compute_date_tz', copy=True, readonly=False, store=True) + compute='_compute_date_tz', readonly=False, store=True) date_begin = fields.Datetime(string='Start Date', required=True, tracking=True) date_end = fields.Datetime(string='End Date', required=True, tracking=True) date_begin_located = fields.Char(string='Start Date Located', compute='_compute_date_begin_tz') diff --git a/addons/event/models/event_registration.py b/addons/event/models/event_registration.py index c5366c8acc9..3f13a2917c9 100644 --- a/addons/event/models/event_registration.py +++ b/addons/event/models/event_registration.py @@ -32,15 +32,15 @@ class EventRegistration(models.Model): states={'done': [('readonly', True)]}) name = fields.Char( string='Attendee Name', index=True, - compute='_compute_contact_info', copy=True, readonly=False, store=True, tracking=10) - email = fields.Char(string='Email', compute='_compute_contact_info', copy=True, readonly=False, store=True, tracking=11) - phone = fields.Char(string='Phone', compute='_compute_contact_info', copy=True, readonly=False, store=True, tracking=12) - mobile = fields.Char(string='Mobile', compute='_compute_contact_info', copy=True, readonly=False, store=True, tracking=13) + compute='_compute_contact_info', readonly=False, store=True, tracking=10) + email = fields.Char(string='Email', compute='_compute_contact_info', readonly=False, store=True, tracking=11) + phone = fields.Char(string='Phone', compute='_compute_contact_info', readonly=False, store=True, tracking=12) + mobile = fields.Char(string='Mobile', compute='_compute_contact_info', readonly=False, store=True, tracking=13) # organization date_open = fields.Datetime(string='Registration Date', readonly=True, default=lambda self: fields.Datetime.now()) # weird crash is directly now date_closed = fields.Datetime( string='Attended Date', compute='_compute_date_closed', - copy=True, readonly=False, store=True) + readonly=False, store=True) event_begin_date = fields.Datetime(string="Event Start Date", related='event_id.date_begin', readonly=True) event_end_date = fields.Datetime(string="Event End Date", related='event_id.date_end', readonly=True) company_id = fields.Many2one( diff --git a/addons/event_sale/models/event_registration.py b/addons/event_sale/models/event_registration.py index c8bcd955252..1b1da76f4fc 100644 --- a/addons/event_sale/models/event_registration.py +++ b/addons/event_sale/models/event_registration.py @@ -12,9 +12,9 @@ class EventRegistration(models.Model): # TDE FIXME: maybe add an onchange on sale_order_id sale_order_id = fields.Many2one('sale.order', string='Source Sales Order', ondelete='cascade') sale_order_line_id = fields.Many2one('sale.order.line', string='Sales Order Line', ondelete='cascade') - utm_campaign_id = fields.Many2one(compute='_compute_utm_campaign_id', copy=True, readonly=False, store=True) - utm_source_id = fields.Many2one(compute='_compute_utm_source_id', copy=True, readonly=False, store=True) - utm_medium_id = fields.Many2one(compute='_compute_utm_medium_id', copy=True, readonly=False, store=True) + utm_campaign_id = fields.Many2one(compute='_compute_utm_campaign_id', readonly=False, store=True) + utm_source_id = fields.Many2one(compute='_compute_utm_source_id', readonly=False, store=True) + utm_medium_id = fields.Many2one(compute='_compute_utm_medium_id', readonly=False, store=True) @api.depends('sale_order_id') def _compute_utm_campaign_id(self): diff --git a/addons/event_sale/models/event_ticket.py b/addons/event_sale/models/event_ticket.py index 2e6ab3410a8..0b899f79269 100644 --- a/addons/event_sale/models/event_ticket.py +++ b/addons/event_sale/models/event_ticket.py @@ -14,14 +14,14 @@ class EventTemplateTicket(models.Model): def _default_product_id(self): return self.env.ref('event_sale.product_product_event', raise_if_not_found=False) - description = fields.Text(compute='_compute_description', copy=True, readonly=False, store=True) + description = fields.Text(compute='_compute_description', readonly=False, store=True) # product product_id = fields.Many2one( 'product.product', string='Product', required=True, domain=[("event_ok", "=", True)], default=_default_product_id) price = fields.Float( string='Price', compute='_compute_price', - digits='Product Price', copy=True, readonly=False, store=True) + digits='Product Price', readonly=False, store=True) price_reduce = fields.Float( string="Price Reduce", compute="_compute_price_reduce", digits='Product Price') diff --git a/addons/website_event_track/models/event_event.py b/addons/website_event_track/models/event_event.py index 22d835d516a..3d47cfe7cad 100644 --- a/addons/website_event_track/models/event_event.py +++ b/addons/website_event_track/models/event_event.py @@ -10,10 +10,10 @@ class EventType(models.Model): website_track = fields.Boolean( string='Tracks on Website', compute='_compute_website_menu_data', - copy=True, readonly=False, store=True) + readonly=False, store=True) website_track_proposal = fields.Boolean( string='Tracks Proposals on Website', compute='_compute_website_menu_data', - copy=True, readonly=False, store=True) + readonly=False, store=True) @api.depends('website_menu') def _compute_website_menu_data(self): @@ -32,10 +32,10 @@ class Event(models.Model): sponsor_count = fields.Integer('Sponsor Count', compute='_compute_sponsor_count') website_track = fields.Boolean( 'Tracks on Website', compute='_compute_website_track', - copy=True, readonly=False, store=True) + readonly=False, store=True) website_track_proposal = fields.Boolean( 'Proposals on Website', compute='_compute_website_track_proposal', - copy=True, readonly=False, store=True) + readonly=False, store=True) track_menu_ids = fields.One2many('website.event.menu', 'event_id', string='Event Tracks Menus', domain=[('menu_type', '=', 'track')]) track_proposal_menu_ids = fields.One2many('website.event.menu', 'event_id', string='Event Proposals Menus', domain=[('menu_type', '=', 'track_proposal')]) allowed_track_tag_ids = fields.Many2many('event.track.tag', relation='event_allowed_track_tags_rel', string='Available Track Tags') diff --git a/addons/website_event_track/models/event_track.py b/addons/website_event_track/models/event_track.py index 57b635ed019..205b8e4e969 100644 --- a/addons/website_event_track/models/event_track.py +++ b/addons/website_event_track/models/event_track.py @@ -45,13 +45,13 @@ class Track(models.Model): partner_id = fields.Many2one('res.partner', 'Speaker') partner_name = fields.Char( string='Name', compute='_compute_partner_info', - copy=True, readonly=False, store=True, tracking=10) + readonly=False, store=True, tracking=10) partner_email = fields.Char( string='Email', compute='_compute_partner_info', - copy=True, readonly=False, store=True, tracking=20) + readonly=False, store=True, tracking=20) partner_phone = fields.Char( string='Phone', compute='_compute_partner_info', - copy=True, readonly=False, store=True, tracking=30) + readonly=False, store=True, tracking=30) partner_biography = fields.Html(string='Biography') tag_ids = fields.Many2many('event.track.tag', string='Tags') stage_id = fields.Many2one(