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 @@ +