[IMP] event_sale: event_type_id is not required anymore on products + small refactoring
authorQuentin (OpenERP) <qdp-launchpad@openerp.com>
Tue, 28 Feb 2012 16:38:23 +0000 (17:38 +0100)
committerQuentin (OpenERP) <qdp-launchpad@openerp.com>
Tue, 28 Feb 2012 16:38:23 +0000 (17:38 +0100)
bzr revid: qdp-launchpad@openerp.com-20120228163823-1t1qodlyj3nnksfu

addons/event_sale/event_sale.py
addons/event_sale/event_sale_view.xml

index d37ff61..df115c0 100644 (file)
@@ -37,7 +37,7 @@ product()
 class sale_order_line(osv.osv):
     _inherit = 'sale.order.line'
     _columns = {
-        'event': fields.many2one('event.event', 'Event', help="Choose an event and it will authomaticaly create a registration for this event"),
+        'event_id': fields.many2one('event.event', 'Event', help="Choose an event and it will authomaticaly create a registration for this event"),
         #those 2 fields are used for dynamic domains and filled by onchange
         'event_type_id': fields.related('event_type_id', type='many2one', relation="event.type", string="Event Type"),
         'event_ok': fields.related('event_ok', string='event_ok', type='boolean'),
@@ -63,7 +63,7 @@ class sale_order_line(osv.osv):
         res = super(sale_order_line,self).product_id_change(cr, uid, ids, pricelist, product, qty=qty, uom=uom, qty_uos=qty_uos, uos=uos, name=name, partner_id=partner_id, lang=lang, update_tax=update_tax, date_order=date_order, packaging=packaging, fiscal_position=fiscal_position, flag=flag, context=context)
         if product:
             product_res = self.pool.get('product.product').browse(cr, uid, product, context=context)
-            if product_res.event_type_id:
+            if product_res.event_ok:
                 res['value'].update({'event_type_id': product_res.event_type_id.id, 'event_ok':product_res.event_ok})
         return res
 
@@ -75,7 +75,7 @@ class sale_order_line(osv.osv):
         registration_obj = self.pool.get('event.registration')
         sale_obj = self.pool.get('sale.order')
         for order_line in self.browse(cr, uid, ids, context=context):
-            if order_line.event.id:
+            if order_line.event_id.id:
                 dic = {
                     'name': order_line.order_id.partner_invoice_id.name,
                     'partner_id': order_line.order_id.partner_id.id,
@@ -86,7 +86,7 @@ class sale_order_line(osv.osv):
                     'street': order_line.order_id.partner_invoice_id.street,
                     'city': order_line.order_id.partner_invoice_id.city,
                     'origin': order_line.order_id.name,
-                    'event_id': order_line.event.id,
+                    'event_id': order_line.event_id.id,
                 }
                 registration_id = registration_obj.create(cr, uid, dic, context=context)
                 message = _("The registration %s has been created from the Sale Order %s.") % (registration_id, order_line.order_id.name)
index d58be60..4387e3a 100644 (file)
@@ -11,7 +11,7 @@
                     <field name="event_ok" on_change="onchange_event_ok(event_ok, context)"/>
                 </field>
                 <field name='supply_method' position='after'>
-                    <field name="event_type_id" attrs="{'readonly': [('event_ok', '=', False)], 'required': [('event_ok', '=', True)]}"/>
+                    <field name="event_type_id" attrs="{'readonly': [('event_ok', '=', False)]}" groups="base.group_extended"/>
                 </field>
              </field>
         </record>
@@ -23,7 +23,7 @@
              <field name="inherit_id" ref="sale.view_order_form" />
              <field name="arch" type="xml">
                 <xpath expr="//field[@name='discount']" position="after">
-                    <field name="event" colspan="3" domain="[('type', '=', event_type_id )]" attrs="{'invisible': [('event_ok', '=', False)],'required': [('event_ok', '!=', False)]}"/>
+                    <field name="event_id" colspan="3" domain="[('type', 'in', list(set((event_type_id,False))))]" attrs="{'invisible': [('event_ok', '=', False)],'required': [('event_ok', '!=', False)]}"/>
                     <field name="event_type_id" invisible="1"/>
                     <field name="event_ok" invisible="1"/>
                 </xpath>