X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=pos_membership.py;h=8df622e2ceff29ef96a56ef334cfa7c26eae8ee4;hb=d8dded4f5ea7cd47fb8045f4aa6890c693c69626;hp=cce51b5632c911931eed5f5e7a77505e29f3fd00;hpb=335a3f0c69793b57da7d7a5443c25efa8f4029d4;p=burette%2Fpos_membership.git diff --git a/pos_membership.py b/pos_membership.py index cce51b5..8df622e 100644 --- a/pos_membership.py +++ b/pos_membership.py @@ -385,12 +385,13 @@ class Partner(osv.osv): today = time.strftime('%Y-%m-%d') for id in ids: partner_data = self.browse(cr, uid, id, context=context) - if partner_data.membership_cancel and today > partner_data.membership_cancel: - res[id] = 'canceled' - continue - if partner_data.membership_stop and today > partner_data.membership_stop: - res[id] = 'old' - continue + if not partner_data.free_member: + if partner_data.membership_cancel and today > partner_data.membership_cancel: + res[id] = 'canceled' + continue + if partner_data.membership_stop and today > partner_data.membership_stop: + res[id] = 'old' + continue s = 4 if partner_data.member_lines: for mline in partner_data.member_lines: @@ -477,9 +478,6 @@ class Partner(osv.osv): res[id] = 'none' if partner_data.free_member and s != 0: res[id] = 'free' - if partner_data.associate_member: - res_state = self._membership_state(cr, uid, [partner_data.associate_member.id], name, args, context=context) - res[id] = res_state[partner_data.associate_member.id] return res def _membership_date(self, cr, uid, ids, name, args, context=None): @@ -488,10 +486,7 @@ class Partner(osv.osv): res = {} member_line_obj = self.pool.get('membership.membership_line') for partner in self.browse(cr, uid, ids, context=context): - if partner.associate_member: - partner_id = partner.associate_member.id - else: - partner_id = partner.id + partner_id = partner.id res[partner.id] = { 'membership_start': False, 'membership_stop': False, @@ -716,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: @@ -787,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") @@ -798,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,