Anpassungen für Odoo 10
parent
45f818bc86
commit
75c8dfdcfb
|
|
@ -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',
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -83,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 = {
|
||||||
|
|
@ -100,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
|
||||||
|
|
|
||||||
|
|
@ -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
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue