diff --git a/ext/custom-addons/dp_custom/models/material_type.py b/ext/custom-addons/dp_custom/models/material_type.py
index 5ff0a3b8..78a29872 100644
--- a/ext/custom-addons/dp_custom/models/material_type.py
+++ b/ext/custom-addons/dp_custom/models/material_type.py
@@ -31,6 +31,7 @@ class MaterialType(models.Model):
     print_sales_pic = fields.Boolean(string='Drucke Artikelbild', default=True, required=False, help='Definiert, ob ein Artikelbild gedruckt wird (Angebot/Auftrag)')
     print_production_pic = fields.Boolean(string='Drucke Produktionsbild', default=False, required=False, help='Definiert, ob ein Produktionsbild gedruckt wird (Produktionsauftrag)')
     production_relevant = fields.Boolean(string='Drucke auf Produktionsschein', default=True, required=False, help='Definiert, ob ein Artikel mit diesem Materiatyp am Produktionsschein angedruckt wird. (Produktionsauftrag)')
+    no_dealer_discount = fields.Boolean(string='Kein Händlerrabatt', default=False, required=False, help='Definiert, ob der Artikel beim Händlerrabatt ausgeschlossen wird')
 
     _sql_constraints = [
         ('name_uniq', 'unique(name)', 'Die Bezeichnung muss eindeutig sein')
diff --git a/ext/custom-addons/dp_custom/models/sale.py b/ext/custom-addons/dp_custom/models/sale.py
index 5cbe1033..3249c41d 100644
--- a/ext/custom-addons/dp_custom/models/sale.py
+++ b/ext/custom-addons/dp_custom/models/sale.py
@@ -258,8 +258,10 @@ class SaleOrder(models.Model):
         origin = vals.get('origin', False)
         if origin:
             order_id = self.search([('origin', '=', origin)], order='id DESC',limit=1)
-            if order_id:
+            if order_id and order_id.state != 'cancel':
                 order_id.write(vals)
+                if (order_id.state == 'draft' or order_id.state == 'sent') and order_id.assembly_state == 'created':
+                    order_id.action_confirm()
                 return {'id': order_id.id, 'name': order_id.name}
             else:
                 cq = self.env['res.confirmation_queue'].search([('origin', '=', origin)])
@@ -372,6 +374,7 @@ class SaleOrder(models.Model):
         confirmed = self.env['res.confirmation_queue'].search([('origin', '=', vals['origin']),('confirmation_processed','=',False)])
         if confirmed:
             vals['confirmation_nr'] = confirmed.confirmation_nr
+            vals.update({'confirm_order':True})
             confirmed.confirmation_processed = True
         vals.update({
             'partner_id': partner.id,
@@ -486,8 +489,15 @@ class SaleOrder(models.Model):
 
     @api.multi
     def write(self, vals):
+        if self.desired_delivery_date:
+            if not self.delivery_date:
+                vals['delivery_date'] = self.desired_delivery_date
+            elif self.order_type == 'D':
+                if not vals.get('delivery_date') or vals.get('delivery_date','') == '':
+                    vals['delivery_date'] = self.delivery_date
+
         res = super(SaleOrder, self).write(vals)
-        if vals.get('assembly_state', False) and vals.get('assembly_state', False) == 'done':
+        if vals.get('assembly_state', False) == 'done':
             self.message_post(body='Produktion fertig')
 
         if vals.get('message_post',False):
diff --git a/ext/custom-addons/dp_custom/views/material_type_views.xml b/ext/custom-addons/dp_custom/views/material_type_views.xml
index 1cb78d95..d506bf75 100644
--- a/ext/custom-addons/dp_custom/views/material_type_views.xml
+++ b/ext/custom-addons/dp_custom/views/material_type_views.xml
@@ -12,6 +12,7 @@
                     
                     
                     
+                    
                 
             
         
@@ -27,6 +28,7 @@
                 
                 
                 
+