~unifield-team/unifield-wm/us-826

« back to all changes in this revision

Viewing changes to specific_locations/specific_locations.py

UF-558 [ADD] Adapt new wizard to register lines

Show diffs side-by-side

added added

removed removed

Lines of Context:
21
21
from osv import osv, fields
22
22
from tools.translate import _
23
23
 
24
 
class stock_warehouse(osv.osv):
25
 
    '''
26
 
    add a new field quarantine which is not mandatory
27
 
    '''
28
 
    _inherit = 'stock.warehouse'
29
 
    _columns = {'lot_quarantine_id': fields.many2one('stock.location', 'Location Quarantine', domain=[('usage','<>','view'), ('quarantine_location', '=', True),]),
30
 
                }
31
 
    
32
 
stock_warehouse()
33
 
 
34
24
class stock_location(osv.osv):
35
25
    '''
36
26
    override stock location to add:
91
81
          result[id] = False
92
82
        return result
93
83
    
94
 
    def _check_parent(self, cr, uid, ids, context=None):
95
 
        """ 
96
 
        Quarantine Location can only have Quarantine Location or Views as parent location.
97
 
        """
98
 
        for obj in self.browse(cr, uid, ids, context=context):
99
 
            if obj.quarantine_location and obj.location_id:
100
 
                if obj.location_id.usage not in ('view',) and not obj.location_id.quarantine_location:
101
 
                    return False
102
 
        return True
103
 
    
104
 
    def _check_chained(self, cr, uid, ids, context=None):
105
 
        """ Checks if location is quarantine and chained loc
106
 
        @return: True or False
107
 
        """
108
 
        for obj in self.browse(cr, uid, ids, context=context):
109
 
            if obj.quarantine_location:
110
 
                if obj.chained_location_type != 'none':
111
 
                    return False
112
 
        return True
113
 
    
114
84
    _columns = {'quarantine_location': fields.boolean(string='Quarantine Location'),
115
85
                'destruction_location': fields.boolean(string='Destruction Loction'),
116
86
                'location_category': fields.selection([('stock', 'Stock'),
123
93
    _defaults = { 
124
94
       'location_category': 'stock',
125
95
    }
126
 
    
127
 
    _constraints = [(_check_parent,
128
 
                     'Quarantine Location can only have Quarantine Location or Views as parent location.',
129
 
                     ['location_id'],),
130
 
                    (_check_chained,
131
 
                     'You cannot define a quarantine location as chained location.',
132
 
                     ['quarantine_location', 'chained_location_type'],),
133
 
                    ]
134
96
 
135
97
stock_location()
136
98