[grouped] [date2date] : fix double invoice lines.
authorJulien Moutinho <julm+burette@autogeree.net>
Fri, 11 Jan 2013 12:04:38 +0000 (13:04 +0100)
committerJulien Moutinho <julm+burette@autogeree.net>
Fri, 11 Jan 2013 15:56:43 +0000 (16:56 +0100)
remembership.py

index bff5f46..fbf06f4 100644 (file)
@@ -131,25 +131,30 @@ class account_invoice_line(osv.osv):
                           , context=context)
                     if line.product_id.membership_grouped:
                         if line.invoice_id.partner_id.associate_members:
                           , context=context)
                     if line.product_id.membership_grouped:
                         if line.invoice_id.partner_id.associate_members:
-                            for associate_member in line.invoice_id.partner_id.associate_members:
+                            associate_ml_ids = member_line_obj.search(cr, uid
+                              , [ ('account_invoice_line', '=', line.id)
+                                , ('partner', '!=', line.invoice_id.partner_id.id)
+                                ]
+                              , context=context)
+                            for associate_member_line in member_line_obj.browse(cr, uid, associate_ml_ids, context=context):
                                 print ("DEV: [write] [associate] date_from: %s" % str(date_from))
                                 print ("DEV: [write] [associate] date_to  : %s" % str(date_to))
                                 print ("DEV: [write] [associate] date_from: %s" % str(date_from))
                                 print ("DEV: [write] [associate] date_to  : %s" % str(date_to))
-                                member_line_obj.create(cr, uid, {
-                                    'partner': associate_member.id,
-                                    'membership_id': line.product_id.id,
-                                    'member_price': line.price_unit,
-                                    'date': time.strftime('%Y-%m-%d'),
-                                    'date_from': date_from,
-                                    'date_to': date_to,
-                                    'account_invoice_line': line.id,
-                                }, context=context)
+                                member_line_obj.write(cr, uid, associate_member_line.id
+                                  , {'date_from': date_from
+                                    ,'date_to'  : date_to
+                                    }
+                                  , context=context)
                         else:
                             print("DEV: mettre une contrainte pour l'objet\
                                   membership.membership_line interdisant les\
                                   adhésions groupées reliées à des partenaires\
                                   sans membres associés")
                     else:
                         else:
                             print("DEV: mettre une contrainte pour l'objet\
                                   membership.membership_line interdisant les\
                                   adhésions groupées reliées à des partenaires\
                                   sans membres associés")
                     else:
-                        associate_ml_ids = member_line_obj.search(cr, uid, [('account_invoice_line', '=', line.id), ('partner', '!=', line.invoice_id.partner_id.id)], context=context)
+                        associate_ml_ids = member_line_obj.search(cr, uid
+                          , [ ('account_invoice_line', '=', line.id)
+                            , ('partner', '!=', line.invoice_id.partner_id.id)
+                            ]
+                          , context=context)
                         member_line_obj.unlink(cr, uid, associate_ml_ids, context=context)
 
                     #Define member ident if it's necessary
                         member_line_obj.unlink(cr, uid, associate_ml_ids, context=context)
 
                     #Define member ident if it's necessary