~openerp-community/openobject-addons/trunk-addons-community

« back to all changes in this revision

Viewing changes to product_loan/sale.py

  • Committer: Alexis de Lattre
  • Date: 2014-02-06 14:05:39 UTC
  • Revision ID: alexis@via.ecp.fr-20140206140539-i2u3hc6pcgas4e9o
Update contraint on sale order line.
Update coding style.

Show diffs side-by-side

added added

removed removed

Lines of Context:
22
22
##############################################################################
23
23
 
24
24
 
25
 
from openerp.osv import fields, osv
 
25
from openerp.osv import fields, orm
26
26
from openerp import netsvc
27
27
import time
28
28
from datetime import datetime
29
 
 
30
 
 
31
 
class sale_order_line(osv.osv):
 
29
from openerp.tools.translate import _
 
30
 
 
31
 
 
32
class sale_order_line(orm.Model):
32
33
    _inherit = "sale.order.line"
33
34
 
34
35
    _columns = {
64
65
 
65
66
    def _check_single_product(self, cr, uid, ids):
66
67
        for order_line in self.browse(cr, uid, ids):
67
 
            if order_line.is_loan and order_line.product_uom_qty != 1:
68
 
                return False
69
 
            return True
 
68
            if order_line.is_loan and order_line.product_id and order_line.product_id.track_loan and order_line.product_uom_qty != 1:
 
69
                raise orm.except_orm(
 
70
                    _('Error:'),
 
71
                    _("The loan line with description '%s' must have a quantity of 1 because the product has the 'Track Loan' option set.") % order_line.name)
 
72
        return True
70
73
 
71
74
    _constraints = [
72
75
        (_check_single_product,
73
 
            """A loan can only have 1 product per loan line""", ['is_loan', 'product_uom_qty'])]
74
 
 
75
 
sale_order_line()
76
 
 
77
 
 
78
 
class sale_order(osv.osv):
 
76
            """Error msg in raise""", ['is_loan', 'product_uom_qty', 'product_id'])]
 
77
 
 
78
 
 
79
class sale_order(orm.Model):
79
80
    _inherit = "sale.order"
80
81
 
81
82
    def _default_name(self, cr, uid, context=None):
267
268
        (_check_loan_date_order,
268
269
            """Start date should be before end date and should not be in the past !""", ['is_loan', 'loan_start_date', 'loan_end_date']),
269
270
            ]
270
 
 
271
 
sale_order()