Created
January 29, 2015 16:29
-
-
Save eLBati/d0b190881f72b356f2a2 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/l10n_it_corrispettivi/AUTHORS.txt b/l10n_it_corrispettivi/AUTHORS.txt | |
index 7106ca0..886ec56 100644 | |
--- a/l10n_it_corrispettivi/AUTHORS.txt | |
+++ b/l10n_it_corrispettivi/AUTHORS.txt | |
@@ -1 +1,2 @@ | |
-Lorenzo Battistini <lorenzo.battistini@agilebg.com> | |
+Lorenzo Battistini <lorenzo.battistini@domsense.com> | |
+ | |
diff --git a/l10n_it_corrispettivi/__init__.py b/l10n_it_corrispettivi/__init__.py | |
index 4166e73..01176a4 100644 | |
--- a/l10n_it_corrispettivi/__init__.py | |
+++ b/l10n_it_corrispettivi/__init__.py | |
@@ -1,8 +1,8 @@ | |
# -*- encoding: utf-8 -*- | |
-# | |
-# | |
+############################################################################## | |
+# | |
# Copyright (C) 2011 Associazione OpenERP Italia | |
-# (<http://www.openerp-italia.org>). | |
+# (<http://www.openerp-italia.org>). | |
# | |
# This program is free software: you can redistribute it and/or modify | |
# it under the terms of the GNU Affero General Public License as published | |
@@ -17,6 +17,6 @@ | |
# You should have received a copy of the GNU Affero General Public License | |
# along with this program. If not, see <http://www.gnu.org/licenses/>. | |
# | |
-# | |
-from . import account | |
-from . import installer | |
+############################################################################## | |
+import account | |
+import installer | |
diff --git a/l10n_it_corrispettivi/__openerp__.py b/l10n_it_corrispettivi/__openerp__.py | |
index 6b8c09b..63ba337 100644 | |
--- a/l10n_it_corrispettivi/__openerp__.py | |
+++ b/l10n_it_corrispettivi/__openerp__.py | |
@@ -1,8 +1,8 @@ | |
# -*- coding: utf-8 -*- | |
-# | |
-# | |
+############################################################################## | |
+# | |
# Copyright (C) 2011 Associazione OpenERP Italia | |
-# (<http://www.openerp-italia.org>). | |
+# (<http://www.openerp-italia.org>). | |
# | |
# This program is free software: you can redistribute it and/or modify | |
# it under the terms of the GNU Affero General Public License as published | |
@@ -17,24 +17,23 @@ | |
# You should have received a copy of the GNU Affero General Public License | |
# along with this program. If not, see <http://www.gnu.org/licenses/>. | |
# | |
-# | |
+############################################################################## | |
{ | |
'name': 'Italian Localisation - Corrispettivi', | |
'version': '0.1', | |
'category': 'Localisation/Italy', | |
'description': """This module helps to easily input Corrispettivi within OpenERP. | |
- | |
-Per maggiori informazioni: | |
-http://planet.domsense.com/2011/11/openerp-registrare-i-corrispettivi/""", | |
+ | |
+ Per maggiori informazioni: http://planet.domsense.com/2011/11/openerp-registrare-i-corrispettivi/""", | |
'author': 'OpenERP Italian Community', | |
'website': 'http://www.openerp-italia.org', | |
'license': 'AGPL-3', | |
- "depends": ['account_voucher'], | |
- "data": [ | |
- 'partner_data.xml', | |
+ "depends" : ['account_voucher'], | |
+ "data" : [ | |
+ 'partner_data.xml', | |
'account_view.xml', | |
'installer_view.xml', | |
- ], | |
+ ], | |
"active": False, | |
- "installable": True | |
+ 'installable': True | |
} | |
diff --git a/l10n_it_corrispettivi/account.py b/l10n_it_corrispettivi/account.py | |
index 47ec428..ab147ae 100644 | |
--- a/l10n_it_corrispettivi/account.py | |
+++ b/l10n_it_corrispettivi/account.py | |
@@ -1,8 +1,8 @@ | |
# -*- encoding: utf-8 -*- | |
-# | |
-# | |
+############################################################################## | |
+# | |
# Copyright (C) 2011 Associazione OpenERP Italia | |
-# (<http://www.openerp-italia.org>). | |
+# (<http://www.openerp-italia.org>). | |
# | |
# This program is free software: you can redistribute it and/or modify | |
# it under the terms of the GNU Affero General Public License as published | |
@@ -17,119 +17,74 @@ | |
# You should have received a copy of the GNU Affero General Public License | |
# along with this program. If not, see <http://www.gnu.org/licenses/>. | |
# | |
-# | |
- | |
-from osv import fields, osv | |
-from tools.translate import _ | |
+############################################################################## | |
+from openerp import models, fields, exceptions, api, _ | |
-class account_invoice(osv.osv): | |
+class AccountInvoice(models.Model): | |
_inherit = 'account.invoice' | |
- _columns = { | |
- 'corrispettivo': fields.boolean('Corrispettivo'), | |
- } | |
- | |
- def onchange_company_id( | |
- self, cr, uid, ids, company_id, part_id, _type, invoice_line, | |
- currency_id, context=None | |
- ): | |
- if not context: | |
- context = {} | |
- journal_obj = self.pool.get('account.journal') | |
- res = super(account_invoice, self).onchange_company_id( | |
- cr, uid, ids, company_id, part_id, | |
- _type, invoice_line, currency_id) | |
- is_corrispettivo = context.get('corrispettivo', False) | |
- corr_journal_ids = journal_obj.search( | |
- cr, uid, | |
- [('corrispettivi', '=', True), ('company_id', '=', company_id)]) | |
- | |
- # Se è un corrispettivo e la company ha almeno un sezionale | |
- # corrispettivi | |
- if is_corrispettivo and corr_journal_ids: | |
- res['value']['journal_id'] = corr_journal_ids[0] | |
- # Se la company ha almeno un sezionale corrispettivi ma l'invoice non è | |
- # un corrispettivo | |
- elif ( | |
- corr_journal_ids | |
- and corr_journal_ids[0] in res['domain']['journal_id'][0][2] | |
- ): | |
- # Se l'on_change di invoice ha impostato il journal corrispettivi | |
- if ( | |
- corr_journal_ids[0] == res['value']['journal_id'] | |
- and len(res['domain']['journal_id'][0][2]) > 1 | |
- ): | |
- for j_id in res['domain']['journal_id'][0][2]: | |
- if corr_journal_ids[0] != j_id: | |
- res['value']['journal_id'] = j_id | |
- break | |
- return res | |
- | |
- def _get_account(self, cr, uid, context=None): | |
- if context is None: | |
- context = {} | |
- is_corrispettivo = context.get('corrispettivo', False) | |
+ def _get_account(self): | |
+ is_corrispettivo = self._context.get('corrispettivo', False) | |
res = False | |
if is_corrispettivo: | |
- partner_obj = partner_ids = self.pool.get('res.partner') | |
- partner_ids = partner_obj.search( | |
- cr, uid, [('corrispettivi', '=', True)]) | |
+ partner_ids = self.env['res.partner'].search([('corrispettivi', '=', True)]) | |
if not partner_ids: | |
- raise osv.except_osv(_('Error!'), | |
- _('No partner "corrispettivi" found')) | |
- partner = partner_obj.browse(cr, uid, partner_ids[0]) | |
+ raise exceptions.except_orm(_('Error!'), | |
+ _('No partner "corrispettivi" found')) | |
+ partner = self.env['res.partner'].browse(self._cr, self._uid, partner_ids[0]) | |
res = partner.property_account_receivable.id | |
return res | |
- def _get_partner_id(self, cr, uid, context=None): | |
- if context is None: | |
- context = {} | |
- is_corrispettivo = context.get('corrispettivo', False) | |
+ def _get_partner_id(self): | |
+ is_corrispettivo = self._context.get('corrispettivo', False) | |
res = False | |
if is_corrispettivo: | |
- partner_obj = partner_ids = self.pool.get('res.partner') | |
- partner_ids = partner_obj.search( | |
- cr, uid, [('corrispettivi', '=', True)]) | |
+ partner_ids=self.env['res.partner'].search([('corrispettivi', '=', True)]) | |
if not partner_ids: | |
- raise osv.except_osv(_('Error!'), | |
- _('No partner "corrispettivi" found')) | |
+ raise exceptions.except_orm(_('Error!'), | |
+ _('No partner "corrispettivi" found')) | |
res = partner_ids[0] | |
return res | |
- def onchange_corrispettivo( | |
- self, cr, uid, ids, corrispettivo=False, context=None | |
- ): | |
+ #set default option on inherited field | |
+ corrispettivo = fields.Boolean(string='Corrispettivo') | |
+ account_id = fields.Many2one(default=_get_account) | |
+ partner_id = fields.Many2one(default=_get_partner_id) | |
+ | |
+ @api.multi | |
+ def onchange_company_id(self, company_id, part_id, type, invoice_line, currency_id): | |
+ res = super(AccountInvoice, self).onchange_company_id(company_id, part_id, type, invoice_line, currency_id) | |
+ is_corrispettivo = self._context.get('corrispettivo', False) | |
+ corr_journal_ids = self.env['account.journal'].search([('corrispettivi','=', True), ('company_id','=', company_id)]) | |
+ | |
+ # if it is a "corrispettivo" and the company has at least one journal "corrispettivi" | |
+ if is_corrispettivo and corr_journal_ids: | |
+ res['value']['journal_id'] = corr_journal_ids[0] | |
+ | |
+ # if the company has at least one journal "corrispettivi" but the invoice it isn't a corrispettivo | |
+ elif corr_journal_ids and corr_journal_ids[0] in res['domain']['journal_id'][0][2]: | |
+ # if invoice's on_change has set journal corrispettivi | |
+ if corr_journal_ids[0] == res['value']['journal_id'] and len(res['domain']['journal_id'][0][2]) > 1: | |
+ for j_id in res['domain']['journal_id'][0][2]: | |
+ if corr_journal_ids[0] != j_id: | |
+ res['value']['journal_id'] = j_id | |
+ break | |
+ return res | |
+ | |
+ @api.multi | |
+ def onchange_corrispettivo(self, corrispettivo=False): | |
res = {} | |
- user_obj = self.pool.get('res.users') | |
- journal_obj = self.pool.get('account.journal') | |
- company_id = user_obj.browse(cr, uid, uid).company_id.id | |
- corr_journal_ids = journal_obj.search( | |
- cr, uid, | |
- [('corrispettivi', '=', True), ('company_id', '=', company_id)]) | |
+ company_id = self.env['res.users'].browse(self._uid).company_id.id | |
+ corr_journal_ids = self.env['account.journal'].search([('corrispettivi','=', True), ('company_id','=', company_id)]) | |
if corr_journal_ids and corrispettivo: | |
res = {'value': {'journal_id': corr_journal_ids[0]}} | |
return res | |
- _defaults = { | |
- 'partner_id': _get_partner_id, | |
- 'account_id': _get_account, | |
- } | |
- | |
-account_invoice() | |
- | |
- | |
-class account_journal(osv.osv): | |
+class AccountJournal(models.Model): | |
_inherit = 'account.journal' | |
- _columns = { | |
- 'corrispettivi': fields.boolean('Corrispettivi'), | |
- } | |
-account_journal() | |
- | |
+ corrispettivi = fields.Boolean(string='Corrispettivi') | |
-class res_partner(osv.osv): | |
+class ResPartner(models.Model): | |
_inherit = 'res.partner' | |
- _columns = { | |
- 'corrispettivi': fields.boolean('Corrispettivi'), | |
- } | |
-res_partner() | |
+ corrispettivi = fields.Boolean(string='Corrispettivi') | |
diff --git a/l10n_it_corrispettivi/account_view.xml b/l10n_it_corrispettivi/account_view.xml | |
index aa716ea..49f945e 100644 | |
--- a/l10n_it_corrispettivi/account_view.xml | |
+++ b/l10n_it_corrispettivi/account_view.xml | |
@@ -35,7 +35,7 @@ | |
<field name="priority" eval="17"/> | |
<field name="type">form</field> | |
<field name="arch" type="xml"> | |
- <form string="Corrispettivo" version="7.0"> | |
+ <form string="Corrispettivo" version="8.0"> | |
<header> | |
<button name="invoice_open" states="draft" string="Validate" class="oe_highlight" groups="base.group_user"/> | |
<button name="invoice_cancel" states="draft,open" string="Cancel" groups="base.group_no_one"/> | |
@@ -64,7 +64,7 @@ | |
<group> | |
<field name="date_invoice"/> | |
<field name="journal_id" groups="account.group_account_user" | |
- on_change="onchange_journal_id(journal_id, context)" widget="selection"/> | |
+ on_change="onchange_journal_id(journal_id)" widget="selection"/> | |
<field domain="[('company_id', '=', company_id),('type','=', 'receivable')]" | |
name="account_id" groups="account.group_account_user"/> | |
@@ -80,7 +80,7 @@ | |
<field name="invoice_line" nolabel="1" widget="one2many_list" context="{'type': type}"> | |
<tree string="Invoice Lines" editable="bottom"> | |
<field name="product_id" | |
- on_change="product_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.currency_id, context, parent.company_id)"/> | |
+ on_change="product_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.currency_id, parent.company_id)"/> | |
<field name="name"/> | |
<field name="company_id" invisible="1"/> | |
<field name="account_id" groups="account.group_account_user" | |
@@ -90,10 +90,10 @@ | |
domain="[('type','!=','view'), ('company_id', '=', parent.company_id)]"/> | |
<field name="quantity"/> | |
<field name="uos_id" groups="product.group_uom" | |
- on_change="uos_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.currency_id, context, parent.company_id)"/> | |
+ on_change="uos_id_change(product_id, uos_id, quantity, name, parent.type, parent.partner_id, parent.fiscal_position, price_unit, parent.currency_id, parent.company_id)"/> | |
<field name="price_unit"/> | |
<field name="discount" groups="sale.group_discount_per_so_line"/> | |
- <field name="invoice_line_tax_id" widget="many2many_tags" context="{'type':parent.type}" | |
+ <field name="invoice_line_tax_id" widget="many2many_tags" context="{'type': parent.type}" | |
domain="[('parent_id','=',False),('company_id', '=', parent.company_id)]"/> | |
<field name="price_subtotal"/> | |
</tree> | |
@@ -178,7 +178,7 @@ | |
<field name="inherit_id" ref="account.invoice_form"></field> | |
<field name="arch" type="xml"> | |
<field name="company_id" position="replace"> | |
- <field name="company_id" on_change="onchange_company_id(company_id,partner_id,type,invoice_line,currency_id,context)" widget="selection" groups="base.group_multi_company"/> | |
+ <field name="company_id" on_change="onchange_company_id(company_id,partner_id,type,invoice_line,currency_id)" widget="selection" groups="base.group_multi_company"/> | |
</field> | |
</field> | |
</record> | |
@@ -226,7 +226,7 @@ | |
<field name="view_mode">tree,form,calendar,graph</field> | |
<field eval="False" name="view_id"/> | |
<field name="domain">[('type','=','out_invoice'),('corrispettivo','=',True)]</field> | |
- <field name="context" eval="{'default_type':'out_invoice', 'dafault_journal_type': 'sale', 'default_corrispettivo': True, 'default_partner_id':ref('partner_corrispettivi')}"/> | |
+ <field name="context" eval="{'default_type':'out_invoice', 'default_journal_type': 'sale', 'default_corrispettivo': True, 'default_partner_id':ref('partner_corrispettivi')}"/> | |
<field name="search_view_id" ref="view_account_corrispettivi_filter"/> | |
</record> | |
@@ -257,9 +257,10 @@ | |
<field name="name">res.partner.form</field> | |
<field name="model">res.partner</field> | |
<field name="type">form</field> | |
+ <!-- i've set the field in the "Accounting" page of the partner form --> | |
<field name="inherit_id" ref="base.view_partner_form"/> | |
<field name="arch" type="xml"> | |
- <field name="supplier" position="after"> | |
+ <field name="last_reconciliation_date" position="after"> | |
<field name="corrispettivi" groups="account.group_account_manager"/> | |
</field> | |
</field> | |
diff --git a/l10n_it_corrispettivi/i18n/it.po b/l10n_it_corrispettivi/i18n/it.po | |
index 11a6d25..c332331 100644 | |
--- a/l10n_it_corrispettivi/i18n/it.po | |
+++ b/l10n_it_corrispettivi/i18n/it.po | |
@@ -8,7 +8,7 @@ msgstr "" | |
"Report-Msgid-Bugs-To: support@openerp.com\n" | |
"POT-Creation-Date: 2011-08-22 08:03+0000\n" | |
"PO-Revision-Date: 2011-08-22 10:05+0100\n" | |
-"Last-Translator: eLBati <lorenzo.battistini@agilebg.com>\n" | |
+"Last-Translator: eLBati <lorenzo.battistini@domsense.com>\n" | |
"Language-Team: \n" | |
"MIME-Version: 1.0\n" | |
"Content-Type: text/plain; charset=UTF-8\n" | |
diff --git a/l10n_it_corrispettivi/installer.py b/l10n_it_corrispettivi/installer.py | |
index f0a5cd9..605262e 100644 | |
--- a/l10n_it_corrispettivi/installer.py | |
+++ b/l10n_it_corrispettivi/installer.py | |
@@ -1,8 +1,8 @@ | |
# -*- encoding: utf-8 -*- | |
-# | |
-# | |
+############################################################################## | |
+# | |
# Copyright (C) 2011 Associazione OpenERP Italia | |
-# (<http://www.openerp-italia.org>). | |
+# (<http://www.openerp-italia.org>). | |
# | |
# This program is free software: you can redistribute it and/or modify | |
# it under the terms of the GNU Affero General Public License as published | |
@@ -17,25 +17,17 @@ | |
# You should have received a copy of the GNU Affero General Public License | |
# along with this program. If not, see <http://www.gnu.org/licenses/>. | |
# | |
-# | |
+############################################################################## | |
-from osv import fields, osv | |
+from openerp.osv import osv | |
+from openerp import fields, models | |
- | |
-class corrispettivi_config_data(osv.osv_memory): | |
+class CorrispettiviConfigData(osv.osv_memory): | |
_name = 'corrispettivi.config.data' | |
_inherit = 'res.config' | |
- _columns = { | |
- 'default_credit_account_id': fields.many2one( | |
- 'account.account', 'Default credit account', | |
- domain=[('type', '!=', 'view')], required=True, | |
- help='If doubtful, use income account'), | |
- 'default_debit_account_id': fields.many2one( | |
- 'account.account', 'Default debit account', | |
- domain=[('type', '!=', 'view')], required=True, | |
- help='If doubtful, use income account'), | |
- } | |
+ default_credit_account_id = fields.Many2one('account.account', 'Default credit account', domain=[('type','!=','view')], required=True, help='If doubtful, use income account') | |
+ default_debit_account_id = fields.Many2one('account.account', 'Default debit account', domain=[('type','!=','view')], required=True, help='If doubtful, use income account') | |
def execute(self, cr, uid, ids, context=None): | |
for o in self.browse(cr, uid, ids, context=context): | |
@@ -43,8 +35,8 @@ class corrispettivi_config_data(osv.osv_memory): | |
'name': 'Sezionale Corrispettivi', | |
'padding': 3, | |
'prefix': 'COJ/%(year)s/', | |
- }) | |
- self.pool.get('account.journal').create(cr, uid, { | |
+ }) | |
+ journal_id = self.pool.get('account.journal').create(cr, uid, { | |
'code': 'COJ', | |
'name': 'Sezionale Corrispettivi', | |
'type': 'sale', | |
@@ -52,13 +44,11 @@ class corrispettivi_config_data(osv.osv_memory): | |
'sequence_id': seq_id, | |
'default_credit_account_id': o.default_credit_account_id.id, | |
'default_debit_account_id': o.default_debit_account_id.id, | |
- }) | |
- self.pool.get('res.partner').create(cr, uid, { | |
+ }) | |
+ partner_id = self.pool.get('res.partner').create(cr, uid, { | |
'name': 'Corrispettivi', | |
'ref': 'COJ', | |
'customer': False, | |
'supplier': False, | |
'corrispettivi': True, | |
- }) | |
- | |
-corrispettivi_config_data() | |
+ }) | |
diff --git a/l10n_it_corrispettivi/installer_view.xml b/l10n_it_corrispettivi/installer_view.xml | |
index a48608e..b049ec4 100644 | |
--- a/l10n_it_corrispettivi/installer_view.xml | |
+++ b/l10n_it_corrispettivi/installer_view.xml | |
@@ -19,7 +19,7 @@ | |
Select data to configure Corrispettivi module. | |
</p> | |
<group string="Configure corrispettivi" groups="account.group_account_user"> | |
- <group colspan="4" > | |
+ <group colspan="4" > | |
<field name="default_credit_account_id"/> | |
<field name="default_debit_account_id"/> | |
</group> | |
@@ -49,6 +49,8 @@ | |
<!-- register configuration wizard --> | |
<record id="config_wizard_step_corrispettivi_config_data" model="ir.actions.todo"> | |
<field name="action_id" ref="action_corrispettivi_config_data"/> | |
+ <field name="sequence">3</field> | |
+ <field name="type">automatic</field> | |
<field name="restart">onskip</field> | |
<field name="groups_id" eval="[(6,0,[ref('base.group_no_one')])]"/> | |
</record> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment