22
22
##############################################################################
24
from openerp.osv import fields,orm
24
from openerp.osv import fields, orm
25
25
from tools.translate import _
28
29
class riba_accreditation(orm.TransientModel):
30
31
def _get_accreditation_journal_id(self, cr, uid, context=None):
31
return self.pool.get('riba.configurazione').get_default_value_by_distinta( cr, uid, 'accreditation_journal_id', context=context)
33
'riba.configurazione').get_default_value_by_distinta(
34
cr, uid, 'accreditation_journal_id', context=context)
33
36
def _get_accreditation_account_id(self, cr, uid, context=None):
34
return self.pool.get('riba.configurazione').get_default_value_by_distinta( cr, uid, 'accreditation_account_id', context=context)
38
'riba.configurazione').get_default_value_by_distinta(
39
cr, uid, 'accreditation_account_id', context=context)
36
41
def _get_bank_account_id(self, cr, uid, context=None):
37
return self.pool.get('riba.configurazione').get_default_value_by_distinta( cr, uid, 'bank_account_id', context=context)
43
'riba.configurazione').get_default_value_by_distinta(
44
cr, uid, 'bank_account_id', context=context)
39
46
def _get_bank_expense_account_id(self, cr, uid, context=None):
40
return self.pool.get('riba.configurazione').get_default_value_by_distinta( cr, uid, 'bank_expense_account_id', context=context)
48
'riba.configurazione').get_default_value_by_distinta(
49
cr, uid, 'bank_expense_account_id', context=context)
42
51
def _get_accreditation_amount(self, cr, uid, context=None):
43
52
if context is None:
45
54
if not context.get('active_id', False):
47
56
distinta_pool = self.pool.get('riba.distinta')
48
distinta = distinta_pool.browse(cr, uid, context['active_id'], context=context)
57
distinta = distinta_pool.browse(
58
cr, uid, context['active_id'], context=context)
50
60
for line in distinta.line_ids:
51
61
amount += line.amount
54
64
_name = "riba.accreditation"
55
65
_description = "Bank accreditation"
57
'accreditation_journal_id' : fields.many2one('account.journal', "Accreditation journal",
67
'accreditation_journal_id': fields.many2one(
68
'account.journal', "Accreditation journal",
58
69
domain=[('type', '=', 'bank')]),
59
'accreditation_account_id' : fields.many2one('account.account', "Ri.Ba. bank account"),
70
'accreditation_account_id': fields.many2one(
71
'account.account', "Ri.Ba. bank account"),
60
72
'accreditation_amount': fields.float('Credit amount'),
61
'bank_account_id' : fields.many2one('account.account', "Bank account",
73
'bank_account_id': fields.many2one(
74
'account.account', "Bank account",
62
75
domain=[('type', '=', 'liquidity')]),
63
76
'bank_amount': fields.float('Versed amount'),
64
'bank_expense_account_id' : fields.many2one('account.account', "Bank Expenses account"),
77
'bank_expense_account_id': fields.many2one(
78
'account.account', "Bank Expenses account"),
65
79
'expense_amount': fields.float('Expenses amount'),
93
107
raise orm.except_orm(_('Error'), _('No active ID found'))
94
108
move_pool = self.pool.get('account.move')
95
move_line_pool = self.pool.get('account.move.line')
96
109
distinta_pool = self.pool.get('riba.distinta')
97
110
distinta = distinta_pool.browse(cr, uid, active_id, context=context)
98
wizard = self.browse(cr,uid,ids)[0]
99
if not wizard.accreditation_journal_id or not wizard.accreditation_account_id or not wizard.bank_account_id or not wizard.bank_expense_account_id:
111
wizard = self.browse(cr, uid, ids)[0]
113
not wizard.accreditation_journal_id
114
or not wizard.accreditation_account_id
115
or not wizard.bank_account_id or not wizard.bank_expense_account_id
100
117
raise orm.except_orm(_('Error'), _('Every account is mandatory'))
102
119
'ref': _('Accreditation Ri.Ba. %s') % distinta.name,
103
120
'journal_id': wizard.accreditation_journal_id.id,
106
123
'name': _('Credit'),
107
124
'account_id': wizard.accreditation_account_id.id,
108
125
'credit': wizard.accreditation_amount,
112
129
'name': _('Bank'),
113
130
'account_id': wizard.bank_account_id.id,
114
131
'debit': wizard.bank_amount,
118
135
'name': _('Bank'),
119
136
'account_id': wizard.bank_expense_account_id.id,
120
137
'debit': wizard.expense_amount,