1
##############################################################################
3
# OpenERP, Open Source Management Solution
4
# Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). All Rights Reserved
8
# This program is free software: you can redistribute it and/or modify
9
# it under the terms of the GNU General Public License as published by
10
# the Free Software Foundation, either version 3 of the License, or
11
# (at your option) any later version.
13
# This program is distributed in the hope that it will be useful,
14
# but WITHOUT ANY WARRANTY; without even the implied warranty of
15
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
# GNU General Public License for more details.
18
# You should have received a copy of the GNU General Public License
19
# along with this program. If not, see <http://www.gnu.org/licenses/>.
21
##############################################################################
23
from openerp.osv import fields, osv
24
from openerp.tools.translate import _
30
class sale_order_line(osv.Model):
32
_inherit = 'sale.order.line'
34
def sale_order_line_copy(self, cr, uid, ids, context=None):
35
data = self.copy_data(cr,uid,ids[0],context=context)
36
sale_order_obj = self.pool.get('sale.order')
37
data_sale_order = sale_order_obj.browse(cr, uid, data.get('order_id'))
39
if data_sale_order.state == 'draft':
40
sale_order_id = self.create(cr, uid ,data , context=context)
42
'type': 'ir.actions.act_window',
43
'name': _('Sales Order'),
44
'res_model': 'sale.order',
45
'res_id': data.get('order_id'),
51
raise osv.except_osv(_('Error!'), _("This sale order is not in draft state"))