Anpassungen für Odoo 10

develop
Christian Hattemer 2016-11-14 14:48:16 +01:00
parent 45f818bc86
commit 75c8dfdcfb
3 changed files with 43 additions and 39 deletions

View File

@ -82,7 +82,6 @@ def main():
'login',
'install_module_sale',
#'setup_accounting',
#'setup_accounting2',
'set_admin_rights',
]

View File

@ -83,13 +83,13 @@ class Config():
# Einstellungen Verkauf
self.sale_config = {
'group_sale_delivery_address': True, # Verschiedene Adressen für Rechnung und Lieferung
'group_sale_pricelist': True, # Preislisten verwenden
'group_discount_per_so_line': True, # Rabatte verwenden
'group_uom': True, # Verwende Mengeneinheiten
'group_invoice_deli_orders': True, # Erstelle Rechnungen durch Auslieferungen
'group_sale_delivery_address': 0, # Verschiedene Adressen für Rechnung und Lieferung
'sale_pricelist_setting': 'fixed', # Verkaufspreis: [fixed], [percentage], [formula]
'group_discount_per_so_line': 0, # Rabatt auf Verkaufszeilen
'group_uom': 0, # Verwende Mengeneinheiten
'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
self.purchase_config = {
@ -100,26 +100,27 @@ class Config():
'group_costing_method': True, # Benutzen Sie 'Einkaufs-' oder 'Durchschnittspreis' zur Bestandsbewertung
}
# Einstellungen Finanzen
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 = {
'module_hr_expense': True, # Spesen der Mitarbeiter verwalten
'module_hr_timesheet': False, # Verwalten Sie Ihre Studenzettel
'group_hr_attendance': True, # Zuweisung der Berechtigung zur Arbeitszeiteingabe für alle Benutzer
'module_hr_expense': True, # Spesen der Mitarbeiter verwalten
'module_hr_timesheet': False, # Verwalten Sie Ihre Studenzettel
'group_hr_attendance': True, # Zuweisung der Berechtigung zur Arbeitszeiteingabe für alle Benutzer
}
#Einstellungen Lager
# Einstellungen Lager
self.stock_config = {
'group_stock_multiple_locations': True, # Verwalten Sie mehrere Lager und Lagerorte
'group_stock_tracking_lot': False, # Benutze Verpackungen: Paletten, Boxen, ...
'group_stock_production_lot': True, # Verfolgen Sie Los- und Seriennummern.
'group_stock_packaging': False, # Ermöglicht die Auswahl einer Verpackung
'group_stock_adv_location': True, # Verwalten Sie erweiterte Routen im Lager
'warehouse_and_location_usage_level': 0, # Warehouses and Locations usage level
'group_stock_tracking_lot': 0, # Verpackungsgrößen bei der Verpackung: Paletten, Kisten, Behälter...
'group_stock_production_lot': 0, # Verfolgen Sie Los- und Seriennummern
'group_stock_packaging': 0, # Manage available packaging options per products
'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

View File

@ -95,6 +95,26 @@ class DatenpolFunctions():
fi.close()
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):
"""Setze Unternehmensdaten (Allgemein, RML, Logo)"""
@ -344,15 +364,6 @@ class DatenpolFunctions():
return self._execute('res.users', 'write', [user_id], vals)
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"""
c = self.config
@ -397,7 +408,7 @@ class DatenpolFunctions():
return True
def uninstall_chat(self):
"""Chat-Modul deinstallieren """
"""Chat-Modul deinstallieren"""
modules = ['im_chat', 'im_odoo_support', 'bus']
modules_to_install = self._execute('ir.module.module', 'search', [('name', 'in', modules)])
@ -690,14 +701,7 @@ class DatenpolFunctions():
"""Defaultwerte für Dokumente setzen"""
for model, field, value in self.config.default_values:
# Falls XML ID (prefix "XML:") dann die DB ID holen
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
value = self.resolve_xml_id(value)
vals = {
'name': field,
'model': model,
@ -800,7 +804,7 @@ class DatenpolFunctions():
if hasattr(self.config, 'finance_config'):
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)
return self._execute('account.config.settings', 'execute', [wizard_id])
return True