[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
This commit is contained in:
@@ -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)]})
|
||||
|
||||
@@ -518,7 +518,6 @@
|
||||
<field name="mobile" optional="hide"/>
|
||||
<field name="event_id"/>
|
||||
<field name="event_ticket_id" domain="[('event_id', '=', event_id)]"/>
|
||||
<field name="origin" optional="hide"/>
|
||||
<field name="state" readonly="0"/>
|
||||
<field name="company_id" groups="base.group_multi_company" optional="hide"/>
|
||||
<field name="message_needaction" invisible="1"/>
|
||||
@@ -649,7 +648,7 @@
|
||||
<field name="arch" type="xml">
|
||||
<search string="Event Registration">
|
||||
<field name="id" string="Registration ID"/>
|
||||
<field name="name" string="Participant" filter_domain="['|', '|', ('name', 'ilike', self), ('email', 'ilike', self), ('origin', 'ilike', self)]"/>
|
||||
<field name="name" string="Participant" filter_domain="['|', '|', ('name', 'ilike', self), ('email', 'ilike', self)]"/>
|
||||
<filter string="Ongoing Events" name="filter_is_ongoing" domain="[('event_id.is_ongoing', '=', True)]"/>
|
||||
<separator/>
|
||||
<filter string="Unread Messages" name="message_needaction" domain="[('message_needaction','=',True)]"/>
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
|
||||
@@ -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.")
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
<field name="inherit_id" ref="event.view_event_registration_tree" />
|
||||
<field name="arch" type="xml">
|
||||
<field name="event_id" position="after">
|
||||
<field name="origin"/>
|
||||
<field name="sale_order_id"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
@@ -41,7 +41,6 @@
|
||||
<group name="event" position="after">
|
||||
<group string="Origin" groups="base.group_no_one">
|
||||
<field name="sale_order_id"/>
|
||||
<field name="origin" attrs="{'invisible': [('sale_order_id', '!=', False)]}"/>
|
||||
<field name="sale_order_line_id" readonly="1" attrs="{'invisible': [('sale_order_id', '=', False)]}"/>
|
||||
</group>
|
||||
<group string="Marketing" name="utm_link" groups="base.group_no_one">
|
||||
|
||||
@@ -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,
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user