From 30af656e1a9fc8c9f5e4c97ba06835b008ea3856 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Thibault=20Delavall=C3=A9e?= Date: Mon, 9 Mar 2020 12:03:37 +0000 Subject: [PATCH] [REF] event: remove origin field of registration Origin is a char field holding the registration "source name". Its only use is to copy the sale order name when registration is linked to a sale order in event_sale. As we can filter / group / search on sale order or sale order line directly instead of the origin there is no need to keep this char field. If necessary to some internal reasons it can simply be added through studio. LINKS Task ID 2212297 Community PR odoo/odoo#47229 --- addons/event/models/event_registration.py | 3 --- addons/event/views/event_views.xml | 3 +-- addons/event_sale/models/event_registration.py | 7 ++----- addons/event_sale/tests/test_event_sale.py | 2 +- addons/event_sale/views/event_registration_views.xml | 3 +-- addons/event_sale/wizard/event_edit_registration.py | 1 - 6 files changed, 5 insertions(+), 14 deletions(-) diff --git a/addons/event/models/event_registration.py b/addons/event/models/event_registration.py index e22283172e2..361ac3ad416 100644 --- a/addons/event/models/event_registration.py +++ b/addons/event/models/event_registration.py @@ -16,9 +16,6 @@ class EventRegistration(models.Model): _order = 'id desc' # event - origin = fields.Char( - string='Source Document', readonly=True, - help="Reference of the document that created the registration, for example a sales order") event_id = fields.Many2one( 'event.event', string='Event', required=True, readonly=True, states={'draft': [('readonly', False)]}) diff --git a/addons/event/views/event_views.xml b/addons/event/views/event_views.xml index 0fa44da509e..a0d247928ec 100644 --- a/addons/event/views/event_views.xml +++ b/addons/event/views/event_views.xml @@ -518,7 +518,6 @@ - @@ -649,7 +648,7 @@ - + diff --git a/addons/event_sale/models/event_registration.py b/addons/event_sale/models/event_registration.py index 84144973885..f1dc4a315b0 100644 --- a/addons/event_sale/models/event_registration.py +++ b/addons/event_sale/models/event_registration.py @@ -9,9 +9,7 @@ class EventRegistration(models.Model): _inherit = 'event.registration' is_paid = fields.Boolean('Is Paid') - # in addition to origin generic fields, add real relational fields to correctly - # handle attendees linked to sales orders and their lines - # TDE FIXME: maybe add an onchange on sale_order_id + origin + # 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') campaign_id = fields.Many2one('utm.campaign', 'Campaign', related="sale_order_id.campaign_id", store=True) @@ -32,7 +30,7 @@ class EventRegistration(models.Model): ) vals.update(so_line_vals) res = super(EventRegistration, self).create(vals) - if res.origin or res.sale_order_id: + if res.sale_order_id: res.message_post_with_view( 'mail.message_origin_link', values={'self': res, 'origin': res.sale_order_id}, @@ -59,7 +57,6 @@ class EventRegistration(models.Model): 'partner_id': so_line.order_id.partner_id.id, 'event_id': so_line.event_id.id, 'event_ticket_id': so_line.event_ticket_id.id, - 'origin': so_line.order_id.name, 'sale_order_id': so_line.order_id.id, 'sale_order_line_id': so_line.id, } diff --git a/addons/event_sale/tests/test_event_sale.py b/addons/event_sale/tests/test_event_sale.py index fb121228bd6..70a38f88395 100644 --- a/addons/event_sale/tests/test_event_sale.py +++ b/addons/event_sale/tests/test_event_sale.py @@ -65,5 +65,5 @@ class EventSaleTest(common.TransactionCase): # I click apply to create attendees self.register_person.action_make_registration() # I check if a registration is created - registrations = self.EventRegistration.search([('origin', '=', self.sale_order.name)]) + registrations = self.EventRegistration.search([('sale_order_id', '=', self.sale_order.id)]) self.assertTrue(registrations, "The registration is not created.") diff --git a/addons/event_sale/views/event_registration_views.xml b/addons/event_sale/views/event_registration_views.xml index e44a1f8d436..fea2fbb0362 100644 --- a/addons/event_sale/views/event_registration_views.xml +++ b/addons/event_sale/views/event_registration_views.xml @@ -7,7 +7,7 @@ - + @@ -41,7 +41,6 @@ - diff --git a/addons/event_sale/wizard/event_edit_registration.py b/addons/event_sale/wizard/event_edit_registration.py index 9fedfd84f39..29c00065856 100644 --- a/addons/event_sale/wizard/event_edit_registration.py +++ b/addons/event_sale/wizard/event_edit_registration.py @@ -85,7 +85,6 @@ class RegistrationEditorLine(models.TransientModel): 'phone': self.phone or self.editor_id.sale_order_id.partner_id.phone, 'mobile': self.mobile or self.editor_id.sale_order_id.partner_id.mobile, 'email': self.email or self.editor_id.sale_order_id.partner_id.email, - 'origin': self.editor_id.sale_order_id.name, 'sale_order_id': self.editor_id.sale_order_id.id, 'sale_order_line_id': self.sale_order_line_id.id, }