|
@ -15,7 +15,12 @@ class kalachakra_membership(models.Model): |
|
|
track_visibility='onchange', |
|
|
track_visibility='onchange', |
|
|
ondelete='restrict' |
|
|
ondelete='restrict' |
|
|
) |
|
|
) |
|
|
product_id=fields.Many2one('product.product',required=True,string='membership product',domain="[('membership_product','=',True)]") |
|
|
|
|
|
|
|
|
def _default_product_id(self): |
|
|
|
|
|
membership_product=self.env['product.product'].sudo().search([('membership_product','=',True)],limit=1) |
|
|
|
|
|
if not membership_product: raise UserError(_('No membership product, please add one')) |
|
|
|
|
|
return membership_product.id |
|
|
|
|
|
|
|
|
|
|
|
product_id=fields.Many2one('product.product',required=True,string='membership product',default=_default_product_id,domain="[('membership_product','=',True)]") |
|
|
start_date=fields.Date('start date',required=True,default=lambda self: fields.Date.today()) |
|
|
start_date=fields.Date('start date',required=True,default=lambda self: fields.Date.today()) |
|
|
invoice_id=fields.Many2one('account.move','invoice') |
|
|
invoice_id=fields.Many2one('account.move','invoice') |
|
|
payment_state=fields.Selection(string='payment_state',selection=[('paid', 'paid'), ('not paid', 'not paid')],compute='_compute_payment_state') |
|
|
payment_state=fields.Selection(string='payment_state',selection=[('paid', 'paid'), ('not paid', 'not paid')],compute='_compute_payment_state') |
|
@ -33,10 +38,14 @@ class kalachakra_membership(models.Model): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def _default_end_date(self): |
|
|
|
|
|
end_date=datetime.now()+relativedelta(years=1) |
|
|
|
|
|
return end_date |
|
|
|
|
|
|
|
|
end_date=fields.Date('end date') |
|
|
|
|
|
|
|
|
end_date=fields.Date('end date',default=_default_end_date) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
state=fields.Selection(string='state',selection=[('draft', 'draft'), ('done', 'done')],default='draft') |
|
|
state=fields.Selection(string='state',selection=[('draft', 'draft'), ('done', 'done')],default='draft') |
|
|
currency_id = fields.Many2one( |
|
|
currency_id = fields.Many2one( |
|
|
"res.currency", |
|
|
"res.currency", |
|
@ -135,21 +144,32 @@ class kalachakra_membership(models.Model): |
|
|
member_status='member' |
|
|
member_status='member' |
|
|
else: |
|
|
else: |
|
|
member_status='not member' |
|
|
member_status='not member' |
|
|
|
|
|
|
|
|
partner=self.env['res.partner'].search([('id','=',int(self.partner_id))]) |
|
|
|
|
|
|
|
|
|
|
|
if partner.super_member==False: |
|
|
|
|
|
partner.member_status=member_status |
|
|
|
|
|
|
|
|
#partner=self.env['res.partner'].search([('id','=',int(self.partner_id))]) |
|
|
|
|
|
|
|
|
|
|
|
if self.partner_id.super_member==False: |
|
|
|
|
|
self.partner_id.member_status=member_status |
|
|
|
|
|
|
|
|
|
|
|
return True |
|
|
|
|
|
|
|
|
def write(self,vals): |
|
|
def write(self,vals): |
|
|
|
|
|
|
|
|
res=super(kalachakra_membership, self).write(vals) |
|
|
res=super(kalachakra_membership, self).write(vals) |
|
|
self.update_membership() |
|
|
self.update_membership() |
|
|
|
|
|
|
|
|
|
|
|
return True |
|
|
|
|
|
@api.model |
|
|
def create(self,vals): |
|
|
def create(self,vals): |
|
|
|
|
|
|
|
|
res=super(kalachakra_membership, self).create(vals) |
|
|
res=super(kalachakra_membership, self).create(vals) |
|
|
res.update_membership() |
|
|
res.update_membership() |
|
|
|
|
|
return res |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def update_amount(self): |
|
|
|
|
|
members=self.env['kalachakra.membership'].search([]) |
|
|
|
|
|
for m in members: |
|
|
|
|
|
m.amount=45 |
|
|
|
|
|
|
|
|
|
|
|
def unlink(self): |
|
|
|
|
|
if self.partner_id.super_member==False: |
|
|
|
|
|
self.partner_id.member_status='not member' |
|
|
|
|
|
return super(kalachakra_membership, self).unlink() |