~openerp-commiter/openobject-addons/extra-6.0

« back to all changes in this revision

Viewing changes to training_payment/training_payment.py

  • Committer: Albert Cervera i Areny
  • Date: 2011-06-14 09:51:35 UTC
  • mfrom: (5345.1.165 openobject-addons)
  • Revision ID: albert@nan-tic.com-20110614095135-1x3p6tmil5lxkl9b
Merge and add nan_remove_default_filters

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# -*- encoding: utf-8 -*-
 
2
##############################################################################
 
3
#
 
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>
 
7
#    $Id$
 
8
#
 
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.
 
13
#
 
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.
 
18
#
 
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/>.
 
21
#
 
22
##############################################################################
 
23
 
 
24
from osv import osv, fields
 
25
from tools.translate import _
 
26
 
 
27
import netsvc
 
28
 
 
29
class training_payment(osv.osv):
 
30
    _name = 'training.payment'
 
31
    _description = 'Training Payment'
 
32
 
 
33
    """
 
34
    values
 
35
                "reference" => array($reference, "string"),
 
36
                "payment" => array($payment, "string"),
 
37
        "payment_amount" => array($_SESSION['total'], "string"),
 
38
    """
 
39
    def check_payment(self, cr, uid, values, context):
 
40
        ids = self.search(cr, uid, [('name','=',values['payment'])])
 
41
 
 
42
        if len(ids):
 
43
            training_payment = self.browse(cr, uid, ids[0])
 
44
            subscription_ids = self.pool.get('training.subscription').search(cr, uid, [('name','=',values['reference'])])
 
45
 
 
46
            if len(subscription_ids) > 0:
 
47
                values = {
 
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,
 
51
                }
 
52
 
 
53
                self.pool.get('training.subscription').write(cr, uid, subscription_ids, values)
 
54
 
 
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)
 
59
                return True
 
60
            else:
 
61
                return False
 
62
        else:
 
63
            return False
 
64
    
 
65
    _columns = {
 
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.'),
 
70
    }
 
71
 
 
72
    _defaults = {
 
73
        'state' : lambda *a: 'draft',
 
74
    }
 
75
 
 
76
training_payment()