diff --git a/ext/custom-addons/dp_custom/models/material_type.py b/ext/custom-addons/dp_custom/models/material_type.py
index 7f1ae414..5ff0a3b8 100644
--- a/ext/custom-addons/dp_custom/models/material_type.py
+++ b/ext/custom-addons/dp_custom/models/material_type.py
@@ -30,6 +30,7 @@ class MaterialType(models.Model):
print_default_code = fields.Boolean(string='Drucke Artikelnummer', required=True, help='Definiert, ob die Artikelnummer gedruckt wird')
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)')
_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 bbe0677f..7f3cb19d 100644
--- a/ext/custom-addons/dp_custom/models/sale.py
+++ b/ext/custom-addons/dp_custom/models/sale.py
@@ -57,6 +57,7 @@ class SaleOrder(models.Model):
assembly_notes = fields.Text()
earliest_scheduled_date = fields.Datetime(compute='_compute_earliest_scheduled_date')
positions = fields.Integer(string='Positionen', compute='_compute_positions')
+ production_positions = fields.Integer(string='Positionen', compute='_compute_positions', store=False)
num_items = fields.Integer(string='Anzahl der Artikel', compute='_compute_num_items')
weight_total = fields.Float(string='Gesamtgewicht', compute='_compute_weight_total')
confirmation_nr = fields.Char('Freigabenummer')
@@ -113,7 +114,14 @@ class SaleOrder(models.Model):
@api.multi
def _compute_positions(self):
for record in self:
- record.positions = len(record.order_line)
+ p = 0
+ pp = 0
+ for line in record.order_line:
+ p += 1
+ if line.product_id.material_type_id.production_relevant:
+ pp += 1
+ record.positions = p
+ record.production_positions = pp
@api.multi
def _compute_num_items(self):
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 bf239aea..1cb78d95 100644
--- a/ext/custom-addons/dp_custom/views/material_type_views.xml
+++ b/ext/custom-addons/dp_custom/views/material_type_views.xml
@@ -11,6 +11,7 @@
- -
-- -
-+ +
++ +
+ +