[IMP] membership: demo+search view

bzr revid: hmo@tinyerp.com-20100720134326-4d5suwkfmdxcrpvl
This commit is contained in:
Harry (OpenERP) 2010-07-20 19:13:26 +05:30
parent 77f62a88a3
commit 59ef04ef06
3 changed files with 11 additions and 151 deletions

View File

@ -367,7 +367,7 @@ class Partner(osv.osv):
default['member_lines'] = []
return super(Partner, self).copy(cr, uid, id, default, context)
def create_membership_invoice(self, cr, uid, ids, datas=None, context=None):
def create_membership_invoice(self, cr, uid, ids, product_id=None, datas=None, context=None):
""" Create Customer Invoice of Membership for partners.
@param datas: datas has dictionary value which consist Id of Membership product and Cost Amount of Membership.
datas = {'membership_product_id': None, 'amount':None}
@ -376,11 +376,13 @@ class Partner(osv.osv):
product_obj = self.pool.get('product.product')
invoice_line_obj = self.pool.get('account.invoice.line')
invoice_tax_obj = self.pool.get('account.invoice.tax')
product_id = datas.get('membership_product_id',False)
product_id = product_id or datas.get('membership_product_id',False)
amount = datas.get('amount', 0.0)
if not context:
context={}
invoice_list = []
if type(ids) in (int,long,):
ids = [ids]
for partner in self.browse(cr, uid, ids, context=context):
account_id = partner.property_account_receivable and partner.property_account_receivable.id or False
fpos_id = partner.property_account_position and partner.property_account_position.id or False

View File

@ -2,8 +2,8 @@
<openerp>
<data>
<!-- Demo Data for Membership Product -->
<record id="member_product_0" model="product.product">
<!-- Demo Data for Memberships -->
<record id="membership_0" model="product.product">
<field name="membership">True</field>
<field eval="time.strftime('%Y-01-01')" name="membership_date_from"/>
<field eval="time.strftime('%Y-06-01')" name="membership_date_to"/>
@ -12,7 +12,7 @@
<field name="categ_id" ref="product.cat1"/>
<field name="type">service</field>
</record>
<record id="member_product_1" model="product.product">
<record id="membership_1" model="product.product">
<field name="membership">True</field>
<field eval="time.strftime('%Y-01-01')" name="membership_date_from"/>
<field eval="time.strftime('%Y-08-01')" name="membership_date_to"/>
@ -21,7 +21,7 @@
<field name="list_price">80</field>
<field name="type">service</field>
</record>
<record id="member_product_2" model="product.product">
<record id="membership_2" model="product.product">
<field name="membership">True</field>
<field eval="time.strftime('%Y-01-01')" name="membership_date_from"/>
<field eval="time.strftime('%Y-08-01')" name="membership_date_to"/>
@ -31,150 +31,9 @@
<field name="type">service</field>
</record>
<!-- Demo data for Accounts -->
<record id="account_account_membershipparent" model="account.account">
<field name="name">membership</field>
<field name="code">Membership-0</field>
<field name="company_id" ref="base.main_company"/>
<!--<field eval="1" name="sign"/>-->
<field eval="1" name="active"/>
<field name="type">view</field>
<field eval="0" name="reconcile"/>
<field name="user_type" ref="account.account_type_root"/>
</record>
<record id="account_account_membershipaccount0" model="account.account">
<field name="name">membership account</field>
<field name="code">Membership-1254</field>
<field name="company_id" ref="base.main_company"/>
<!--<field eval="1" name="sign"/>-->
<field eval="1" name="active"/>
<field name="type">other</field>
<field eval="1" name="reconcile"/>
<field name="user_type" ref="account.account_type_expense"/>
<field name="parent_id" ref="account_account_membershipparent"/>
</record>
<!-- Demo data for Invoices -->
<record id="account_invoice_0" model="account.invoice">
<field name="account_id" ref="account_account_membershipaccount0"/>
<field name="company_id" ref="base.main_company"/>
<field name="currency_id" ref="base.EUR"/>
<field name="address_invoice_id" ref="base.res_partner_address_8"/>
<field name="partner_id" ref="base.res_partner_agrolait"/>
<field eval="time.strftime('%Y-05-09')" name="date_invoice"/>
<field name="journal_id" ref="account.sales_journal"/>
<field name="state">paid</field>
<field name="type">out_invoice</field>
</record>
<record id="account_invoice_1" model="account.invoice">
<field name="account_id" ref="account_account_membershipaccount0"/>
<field name="company_id" ref="base.main_company"/>
<field name="currency_id" ref="base.EUR"/>
<field name="address_invoice_id" ref="base.res_partner_address_9"/>
<field name="partner_id" ref="base.res_partner_2"/>
<field eval="time.strftime('%Y-05-09')" name="date_invoice"/>
<field name="journal_id" ref="account.sales_journal"/>
<field name="state">open</field>
<field name="type">out_invoice</field>
</record>
<record id="account_invoice_2" model="account.invoice">
<field name="account_id" ref="account_account_membershipaccount0"/>
<field name="company_id" ref="base.main_company"/>
<field name="currency_id" ref="base.EUR"/>
<field name="address_invoice_id" ref="base.res_partner_address_zen"/>
<field name="partner_id" ref="base.res_partner_3"/>
<field eval="time.strftime('%Y-05-09')" name="date_invoice"/>
<field name="journal_id" ref="account.sales_journal"/>
<field name="state">cancel</field>
<field name="type">out_invoice</field>
</record>
<record id="account_invoice_3" model="account.invoice">
<field name="account_id" ref="account_account_membershipaccount0"/>
<field name="company_id" ref="base.main_company"/>
<field name="currency_id" ref="base.EUR"/>
<field name="address_invoice_id" ref="base.res_partner_address_14"/>
<field name="partner_id" ref="base.res_partner_15"/>
<field eval="time.strftime('%Y-05-09')" name="date_invoice"/>
<field name="journal_id" ref="account.sales_journal"/>
<field name="state">draft</field>
<field name="type">out_invoice</field>
</record>
<!-- Demo data for invoice line -->
<record id="account_invoice_line_membershipproduct0" model="account.invoice.line">
<field name="name">Membership Product - 1</field>
<field name="invoice_id" ref="account_invoice_0"/>
<field eval="1.0" name="price_unit"/>
<field eval="1.0" name="quantity"/>
<field name="account_id" ref="account_account_membershipaccount0"/>
<field name="product_id" ref="membership.member_product_0"/>
<field name="account_analytic_id" ref="account.analytic_project_2"/>
</record>
<record id="account_invoice_line_membershipproduct1" model="account.invoice.line">
<field name="name">Membership Product - 2</field>
<field name="invoice_id" ref="account_invoice_1"/>
<field eval="1.0" name="price_unit"/>
<field eval="1.0" name="quantity"/>
<field name="account_id" ref="account_account_membershipaccount0"/>
<field name="product_id" ref="membership.member_product_1"/>
<field name="account_analytic_id" ref="account.analytic_project_2"/>
</record>
<record id="account_invoice_line_membershipproduct2" model="account.invoice.line">
<field name="name">Membership Product - 2</field>
<field name="invoice_id" ref="account_invoice_2"/>
<field eval="1.0" name="price_unit"/>
<field eval="1.0" name="quantity"/>
<field name="account_id" ref="account_account_membershipaccount0"/>
<field name="product_id" ref="membership.member_product_1"/>
<field name="account_analytic_id" ref="account.analytic_project_2"/>
</record>
<record id="account_invoice_line_membershipproduct3" model="account.invoice.line">
<field name="name">Membership Product - 2</field>
<field name="invoice_id" ref="account_invoice_3"/>
<field eval="1.0" name="price_unit"/>
<field eval="1.0" name="quantity"/>
<field name="account_id" ref="account_account_membershipaccount0"/>
<field name="product_id" ref="membership.member_product_1"/>
<field name="account_analytic_id" ref="account.analytic_project_2"/>
</record>
<!-- Demo data for membership line -->
<record id="member_line_1" model="membership.membership_line">
<field eval="time.strftime('%Y-01-01')" name="date_from"/>
<field eval="time.strftime('%Y-08-01')" name="date_to"/>
<field name="account_invoice_line" ref="account_invoice_line_membershipproduct0" />
<field name="state">paid</field>
<field name="partner" ref="base.res_partner_agrolait"/>
</record>
<record id="member_line_2" model="membership.membership_line">
<field eval="time.strftime('%Y-01-01')" name="date_from"/>
<field eval="time.strftime('%Y-08-01')" name="date_to"/>
<field name="account_invoice_line" ref="account_invoice_line_membershipproduct1" />
<field name="state">invoiced</field>
<field name="partner" ref="base.res_partner_2"/>
</record>
<record id="member_line_3" model="membership.membership_line">
<field eval="time.strftime('%Y-01-01')" name="date_from"/>
<field eval="time.strftime('%Y-08-01')" name="date_to"/>
<field eval="time.strftime('%Y-08-05')" name="date_cancel"/>
<field name="account_invoice_line" ref="account_invoice_line_membershipproduct2" />
<field name="state">canceled</field>
<field name="partner" ref="base.res_partner_3"/>
</record>
<record id="member_line_3" model="membership.membership_line">
<field eval="time.strftime('%Y-01-01')" name="date_from"/>
<field eval="time.strftime('%Y-08-01')" name="date_to"/>
<field name="account_invoice_line" ref="account_invoice_line_membershipproduct3" />
<field name="state">waiting</field>
<field name="partner" ref="base.res_partner_15"/>
</record>
<!-- Demo data for cancel member -->
<record id="base.res_partner_3" model="res.partner">
<field name="membership_cancel">2009-01-01</field>
</record>
<!-- Join Memberships -->
<function model="res.partner" name="create_membership_invoice" eval="(ref('base.res_partner_agrolait'), ref('membership_0'), {'amount':180})"/>
<!-- Demo data for free member -->
<record id="base.res_partner_desertic_hispafuentes" model="res.partner">
<field name="free_member">True</field>

View File

@ -147,7 +147,6 @@
<record model="ir.actions.act_window" id="action_membership_members">
<field name="name">Members</field>
<field name="res_model">res.partner</field>
<field name="domain">[('membership_state','&lt;&gt;','none'),('membership_state','&lt;&gt;','canceled'),('membership_state','&lt;&gt;','old'),('membership_state','&lt;&gt;','waiting')]</field>
<field name="search_view_id" ref="view_res_partner_member_filter"/>
<field name="context">{"search_default_old": 1}</field>
</record>