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

« back to all changes in this revision

Viewing changes to msf_cross_docking/stock_location.py

  • Committer: Quentin THEURET
  • Date: 2011-11-30 13:31:37 UTC
  • mto: This revision was merged to the branch mainline in revision 515.
  • Revision ID: qt@tempo-consulting.fr-20111130133137-mdf2fp6hkqmwbppn
UF-647 [ADD] Added a line in Purchase Order to have information about international transport costs

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# -*- coding: utf-8 -*-
2
 
##############################################################################
3
 
#
4
 
#    Copyright (C) 2012 MSF, TeMPO Consulting
5
 
#
6
 
#    This program is free software: you can redistribute it and/or modify
7
 
#    it under the terms of the GNU Affero General Public License as
8
 
#    published by the Free Software Foundation, either version 3 of the
9
 
#    License, or (at your option) any later version.
10
 
#
11
 
#    This program is distributed in the hope that it will be useful,
12
 
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 
#    GNU Affero General Public License for more details.
15
 
#
16
 
#    You should have received a copy of the GNU Affero General Public License
17
 
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
18
 
#
19
 
##############################################################################
20
 
 
21
 
from osv import osv, fields
22
 
from tools.translate import _
23
 
 
24
 
 
25
 
class stock_location(osv.osv):
26
 
    '''
27
 
    override stock location to add:
28
 
    - cross_docking_location_ok (checkbox - boolean)
29
 
    '''
30
 
    _inherit = 'stock.location'
31
 
 
32
 
    _columns = {
33
 
        'cross_docking_location_ok': fields.boolean(string='Cross Docking Location', readonly=True, help="There is only one Cross Docking Location"),
34
 
    }
35
 
 
36
 
    def get_cross_docking_location(self, cr, uid, context=None):
37
 
        ids = self.search(cr, uid, [('cross_docking_location_ok', '=', True)])
38
 
        if not ids:
39
 
            raise osv.except_osv(_('Error'), _('You must have a "Cross Docking Location".'))
40
 
        return ids[0]
41
 
 
42
 
    def unlink(self, cr, uid, ids, context=None):
43
 
        if isinstance(ids, (int, long)):
44
 
            ids = [ids]
45
 
        cross_docking_location = self.search(cr, uid, [('cross_docking_location_ok', '=', True), ('id', 'in', ids)], context=context)
46
 
        if cross_docking_location:
47
 
            raise osv.except_osv(_('Warning !'), _('You cannot delete the cross docking location.'))
48
 
        return super(stock_location, self).unlink(cr, uid, ids, context)
49
 
 
50
 
stock_location()