('member_ident_uniq', 'unique(member_ident, company_id)', 'The member identifier must be unique !'),
]
+ def _membership_date(self, cr, uid, ids, name, args, context=None):
+ """Return date of membership"""
+ name = name[0]
+ 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:
+ # NOTE: hmm, ça devrait être toujours partner.id
+ partner_id = partner.id
+ res[partner.id] = {
+ 'membership_start': False,
+ 'membership_stop': False,
+ 'membership_cancel': False
+ }
+ if name == 'membership_start':
+ line_id = member_line_obj.search(cr, uid, [('partner', '=', partner_id),('date_cancel','=',False)],
+ limit=1, order='date_from', context=context)
+ if line_id:
+ res[partner.id]['membership_start'] = member_line_obj.read(cr, uid, line_id[0],
+ ['date_from'], context=context)['date_from']
+
+ if name == 'membership_stop':
+ line_id1 = member_line_obj.search(cr, uid, [('partner', '=', partner_id),('date_cancel','=',False)],
+ limit=1, order='date_to desc', context=context)
+ if line_id1:
+ res[partner.id]['membership_stop'] = member_line_obj.read(cr, uid, line_id1[0],
+ ['date_to'], context=context)['date_to']
+
+ if name == 'membership_cancel':
+ if partner.membership_state == 'canceled':
+ # NOTE: hmm, partner_id et pas partner.id ?
+ line_id2 = member_line_obj.search(cr, uid, [('partner', '=', partner_id)], limit=1, order='date_cancel', context=context)
+ if line_id2:
+ res[partner.id]['membership_cancel'] = member_line_obj.read(cr, uid, line_id2[0], ['date_cancel'], context=context)['date_cancel']
+ return res
+
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
ctx = context and context.copy() or {}
date_to = date_from + relativedelta(months = +12) # TODO: parameterize this delta?
date_from = date_from.strftime("%Y-%m-%d")
date_to = date_to .strftime("%Y-%m-%d")
+ print ("DEV: [write] date_from: %s" % str(date_from))
+ print ("DEV: [write] date_to : %s" % str(date_to))
member_line_obj.write(cr, uid, member_line.id
, {'date_from': date_from
,'date_to' : date_to
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:
+ 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,
date_to = date_from + relativedelta(months = +12) # TODO: parameterize this delta?
date_from = date_from.strftime("%Y-%m-%d")
date_to = date_to .strftime("%Y-%m-%d")
- print ("DEV: date_from: %s" % str(date_from))
- print ("DEV: date_to : %s" % str(date_to))
+ print ("DEV: [create] date_from: %s" % str(date_from))
+ print ("DEV: [create] date_to : %s" % str(date_to))
member_line_obj.write(cr, uid, member_line.id
, {'date_from': date_from
,'date_to' : date_to
partners.extend(line.invoice_id.partner_id.associate_members)
#Adding membership lines just for associate partners
for associate_member in line.invoice_id.partner_id.associate_members:
- print ("DEV: [associate] date_from: %s" % str(date_from))
- print ("DEV: [associate] date_to : %s" % str(date_to))
+ print ("DEV: [create] [associate] date_from: %s" % str(date_from))
+ print ("DEV: [create] [associate] date_to : %s" % str(date_to))
member_line_obj.create(cr, uid, {
'partner': associate_member.id,
'membership_id': line.product_id.id,