Merge branch 'master' of ssh://gitlab.datenpol.at:122/odoo/dp-template
						commit
						c27a8723ab
					
				|  | @ -1,8 +1,8 @@ | ||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
| ############################################################################## | ############################################################################## | ||||||
| # | # | ||||||
| #    OpenERP, Open Source Management Solution | #    datenpol gmbh | ||||||
| #    Copyright (C) 20014-2016 Camadeus GmbH (<http://www.camadeus.at>). | #    Copyright (C) 2013-TODAY datenpol gmbh (<http://www.datenpol.at/>) | ||||||
| # | # | ||||||
| #    This program is free software: you can redistribute it and/or modify | #    This program is free software: you can redistribute it and/or modify | ||||||
| #    it under the terms of the GNU Affero General Public License as | #    it under the terms of the GNU Affero General Public License as | ||||||
|  | @ -22,4 +22,3 @@ | ||||||
| import models | import models | ||||||
| 
 | 
 | ||||||
| # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: | ||||||
| 
 |  | ||||||
|  |  | ||||||
|  | @ -2,7 +2,7 @@ | ||||||
| ############################################################################## | ############################################################################## | ||||||
| # | # | ||||||
| #    datenpol gmbh | #    datenpol gmbh | ||||||
| #    Copyright (C) 2013-TODAY datenpol gmbh(<http://www.datenpol.at>) | #    Copyright (C) 2013-TODAY datenpol gmbh (<http://www.datenpol.at/>) | ||||||
| # | # | ||||||
| #    This program is free software: you can redistribute it and/or modify | #    This program is free software: you can redistribute it and/or modify | ||||||
| #    it under the terms of the GNU Affero General Public License as | #    it under the terms of the GNU Affero General Public License as | ||||||
|  | @ -26,11 +26,13 @@ | ||||||
|     'version': '1.0', |     'version': '1.0', | ||||||
|     'description': """Individuelle Anpassungen""", |     'description': """Individuelle Anpassungen""", | ||||||
|     'author': 'datenpol gmbh', |     'author': 'datenpol gmbh', | ||||||
|     'website': 'http://www.datenpol.at', |     'website': 'http://www.datenpol.at/', | ||||||
|     'depends': ['base'], |     'depends': [ | ||||||
|  |         'base', | ||||||
|  |     ], | ||||||
|     'data': [ |     'data': [ | ||||||
|         'data/dp_custom_data.xml', |         'data/dp_custom_data.xml', | ||||||
|         'views/dp_custom_view.xml', |         'views/dp_custom_views.xml', | ||||||
|         'security/ir.model.access.csv', |         'security/ir.model.access.csv', | ||||||
|     ], |     ], | ||||||
|     'installable': True, |     'installable': True, | ||||||
|  | @ -1,8 +1,6 @@ | ||||||
| <?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||||||
| <openerp> | <openerp> | ||||||
| 	<data noupdate="0"> | <data noupdate="0"> | ||||||
| 	 |  | ||||||
| 	 |  | ||||||
|     <!--  UNITS --> |     <!--  UNITS --> | ||||||
| 
 | 
 | ||||||
|     <!-- Einheit in Stück umbenennen --> |     <!-- Einheit in Stück umbenennen --> | ||||||
|  | @ -120,8 +118,5 @@ | ||||||
|     'width': fields.float('Width', help='The width of the package'), |     'width': fields.float('Width', help='The width of the package'), | ||||||
|     'length': fields.float('Length', help='The length of the package'), |     'length': fields.float('Length', help='The length of the package'), | ||||||
|     'weight': fields.float('Empty Package Weight'), --> |     'weight': fields.float('Empty Package Weight'), --> | ||||||
|          | </data> | ||||||
|          |  | ||||||
|         |  | ||||||
| 	</data> |  | ||||||
| </openerp> | </openerp> | ||||||
|  |  | ||||||
|  | @ -2,7 +2,7 @@ | ||||||
| ############################################################################## | ############################################################################## | ||||||
| # | # | ||||||
| #    datenpol gmbh | #    datenpol gmbh | ||||||
| #    Copyright (C) 2013-TODAY datenpol gmbh(<http://www.datenpol.at>) | #    Copyright (C) 2013-TODAY datenpol gmbh (<http://www.datenpol.at/>) | ||||||
| # | # | ||||||
| #    This program is free software: you can redistribute it and/or modify | #    This program is free software: you can redistribute it and/or modify | ||||||
| #    it under the terms of the GNU Affero General Public License as | #    it under the terms of the GNU Affero General Public License as | ||||||
|  | @ -24,7 +24,6 @@ from openerp import api | ||||||
| from openerp.tools.translate import _ | from openerp.tools.translate import _ | ||||||
| from openerp import SUPERUSER_ID | from openerp import SUPERUSER_ID | ||||||
| from openerp import tools | from openerp import tools | ||||||
| from lxml import etree |  | ||||||
| 
 | 
 | ||||||
| DISABLED_MENUS = [ | DISABLED_MENUS = [ | ||||||
| ] | ] | ||||||
|  | @ -38,16 +37,16 @@ class ir_ui_menu(models.Model): | ||||||
| 
 | 
 | ||||||
|         menu_ids = [] |         menu_ids = [] | ||||||
|         for menu in DISABLED_MENUS: |         for menu in DISABLED_MENUS: | ||||||
|             module,xml_id = menu.split('.') |             module, xml_id = menu.split('.') | ||||||
|             menu = data_obj.get_object(cr, uid, module, xml_id) |             menu = data_obj.get_object(cr, uid, module, xml_id) | ||||||
|             if menu: |             if menu: | ||||||
|                 menu_ids.append(menu.id) |                 menu_ids.append(menu.id) | ||||||
|  | 
 | ||||||
|         return menu_ids |         return menu_ids | ||||||
| 
 | 
 | ||||||
|     def _filter_visible_menus(self, cr, uid, ids, context=None): |     def _filter_visible_menus(self, cr, uid, ids, context=None): | ||||||
|         if uid != 1: |         if uid != 1: | ||||||
|             disabled_ids = self.get_disabled_menu_ids(cr, uid) |             disabled_ids = self.get_disabled_menu_ids(cr, uid) | ||||||
|               |  | ||||||
|             ids = [id for id in ids if id not in disabled_ids] |             ids = [id for id in ids if id not in disabled_ids] | ||||||
| 
 | 
 | ||||||
|         ids = super(ir_ui_menu, self)._filter_visible_menus(cr, uid, ids, context) |         ids = super(ir_ui_menu, self)._filter_visible_menus(cr, uid, ids, context) | ||||||
|  |  | ||||||
|  | @ -1,10 +1,6 @@ | ||||||
| <?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||||||
| <openerp> | <openerp> | ||||||
| 	<data> | <data> | ||||||
| 
 | 
 | ||||||
| 
 | </data> | ||||||
| 	</data> |  | ||||||
| </openerp> | </openerp> | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
| 
 |  | ||||||
|  | @ -1,14 +1,16 @@ | ||||||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||||||
| 
 | 
 | ||||||
| { | { | ||||||
|     'name': 'datepol Report Anpassungen', |     'name': 'datepol Report-Anpassungen', | ||||||
|     'category': 'Custom', |     'category': 'Custom', | ||||||
|     'version': '1.0', |     'version': '1.0', | ||||||
|     'summary': """Individuelle Report Anpassungen""", |     'summary': """Individuelle Report Anpassungen""", | ||||||
|     'description': """Individuelle Report Anpassungen""", |     'description': """Individuelle Report Anpassungen""", | ||||||
|     'author': 'datenpol gmbh', |     'author': 'datenpol gmbh', | ||||||
|     'website': 'http://www.datenpol.at', |     'website': 'http://www.datenpol.at/', | ||||||
|     'depends': ['base'], |     'depends': [ | ||||||
|  |         'base', | ||||||
|  |     ], | ||||||
|     'data': [ |     'data': [ | ||||||
|         # 'security/ir.model.access.csv', |         # 'security/ir.model.access.csv', | ||||||
|         'views/layouts.xml', |         'views/layouts.xml', | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| <openerp> | <openerp> | ||||||
|     <data> | <data> | ||||||
|     <!-- Delivery Body --> |     <!-- Delivery Body --> | ||||||
|     <template id="report_delivery_document" inherit_id="delivery.report_delivery_document2"> |     <template id="report_delivery_document" inherit_id="delivery.report_delivery_document2"> | ||||||
|         <h2 position="replace"> |         <h2 position="replace"> | ||||||
|  | @ -49,6 +49,7 @@ | ||||||
|         </xpath> |         </xpath> | ||||||
|         <xpath expr="//table[@t-if='o.pack_operation_ids']/tbody/tr/td[2]" position="replace"/> |         <xpath expr="//table[@t-if='o.pack_operation_ids']/tbody/tr/td[2]" position="replace"/> | ||||||
|     </template> |     </template> | ||||||
|  | 
 | ||||||
|     <!-- Render Report with Header --> |     <!-- Render Report with Header --> | ||||||
|     <template id="stock.report_deliveryslip"> |     <template id="stock.report_deliveryslip"> | ||||||
|         <t t-set="header" t-value="1"/> |         <t t-set="header" t-value="1"/> | ||||||
|  | @ -56,6 +57,7 @@ | ||||||
|             <t t-call="dp_report.report_delivery_document" t-lang="o.partner_id.lang"/> |             <t t-call="dp_report.report_delivery_document" t-lang="o.partner_id.lang"/> | ||||||
|         </t> |         </t> | ||||||
|     </template> |     </template> | ||||||
|  | 
 | ||||||
|     <!-- Render Report without Header --> |     <!-- Render Report without Header --> | ||||||
|     <template id="report_deliveryslip_blank"> |     <template id="report_deliveryslip_blank"> | ||||||
|         <t t-set="header" t-value="0"/> |         <t t-set="header" t-value="0"/> | ||||||
|  | @ -63,6 +65,7 @@ | ||||||
|             <t t-call="dp_report.report_delivery_document" t-lang="o.partner_id.lang"/> |             <t t-call="dp_report.report_delivery_document" t-lang="o.partner_id.lang"/> | ||||||
|         </t> |         </t> | ||||||
|     </template> |     </template> | ||||||
|  | 
 | ||||||
|     <!-- Create new Report --> |     <!-- Create new Report --> | ||||||
|     <report id="dp_report_deliveryslip_blank" |     <report id="dp_report_deliveryslip_blank" | ||||||
|         string="Lieferschein Ohne Logo" |         string="Lieferschein Ohne Logo" | ||||||
|  | @ -70,6 +73,5 @@ | ||||||
|         report_type="qweb-pdf" |         report_type="qweb-pdf" | ||||||
|         name="dp_report.report_deliveryslip_blank" |         name="dp_report.report_deliveryslip_blank" | ||||||
|         file="dp_report.report_deliveryslip_blank"/> |         file="dp_report.report_deliveryslip_blank"/> | ||||||
| 
 | </data> | ||||||
|     </data> |  | ||||||
| </openerp> | </openerp> | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| <openerp> | <openerp> | ||||||
|     <data> | <data> | ||||||
|     <!-- Invoice Body --> |     <!-- Invoice Body --> | ||||||
|     <template id="report_invoice_document" inherit_id="account.report_invoice_document"> |     <template id="report_invoice_document" inherit_id="account.report_invoice_document"> | ||||||
|         <th t-if="display_discount" position="replace"> |         <th t-if="display_discount" position="replace"> | ||||||
|  | @ -33,26 +33,27 @@ | ||||||
|             </p> |             </p> | ||||||
|         </p> |         </p> | ||||||
|     </template> |     </template> | ||||||
|  | 
 | ||||||
|     <!-- Render Report with Header --> |     <!-- Render Report with Header --> | ||||||
|     <template id="account.report_invoice"> |     <template id="account.report_invoice"> | ||||||
|         <t t-call="report.html_container"> |         <t t-call="report.html_container"> | ||||||
|             <t t-set="header" t-value="1"/> |             <t t-set="header" t-value="1"/> | ||||||
|             <t t-foreach="docs" t-as="o"> |             <t t-foreach="docs" t-as="o"> | ||||||
|                     <t t-call="dp_report.report_invoice_document" t-lang="o.partner_id.lang"> |                 <t t-call="dp_report.report_invoice_document" t-lang="o.partner_id.lang"/> | ||||||
|                     </t> |  | ||||||
|             </t> |             </t> | ||||||
|         </t> |         </t> | ||||||
|     </template> |     </template> | ||||||
|  | 
 | ||||||
|     <!-- Render Report without Header --> |     <!-- Render Report without Header --> | ||||||
|     <template id="report_invoice_blank"> |     <template id="report_invoice_blank"> | ||||||
|         <t t-call="report.html_container"> |         <t t-call="report.html_container"> | ||||||
|             <t t-set="header" t-value="0"/> |             <t t-set="header" t-value="0"/> | ||||||
|             <t t-foreach="docs" t-as="o"> |             <t t-foreach="docs" t-as="o"> | ||||||
|                     <t t-call="dp_report.report_invoice_document" t-lang="o.partner_id.lang"> |                 <t t-call="dp_report.report_invoice_document" t-lang="o.partner_id.lang"/> | ||||||
|                     </t> |  | ||||||
|             </t> |             </t> | ||||||
|         </t> |         </t> | ||||||
|     </template> |     </template> | ||||||
|  | 
 | ||||||
|     <!-- Create new Report --> |     <!-- Create new Report --> | ||||||
|     <report id="dp_report_invoice_blank" |     <report id="dp_report_invoice_blank" | ||||||
|         string="Rechnung Ohne Logo" |         string="Rechnung Ohne Logo" | ||||||
|  | @ -60,6 +61,5 @@ | ||||||
|         report_type="qweb-pdf" |         report_type="qweb-pdf" | ||||||
|         name="dp_report.report_invoice_blank" |         name="dp_report.report_invoice_blank" | ||||||
|         file="dp_report.report_invoice_blank"/> |         file="dp_report.report_invoice_blank"/> | ||||||
| 
 | </data> | ||||||
|     </data> |  | ||||||
| </openerp> | </openerp> | ||||||
|  | @ -1,24 +1,24 @@ | ||||||
| <openerp> | <openerp> | ||||||
|     <data> | <data> | ||||||
|     <template id="report.external_layout"> |     <template id="report.external_layout"> | ||||||
|         <!-- Multicompany --> |         <!-- Multicompany --> | ||||||
|         <t t-if="not o and doc"> |         <t t-if="not o and doc"> | ||||||
|             <t t-set="o" t-value="doc"/> |             <t t-set="o" t-value="doc"/> | ||||||
|         </t> |         </t> | ||||||
|         <t t-if="o and 'company_id' in o"> |         <t t-if="o and 'company_id' in o"> | ||||||
|                 <t t-set="company" t-value="o.company_id"></t> |             <t t-set="company" t-value="o.company_id"/> | ||||||
|         </t> |         </t> | ||||||
|         <t t-if="not o or not 'company_id' in o"> |         <t t-if="not o or not 'company_id' in o"> | ||||||
|                 <t t-set="company" t-value="res_company"></t> |             <t t-set="company" t-value="res_company"/> | ||||||
|         </t> |         </t> | ||||||
|         <t t-if="header == 1"> |         <t t-if="header == 1"> | ||||||
|                 <t t-call="dp_report.external_layout_header" /> |             <t t-call="dp_report.external_layout_header"/> | ||||||
|         </t> |         </t> | ||||||
|         <t t-if="header == 0"> |         <t t-if="header == 0"> | ||||||
|                 <t t-call="dp_report.external_layout_header_blank" /> |             <t t-call="dp_report.external_layout_header_blank"/> | ||||||
|         </t> |         </t> | ||||||
|             <t t-raw="0" /> |         <t t-raw="0"/> | ||||||
|             <t t-call="report.external_layout_footer" /> |         <t t-call="report.external_layout_footer"/> | ||||||
|         <t t-esc="header"/> |         <t t-esc="header"/> | ||||||
|     </template> |     </template> | ||||||
| 
 | 
 | ||||||
|  | @ -54,5 +54,5 @@ | ||||||
|             </div> |             </div> | ||||||
|         </div> |         </div> | ||||||
|     </template> |     </template> | ||||||
|     </data> | </data> | ||||||
| </openerp> | </openerp> | ||||||
|  | @ -1,5 +1,5 @@ | ||||||
| <openerp> | <openerp> | ||||||
|     <data> | <data> | ||||||
|     <!-- Sale Order Body --> |     <!-- Sale Order Body --> | ||||||
|     <template id="report_saleorder_document" inherit_id="sale.report_saleorder_document"> |     <template id="report_saleorder_document" inherit_id="sale.report_saleorder_document"> | ||||||
|         <th t-if="display_discount" position="replace"> |         <th t-if="display_discount" position="replace"> | ||||||
|  | @ -53,26 +53,27 @@ | ||||||
|             </div> |             </div> | ||||||
|         </div> |         </div> | ||||||
|     </template> |     </template> | ||||||
|  | 
 | ||||||
|     <!-- Render Report with Header --> |     <!-- Render Report with Header --> | ||||||
|     <template id="sale.report_saleorder"> |     <template id="sale.report_saleorder"> | ||||||
|         <t t-call="report.html_container"> |         <t t-call="report.html_container"> | ||||||
|             <t t-set="header" t-value="1"/> |             <t t-set="header" t-value="1"/> | ||||||
|             <t t-foreach="docs" t-as="doc"> |             <t t-foreach="docs" t-as="doc"> | ||||||
|                     <t t-call="dp_report.report_saleorder_document" t-lang="doc.partner_id.lang"> |                 <t t-call="dp_report.report_saleorder_document" t-lang="doc.partner_id.lang"/> | ||||||
|                     </t> |  | ||||||
|             </t> |             </t> | ||||||
|         </t> |         </t> | ||||||
|     </template> |     </template> | ||||||
|  | 
 | ||||||
|     <!-- Render Report without Header --> |     <!-- Render Report without Header --> | ||||||
|     <template id="report_saleorder_blank"> |     <template id="report_saleorder_blank"> | ||||||
|         <t t-call="report.html_container"> |         <t t-call="report.html_container"> | ||||||
|             <t t-set="header" t-value="0"/> |             <t t-set="header" t-value="0"/> | ||||||
|             <t t-foreach="docs" t-as="doc"> |             <t t-foreach="docs" t-as="doc"> | ||||||
|                     <t t-call="dp_report.report_saleorder_document" t-lang="doc.partner_id.lang"> |                 <t t-call="dp_report.report_saleorder_document" t-lang="doc.partner_id.lang"/> | ||||||
|                     </t> |  | ||||||
|             </t> |             </t> | ||||||
|         </t> |         </t> | ||||||
|     </template> |     </template> | ||||||
|  | 
 | ||||||
|     <!-- Create new Report --> |     <!-- Create new Report --> | ||||||
|     <report id="dp_report_saleorder_blank" |     <report id="dp_report_saleorder_blank" | ||||||
|         string="Angebot / Bestellung Ohne Logo" |         string="Angebot / Bestellung Ohne Logo" | ||||||
|  | @ -80,6 +81,5 @@ | ||||||
|         report_type="qweb-pdf" |         report_type="qweb-pdf" | ||||||
|         name="dp_report.report_saleorder_blank" |         name="dp_report.report_saleorder_blank" | ||||||
|         file="dp_report.report_saleorder_blank"/> |         file="dp_report.report_saleorder_blank"/> | ||||||
| 
 | </data> | ||||||
|     </data> |  | ||||||
| </openerp> | </openerp> | ||||||
|  | @ -82,7 +82,6 @@ def main(): | ||||||
|             'login', |             'login', | ||||||
|             'install_module_sale', |             'install_module_sale', | ||||||
|             #'setup_accounting', |             #'setup_accounting', | ||||||
|             #'setup_accounting2', |  | ||||||
|             'set_admin_rights', |             'set_admin_rights', | ||||||
|         ] |         ] | ||||||
| 
 | 
 | ||||||
|  | @ -127,6 +126,8 @@ def main(): | ||||||
|         #'update_special_values', |         #'update_special_values', | ||||||
|         'set_sys_params', |         'set_sys_params', | ||||||
|         #'setup_reports', |         #'setup_reports', | ||||||
|  |         'consume_tours', | ||||||
|  |         'disable_planners', | ||||||
|     ] |     ] | ||||||
| 
 | 
 | ||||||
|     if cmd == 'setup': |     if cmd == 'setup': | ||||||
|  |  | ||||||
|  | @ -25,7 +25,6 @@ class Config(): | ||||||
|             'website': 'http://www.datenpol.at/', |             'website': 'http://www.datenpol.at/', | ||||||
|             'company_registry': '359270p', |             'company_registry': '359270p', | ||||||
|             'country_id': 'at', # 'de' für Deutschland |             'country_id': 'at', # 'de' für Deutschland | ||||||
|             'logo': False, |  | ||||||
|             'vat': 'ATU 66309611', |             'vat': 'ATU 66309611', | ||||||
|             'rml_header1': False, |             'rml_header1': False, | ||||||
|             'vat_check_vies': True, |             'vat_check_vies': True, | ||||||
|  | @ -84,13 +83,13 @@ class Config(): | ||||||
| 
 | 
 | ||||||
|         # Einstellungen Verkauf |         # Einstellungen Verkauf | ||||||
|         self.sale_config = { |         self.sale_config = { | ||||||
|             'group_sale_delivery_address': True,         # Verschiedene Adressen für Rechnung und Lieferung |             'group_sale_delivery_address': 0,            # Verschiedene Adressen für Rechnung und Lieferung | ||||||
|             'group_sale_pricelist': True,                # Preislisten verwenden |             'sale_pricelist_setting': 'fixed',           # Verkaufspreis: [fixed], [percentage], [formula] | ||||||
|             'group_discount_per_so_line': True,          # Rabatte verwenden |             'group_discount_per_so_line': 0,             # Rabatt auf Verkaufszeilen | ||||||
|             'group_uom': True,                           # Verwende Mengeneinheiten |             'group_uom': 0,                              # Verwende Mengeneinheiten | ||||||
|             'group_invoice_deli_orders': True,           # Erstelle Rechnungen durch Auslieferungen |             'default_invoice_policy': 'order'            # Standardabrechnung: [order], [delivery] | ||||||
|         } |         } | ||||||
|         self.order_policy = 'picking'                   # Erzeuge Rechnung: [manual], [picking],[prepaid] |         self.order_policy = 'picking'                    # Erzeuge Rechnung: [manual], [picking], [prepaid] | ||||||
| 
 | 
 | ||||||
|         # Einstellungen Einkauf |         # Einstellungen Einkauf | ||||||
|         self.purchase_config = { |         self.purchase_config = { | ||||||
|  | @ -101,26 +100,27 @@ class Config(): | ||||||
|             'group_costing_method': True,                # Benutzen Sie 'Einkaufs-' oder 'Durchschnittspreis' zur Bestandsbewertung |             'group_costing_method': True,                # Benutzen Sie 'Einkaufs-' oder 'Durchschnittspreis' zur Bestandsbewertung | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
| 
 |         # Einstellungen Finanzen | ||||||
|         self.finance_config = { |         self.finance_config = { | ||||||
|             #'group_multi_currency':True |             'group_multi_currency': False,               # Multiwährungsfunktion aktivieren | ||||||
|  |             'default_sale_tax_id': 'XML:l10n_at.1_tax_at_mwst_10', # Standardsteuer Verkauf | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
| 
 |         # Einstellungen Personal | ||||||
|         #Einstellungen Personal |  | ||||||
|         self.hr_config = { |         self.hr_config = { | ||||||
|             'module_hr_expense': True,                   # Spesen der Mitarbeiter verwalten |             'module_hr_expense': True,                   # Spesen der Mitarbeiter verwalten | ||||||
|             'module_hr_timesheet': False,                # Verwalten Sie Ihre Studenzettel |             'module_hr_timesheet': False,                # Verwalten Sie Ihre Studenzettel | ||||||
|             'group_hr_attendance': True,                 # Zuweisung der Berechtigung zur Arbeitszeiteingabe für alle Benutzer |             'group_hr_attendance': True,                 # Zuweisung der Berechtigung zur Arbeitszeiteingabe für alle Benutzer | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         #Einstellungen Lager |         # Einstellungen Lager | ||||||
|         self.stock_config = { |         self.stock_config = { | ||||||
|             'group_stock_multiple_locations': True,      # Verwalten Sie mehrere Lager und Lagerorte |             'warehouse_and_location_usage_level': 0,     # Warehouses and Locations usage level | ||||||
|             'group_stock_tracking_lot': False,           # Benutze Verpackungen: Paletten, Boxen, ... |             'group_stock_tracking_lot': 0,               # Verpackungsgrößen bei der Verpackung: Paletten, Kisten, Behälter... | ||||||
|             'group_stock_production_lot': True,          # Verfolgen Sie Los- und Seriennummern. |             'group_stock_production_lot': 0,             # Verfolgen Sie Los- und Seriennummern | ||||||
|             'group_stock_packaging': False,              # Ermöglicht die Auswahl einer Verpackung |             'group_stock_packaging': 0,                  # Manage available packaging options per products | ||||||
|             'group_stock_adv_location': True,            # Verwalten Sie erweiterte Routen im Lager |             'group_stock_adv_location': 0,               # Advanced routing of products using rules | ||||||
|  |             'group_product_variant': 0,                  # Produkte können mehrere Attribute haben, die Varianten definieren | ||||||
|         } |         } | ||||||
| 
 | 
 | ||||||
|         # Einstellungen Fertigung |         # Einstellungen Fertigung | ||||||
|  | @ -253,4 +253,5 @@ class Config(): | ||||||
| 
 | 
 | ||||||
|         self.system_parameters = { |         self.system_parameters = { | ||||||
|             'ir_attachment.location': 'db', # [db] oder [file] |             'ir_attachment.location': 'db', # [db] oder [file] | ||||||
|  |             'database.expiration_date': '2038-01-19', | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  | @ -95,6 +95,26 @@ class DatenpolFunctions(): | ||||||
|         fi.close() |         fi.close() | ||||||
|         return content |         return content | ||||||
| 
 | 
 | ||||||
|  |     def resolve_xml_id(self, value): | ||||||
|  |         # In case the value starts with 'XML:' then take the remaining string | ||||||
|  |         # as an XML-Id, resolve it and return that. Otherwise return value | ||||||
|  |         # unchanged. | ||||||
|  |         if type(value) != str or value[:4] != 'XML:': | ||||||
|  |             return value | ||||||
|  | 
 | ||||||
|  |         xml_id = value[4:] | ||||||
|  |         res_id = self._execute('ir.model.data', 'xmlid_to_res_id', xml_id) | ||||||
|  |         if not res_id: | ||||||
|  |             raise Exception('XML-Id "%s" nicht vorhanden!' % xml_id) | ||||||
|  |         return res_id | ||||||
|  | 
 | ||||||
|  |     def resolve_xml_ids(self, data): | ||||||
|  |         # Resolve all XML-Ids in the dict data | ||||||
|  |         # Note: This happens in-place, the original dict is returned | ||||||
|  |         for k, v in data.iteritems(): | ||||||
|  |             data[k] = self.resolve_xml_id(v) | ||||||
|  |         return data | ||||||
|  | 
 | ||||||
|     def set_company(self): |     def set_company(self): | ||||||
|         """Setze Unternehmensdaten (Allgemein, RML, Logo)""" |         """Setze Unternehmensdaten (Allgemein, RML, Logo)""" | ||||||
| 
 | 
 | ||||||
|  | @ -344,15 +364,6 @@ class DatenpolFunctions(): | ||||||
|         return self._execute('res.users', 'write', [user_id], vals) |         return self._execute('res.users', 'write', [user_id], vals) | ||||||
| 
 | 
 | ||||||
|     def setup_accounting(self): |     def setup_accounting(self): | ||||||
|         """Konfiguration Buchhaltung""" |  | ||||||
| 
 |  | ||||||
|         vals = self._execute('account.installer', 'default_get', []) |  | ||||||
|         vals['charts'] = self.config.chart_of_accounts |  | ||||||
|         wizard_id = self._execute('account.installer', 'create', vals) |  | ||||||
|         self._execute('account.installer', 'action_next', [wizard_id]) |  | ||||||
|         return True |  | ||||||
| 
 |  | ||||||
|     def setup_accounting2(self): |  | ||||||
|         """Konfiguration Kontenplan""" |         """Konfiguration Kontenplan""" | ||||||
| 
 | 
 | ||||||
|         c = self.config |         c = self.config | ||||||
|  | @ -397,7 +408,7 @@ class DatenpolFunctions(): | ||||||
|         return True |         return True | ||||||
| 
 | 
 | ||||||
|     def uninstall_chat(self): |     def uninstall_chat(self): | ||||||
|         """Chat-Modul deinstallieren """ |         """Chat-Modul deinstallieren""" | ||||||
| 
 | 
 | ||||||
|         modules = ['im_chat', 'im_odoo_support', 'bus'] |         modules = ['im_chat', 'im_odoo_support', 'bus'] | ||||||
|         modules_to_install = self._execute('ir.module.module', 'search', [('name', 'in', modules)]) |         modules_to_install = self._execute('ir.module.module', 'search', [('name', 'in', modules)]) | ||||||
|  | @ -690,14 +701,7 @@ class DatenpolFunctions(): | ||||||
|         """Defaultwerte für Dokumente setzen""" |         """Defaultwerte für Dokumente setzen""" | ||||||
| 
 | 
 | ||||||
|         for model, field, value in self.config.default_values: |         for model, field, value in self.config.default_values: | ||||||
|             # Falls XML ID (prefix "XML:") dann die DB ID holen |             value = self.resolve_xml_id(value) | ||||||
|             if value[0:4] == 'XML:': |  | ||||||
|                 xml_id = value[4:] |  | ||||||
|                 dummy, dummy2, res_id = self._execute('ir.model.data', 'xmlid_lookup', xml_id) |  | ||||||
|                 if not res_id: |  | ||||||
|                     raise Exception('Defaultwerte anlegen: XML ID %s nicht vorhanden!' % (xml_id)) |  | ||||||
|                 value = res_id |  | ||||||
| 
 |  | ||||||
|             vals = { |             vals = { | ||||||
|                 'name': field, |                 'name': field, | ||||||
|                 'model': model, |                 'model': model, | ||||||
|  | @ -800,7 +804,7 @@ class DatenpolFunctions(): | ||||||
| 
 | 
 | ||||||
|         if hasattr(self.config, 'finance_config'): |         if hasattr(self.config, 'finance_config'): | ||||||
|             vals = self._execute('account.config.settings', 'default_get', []) |             vals = self._execute('account.config.settings', 'default_get', []) | ||||||
|             vals.update(self.config.finance_config) |             vals.update(self.resolve_xml_ids(self.config.finance_config)) | ||||||
|             wizard_id = self._execute('account.config.settings', 'create', vals) |             wizard_id = self._execute('account.config.settings', 'create', vals) | ||||||
|             return self._execute('account.config.settings', 'execute', [wizard_id]) |             return self._execute('account.config.settings', 'execute', [wizard_id]) | ||||||
|         return True |         return True | ||||||
|  | @ -909,6 +913,34 @@ class DatenpolFunctions(): | ||||||
|         #     except: |         #     except: | ||||||
|         #         print "Fehler Anlage ExtID " + 'cust_account_mapp_' + acc |         #         print "Fehler Anlage ExtID " + 'cust_account_mapp_' + acc | ||||||
| 
 | 
 | ||||||
|  |         return True | ||||||
| 
 | 
 | ||||||
|  |     def consume_tours(self): | ||||||
|  |         """Odoo-Touren auf konsumiert setzen""" | ||||||
|  | 
 | ||||||
|  |         tours = [ | ||||||
|  |             'crm_tour', | ||||||
|  |             'mail_tour', | ||||||
|  |             'sale_tour', | ||||||
|  |             'rte', | ||||||
|  |             'rte_inline', | ||||||
|  |         ] | ||||||
|  | 
 | ||||||
|  |         for uid in self._execute('res.users', 'search', []): | ||||||
|  |             for t in tours: | ||||||
|  |                 vals = { | ||||||
|  |                     'name': t, | ||||||
|  |                     'user_id': uid, | ||||||
|  |                 } | ||||||
|  |                 self._execute('web_tour.tour', 'create', vals) | ||||||
| 
 | 
 | ||||||
|         return True |         return True | ||||||
|  | 
 | ||||||
|  |     def disable_planners(self): | ||||||
|  |         """Implementierungsplaner deaktivieren""" | ||||||
|  | 
 | ||||||
|  |         # The dashboard widget itself remains. It can be removed in the | ||||||
|  |         # module web_settings_dashboard in dashboard.xml and dashboard.js. | ||||||
|  | 
 | ||||||
|  |         planner_ids = self._execute('web.planner', 'search', []) | ||||||
|  |         return self._execute('web.planner', 'write', planner_ids, {'active': False}) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue