[PYTHON] ~membership dates are based on date order now
authorLudovic CHEVALIER <ludovic.chevalier@heureux-cyclage.org>
Fri, 1 Jul 2016 09:20:09 +0000 (11:20 +0200)
committerLudovic CHEVALIER <ludovic.chevalier@heureux-cyclage.org>
Fri, 1 Jul 2016 10:25:39 +0000 (12:25 +0200)
pos_membership.py

index a37bc52..8df622e 100644 (file)
@@ -711,16 +711,18 @@ class pos_order_line(osv.osv):
                     date_from = member_line.date_from
                     date_to   = member_line.date_to
                     if line.product_id.membership_date2date:
-                        date_from = ('date_from' in context
-                          and context.get('date_from')
-                          and datetime.strptime(context('date_from'), "%Y-%m-%d")
-                          or date.today())
+                        date_from = datetime.strptime(line.order_id.date_order, "%Y-%m-%d %H:%M:%S")
                         date_to   = date_from + relativedelta(months=+12, days=-1) # TODO: parameterize this delta?
                         date_from = date_from.strftime("%Y-%m-%d")
                         date_to   = date_to  .strftime("%Y-%m-%d")
-                    member_line_obj.write(cr, uid, member_line.id
-                      , {'date_from': date_from
-                        ,'date_to'  : date_to
+                    member_line_obj.write(cr, uid, member_line.id, {
+                        'partner': line.order_id.partner_id and line.order_id.partner_id.id or False,
+                        'membership_id': line.product_id.id,
+                        'member_price': line.price_unit,
+                        'date': date_from,
+                        'date_from': date_from,
+                        'date_to': date_to,
+                        'pos_order_line': line.id,
                         }
                       , context=context)
                 if line.product_id.membership_grouped:
@@ -782,10 +784,7 @@ class pos_order_line(osv.osv):
             if line.order_id.date_order > date_from and line.order_id.date_order < date_to:
                 date_from = line.order_id.date_order
             if line.product_id.membership_date2date:
-                date_from = ('date_from' in context
-                  and context.get('date_from')
-                  and datetime.strptime(context.get('date_from'), "%Y-%m-%d")
-                  or date.today())
+                date_from = datetime.strptime(line.order_id.date_order, "%Y-%m-%d %H:%M:%S")
                 date_to   = date_from + relativedelta(months=+12, days=-1) # TODO: parameterize this delta?
                 date_from = date_from.strftime("%Y-%m-%d")
                 date_to   = date_to.strftime("%Y-%m-%d")
@@ -793,7 +792,7 @@ class pos_order_line(osv.osv):
                         'partner': line.order_id.partner_id and line.order_id.partner_id.id or False,
                         'membership_id': line.product_id.id,
                         'member_price': line.price_unit,
-                        'date': time.strftime('%Y-%m-%d'),
+                        'date': date_from,
                         'date_from': date_from,
                         'date_to': date_to,
                         'pos_order_line': line.id,