old_contents: # -*- coding: utf-8 -*-
  ###############################################################################
  #
  #    Copyright (C) 2001-2014 Micronaet SRL (<http://www.micronaet.it>).
  #
  #    Original module for stock.move from:
  #    OpenERP, Open Source Management Solution
  #    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
  #
  #    This program is free software: you can redistribute it and/or modify
  #    it under the terms of the GNU Affero General Public License as published
  #    by the Free Software Foundation, either version 3 of the License, or
  #    (at your option) any later version.
  #
  #    This program is distributed in the hope that it will be useful,
  #    but WITHOUT ANY WARRANTY; without even the implied warranty of
  #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  #    GNU Affero General Public License for more details.
  #
  #    You should have received a copy of the GNU Affero General Public License
  #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
  #
  ###############################################################################
  
  import os
  import sys
  import logging
  import openerp
  import openerp.netsvc as netsvc
  import openerp.addons.decimal_precision as dp
  from openerp.osv import fields, osv, expression, orm
  from datetime import datetime, timedelta
  from dateutil.relativedelta import relativedelta
  from openerp import SUPERUSER_ID
  from openerp import tools
  from openerp.tools.translate import _
  from openerp.tools.float_utils import float_round as round
  from openerp.tools import (DEFAULT_SERVER_DATE_FORMAT, 
      DEFAULT_SERVER_DATETIME_FORMAT, 
      DATETIME_FORMATS_MAP, 
      float_compare)
  
  
  _logger = logging.getLogger(__name__)
  
  # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
  
new_contents: # -*- coding: utf-8 -*-
  ###############################################################################
  #
  #    Copyright (C) 2001-2014 Micronaet SRL (<http://www.micronaet.it>).
  #
  #    Original module for stock.move from:
  #    OpenERP, Open Source Management Solution
  #    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
  #
  #    This program is free software: you can redistribute it and/or modify
  #    it under the terms of the GNU Affero General Public License as published
  #    by the Free Software Foundation, either version 3 of the License, or
  #    (at your option) any later version.
  #
  #    This program is distributed in the hope that it will be useful,
  #    but WITHOUT ANY WARRANTY; without even the implied warranty of
  #    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  #    GNU Affero General Public License for more details.
  #
  #    You should have received a copy of the GNU Affero General Public License
  #    along with this program.  If not, see <http://www.gnu.org/licenses/>.
  #
  ###############################################################################
  
  import os
  import sys
  import logging
  import openerp
  import openerp.netsvc as netsvc
  import openerp.addons.decimal_precision as dp
  from openerp.osv import fields, osv, expression, orm
  from datetime import datetime, timedelta
  from dateutil.relativedelta import relativedelta
  from openerp import SUPERUSER_ID
  from openerp import tools
  from openerp.tools.translate import _
  from openerp.tools.float_utils import float_round as round
  from openerp.tools import (DEFAULT_SERVER_DATE_FORMAT, 
      DEFAULT_SERVER_DATETIME_FORMAT, 
      DATETIME_FORMATS_MAP, 
      float_compare)
  
  
  _logger = logging.getLogger(__name__)
  
  class SaleOrderLine(orm.Model):
      """ Model name: SaleOrderLine
      """    
      _inherit = 'sale.order.line'
  
      
      # Override unlink action
      def unlink(self, cr, uid, ids, context=None):
          if context is None:
              context = {}
          """Allows to delete sales order lines in draft,cancel states"""
          #for rec in self.browse(cr, uid, ids, context=context):
          #    if rec.state not in ['draft', 'cancel']:
          #        raise osv.except_osv(_('Invalid Action!'), _('Cannot delete a sales order line which is in state \'%s\'.') %(rec.state,))
          #return super(SaleOrderLine, self).unlink(cr, uid, ids, context=context)
          return osv.osv.unlink(self, cr, uid, ids, context=context)
  
  # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
  
subject: Order line now deletable (be carefull!!!)