From 7f97a64091471a44a5fa193e75d7c101c3207a5a Mon Sep 17 00:00:00 2001 From: Fabien Pinckaers Date: Sun, 22 May 2016 10:42:53 +0200 Subject: [PATCH] [IMP] event_sale: easier configuration of tickets, no more event_type_id on product as tickets define what you can sell --- addons/event_sale/data/event_demo.xml | 4 ---- addons/event_sale/data/event_sale_data.xml | 1 - addons/event_sale/i18n/event_sale.pot | 17 ----------------- addons/event_sale/models/event.py | 3 +-- addons/event_sale/models/product.py | 2 -- addons/event_sale/models/sale_order.py | 6 +----- addons/event_sale/tests/test_event_sale.py | 1 - addons/event_sale/views/product_views.xml | 3 --- addons/event_sale/views/sale_order_views.xml | 6 ++---- addons/website_event_sale/models/sale_order.py | 1 - 10 files changed, 4 insertions(+), 40 deletions(-) diff --git a/addons/event_sale/data/event_demo.xml b/addons/event_sale/data/event_demo.xml index 50344152a31..96514592b44 100644 --- a/addons/event_sale/data/event_demo.xml +++ b/addons/event_sale/data/event_demo.xml @@ -3,7 +3,6 @@ Open Days in Los Angeles True - service 2500.0 @@ -16,7 +15,6 @@ Functional Webinar True - service 2500.0 @@ -29,7 +27,6 @@ Conference on Business Applications True - service 2500.0 @@ -46,7 +43,6 @@ Technical Training True - service 2500.0 diff --git a/addons/event_sale/data/event_sale_data.xml b/addons/event_sale/data/event_sale_data.xml index c9b810197f1..97cabee1921 100644 --- a/addons/event_sale/data/event_sale_data.xml +++ b/addons/event_sale/data/event_sale_data.xml @@ -15,7 +15,6 @@ Event Registration service - diff --git a/addons/event_sale/i18n/event_sale.pot b/addons/event_sale/i18n/event_sale.pot index 5d0276ffd8c..8800cdacb43 100644 --- a/addons/event_sale/i18n/event_sale.pot +++ b/addons/event_sale/i18n/event_sale.pot @@ -139,11 +139,6 @@ msgstr "" msgid "Event Tickets" msgstr "" -#. module: event_sale -#: model:ir.model.fields,field_description:event_sale.field_sale_order_line_event_type_id -msgid "Event Type" -msgstr "" - #. module: event_sale #: model:product.product,name:event_sale.event_1_product #: model:product.template,name:event_sale.event_1_product_product_template @@ -309,12 +304,6 @@ msgstr "" msgid "Seats used" msgstr "" -#. module: event_sale -#: model:ir.model.fields,help:event_sale.field_product_product_event_type_id -#: model:ir.model.fields,help:event_sale.field_product_template_event_type_id -msgid "Select event types so when we use this product in sales order lines, it will filter events of this type only." -msgstr "" - #. module: event_sale #: model:ir.ui.view,arch_db:event_sale.view_event_registration_editor_form msgid "Skip" @@ -362,12 +351,6 @@ msgstr "" msgid "Tickets" msgstr "" -#. module: event_sale -#: model:ir.model.fields,field_description:event_sale.field_product_product_event_type_id -#: model:ir.model.fields,field_description:event_sale.field_product_template_event_type_id -msgid "Type of Event" -msgstr "" - #. module: event_sale #: model:ir.model.fields,field_description:event_sale.field_event_event_ticket_seats_unconfirmed msgid "Unconfirmed Seat Reservations" diff --git a/addons/event_sale/models/event.py b/addons/event_sale/models/event.py index 0c20d4bb83c..b37ad8d6a51 100644 --- a/addons/event_sale/models/event.py +++ b/addons/event_sale/models/event.py @@ -36,8 +36,7 @@ class EventTicket(models.Model): name = fields.Char(string='Name', required=True, translate=True) event_id = fields.Many2one('event.event', string="Event", required=True, ondelete='cascade') product_id = fields.Many2one('product.product', string='Product', - required=True, domain=[("event_type_id", "!=", False)], - default=_default_product_id) + required=True, domain=[("event_ok", "=", True)], default=_default_product_id) registration_ids = fields.One2many('event.registration', 'event_ticket_id', string='Registrations') price = fields.Float(string='Price', digits=dp.get_precision('Product Price')) deadline = fields.Date(string="Sales End") diff --git a/addons/event_sale/models/product.py b/addons/event_sale/models/product.py index d9003978df4..67fade67f6b 100644 --- a/addons/event_sale/models/product.py +++ b/addons/event_sale/models/product.py @@ -8,8 +8,6 @@ class ProductTemplate(models.Model): event_ok = fields.Boolean(string='Event Registration', help='Determine if a product needs ' 'to create automatically an event registration at the confirmation of a sales order line.') - event_type_id = fields.Many2one('event.type', string='Type of Event', help='Select event types ' - 'so when we use this product in sales order lines, it will filter events of this type only.') @api.onchange('event_ok') def _onchange_event_ok(self): diff --git a/addons/event_sale/models/sale_order.py b/addons/event_sale/models/sale_order.py index 7b4032882f0..c27ac01033f 100644 --- a/addons/event_sale/models/sale_order.py +++ b/addons/event_sale/models/sale_order.py @@ -24,9 +24,6 @@ class SaleOrderLine(models.Model): help="Choose an event and it will automatically create a registration for this event.") event_ticket_id = fields.Many2one('event.event.ticket', string='Event Ticket', help="Choose " "an event ticket and it will automatically create a registration for this event ticket.") - # those 2 fields are used for dynamic domains and filled by onchange - # TDE: really necessary ? .. - event_type_id = fields.Many2one(related='product_id.event_type_id', string="Event Type") event_ok = fields.Boolean(related='product_id.event_ok') @api.multi @@ -39,9 +36,8 @@ class SaleOrderLine(models.Model): @api.onchange('product_id') def _onchange_product_id_event(self): - values = {'event_type_id': False, 'event_ok': False} + values = {'event_ok': False} if self.product_id.event_ok: - values['event_type_id'] = self.product_id.event_type_id.id values['event_ok'] = self.product_id.event_ok self.update(values) diff --git a/addons/event_sale/tests/test_event_sale.py b/addons/event_sale/tests/test_event_sale.py index ca024ce1514..29b5d5c2029 100644 --- a/addons/event_sale/tests/test_event_sale.py +++ b/addons/event_sale/tests/test_event_sale.py @@ -15,7 +15,6 @@ class EventSaleTest(common.TransactionCase): 'name': 'test_formation', 'type': 'service', 'event_ok': True, - 'event_type_id': 1, }) # I create an event from the same type than my product diff --git a/addons/event_sale/views/product_views.xml b/addons/event_sale/views/product_views.xml index ddaed028280..77fa21554d3 100644 --- a/addons/event_sale/views/product_views.xml +++ b/addons/event_sale/views/product_views.xml @@ -11,9 +11,6 @@ diff --git a/addons/event_sale/views/sale_order_views.xml b/addons/event_sale/views/sale_order_views.xml index c4278ae45e3..d07372d519c 100644 --- a/addons/event_sale/views/sale_order_views.xml +++ b/addons/event_sale/views/sale_order_views.xml @@ -6,13 +6,11 @@ - - - + + - diff --git a/addons/website_event_sale/models/sale_order.py b/addons/website_event_sale/models/sale_order.py index f45af9829fd..a24257bcea4 100644 --- a/addons/website_event_sale/models/sale_order.py +++ b/addons/website_event_sale/models/sale_order.py @@ -42,7 +42,6 @@ class SaleOrder(models.Model): values['name'] = "%s\n%s" % (ticket.event_id.display_name, ticket.name) # avoid writing related values that end up locking the product record - values.pop('event_type_id', None) values.pop('event_ok', None) return values