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

« back to all changes in this revision

Viewing changes to delete_button/delete_button.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
 
#    OpenERP, Open Source Management Solution
5
 
#    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
6
 
#
7
 
#    This program is free software: you can redistribute it and/or modify
8
 
#    it under the terms of the GNU Affero General Public License as
9
 
#    published by the Free Software Foundation, either version 3 of the
10
 
#    License, or (at your option) any later version.
11
 
#
12
 
#    This program is distributed in the hope that it will be useful,
13
 
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
14
 
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
 
#    GNU Affero General Public License for more details.
16
 
#
17
 
#    You should have received a copy of the GNU Affero General Public License
18
 
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
19
 
#
20
 
##############################################################################
21
 
 
22
 
from osv import fields, osv
23
 
from tools.translate import _
24
 
 
25
 
class stock_picking(osv.osv):
26
 
    """
27
 
    Override the class stock_picking to replace the standard 
28
 
    delete button by a delete button of type "object"
29
 
    """
30
 
    _name = 'stock.picking'
31
 
    _inherit = 'stock.picking'
32
 
    
33
 
    def unlink(self, cr, uid, ids, context=None):
34
 
        """
35
 
        The deletion is possible only for draft document that are not generated by the system, 
36
 
        i.e. that doesn't come from a PO or a SO => the check is done in msf_outgoing>msf_outgoing.py
37
 
        """
38
 
        if isinstance(ids, (int, long)):
39
 
            ids = [ids]
40
 
        for sp  in self.read(cr, uid, ids,['state'], context=context):
41
 
            if sp['state'] == 'draft':
42
 
                return super(stock_picking, self).unlink(cr, uid, ids, context)
43
 
            else:
44
 
                raise osv.except_osv(_('Warning !'), _('You can only delete documents which are in "Draft" state.'))
45
 
    
46
 
    def delete_button(self, cr, uid, ids, context=None):
47
 
        """
48
 
        This method is called on the button of type object in tree view.
49
 
        The aim is to be able to display the delete button only in draft state, which is not possible with the standard delete button.
50
 
        """
51
 
        if isinstance(ids, (int, long)):
52
 
            ids = [ids]
53
 
        return self.unlink(cr, uid, ids, context)
54
 
    
55
 
stock_picking()
56
 
 
57
 
class purchase_order(osv.osv):
58
 
    """
59
 
    Override the class purchase_order to replace the standard 
60
 
    delete button by a delete button of type "object"
61
 
    """
62
 
    _name = 'purchase.order'
63
 
    _inherit = 'purchase.order'
64
 
    
65
 
    def unlink(self, cr, uid, ids, context=None):
66
 
        """
67
 
        Don't allow user to delete purchase order in draft state
68
 
        """
69
 
        if isinstance(ids, (int, long)):
70
 
            ids = [ids]
71
 
        for p  in self.read(cr, uid, ids,['state'], context=context):
72
 
            if p['state'] == 'draft':
73
 
                return super(purchase_order, self).unlink(cr, uid, ids, context)
74
 
            else:
75
 
                raise osv.except_osv(_('Warning !'), _('You can only delete documents which are in "Draft" state.'))
76
 
    
77
 
    def delete_button(self, cr, uid, ids, context=None):
78
 
        """
79
 
        This method is called on the button of type object in tree view.
80
 
        The aim is to be able to display the delete button only in draft state, which is not possible with the standard delete button.
81
 
        """
82
 
        if isinstance(ids, (int, long)):
83
 
            ids = [ids]
84
 
        return self.unlink(cr, uid, ids, context)
85
 
    
86
 
purchase_order()
87
 
 
88
 
class sale_order(osv.osv):
89
 
    """
90
 
    Override the class sale_order to replace the standard 
91
 
    delete button by a delete button of type "object"
92
 
    """
93
 
    _name = 'sale.order'
94
 
    _inherit = 'sale.order'
95
 
    
96
 
    def unlink(self, cr, uid, ids, context=None):
97
 
        """
98
 
        Do not allow user to delete sale order in draft state
99
 
        """
100
 
        if isinstance(ids, (int, long)):
101
 
            ids = [ids]
102
 
        for order in self.read(cr, uid, ids,['state'], context=context):
103
 
            if order['state'] == 'draft':
104
 
                return super(sale_order, self).unlink(cr, uid, ids, context)
105
 
            else:
106
 
                raise osv.except_osv(_('Warning !'), _('You can only delete documents which are in "Draft" state.'))
107
 
    
108
 
    def delete_button(self, cr, uid, ids, context=None):
109
 
        """
110
 
        This method is called on the button of type object in tree view.
111
 
        The aim is to be able to display the delete button only in draft state, which is not possible with the standard delete button.
112
 
        """
113
 
        if isinstance(ids, (int, long)):
114
 
            ids = [ids]
115
 
        return self.unlink(cr, uid, ids, context)
116
 
    
117
 
sale_order()
118
 
 
119
 
class tender(osv.osv):
120
 
    """
121
 
    Override the class tender to replace the standard 
122
 
    delete button by a delete button of type "object"
123
 
    """
124
 
    _name = 'tender'
125
 
    _inherit = 'tender'
126
 
    
127
 
    def unlink(self, cr, uid, ids, context=None):
128
 
        """
129
 
        Do not allow user to delete tender in draft state
130
 
        """
131
 
        if isinstance(ids, (int, long)):
132
 
            ids = [ids]
133
 
        for order in self.read(cr, uid, ids,['state'], context=context):
134
 
            if order['state'] == 'draft':
135
 
                return super(tender, self).unlink(cr, uid, ids, context)
136
 
            else:
137
 
                raise osv.except_osv(_('Warning !'), _('You can only delete documents which are in "Draft" state.'))
138
 
    
139
 
    def delete_button(self, cr, uid, ids, context=None):
140
 
        """
141
 
        This method is called on the button of type object in tree view.
142
 
        The aim is to be able to display the delete button only in draft state, which is not possible with the standard delete button.
143
 
        """
144
 
        if isinstance(ids, (int, long)):
145
 
            ids = [ids]
146
 
        return self.unlink(cr, uid, ids, context)
147
 
    
148
 
tender()
149
 
 
150
 
class composition_kit(osv.osv):
151
 
    """
152
 
    Override the class composition_kit to replace the standard 
153
 
    delete button by a delete button of type "object"
154
 
    """
155
 
    _name = 'composition.kit'
156
 
    _inherit = 'composition.kit'
157
 
    
158
 
    def unlink(self, cr, uid, ids, context=None):
159
 
        """
160
 
        Do not allow user to delete composition_kit in draft state
161
 
        """
162
 
        if isinstance(ids, (int, long)):
163
 
            ids = [ids]
164
 
        for order in self.read(cr, uid, ids,['state'], context=context):
165
 
            if order['state'] == 'draft':
166
 
                return super(composition_kit, self).unlink(cr, uid, ids, context)
167
 
            else:
168
 
                raise osv.except_osv(_('Warning !'), _('You can only delete documents which are in "Draft" state.'))
169
 
    
170
 
    def delete_button(self, cr, uid, ids, context=None):
171
 
        """
172
 
        This method is called on the button of type object in tree view.
173
 
        The aim is to be able to display the delete button only in draft state, which is not possible with the standard delete button.
174
 
        """
175
 
        if isinstance(ids, (int, long)):
176
 
            ids = [ids]
177
 
        return self.unlink(cr, uid, ids, context)
178
 
    
179
 
composition_kit()
180
 
 
181
 
class real_average_consumption(osv.osv):
182
 
    _name = 'real.average.consumption'
183
 
    _inherit = 'real.average.consumption'
184
 
 
185
 
    def delete_button(self, cr, uid, ids, context=None):
186
 
        """
187
 
        This method is called on the button of type object in tree view.
188
 
        The aim is to be able to display the delete button only in draft state, which is not possible with the standard delete button.
189
 
        """
190
 
        if isinstance(ids, (int, long)):
191
 
            ids = [ids]
192
 
        return self.unlink(cr, uid, ids, context)
193
 
 
194
 
real_average_consumption()
195