2011-01-05 13:14:28 +00:00
|
|
|
- |
|
2010-06-08 11:43:05 +00:00
|
|
|
In Order to test the Membership in OpenERP, which allows us to manage all operations for managing memberships.
|
|
|
|
- |
|
2011-08-16 09:23:40 +00:00
|
|
|
I'm creating "Gold Membership" which has Membership fee 80 EURO and It's started from 1st June to 31st Dec.
|
2011-01-05 13:14:28 +00:00
|
|
|
-
|
2010-06-08 11:43:05 +00:00
|
|
|
!record {model: product.product, id: product_product_membershipproduct0}:
|
2012-06-28 09:30:01 +00:00
|
|
|
categ_id: product.product_category_1
|
2010-06-08 11:43:05 +00:00
|
|
|
membership: 1
|
2011-01-05 13:14:28 +00:00
|
|
|
membership_date_from: !eval datetime.today().strftime("%Y-%m-%d")
|
2011-01-31 12:38:54 +00:00
|
|
|
membership_date_to: !eval "(datetime.now() + timedelta(6*31)).strftime('%Y-%m-%d')"
|
2011-08-16 09:23:40 +00:00
|
|
|
name: Gold Membership
|
2010-06-08 11:43:05 +00:00
|
|
|
type: service
|
|
|
|
list_price: 80.00
|
2011-01-05 13:14:28 +00:00
|
|
|
|
2010-06-08 11:43:05 +00:00
|
|
|
- |
|
2011-11-03 00:41:40 +00:00
|
|
|
"Seagate" want to join "Gold Membership", so I'm checking "Current Membership State" of "Seagate". It is an "Non Member" or not.
|
2011-01-05 13:14:28 +00:00
|
|
|
-
|
2012-06-20 12:03:05 +00:00
|
|
|
!assert {model: res.partner, id: base.res_partner_19}:
|
2010-07-22 07:05:56 +00:00
|
|
|
- membership_state == 'none', 'Member should be has "Current Membership State" in "Non Member".'
|
2010-06-08 11:43:05 +00:00
|
|
|
- |
|
2011-11-03 00:41:40 +00:00
|
|
|
I'm doing to make membership invoice for "Seagate" on joining "Gold Membership".
|
2011-01-05 13:14:28 +00:00
|
|
|
-
|
2010-07-22 07:05:56 +00:00
|
|
|
!python {model: res.partner}: |
|
2012-06-20 12:03:05 +00:00
|
|
|
self.create_membership_invoice(cr, uid, [ref("base.res_partner_19")], product_id=ref("product_product_membershipproduct0"), datas={"amount":80.00})
|
2010-06-08 11:43:05 +00:00
|
|
|
- |
|
2011-11-03 00:41:40 +00:00
|
|
|
I'm checking "Current Membership State" of "Seagate". It is an "Waiting Member" or not.
|
2011-01-05 13:14:28 +00:00
|
|
|
-
|
2012-06-20 12:03:05 +00:00
|
|
|
!assert {model: res.partner, id: base.res_partner_19}:
|
2010-07-22 07:05:56 +00:00
|
|
|
- membership_state == 'waiting', 'Member should be has "Current Membership State" in "Waiting Member".'
|
2010-06-08 11:43:05 +00:00
|
|
|
- |
|
2011-11-03 00:41:40 +00:00
|
|
|
I'm Opening that Invoice which is created for "Seagate".
|
2010-06-08 11:43:05 +00:00
|
|
|
-
|
|
|
|
!python {model: res.partner}: |
|
2011-01-05 13:14:28 +00:00
|
|
|
import netsvc
|
2010-07-12 13:30:56 +00:00
|
|
|
from tools.translate import _
|
2010-07-22 07:05:56 +00:00
|
|
|
invoice_pool = self.pool.get('account.invoice')
|
|
|
|
partner_pool = self.pool.get('res.partner')
|
|
|
|
membership_line_pool = self.pool.get('membership.membership_line')
|
|
|
|
membership_pool = self.pool.get('product.product')
|
2011-01-05 13:14:28 +00:00
|
|
|
|
2012-06-20 12:03:05 +00:00
|
|
|
membership_line_ids = membership_line_pool.search(cr, uid, [('membership_id','=',ref('product_product_membershipproduct0')),('partner','=',ref('base.res_partner_19'))])
|
2010-07-22 07:05:56 +00:00
|
|
|
membership_lines = membership_line_pool.browse(cr, uid, membership_line_ids)
|
|
|
|
assert membership_lines, _('Membership is not registrated.')
|
|
|
|
membership_line = membership_lines[0]
|
|
|
|
wf_service = netsvc.LocalService("workflow")
|
|
|
|
wf_service.trg_validate(uid, 'account.invoice', membership_line.account_invoice_id.id, 'invoice_open', cr)
|
2010-06-08 11:43:05 +00:00
|
|
|
- |
|
2011-11-03 00:41:40 +00:00
|
|
|
I'm checking "Current membership state" of "Seagate". It is an "Invoiced Member" or not.
|
2010-06-08 11:43:05 +00:00
|
|
|
-
|
2012-06-20 12:03:05 +00:00
|
|
|
!assert {model: res.partner, id: base.res_partner_19}:
|
2010-07-22 07:05:56 +00:00
|
|
|
- membership_state == 'invoiced', 'Member should be has "Current Membership State" in "Invoiced Member".'
|
2011-01-05 13:14:28 +00:00
|
|
|
|
2010-07-22 07:05:56 +00:00
|
|
|
- |
|
2011-08-16 09:23:40 +00:00
|
|
|
I'm creating free member "Ms. Johnson" of "Gold Membership".
|
2010-07-22 07:05:56 +00:00
|
|
|
-
|
|
|
|
!record {model: res.partner, id: res_partner_msjohnson0}:
|
2012-03-21 11:29:19 +00:00
|
|
|
name: Ms. Johnson
|
|
|
|
city: paris
|
2010-07-22 07:05:56 +00:00
|
|
|
country_id: base.fr
|
|
|
|
name: Ms. Johnson
|
|
|
|
street: 1 rue Rockfeller
|
|
|
|
type: invoice
|
|
|
|
zip: '75016'
|
2012-03-21 11:29:19 +00:00
|
|
|
free_member: True
|
2010-07-22 07:05:56 +00:00
|
|
|
|
|
|
|
- |
|
|
|
|
I'm checking "Current membership state" of "Ms. Johnson". It is an "Free Member" or not.
|
2011-01-05 13:14:28 +00:00
|
|
|
-
|
2010-07-22 07:05:56 +00:00
|
|
|
!assert {model: res.partner, id: res_partner_msjohnson0}:
|
|
|
|
- membership_state == 'free', 'Member should be has "Current Membership State" in "Free Member".'
|
|
|
|
|
|
|
|
- |
|
2011-11-03 00:41:40 +00:00
|
|
|
I'm set "Seagate" as a associated member of "Ms. Johnson" and also set Non free member.
|
2011-01-05 13:14:28 +00:00
|
|
|
-
|
2010-07-22 07:05:56 +00:00
|
|
|
!python {model: res.partner}: |
|
2012-06-20 12:03:05 +00:00
|
|
|
self.write(cr, uid, [ref("res_partner_msjohnson0")], {'free_member': False, 'associate_member': ref("base.res_partner_19")})
|
2010-07-22 07:05:56 +00:00
|
|
|
|
|
|
|
- |
|
|
|
|
I'm checking "Current membership state" of "Ms. Johnson". It is an "Paid Member" or not.
|
2011-01-05 13:14:28 +00:00
|
|
|
-
|
2010-07-22 07:05:56 +00:00
|
|
|
!assert {model: res.partner, id: res_partner_msjohnson0}:
|
|
|
|
- membership_state == 'paid', 'Member should be has "Current Membership State" in "Paid Member".'
|
|
|
|
|
|
|
|
- |
|
2011-08-16 09:23:40 +00:00
|
|
|
I'm creating new "Regular Membership" which has Membership fee 50 EURO and It's started from 1st June to 31st Dec.
|
2010-07-22 07:05:56 +00:00
|
|
|
-
|
|
|
|
!record {model: product.product, id: product_product_membershipproduct1}:
|
2012-06-28 09:30:01 +00:00
|
|
|
categ_id: product.product_category_1
|
2010-07-22 07:05:56 +00:00
|
|
|
membership: 1
|
2011-01-05 13:14:28 +00:00
|
|
|
membership_date_from: !eval datetime.today().strftime("%Y-%m-%d")
|
2011-01-31 12:38:54 +00:00
|
|
|
membership_date_to: !eval "(datetime.now() + timedelta(6*31)).strftime('%Y-%m-%d')"
|
2011-08-16 09:23:40 +00:00
|
|
|
name: Regular Membership
|
2010-07-22 07:05:56 +00:00
|
|
|
type: service
|
|
|
|
list_price: 50.00
|
|
|
|
- |
|
2011-11-03 00:41:40 +00:00
|
|
|
I'm making invoice of "Seagate" member on joining new membership "Regular Membership".
|
2010-07-22 07:05:56 +00:00
|
|
|
-
|
|
|
|
!python {model: res.partner}: |
|
2012-06-20 12:03:05 +00:00
|
|
|
self.create_membership_invoice(cr, uid, [ref("base.res_partner_19")], product_id=ref("product_product_membershipproduct1"), datas={"amount":50.00})
|
2010-07-22 07:05:56 +00:00
|
|
|
- |
|
2011-11-03 00:41:40 +00:00
|
|
|
I'm checking "Current membership state" of "Seagate". It is an "Old Member" or not.
|
2010-07-22 07:05:56 +00:00
|
|
|
-
|
2012-06-20 12:03:05 +00:00
|
|
|
!assert {model: res.partner, id: base.res_partner_19}:
|
2010-07-22 07:05:56 +00:00
|
|
|
- membership_state == 'old', 'Member should be has "Current Membership State" in "Old Member".'
|
|
|
|
- |
|
2011-11-03 00:41:40 +00:00
|
|
|
I'm doing to make credit note of invoice which is paid by "Seagate" to cancel membership.
|
2010-07-22 07:05:56 +00:00
|
|
|
-
|
|
|
|
!python {model: account.invoice}: |
|
|
|
|
from tools.translate import _
|
|
|
|
invoice_pool = self.pool.get('account.invoice')
|
|
|
|
partner_pool = self.pool.get('res.partner')
|
|
|
|
membership_line_pool = self.pool.get('membership.membership_line')
|
|
|
|
membership_pool = self.pool.get('product.product')
|
|
|
|
invoice_refund_pool = self.pool.get('account.invoice.refund')
|
2011-01-05 13:14:28 +00:00
|
|
|
|
2012-06-20 12:03:05 +00:00
|
|
|
membership_line_ids = membership_line_pool.search(cr, uid, [('membership_id','=',ref('product_product_membershipproduct0')),('partner','=',ref('base.res_partner_19'))])
|
2010-07-22 07:05:56 +00:00
|
|
|
membership_lines = membership_line_pool.browse(cr, uid, membership_line_ids)
|
|
|
|
assert membership_lines, _('Membership is not registrated.')
|
|
|
|
membership_line = membership_lines[0]
|
2010-09-01 16:08:45 +00:00
|
|
|
refund_id = invoice_refund_pool.create(cr, uid, {'description': 'Refund of Membership', 'filter_refund': 'refund'}, {'active_id': membership_line.account_invoice_id.id})
|
2011-01-05 13:14:28 +00:00
|
|
|
invoice_refund_pool.invoice_refund(cr, uid, [refund_id], {'active_id': membership_line.account_invoice_id.id, 'active_ids': [membership_line.account_invoice_id.id]})
|
2010-07-22 07:05:56 +00:00
|
|
|
- |
|
2011-11-03 00:41:40 +00:00
|
|
|
I'm checking "Current membership state" of "Seagate". It is an "Cancelled Member" or not.
|
2010-07-22 07:05:56 +00:00
|
|
|
-
|
2012-06-20 12:03:05 +00:00
|
|
|
!assert {model: res.partner, id: base.res_partner_19}:
|
2010-07-22 07:05:56 +00:00
|
|
|
- membership_state == 'canceled', 'Member should be has "Current Membership State" in "Cancelled Member".'
|
2011-01-05 13:14:28 +00:00
|
|
|
|