Update to the new data-model decided during the Open Days 2014.

Add demo data.
This commit is contained in:
Alexis de Lattre
2014-06-10 01:25:34 +02:00
committed by Enric Tobella
parent 235ef687de
commit d7861c439d
10 changed files with 123 additions and 94 deletions

View File

@@ -1,7 +1,7 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# Account Partner Payment module for OpenERP
# Account Payment Partner module for OpenERP
# Copyright (C) 2014 Akretion (http://www.akretion.com)
# @author Alexis de Lattre <alexis.delattre@akretion.com>
#

View File

@@ -1,7 +1,7 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# Account Partner Payment module for OpenERP
# Account Payment Partner module for OpenERP
# Copyright (C) 2014 Akretion (http://www.akretion.com)
# @author Alexis de Lattre <alexis.delattre@akretion.com>
#
@@ -22,25 +22,23 @@
{
'name': 'Account Partner Payment',
'name': 'Account Payment Partner',
'version': '0.1',
'category': 'Banking addons',
'license': 'AGPL-3',
'summary': 'Adds payment type and receivable bank account on partners',
'summary': 'Adds payment mode on partners and invoices',
'description': """
Account Partner Payment
Account Payment Partner
=======================
This module adds severals fields :
* the *Supplier Payment Type* and *Customer Payment Type* on Partners,
* the *Supplier Payment Mode* and *Customer Payment Mode* on Partners,
* the *Receivable Bank Account* on Partners,
* the *Payment Type* on Invoices.
* the *Payment Mode* on Invoices.
On a Payment Order, in the wizard *Select Invoices to Pay*, the invoices will
be filtered per Payment Type.
be filtered per Payment Mode.
Please contact Alexis de Lattre from Akretion <alexis.delattre@akretion.com>
for any help or question about this module.
@@ -52,6 +50,6 @@ for any help or question about this module.
'view/partner.xml',
'view/account_invoice.xml',
],
'demo': [],
'demo': ['demo/partner_demo.xml'],
'active': False,
}

View File

@@ -0,0 +1,51 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data noupdate="1">
<!-- Camptocamp -->
<record id="supplier_payment_mode_12" model="ir.property" forcecreate="True">
<field name="name">supplier_payment_mode_12</field>
<field name="fields_id"
search="[('model','=','res.partner'),('name','=','supplier_payment_mode')]"/>
<field name="value"
eval="'payment.mode,'+str(ref('account_banking_payment_export.payment_mode_2'))"/>
<field name="company_id" ref="base.main_company"/>
<field name="res_id" ref="base.res_partner_12"/>
</record>
<record id="customer_payment_mode_12" model="ir.property" forcecreate="True">
<field name="name">customer_payment_mode_12</field>
<field name="fields_id"
search="[('model','=','res.partner'),('name','=','customer_payment_mode')]"/>
<field name="value"
eval="'payment.mode,'+str(ref('account_banking_payment_export.payment_mode_2'))"/>
<field name="company_id" ref="base.main_company"/>
<field name="res_id" ref="base.res_partner_12"/>
</record>
<!-- Agrolait -->
<record id="customer_payment_mode_2" model="ir.property" forcecreate="True">
<field name="name">customer_payment_mode_2</field>
<field name="fields_id"
search="[('model','=','res.partner'),('name','=','customer_payment_mode')]"/>
<field name="value"
eval="'payment.mode,'+str(ref('account_banking_payment_export.payment_mode_3'))"/>
<field name="company_id" ref="base.main_company"/>
<field name="res_id" ref="base.res_partner_2"/>
</record>
<!-- Asustek -->
<record id="supplier_payment_mode_1" model="ir.property" forcecreate="True">
<field name="name">supplier_payment_mode_1</field>
<field name="fields_id"
search="[('model','=','res.partner'),('name','=','supplier_payment_mode')]"/>
<field name="value"
eval="'payment.mode,'+str(ref('account_banking_payment_export.payment_mode_2'))"/>
<field name="company_id" ref="base.main_company"/>
<field name="res_id" ref="base.res_partner_1"/>
</record>
</data>
</openerp>

View File

@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: OpenERP Server 7.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2014-02-24 23:06+0000\n"
"PO-Revision-Date: 2014-02-24 23:06+0000\n"
"POT-Creation-Date: 2014-06-09 23:22+0000\n"
"PO-Revision-Date: 2014-06-09 23:22+0000\n"
"Last-Translator: <>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@@ -16,38 +16,8 @@ msgstr ""
"Plural-Forms: \n"
#. module: account_payment_partner
#: field:account.invoice,payment_mode_type:0
msgid "Payment Type"
msgstr ""
#. module: account_payment_partner
#: model:ir.model,name:account_payment_partner.model_payment_order_create
msgid "payment.order.create"
msgstr ""
#. module: account_payment_partner
#: field:res.partner,supplier_payment_mode_type:0
msgid "Supplier Payment Type"
msgstr ""
#. module: account_payment_partner
#: help:res.partner,partner_bank_receivable:0
msgid "Select the bank account of your company on which the customer should pay."
msgstr ""
#. module: account_payment_partner
#: field:res.partner,partner_bank_receivable:0
msgid "Receivable Bank Account"
msgstr ""
#. module: account_payment_partner
#: help:res.partner,supplier_payment_mode_type:0
msgid "Select the default payment type for this supplier."
msgstr ""
#. module: account_payment_partner
#: field:res.partner,customer_payment_mode_type:0
msgid "Customer Payment Type"
#: field:res.partner,customer_payment_mode:0
msgid "Customer Payment Mode"
msgstr ""
#. module: account_payment_partner
@@ -55,13 +25,33 @@ msgstr ""
msgid "Invoice"
msgstr ""
#. module: account_payment_partner
#: help:res.partner,customer_payment_mode_type:0
msgid "Select the default payment type for this customer."
msgstr ""
#. module: account_payment_partner
#: model:ir.model,name:account_payment_partner.model_res_partner
msgid "Partner"
msgstr ""
#. module: account_payment_partner
#: field:account.invoice,payment_mode_id:0
msgid "Payment Mode"
msgstr ""
#. module: account_payment_partner
#: help:res.partner,customer_payment_mode:0
msgid "Select the default payment mode for this customer."
msgstr ""
#. module: account_payment_partner
#: help:res.partner,supplier_payment_mode:0
msgid "Select the default payment mode for this supplier."
msgstr ""
#. module: account_payment_partner
#: field:res.partner,supplier_payment_mode:0
msgid "Supplier Payment Mode"
msgstr ""
#. module: account_payment_partner
#: model:ir.model,name:account_payment_partner.model_payment_order_create
msgid "payment.order.create"
msgstr ""

View File

@@ -1,7 +1,7 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# Account Partner Payment module for OpenERP
# Account Payment Partner module for OpenERP
# Copyright (C) 2014 Akretion (http://www.akretion.com)
# @author Alexis de Lattre <alexis.delattre@akretion.com>
#

View File

@@ -1,7 +1,7 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# Account Partner Payment module for OpenERP
# Account Payment Partner module for OpenERP
# Copyright (C) 2014 Akretion (http://www.akretion.com)
# @author Alexis de Lattre <alexis.delattre@akretion.com>
#
@@ -27,8 +27,8 @@ class account_invoice(orm.Model):
_inherit = 'account.invoice'
_columns = {
'payment_mode_type': fields.many2one(
'payment.mode.type', 'Payment Type'),
'payment_mode_id': fields.many2one(
'payment.mode', 'Payment Mode'),
}
def onchange_partner_id(
@@ -40,14 +40,16 @@ class account_invoice(orm.Model):
company_id=company_id)
if partner_id:
partner = self.pool['res.partner'].browse(cr, uid, partner_id)
# TODO what about refunds ? Should be really copy
# the payment type for refunds ?
if type and type in ('in_invoice', 'in_refund'):
res['value']['payment_mode_type'] = \
partner.supplier_payment_mode_type.id or False
elif type and type in ('out_invoice', 'out_refund'):
res['value']['payment_mode_type'] = \
partner.customer_payment_mode_type.id or False
if type == 'in_invoice':
res['value']['payment_mode_id'] = \
partner.supplier_payment_mode.id or False
elif type == 'out_invoice':
res['value'].update({
'payment_mode_id':
partner.customer_payment_mode.id or False,
'partner_bank_id':
partner.customer_payment_mode.bank_id.id or False,
})
else:
res['value']['payment_mode_type'] = False
res['value']['payment_mode_id'] = False
return res

View File

@@ -1,7 +1,7 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# Account Partner Payment module for OpenERP
# Account Payment Partner module for OpenERP
# Copyright (C) 2014 Akretion (http://www.akretion.com)
# @author Alexis de Lattre <alexis.delattre@akretion.com>
#
@@ -27,27 +27,18 @@ class res_partner(orm.Model):
_inherit = 'res.partner'
_columns = {
'supplier_payment_mode_type': fields.property(
'payment.mode.type', type='many2one', relation='payment.mode.type',
string='Supplier Payment Type', view_load=True,
help="Select the default payment type for this supplier."),
'customer_payment_mode_type': fields.property(
'payment.mode.type', type='many2one', relation='payment.mode.type',
string='Customer Payment Type', view_load=True,
help="Select the default payment type for this customer."),
'partner_bank_receivable': fields.property(
'res.partner.bank', type='many2one', relation='res.partner.bank',
string='Receivable Bank Account', view_load=True,
help="Select the bank account of your company on which the "
"customer should pay."),
'supplier_payment_mode': fields.property(
'payment.mode', type='many2one', relation='payment.mode',
string='Supplier Payment Mode', view_load=True,
help="Select the default payment mode for this supplier."),
'customer_payment_mode': fields.property(
'payment.mode', type='many2one', relation='payment.mode',
string='Customer Payment Mode', view_load=True,
help="Select the default payment mode for this customer."),
}
def _commercial_fields(self, cr, uid, context=None):
res = super(res_partner, self)._commercial_fields(
cr, uid, context=context)
res += [
'supplier_payment_mode_type',
'customer_payment_mode_type',
'partner_bank_receivable',
]
res += ['supplier_payment_mode', 'customer_payment_mode']
return res

View File

@@ -1,7 +1,7 @@
# -*- encoding: utf-8 -*-
##############################################################################
#
# Account Partner Payment module for OpenERP
# Account Payment Partner module for OpenERP
# Copyright (C) 2014 Akretion (http://www.akretion.com)
# @author Alexis de Lattre <alexis.delattre@akretion.com>
#
@@ -33,7 +33,7 @@ class payment_order_create(orm.TransientModel):
domain += [
'|', '|',
('invoice', '=', False),
('invoice.payment_mode_type', '=', False),
('invoice.payment_mode_type', '=', payment_order.mode_type.id)
('invoice.payment_mode_id', '=', False),
('invoice.payment_mode_id', '=', payment_order.mode.id)
]
return True

View File

@@ -11,24 +11,24 @@
<record id="invoice_form" model="ir.ui.view">
<field name="name">account_partner_payment.invoice_form</field>
<field name="name">account_payment_partner.invoice_form</field>
<field name="model">account.invoice</field>
<field name="inherit_id" ref="account.invoice_form" />
<field name="arch" type="xml">
<field name="partner_bank_id" position="after">
<field name="payment_mode_type"/>
<field name="payment_mode_id"/>
</field>
</field>
</record>
<record id="invoice_supplier_form" model="ir.ui.view">
<field name="name">account_partner_payment.invoice_supplier_form</field>
<field name="name">account_payment_partner.invoice_supplier_form</field>
<field name="model">account.invoice</field>
<field name="inherit_id" ref="account.invoice_supplier_form" />
<field name="arch" type="xml">
<field name="partner_bank_id" position="after">
<field name="payment_mode_type"/>
<field name="payment_mode_id"/>
</field>
</field>
</record>

View File

@@ -16,14 +16,11 @@
<field name="inherit_id" ref="account.view_partner_property_form" />
<field name="arch" type="xml">
<field name="property_payment_term" position="after">
<field name="customer_payment_mode_type"
<field name="customer_payment_mode"
attrs="{'invisible': [('customer', '=', False)]}"/>
<field name="partner_bank_receivable"
domain="[('partner_id.ref_companies', 'in', [company_id])]"
attrs="{'invisible': [('customer', '=', False)]}" />
</field>
<field name="property_supplier_payment_term" position="after">
<field name="supplier_payment_mode_type"
<field name="supplier_payment_mode"
attrs="{'invisible': [('supplier', '=', False)]}"/>
</field>
</field>