1
# -*- encoding: utf-8 -*-
2
##############################################################################
4
# OpenERP, Open Source Management Solution
5
# Copyright (c) 2011 Zikzakmedia S.L. (http://zikzakmedia.com) All Rights Reserved.
6
# Raimon Esteve <resteve@zikzakmedia.com>
9
# This program is free software: you can redistribute it and/or modify
10
# it under the terms of the GNU General Public License as published by
11
# the Free Software Foundation, either version 3 of the License, or
12
# (at your option) any later version.
14
# This program is distributed in the hope that it will be useful,
15
# but WITHOUT ANY WARRANTY; without even the implied warranty of
16
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
# GNU General Public License for more details.
19
# You should have received a copy of the GNU General Public License
20
# along with this program. If not, see <http://www.gnu.org/licenses/>.
22
##############################################################################
24
from osv import osv, fields
25
from tools.translate import _
29
class training_payment(osv.osv):
30
_name = 'training.payment'
31
_description = 'Training Payment'
35
"reference" => array($reference, "string"),
36
"payment" => array($payment, "string"),
37
"payment_amount" => array($_SESSION['total'], "string"),
39
def check_payment(self, cr, uid, values, context):
40
ids = self.search(cr, uid, [('name','=',values['payment'])])
43
training_payment = self.browse(cr, uid, ids[0])
44
subscription_ids = self.pool.get('training.subscription').search(cr, uid, [('name','=',values['reference'])])
46
if len(subscription_ids) > 0:
48
'payment_id':training_payment.payment_id.id,
49
'esale_payment':float(values['payment_amount']),
50
'payment_term_id':training_payment.payment_term_id.id,
53
self.pool.get('training.subscription').write(cr, uid, subscription_ids, values)
55
#change state subscription. NOT subscription.lines
56
subscription = self.pool.get('training.subscription').browse(cr, uid, subscription_ids[0])
57
if training_payment.state == 'confirmed':
58
self.pool.get('training.subscription').action_workflow_confirm(cr, uid, subscription_ids, context)
66
'name': fields.char('Code', size=64, required=True),
67
'payment_id': fields.many2one('payment.type', 'Payment', required=True),
68
'payment_term_id' : fields.many2one('account.payment.term', 'Payment Term', required=True),
69
'state' : fields.selection([('draft', 'Draft'),('confirmed','Confirmed')], 'State', required=True, help='Workfow to change the Subscription with this payment.'),
73
'state' : lambda *a: 'draft',