[DATE2DATE] fix delta in between date_from and date_to
[burette/remembership.git] / remembership.py
index 178fd4b..ad6438f 100644 (file)
@@ -28,7 +28,6 @@ from datetime import datetime, date
 from dateutil.relativedelta import relativedelta
 from openerp.tools.translate import _
 
-
 class Partner(osv.osv):
     _inherit = 'res.partner'
 
@@ -145,7 +144,7 @@ class Partner(osv.osv):
     def create_membership_invoice(self, cr, uid, ids, product_id=None, datas=None, context=None):
         # NOTE: use context to supply date_from to account_invoice_line.create
         context = context and context.copy() or {}
-        #context.update({'date_from': datas.get('date_from', None)});
+        context.update({'date_from': datas.get('date_from', None)});
         # XXX: copied from openerp/addons/membership/membership.py to fix account_invoice_line creation
         print ("DEV: [remembership] [partner] [create_membership_invoice] ids=%s" % str(ids))
         invoice_obj = self.pool.get('account.invoice')
@@ -209,6 +208,13 @@ class Partner(osv.osv):
         print ("DEV: [remembership] [partner] [create_membership_invoice] return=%s" % str(invoice_list))
         return invoice_list
 
+    def update_membership_status(self, cr, uid):
+        """Action for updating old members status with scheduled cron job"""
+        partner_obj = self.pool.get('res.partner')
+        today = date.today()
+        ids = partner_obj.search(cr, uid, [('membership_state', '=', 'paid'), ('membership_stop', '<', today)], context=None)
+        self.write(cr, uid, ids, {'membership_state': 'old'}, context=None)
+
 Partner()
 
 
@@ -247,7 +253,7 @@ class account_invoice_line(osv.osv):
                               and context.get('date_from')
                               and datetime.strptime(context('date_from'), "%Y-%m-%d")
                               or date.today())
-                            date_to   = date_from + relativedelta(months = +12) # TODO: parameterize this delta?
+                            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")
                         print ("DEV: [remembership] [account_invoice_line] [write] date_from: %s" % str(date_from))
@@ -319,7 +325,8 @@ class account_invoice_line(osv.osv):
                       and context.get('date_from')
                       and datetime.strptime(context.get('date_from'), "%Y-%m-%d")
                       or date.today())
-                    date_to   = date_from + relativedelta(days = +364) # TODO: parameterize this delta?
+                    print("#DEBUG: Date de début - %s" % str(date_from))
+                    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")
                 print ("DEV: [remembership] [account_invoice_line] [create] date_from: %s" % str(date_from))