~oscarolar/addons-vauxoo/addons-vauxoo

« back to all changes in this revision

Viewing changes to payment_terms/model/purchase.py

  • Committer: Jose Morales
  • Date: 2013-05-22 05:53:36 UTC
  • mfrom: (553.1.1 addons-vauxoo)
  • Revision ID: jose@vauxoo.com-20130522055336-62012wrb5e7ttabm
 
[MERGE]  Add Payments terms by partner, Each payments termn is set in each partner   
    and each partner have a different payment termn by company,                    
                                                                                   
    These fields are located in the Accounting tab, above Others terms added by 
    accounting module.                                                             
                                                                                                                                                                                                     
    The Payment term is in sale, stock,purchase and invoice modules and is send 
    through are models                                                       

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# -*- encoding: utf-8 -*-
 
2
##############################################################################
 
3
# Copyright (c) 2011 OpenERP Venezuela (http://openerp.com.ve)
 
4
# All Rights Reserved.
 
5
# Programmed by: Israel Fermín Montilla  <israel@openerp.com.ve>
 
6
#
 
7
# WARNING: This program as such is intended to be used by professional
 
8
# programmers who take the whole responsability of assessing all potential
 
9
# consequences resulting from its eventual inadequacies and bugs
 
10
# End users who are looking for a ready-to-use solution with commercial
 
11
# garantees and support are strongly adviced to contract a Free Software
 
12
# Service Company
 
13
#
 
14
# This program is Free Software; you can redistribute it and/or
 
15
# modify it under the terms of the GNU General Public License
 
16
# as published by the Free Software Foundation; either version 2
 
17
# of the License, or (at your option) any later version.
 
18
#
 
19
# This program is distributed in the hope that it will be useful,
 
20
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 
21
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
22
# GNU General Public License for more details.
 
23
#
 
24
# You should have received a copy of the GNU General Public License
 
25
# along with this program; if not, write to the Free Software
 
26
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
 
27
###############################################################################
 
28
from openerp.osv import osv
 
29
from openerp.osv import fields
 
30
from openerp.tools.translate import _
 
31
 
 
32
 
 
33
class inherits_purchase(osv.Model):
 
34
    
 
35
    '''Inherit purchase model to add opration cobol reference'''
 
36
    
 
37
    _inherit = 'purchase.order'
 
38
    
 
39
    
 
40
    _columns = {
 
41
 
 
42
            'payment_terms_id':fields.many2one('payment.terms.partner',
 
43
                                               'Payment Terms',
 
44
                                               help='Select the payment term '
 
45
                                                    'agreed by company for '
 
46
                                                    'this partner'), 
 
47
            }
 
48
 
 
49
    def action_invoice_create(self, cr, uid, ids, context=None):
 
50
        """ Set payment termn in the new invoice create from purchase order
 
51
        """
 
52
        res =  super(inherits_purchase,self).action_invoice_create(cr, uid,
 
53
                                                                  ids, context)
 
54
        inv_obj = self.pool.get('account.invoice')
 
55
        for order in self.browse(cr, uid, ids, context=context):
 
56
            inv_obj.write(cr, uid, res,
 
57
                          {'payment_terms_id':order.payment_terms_id and\
 
58
                                             order.payment_terms_id.id},
 
59
                          context=context)
 
60
 
 
61
 
 
62
        return res
 
63
 
 
64
    def onchange_partner_id(self, cr, uid, ids, partner_id):
 
65
        '''Set of new payment term in purchase order from partner'''
 
66
        partner = self.pool.get('res.partner')
 
67
        res = super(inherits_purchase,self).onchange_partner_id(cr, uid, ids,
 
68
                                                                partner_id)
 
69
        
 
70
        if not partner_id:
 
71
            return {'value': {
 
72
                'fiscal_position': False,
 
73
                'payment_term_id': False,
 
74
                }}
 
75
        supplier = partner.browse(cr, uid, partner_id)
 
76
        res.get('value',{}).update({
 
77
            'payment_terms_id':supplier.property_payment_term_p_suppliers and \
 
78
                               supplier.property_payment_term_p_suppliers.id })
 
79
 
 
80
        return res 
 
81
 
 
82
    def _prepare_order_picking(self, cr, uid, order, context=None):
 
83
        '''Send new payment term from purchase to picking'''
 
84
        res = super(inherits_purchase,self)._prepare_order_picking(cr, uid,
 
85
                                                                   order,
 
86
                                                                   context)
 
87
        res.update({'payment_terms_id':order.payment_terms_id and \
 
88
                                        order.payment_terms_id.id })
 
89
        return res
 
90