Skip to content

Commit

Permalink
Ported the improvement made in 7.0 version
Browse files Browse the repository at this point in the history
  • Loading branch information
shakin89 committed Jan 30, 2015
1 parent b0bdad1 commit 4a92401
Show file tree
Hide file tree
Showing 3 changed files with 34 additions and 18 deletions.
4 changes: 2 additions & 2 deletions l10n_it_corrispettivi/__init__.py
Expand Up @@ -18,5 +18,5 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################
import account
import installer
from . import account
from . import installer
34 changes: 23 additions & 11 deletions l10n_it_corrispettivi/account.py
Expand Up @@ -28,19 +28,22 @@ def _get_account(self):
is_corrispettivo = self._context.get('corrispettivo', False)
res = False
if is_corrispettivo:
partner_ids = self.env['res.partner'].search([('corrispettivi', '=', True)])
partner_ids = self.env['res.partner'].search(
[('corrispettivi', '=', True)])
if not partner_ids:
raise exceptions.except_orm(_('Error!'),
_('No partner "corrispettivi" found'))
partner = self.env['res.partner'].browse(self._cr, self._uid, partner_ids[0])
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):
is_corrispettivo = self._context.get('corrispettivo', False)
res = False
if is_corrispettivo:
partner_ids=self.env['res.partner'].search([('corrispettivi', '=', True)])
partner_ids=self.env['res.partner'].search(
[('corrispettivi', '=', True)])
if not partner_ids:
raise exceptions.except_orm(_('Error!'),
_('No partner "corrispettivi" found'))
Expand All @@ -53,19 +56,27 @@ def _get_partner_id(self):
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)
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)])
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 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 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:
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
Expand All @@ -76,7 +87,8 @@ def onchange_company_id(self, company_id, part_id, type, invoice_line, currency_
def onchange_corrispettivo(self, corrispettivo=False):
res = {}
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)])
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
Expand Down
14 changes: 9 additions & 5 deletions l10n_it_corrispettivi/installer.py
Expand Up @@ -26,17 +26,21 @@ class CorrispettiviConfigData(osv.osv_memory):
_name = 'corrispettivi.config.data'
_inherit = 'res.config'

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):
seq_id = self.pool.get('ir.sequence').create(cr, uid, {
seq_id = self.env['ir.sequence'].create(cr, uid, {
'name': 'Sezionale Corrispettivi',
'padding': 3,
'prefix': 'COJ/%(year)s/',
})
journal_id = self.pool.get('account.journal').create(cr, uid, {
journal_id = self.env['account.journal'].create(cr, uid, {
'code': 'COJ',
'name': 'Sezionale Corrispettivi',
'type': 'sale',
Expand All @@ -45,7 +49,7 @@ def execute(self, cr, uid, ids, context=None):
'default_credit_account_id': o.default_credit_account_id.id,
'default_debit_account_id': o.default_debit_account_id.id,
})
partner_id = self.pool.get('res.partner').create(cr, uid, {
partner_id = self.env['res.partner'].create(cr, uid, {
'name': 'Corrispettivi',
'ref': 'COJ',
'customer': False,
Expand Down

0 comments on commit 4a92401

Please sign in to comment.