1 # -*- coding: utf-8 -*-
2 # Copyright 2012-2020 L'Heureux Cyclage
3 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
5 from openerp
.osv
import osv
6 from openerp
.osv
import fields
7 from datetime
import datetime
10 class membership_invoice(osv
.osv
):
11 _inherit
= 'membership.invoice'
14 'date_from': fields
.date('This membership start date'),
15 'is_date2date': fields
.boolean('This membership product is date to date.', readonly
=True),
19 'date_from': datetime
.today().strftime('%Y-%m-%d'),
22 def onchange_product(self
, cr
, uid
, ids
, product_id
=False):
23 res
= super(membership_invoice
, self
).onchange_product(cr
, uid
, ids
, product_id
)
25 res
['value']['is_date2date'] = self
.pool
.get('product.product').browse(cr
, uid
, [product_id
], context
=None)[0].membership_date2date
27 res
['value']['is_date2date'] = False
31 def membership_invoice(self
, cr
, uid
, ids
, context
=None):
32 """NOTE: Copy of orginial function for overwrite it by adding
33 date_from value for date to date membership products. Keep an eye of it
34 for taking advantage of its enhancements (2013-01-11)"""
35 mod_obj
= self
.pool
.get('ir.model.data')
36 partner_obj
= self
.pool
.get('res.partner')
40 data
= self
.browse(cr
, uid
, ids
, context
=context
)
44 'membership_product_id': data
.product_id
.id,
45 'amount': data
.member_price
,
46 'date_from': data
.date_from
48 invoice_list
= partner_obj
.create_membership_invoice(cr
, uid
, context
.get('active_ids', []), datas
=datas
, context
=context
)
50 res
= mod_obj
.get_object_reference(cr
, uid
, 'account', 'view_account_invoice_filter')
53 'domain': [('id', 'in', invoice_list
)],
54 'name': 'Membership Invoices',
56 'view_mode': 'tree,form',
57 'res_model': 'account.invoice',
58 'type': 'ir.actions.act_window',
59 'search_view_id': res
and res
[1] or False