diff --git a/ext/custom-addons/dp_retail_invoice/__manifest__.py b/ext/custom-addons/dp_retail_invoice/__manifest__.py
index e16c3e1a..09931d0e 100644
--- a/ext/custom-addons/dp_retail_invoice/__manifest__.py
+++ b/ext/custom-addons/dp_retail_invoice/__manifest__.py
@@ -35,7 +35,6 @@
'views/res_partner_views.xml',
'views/sale_views.xml',
'views/account_views.xml',
- 'security/ir.model.access.csv',
],
'installable': True,
'auto_install': False,
diff --git a/ext/custom-addons/dp_retail_invoice/models/__init__.py b/ext/custom-addons/dp_retail_invoice/models/__init__.py
index d1f337f8..d23d6daa 100644
--- a/ext/custom-addons/dp_retail_invoice/models/__init__.py
+++ b/ext/custom-addons/dp_retail_invoice/models/__init__.py
@@ -20,5 +20,4 @@
##############################################################################
from . import sale
-from . import account
from . import res_partner
diff --git a/ext/custom-addons/dp_retail_invoice/models/account.py b/ext/custom-addons/dp_retail_invoice/models/account.py
deleted file mode 100644
index 1ec74734..00000000
--- a/ext/custom-addons/dp_retail_invoice/models/account.py
+++ /dev/null
@@ -1,25 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# datenpol gmbh
-# Copyright (C) 2013-TODAY datenpol gmbh ()
-#
-# 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 .
-#
-##############################################################################
-from odoo import models
-
-
-class AccountInvoiceLine(models.Model):
- _inherit = 'account.invoice.line'
diff --git a/ext/custom-addons/dp_retail_invoice/models/res_partner.py b/ext/custom-addons/dp_retail_invoice/models/res_partner.py
index 41b6d32f..8b63ed92 100644
--- a/ext/custom-addons/dp_retail_invoice/models/res_partner.py
+++ b/ext/custom-addons/dp_retail_invoice/models/res_partner.py
@@ -34,6 +34,6 @@ class Partner(models.Model):
for record in self:
if record.commercial_partner_id.retail_partner_id:
- pass
+ res.update({'invoice': record.commercial_partner_id.retail_partner_id.id})
return res
diff --git a/ext/custom-addons/dp_retail_invoice/models/sale.py b/ext/custom-addons/dp_retail_invoice/models/sale.py
index d9e90447..5545cf96 100644
--- a/ext/custom-addons/dp_retail_invoice/models/sale.py
+++ b/ext/custom-addons/dp_retail_invoice/models/sale.py
@@ -26,7 +26,20 @@ class SaleLayoutCategory(models.Model):
order_id = fields.Many2one(comodel_name='sale.order')
- @api.model
- def name_search(self, name, args=None, operator='ilike', limit=100):
- res = super(SaleLayoutCategory, self).name_search(name, args=args, operator=operator, limit=limit)
+
+class SaleOrderLine(models.Model):
+ _inherit = 'sale.order.line'
+
+ layout_category_id = fields.Many2one(domain=[('order_id', '=', False)])
+
+ @api.multi
+ def _prepare_invoice_line(self, qty):
+ res = super(SaleOrderLine, self)._prepare_invoice_line(qty)
+ layout_category_id = self.env['sale.layout_category'].search([('order_id', '=', self.order_id.id)])
+ if not layout_category_id:
+ layout_category_id = self.env['sale.layout_category'].create({
+ 'order_id': self.order_id.id,
+ 'name': self.order_id.name
+ })
+ res.update({'layout_category_id': layout_category_id.id})
return res
diff --git a/ext/custom-addons/dp_retail_invoice/security/ir.model.access.csv b/ext/custom-addons/dp_retail_invoice/security/ir.model.access.csv
deleted file mode 100644
index 97dd8b91..00000000
--- a/ext/custom-addons/dp_retail_invoice/security/ir.model.access.csv
+++ /dev/null
@@ -1 +0,0 @@
-id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
diff --git a/ext/custom-addons/dp_retail_invoice/views/account_views.xml b/ext/custom-addons/dp_retail_invoice/views/account_views.xml
index b9720235..cea36f43 100644
--- a/ext/custom-addons/dp_retail_invoice/views/account_views.xml
+++ b/ext/custom-addons/dp_retail_invoice/views/account_views.xml
@@ -1,7 +1,17 @@
-
+
+ account_invoice_form_view
+ account.invoice
+
+
+
+ {'no_create': True}
+
+
+
diff --git a/ext/custom-addons/dp_retail_invoice/views/sale_views.xml b/ext/custom-addons/dp_retail_invoice/views/sale_views.xml
index 1eacf6fe..4e4e5ea3 100644
--- a/ext/custom-addons/dp_retail_invoice/views/sale_views.xml
+++ b/ext/custom-addons/dp_retail_invoice/views/sale_views.xml
@@ -1,6 +1,30 @@
+
+ sale_layout_category_form_view
+ sale.layout_category
+
+
+
+
+
+
+
+
+
+ sale_order_form_view
+ sale.order
+
+
+
+ {'no_create': True}
+
+
+ {'no_create': True}
+
+
+
diff --git a/setup/lib/config.py b/setup/lib/config.py
index 7ed016cf..deb183aa 100644
--- a/setup/lib/config.py
+++ b/setup/lib/config.py
@@ -1,15 +1,16 @@
# -*- coding: utf-8 -*-
-class Config():
+
+class Config(object):
def __init__(self):
self.dump_file = 'odoo_backup.dump'
self.module_name = None
- self.lang = 'de_DE' # de_DE, en_US
+ self.lang = 'de_DE' # de_DE, en_US
self.default_sales_tax = 'Mehrwertsteuer 20%'
self.default_supplier_tax = 'Vorsteuer 20%'
- self.price_decimals = 2 # Nachkommastellen Preis
- self.uom_decimals = 3 # Nachkommastellen Mengeneinheiten
+ self.price_decimals = 2 # Nachkommastellen Preis
+ self.uom_decimals = 3 # Nachkommastellen Mengeneinheiten
self.load_languages = ['en_US']
@@ -31,9 +32,9 @@ class Config():
# Aktive Steuerzuordnungen
self.valid_fiscal_positions = [
- #'Lieferant EU (ohne Ust-ID)',
- #'Lieferant EU Unternehmen (mit USt-ID)',
- #'Lieferant Ausland',
+ # 'Lieferant EU (ohne Ust-ID)',
+ # 'Lieferant EU Unternehmen (mit USt-ID)',
+ # 'Lieferant Ausland',
'Kunde Ausland',
'Kunde EU (ohne USt-ID)',
'Kunde EU Unternehmen (mit USt-ID)',
@@ -45,39 +46,39 @@ class Config():
'group_multi_company': True,
# Einstellungen Verkauf
- 'group_product_variant': False, # Produkte können mehrere Attribute haben, die Varianten definieren
- 'group_uom': True, # Verwende Mengeneinheiten
- 'group_discount_per_so_line': True, # Rabatt auf Verkaufszeilen
- 'multi_sales_price': True, # Mehrere Verkaufspreise pro Produkt
+ 'group_product_variant': False, # Produkte können mehrere Attribute haben, die Varianten definieren
+ 'group_uom': True, # Verwende Mengeneinheiten
+ 'group_discount_per_so_line': True, # Rabatt auf Verkaufszeilen
+ 'multi_sales_price': True, # Mehrere Verkaufspreise pro Produkt
'multi_sales_price_method': 'percentage',
- # [percentage] Multiple prices per product (e.g. customer segments, currencies)
- # [formula] rices computed from formulas (discounts, margins, roundings)
+ # [percentage] Multiple prices per product (e.g. customer segments, currencies)
+ # [formula] rices computed from formulas (discounts, margins, roundings)
'module_sale_margin': False,
'use_sale_note': True,
- 'group_sale_layout': False,
+ 'group_sale_layout': True,
'group_proforma_sales': True,
- 'group_sale_delivery_address': True, # Verschiedene Adressen für Rechnung und Lieferung
+ 'group_sale_delivery_address': True, # Verschiedene Adressen für Rechnung und Lieferung
'group_warning_sale': False,
'auto_done_setting': False,
- 'module_delivery': True, # Für Intrastat benötigt
+ 'module_delivery': True, # Für Intrastat benötigt
'group_display_incoterm': True,
'module_sale_order_dates': False,
'group_route_so_lines': False,
# Einstellungen Lager
'group_warning_stock': False,
- 'group_stock_production_lot': True, # Verfolgen Sie Los- und Seriennummern
+ 'group_stock_production_lot': True, # Verfolgen Sie Los- und Seriennummern
'default_picking_policy': 'direct',
'group_stock_multi_locations': False,
'group_stock_multi_warehouses': False,
- 'group_stock_adv_location': False, # Advanced routing of products using rules
+ 'group_stock_adv_location': False, # Advanced routing of products using rules
'use_security_lead': False,
'security_lead': 0,
# Einstellungen Finanzen
'tax_calculation_rounding_method': 'round_per_line',
'vat_check_vies': True,
- 'group_multi_currency': True, # Multiwährungsfunktion aktivieren
+ 'group_multi_currency': True, # Multiwährungsfunktion aktivieren
'module_account_reports_followup': False,
'group_warning_account': False,
@@ -88,8 +89,8 @@ class Config():
'manufacturing_lead': 0,
}
- self.removal_strategy = 'fifo' #[fifo], [lifo], [fefo]
- self.stock_cost_method = 'standard' # [standard], [average], [real]
+ self.removal_strategy = 'fifo' # [fifo], [lifo], [fefo]
+ self.stock_cost_method = 'standard' # [standard], [average], [real]
self.active_uoms = {
'product.product_uom_unit': 'Stk.',
@@ -137,7 +138,7 @@ class Config():
]
-# Setze das Feld "Attachment" im Report (wenn gesetzt wird das PDF in den Anhängen gespeichert)
+ # Setze das Feld "Attachment" im Report (wenn gesetzt wird das PDF in den Anhängen gespeichert)
timestamp = " + '_' + time.strftime('%Y-%m-%d-%H%M') + '.pdf')"
self.reports = {
'sale.action_report_saleorder': "((object.state in ('draft','sent') and 'KV_' or 'AB_') + object.name" + timestamp,
@@ -147,27 +148,27 @@ class Config():
self.users_file = 'res.users.csv'
- self.translation_files = [ # Reihenfolge!
- #'auto_translated2.po',
- 'ir.translation.csv',
- #'auto_translated.po',
- #'auto_translated3.po',
- ]
+ self.translation_files = [ # Reihenfolge!
+ # 'auto_translated2.po',
+ 'ir.translation.csv',
+ # 'auto_translated.po',
+ # 'auto_translated3.po',
+ ]
- self.default_values = [ # ir.values
+ self.default_values = [ # ir.values
# ('product.template', 'type', 'product'),
- #('product.template', 'type', 'service'),
+ # ('product.template', 'type', 'service'),
]
self.order_policy = 'order'
self.data_updates = {
- #'mrp.route_warehouse0_manufacture': {'name': 'Produzieren'},
- #'purchase.route_warehouse0_buy': {'name': 'Einkaufen'},
- #'stock.route_warehouse0_mto': {'name': 'Beschaffe von Auftrag'},
+ # 'mrp.route_warehouse0_manufacture': {'name': 'Produzieren'},
+ # 'purchase.route_warehouse0_buy': {'name': 'Einkaufen'},
+ # 'stock.route_warehouse0_mto': {'name': 'Beschaffe von Auftrag'},
}
self.system_parameters = {
- 'ir_attachment.location': 'file', # [db] oder [file]
+ 'ir_attachment.location': 'file', # [db] oder [file]
'database.expiration_date': '2038-01-19',
}