[IMP] Account Payment: Improve the module (remove payment.type object, change the menus, etc) (still need some improvement from piratpad remaining to do)
bzr revid: mra@mra-laptop-20100906033801-9kxjpzkhhiltcpp4
This commit is contained in:
parent
e4831cf51b
commit
a4a2627c1b
|
@ -23,20 +23,6 @@ import time
|
|||
from osv import osv, fields
|
||||
import netsvc
|
||||
|
||||
class payment_type(osv.osv):
|
||||
_name= 'payment.type'
|
||||
_description= 'Payment Type'
|
||||
_columns= {
|
||||
'name': fields.char('Name', size=64, required=True, help='Payment Type'),
|
||||
'code': fields.char('Code', size=64, required=True, help='Specifies the Code for Payment Type'),
|
||||
'suitable_bank_types': fields.many2many('res.partner.bank.type',
|
||||
'bank_type_payment_type_rel',
|
||||
'pay_type_id', 'bank_type_id',
|
||||
'Suitable bank types')
|
||||
}
|
||||
|
||||
payment_type()
|
||||
|
||||
class payment_mode(osv.osv):
|
||||
_name= 'payment.mode'
|
||||
_description= 'Payment Mode'
|
||||
|
@ -47,11 +33,11 @@ class payment_mode(osv.osv):
|
|||
'journal': fields.many2one('account.journal', 'Journal', required=True,
|
||||
domain=[('type', '=', 'cash')], help='Cash Journal for the Payment Mode'),
|
||||
'company_id': fields.many2one('res.company', 'Company', required=True),
|
||||
'type': fields.many2one('payment.type', 'Payment type', required=True, help='Select the Payment Type for the Payment Mode.'),
|
||||
}
|
||||
_defaults = {
|
||||
'company_id': lambda self,cr,uid,c: self.pool.get('res.users').browse(cr, uid, uid, c).company_id.id
|
||||
}
|
||||
|
||||
def suitable_bank_types(self, cr, uid, payment_code=None, context={}):
|
||||
"""Return the codes of the bank type that are suitable
|
||||
for the given payment type code"""
|
||||
|
@ -59,9 +45,8 @@ class payment_mode(osv.osv):
|
|||
return []
|
||||
cr.execute(""" select t.code
|
||||
from res_partner_bank_type t
|
||||
join bank_type_payment_type_rel r on (r.bank_type_id = t.id)
|
||||
join payment_type pt on (r.pay_type_id = pt.id)
|
||||
join payment_mode pm on (pm.type = pt.id)
|
||||
join res_partner_bank pb on (t.id = pb.bank)
|
||||
join payment_mode pm on (pm.bank_id = pb.id)
|
||||
where pm.id = %s """, [payment_code])
|
||||
return [x[0] for x in cr.fetchall()]
|
||||
|
||||
|
@ -419,7 +404,6 @@ class payment_line(osv.osv):
|
|||
if bank.state in bank_type:
|
||||
data['bank_id'] = bank.id
|
||||
break
|
||||
|
||||
return {'value': data}
|
||||
|
||||
def fields_get(self, cr, uid, fields=None, context=None):
|
||||
|
|
|
@ -40,27 +40,6 @@
|
|||
|
||||
<menuitem id="menu_main" name="Payment" parent="account.menu_finance" sequence="6"/>
|
||||
|
||||
<record id="view_payment_type_form" model="ir.ui.view">
|
||||
<field name="name">payment.type.form</field>
|
||||
<field name="model">payment.type</field>
|
||||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Payment Type">
|
||||
<field name="name"/>
|
||||
<field name="code"/>
|
||||
<separator string="Suitable Bank Types" colspan="4"/>
|
||||
<field name="suitable_bank_types" nolabel="1" colspan="4"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_payment_type_tree" model="ir.actions.act_window">
|
||||
<field name="name">Payment Type</field>
|
||||
<field name="res_model">payment.type</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
|
||||
<record id="view_payment_mode_tree" model="ir.ui.view">
|
||||
<field name="name">payment.mode.tree</field>
|
||||
<field name="model">payment.mode</field>
|
||||
|
@ -69,7 +48,7 @@
|
|||
<tree string="Payment Mode">
|
||||
<field name="name"/>
|
||||
<field name="journal"/>
|
||||
<field name="company_id"/>
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -80,10 +59,9 @@
|
|||
<field name="arch" type="xml">
|
||||
<form string="Payment Mode">
|
||||
<field name="name" select="1"/>
|
||||
<field name="type"/>
|
||||
<field name="journal"/>
|
||||
<field name="bank_id"/>
|
||||
<field name="company_id" select="1" widget='selection'/>
|
||||
<field name="company_id" select="1" widget='selection' groups="base.group_multi_company"/>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
@ -94,11 +72,7 @@
|
|||
<field name="view_mode">tree,form</field>
|
||||
</record>
|
||||
|
||||
<menuitem id="next_id_44" name="Payment" parent="account.menu_finance_configuration" groups="base.group_system"/>
|
||||
|
||||
<menuitem action="action_payment_mode_form" id="menu_action_payment_mode_form" parent="next_id_44"/>
|
||||
|
||||
<menuitem action="action_payment_type_tree" id="menu_action_paymen_type" parent="next_id_44"/>
|
||||
<menuitem action="action_payment_mode_form" id="menu_action_payment_mode_form" parent="account.menu_configuration_misc"/>
|
||||
|
||||
<record id="view_payment_order_form" model="ir.ui.view">
|
||||
<field name="name">payment.order.form</field>
|
||||
|
@ -106,12 +80,14 @@
|
|||
<field name="type">form</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="Payment order">
|
||||
<field name="reference"/>
|
||||
<field name="mode"/>
|
||||
<field name="date_prefered"/>
|
||||
<field name="date_scheduled" select="1" attrs="{'readonly':[('date_prefered','!=','fixed')]}" />
|
||||
<field name="user_id"/>
|
||||
<button colspan="2" name="%(action_create_payment_order)d" string="Select Invoices to Pay" type="action" attrs="{'invisible':[('state','=','done')]}" icon="gtk-find"/>
|
||||
<group col="6" colspan="4">
|
||||
<field name="reference"/>
|
||||
<field name="mode" widget='selection'/>
|
||||
<field name="date_prefered"/>
|
||||
<field name="date_scheduled" select="1" attrs="{'readonly':[('date_prefered','!=','fixed')]}" />
|
||||
<field name="user_id"/>
|
||||
<button colspan="2" name="%(action_create_payment_order)d" string="Select Invoices to Pay" type="action" attrs="{'invisible':[('state','=','done')]}" icon="gtk-find"/>
|
||||
</group>
|
||||
<field name="line_ids" colspan="4" widget="one2many_list" nolabel="1">
|
||||
<form string="Payment Line">
|
||||
<notebook>
|
||||
|
|
|
@ -1,5 +1,4 @@
|
|||
"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
|
||||
"access_payment_type","payment.type","model_payment_type","group_account_payment",1,1,1,1
|
||||
"access_payment_mode","payment.mode","model_payment_mode","group_account_payment",1,1,1,1
|
||||
"access_payment_order","payment.order","model_payment_order","group_account_payment",1,1,1,1
|
||||
"access_payment_line","payment.line","model_payment_line","group_account_payment",1,1,1,1
|
||||
|
@ -10,6 +9,5 @@
|
|||
"access_payment_order_manager","payment.order manager","model_payment_order","account.group_account_manager",1,0,0,0
|
||||
"access_payment_order_system","payment.order system","model_payment_order","base.group_system",1,0,0,0
|
||||
"access_payment_mode_system","payment.mode system","model_payment_mode","base.group_system",1,1,1,1
|
||||
"access_payment_type_system","payment.type system","model_payment_type","base.group_system",1,1,1,1
|
||||
"access_payment_order_invoice","payment.order invoice","model_payment_order","account.group_account_invoice",1,1,1,1
|
||||
"access_payment_line_invoice","payment.line invoice","model_payment_line","account.group_account_invoice",1,1,1,1
|
||||
|
|
|
|
@ -1,12 +1,5 @@
|
|||
-
|
||||
In order to test account_payment in OpenERP I create a new record Type.
|
||||
-
|
||||
!record {model: payment.type, id: payment_type_t0}:
|
||||
code: T0
|
||||
name: TestType
|
||||
|
||||
-
|
||||
I created a new Bank Record
|
||||
In order to test account_payment in OpenERP I created a new Bank Record
|
||||
-
|
||||
Creating a res.partner.bank record
|
||||
-
|
||||
|
@ -26,7 +19,6 @@
|
|||
bank_id: res_partner_bank_0
|
||||
journal: account.bank_journal
|
||||
name: TestMode
|
||||
type: payment_type_t0
|
||||
|
||||
-
|
||||
I created a Supplier Invoice
|
||||
|
|
Loading…
Reference in New Issue