Merge branch 'master' of ssh://gitlab.datenpol.at:122/odoo/dp-template
commit
c27a8723ab
|
|
@ -38,4 +38,4 @@ limit_memory_hard = 10000000000
|
|||
|
||||
# Use a new worker for the next request if 400MB is reached
|
||||
# The worker will be recycled after the current request
|
||||
limit_memory_soft = 400000000
|
||||
limit_memory_soft = 400000000
|
||||
|
|
|
|||
|
|
@ -1,8 +1,8 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
##############################################################################
|
||||
#
|
||||
# OpenERP, Open Source Management Solution
|
||||
# Copyright (C) 20014-2016 Camadeus GmbH (<http://www.camadeus.at>).
|
||||
# datenpol gmbh
|
||||
# Copyright (C) 2013-TODAY datenpol gmbh (<http://www.datenpol.at/>)
|
||||
#
|
||||
# This program is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
@ -22,4 +22,3 @@
|
|||
import models
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
##############################################################################
|
||||
#
|
||||
# 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
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
@ -22,15 +22,17 @@
|
|||
|
||||
{
|
||||
'name': 'datenpol Anpassungen',
|
||||
'category': 'Custom',
|
||||
'category': 'Custom',
|
||||
'version': '1.0',
|
||||
'description': """Individuelle Anpassungen""",
|
||||
'author': 'datenpol gmbh',
|
||||
'website': 'http://www.datenpol.at',
|
||||
'depends': ['base'],
|
||||
'website': 'http://www.datenpol.at/',
|
||||
'depends': [
|
||||
'base',
|
||||
],
|
||||
'data': [
|
||||
'data/dp_custom_data.xml',
|
||||
'views/dp_custom_view.xml',
|
||||
'views/dp_custom_views.xml',
|
||||
'security/ir.model.access.csv',
|
||||
],
|
||||
'installable': True,
|
||||
|
|
@ -1,127 +1,122 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data noupdate="0">
|
||||
|
||||
|
||||
<!-- UNITS -->
|
||||
<data noupdate="0">
|
||||
<!-- UNITS -->
|
||||
|
||||
<!-- Einheit in Stück umbenennen -->
|
||||
<record id="product.product_uom_unit" model="product.uom">
|
||||
<field name="name">Stück</field>
|
||||
</record>
|
||||
<!-- 100 Stk. -->
|
||||
<record id="product_uom_unit_100" model="product.uom">
|
||||
<field name="category_id" ref="product.product_uom_categ_unit"/>
|
||||
<field name="name">100 Stk.</field>
|
||||
<field name="factor_inv" eval="100"/>
|
||||
<field name="uom_type">bigger</field>
|
||||
</record>
|
||||
<!-- 1000 Stk. -->
|
||||
<record id="product_uom_unit_1000" model="product.uom">
|
||||
<field name="category_id" ref="product.product_uom_categ_unit"/>
|
||||
<field name="name">1000 Stk.</field>
|
||||
<field name="factor_inv" eval="1000"/>
|
||||
<field name="uom_type">bigger</field>
|
||||
</record>
|
||||
<!-- Einheit in Stück umbenennen -->
|
||||
<record id="product.product_uom_unit" model="product.uom">
|
||||
<field name="name">Stück</field>
|
||||
</record>
|
||||
<!-- 100 Stk. -->
|
||||
<record id="product_uom_unit_100" model="product.uom">
|
||||
<field name="category_id" ref="product.product_uom_categ_unit"/>
|
||||
<field name="name">100 Stk.</field>
|
||||
<field name="factor_inv" eval="100"/>
|
||||
<field name="uom_type">bigger</field>
|
||||
</record>
|
||||
<!-- 1000 Stk. -->
|
||||
<record id="product_uom_unit_1000" model="product.uom">
|
||||
<field name="category_id" ref="product.product_uom_categ_unit"/>
|
||||
<field name="name">1000 Stk.</field>
|
||||
<field name="factor_inv" eval="1000"/>
|
||||
<field name="uom_type">bigger</field>
|
||||
</record>
|
||||
|
||||
<!-- Rolle -->
|
||||
<record id="product_uom_rolle" model="product.uom">
|
||||
<field name="category_id" ref="product.product_uom_categ_unit"/>
|
||||
<field name="name">Rolle(n)</field>
|
||||
</record>
|
||||
<!-- Rolle -->
|
||||
<record id="product_uom_rolle" model="product.uom">
|
||||
<field name="category_id" ref="product.product_uom_categ_unit"/>
|
||||
<field name="name">Rolle(n)</field>
|
||||
</record>
|
||||
|
||||
<!-- Satz -->
|
||||
<record id="product_uom_satz" model="product.uom">
|
||||
<field name="category_id" ref="product.product_uom_categ_unit"/>
|
||||
<field name="name">Satz</field>
|
||||
</record>
|
||||
<!-- Satz -->
|
||||
<record id="product_uom_satz" model="product.uom">
|
||||
<field name="category_id" ref="product.product_uom_categ_unit"/>
|
||||
<field name="name">Satz</field>
|
||||
</record>
|
||||
|
||||
<!-- Arbeitstag -->
|
||||
<record id="product_uom_arbeitstag" model="product.uom">
|
||||
<field name="category_id" ref="product.uom_categ_wtime"/>
|
||||
<field name="name">Arbeitstag</field>
|
||||
</record>
|
||||
<!-- Arbeitstag -->
|
||||
<record id="product_uom_arbeitstag" model="product.uom">
|
||||
<field name="category_id" ref="product.uom_categ_wtime"/>
|
||||
<field name="name">Arbeitstag</field>
|
||||
</record>
|
||||
|
||||
|
||||
<!-- MM -->
|
||||
<record id="product_uom_mm" model="product.uom">
|
||||
<field name="category_id" ref="product.uom_categ_length"/>
|
||||
<field name="name">mm</field>
|
||||
<field name="factor" eval="0.001"/>
|
||||
<field name="uom_type">smaller</field>
|
||||
</record>
|
||||
|
||||
<!-- M2 Quadratmeter Category-->
|
||||
<record id="uom_categ_m2" model="product.uom.categ">
|
||||
<field name="name">Quadratm.</field>
|
||||
</record>
|
||||
<!-- M2, Quadratmeter -->
|
||||
<record id="product_uom_m2" model="product.uom">
|
||||
<field name="name">m²</field>
|
||||
<field name="category_id" ref="uom_categ_m2"/>
|
||||
<field name="factor" eval="1.0"/>
|
||||
<field name="rounding" eval="1"/>
|
||||
</record>
|
||||
|
||||
<!-- M3 Quadratmeter Category-->
|
||||
<record id="uom_categ_m3" model="product.uom.categ">
|
||||
<field name="name">Kubikm.</field>
|
||||
</record>
|
||||
<!-- M3, Kubikmeter -->
|
||||
<record id="product_uom_m3" model="product.uom">
|
||||
<field name="name">Kubikm.</field>
|
||||
<field name="category_id" ref="uom_categ_m3"/>
|
||||
<field name="factor" eval="1.0"/>
|
||||
<field name="rounding" eval="1"/>
|
||||
</record>
|
||||
<!-- MM -->
|
||||
<record id="product_uom_mm" model="product.uom">
|
||||
<field name="category_id" ref="product.uom_categ_length"/>
|
||||
<field name="name">mm</field>
|
||||
<field name="factor" eval="0.001"/>
|
||||
<field name="uom_type">smaller</field>
|
||||
</record>
|
||||
|
||||
<!-- PKG -->
|
||||
<record id="product_uom_pkt" model="product.uom">
|
||||
<field name="name">Paket(e)</field>
|
||||
<field name="category_id" ref="product.product_uom_categ_unit"/>
|
||||
<field name="factor" eval="1.0"/>
|
||||
<field name="rounding" eval="1"/>
|
||||
</record>
|
||||
<!-- M2 Quadratmeter Category-->
|
||||
<record id="uom_categ_m2" model="product.uom.categ">
|
||||
<field name="name">Quadratm.</field>
|
||||
</record>
|
||||
<!-- M2, Quadratmeter -->
|
||||
<record id="product_uom_m2" model="product.uom">
|
||||
<field name="name">m²</field>
|
||||
<field name="category_id" ref="uom_categ_m2"/>
|
||||
<field name="factor" eval="1.0"/>
|
||||
<field name="rounding" eval="1"/>
|
||||
</record>
|
||||
|
||||
<!-- Paar -->
|
||||
<record id="product_uom_paar" model="product.uom">
|
||||
<field name="name">Paar(e)</field>
|
||||
<field name="category_id" ref="product.product_uom_categ_unit"/>
|
||||
<field name="factor" eval="1.0"/>
|
||||
<field name="rounding" eval="1"/>
|
||||
</record>
|
||||
<!-- M3 Quadratmeter Category-->
|
||||
<record id="uom_categ_m3" model="product.uom.categ">
|
||||
<field name="name">Kubikm.</field>
|
||||
</record>
|
||||
<!-- M3, Kubikmeter -->
|
||||
<record id="product_uom_m3" model="product.uom">
|
||||
<field name="name">Kubikm.</field>
|
||||
<field name="category_id" ref="uom_categ_m3"/>
|
||||
<field name="factor" eval="1.0"/>
|
||||
<field name="rounding" eval="1"/>
|
||||
</record>
|
||||
|
||||
<!-- Minuten -->
|
||||
<record id="product_uom_min" model="product.uom">
|
||||
<field name="category_id" ref="product.uom_categ_wtime"/>
|
||||
<field name="name">min</field>
|
||||
</record>
|
||||
|
||||
|
||||
<!-- Variantenattribut Größe -->
|
||||
<record id="prod_attr_size" model="product.attribute">
|
||||
<field name="name">Größe</field>
|
||||
<field name="type">radio</field>
|
||||
<field name="sequence" eval="10"/>
|
||||
</record>
|
||||
|
||||
|
||||
<!-- Verpackungseiheiten -->
|
||||
<!-- TODO Rolle type in product_ul selection ergänzen -->
|
||||
<!-- Ausprägungen hier...? -->
|
||||
<!-- <record id="product_ul_box" model="product.ul">
|
||||
<field name="name">Box</field>
|
||||
<field name="type">box</field>
|
||||
</record> -->
|
||||
<!--
|
||||
'name' : fields.char('Name', select=True, required=True, translate=True),
|
||||
'type' : fields.selection([('unit','Unit'),('pack','Pack'),('box', 'Box'), ('pallet', 'Pallet')], 'Type', required=True),
|
||||
'height': fields.float('Height', help='The height of the package'),
|
||||
'width': fields.float('Width', help='The width of the package'),
|
||||
'length': fields.float('Length', help='The length of the package'),
|
||||
'weight': fields.float('Empty Package Weight'), -->
|
||||
|
||||
|
||||
|
||||
</data>
|
||||
<!-- PKG -->
|
||||
<record id="product_uom_pkt" model="product.uom">
|
||||
<field name="name">Paket(e)</field>
|
||||
<field name="category_id" ref="product.product_uom_categ_unit"/>
|
||||
<field name="factor" eval="1.0"/>
|
||||
<field name="rounding" eval="1"/>
|
||||
</record>
|
||||
|
||||
<!-- Paar -->
|
||||
<record id="product_uom_paar" model="product.uom">
|
||||
<field name="name">Paar(e)</field>
|
||||
<field name="category_id" ref="product.product_uom_categ_unit"/>
|
||||
<field name="factor" eval="1.0"/>
|
||||
<field name="rounding" eval="1"/>
|
||||
</record>
|
||||
|
||||
<!-- Minuten -->
|
||||
<record id="product_uom_min" model="product.uom">
|
||||
<field name="category_id" ref="product.uom_categ_wtime"/>
|
||||
<field name="name">min</field>
|
||||
</record>
|
||||
|
||||
|
||||
<!-- Variantenattribut Größe -->
|
||||
<record id="prod_attr_size" model="product.attribute">
|
||||
<field name="name">Größe</field>
|
||||
<field name="type">radio</field>
|
||||
<field name="sequence" eval="10"/>
|
||||
</record>
|
||||
|
||||
|
||||
<!-- Verpackungseiheiten -->
|
||||
<!-- TODO Rolle type in product_ul selection ergänzen -->
|
||||
<!-- Ausprägungen hier...? -->
|
||||
<!-- <record id="product_ul_box" model="product.ul">
|
||||
<field name="name">Box</field>
|
||||
<field name="type">box</field>
|
||||
</record> -->
|
||||
<!--
|
||||
'name' : fields.char('Name', select=True, required=True, translate=True),
|
||||
'type' : fields.selection([('unit','Unit'),('pack','Pack'),('box', 'Box'), ('pallet', 'Pallet')], 'Type', required=True),
|
||||
'height': fields.float('Height', help='The height of the package'),
|
||||
'width': fields.float('Width', help='The width of the package'),
|
||||
'length': fields.float('Length', help='The length of the package'),
|
||||
'weight': fields.float('Empty Package Weight'), -->
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
##############################################################################
|
||||
#
|
||||
# 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
|
||||
# it under the terms of the GNU Affero General Public License as
|
||||
|
|
@ -24,31 +24,30 @@ from openerp import api
|
|||
from openerp.tools.translate import _
|
||||
from openerp import SUPERUSER_ID
|
||||
from openerp import tools
|
||||
from lxml import etree
|
||||
|
||||
DISABLED_MENUS = [
|
||||
]
|
||||
|
||||
class ir_ui_menu(models.Model):
|
||||
_inherit = 'ir.ui.menu'
|
||||
|
||||
|
||||
@tools.ormcache(skiparg=2)
|
||||
def get_disabled_menu_ids(self, cr, uid, context=None):
|
||||
data_obj = self.pool.get('ir.model.data')
|
||||
|
||||
|
||||
menu_ids = []
|
||||
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)
|
||||
if menu:
|
||||
menu_ids.append(menu.id)
|
||||
return menu_ids
|
||||
|
||||
def _filter_visible_menus(self, cr, uid, ids, context=None):
|
||||
if uid != 1:
|
||||
return menu_ids
|
||||
|
||||
def _filter_visible_menus(self, cr, uid, ids, context=None):
|
||||
if uid != 1:
|
||||
disabled_ids = self.get_disabled_menu_ids(cr, uid)
|
||||
|
||||
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)
|
||||
return ids
|
||||
|
|
|
|||
|
|
@ -1,10 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<data>
|
||||
|
||||
|
||||
</data>
|
||||
</data>
|
||||
</openerp>
|
||||
|
||||
|
||||
|
||||
|
|
@ -1,3 +1,3 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
from . import models
|
||||
from . import models
|
||||
|
|
|
|||
|
|
@ -1,14 +1,16 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
|
||||
{
|
||||
'name': 'datepol Report Anpassungen',
|
||||
'name': 'datepol Report-Anpassungen',
|
||||
'category': 'Custom',
|
||||
'version': '1.0',
|
||||
'summary': """Individuelle Report Anpassungen""",
|
||||
'description': """Individuelle Report Anpassungen""",
|
||||
'author': 'datenpol gmbh',
|
||||
'website': 'http://www.datenpol.at',
|
||||
'depends': ['base'],
|
||||
'website': 'http://www.datenpol.at/',
|
||||
'depends': [
|
||||
'base',
|
||||
],
|
||||
'data': [
|
||||
# 'security/ir.model.access.csv',
|
||||
'views/layouts.xml',
|
||||
|
|
@ -1 +1 @@
|
|||
# -*- coding: utf-8 -*-
|
||||
# -*- coding: utf-8 -*-
|
||||
|
|
|
|||
|
|
@ -1,75 +1,77 @@
|
|||
<openerp>
|
||||
<data>
|
||||
<!-- Delivery Body -->
|
||||
<template id="report_delivery_document" inherit_id="delivery.report_delivery_document2">
|
||||
<h2 position="replace">
|
||||
<h2>
|
||||
LIEFERSCHEIN <span t-field="o.name"/>
|
||||
</h2>
|
||||
<data>
|
||||
<!-- Delivery Body -->
|
||||
<template id="report_delivery_document" inherit_id="delivery.report_delivery_document2">
|
||||
<h2 position="replace">
|
||||
<h2>
|
||||
LIEFERSCHEIN <span t-field="o.name"/>
|
||||
</h2>
|
||||
<table class="table table-condensed" position="replace">
|
||||
<table class="table table-condensed">
|
||||
<thead>
|
||||
<tr>
|
||||
<th name="td_sched_date_h"><strong>Scheduled Date</strong></th>
|
||||
<th><strong>Weight</strong></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td name="td_sched_date">
|
||||
<span t-field="o.min_date"/>
|
||||
</td>
|
||||
<td>
|
||||
<span t-field="o.weight"/> kg
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</h2>
|
||||
<table class="table table-condensed" position="replace">
|
||||
<table class="table table-condensed">
|
||||
<thead>
|
||||
<tr>
|
||||
<th name="td_sched_date_h"><strong>Scheduled Date</strong></th>
|
||||
<th><strong>Weight</strong></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td name="td_sched_date">
|
||||
<span t-field="o.min_date"/>
|
||||
</td>
|
||||
<td>
|
||||
<span t-field="o.weight"/> kg
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<xpath expr="//table[@t-if='not o.pack_operation_ids']/thead" position="replace">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><strong>Product</strong></th>
|
||||
<th><strong>Location</strong></th>
|
||||
<th class="text-right"><strong>Quantity</strong></th>
|
||||
</tr>
|
||||
</thead>
|
||||
</xpath>
|
||||
<xpath expr="//table[@t-if='not o.pack_operation_ids']/tbody/tr/td/span[@t-field='move.state']" position="replace"/>
|
||||
<xpath expr="//table[@t-if='o.pack_operation_ids']/thead" position="replace">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><strong>Product</strong></th>
|
||||
<th t-if="has_serial_number"><strong>Serial Number</strong></th>
|
||||
<th><strong>Location</strong></th>
|
||||
<th class="text-right"><strong>Quantity</strong></th>
|
||||
</tr>
|
||||
</thead>
|
||||
</xpath>
|
||||
<xpath expr="//table[@t-if='o.pack_operation_ids']/tbody/tr/td[2]" position="replace"/>
|
||||
</template>
|
||||
<!-- Render Report with Header -->
|
||||
<template id="stock.report_deliveryslip">
|
||||
<t t-set="header" t-value="1"/>
|
||||
<t t-foreach="docs" t-as="o">
|
||||
<t t-call="dp_report.report_delivery_document" t-lang="o.partner_id.lang"/>
|
||||
</t>
|
||||
</template>
|
||||
<!-- Render Report without Header -->
|
||||
<template id="report_deliveryslip_blank">
|
||||
<t t-set="header" t-value="0"/>
|
||||
<t t-foreach="docs" t-as="o">
|
||||
<t t-call="dp_report.report_delivery_document" t-lang="o.partner_id.lang"/>
|
||||
</t>
|
||||
</template>
|
||||
<!-- Create new Report -->
|
||||
<report id="dp_report_deliveryslip_blank"
|
||||
string="Lieferschein Ohne Logo"
|
||||
model="stock.picking"
|
||||
report_type="qweb-pdf"
|
||||
name="dp_report.report_deliveryslip_blank"
|
||||
file="dp_report.report_deliveryslip_blank"/>
|
||||
</table>
|
||||
<xpath expr="//table[@t-if='not o.pack_operation_ids']/thead" position="replace">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><strong>Product</strong></th>
|
||||
<th><strong>Location</strong></th>
|
||||
<th class="text-right"><strong>Quantity</strong></th>
|
||||
</tr>
|
||||
</thead>
|
||||
</xpath>
|
||||
<xpath expr="//table[@t-if='not o.pack_operation_ids']/tbody/tr/td/span[@t-field='move.state']" position="replace"/>
|
||||
<xpath expr="//table[@t-if='o.pack_operation_ids']/thead" position="replace">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><strong>Product</strong></th>
|
||||
<th t-if="has_serial_number"><strong>Serial Number</strong></th>
|
||||
<th><strong>Location</strong></th>
|
||||
<th class="text-right"><strong>Quantity</strong></th>
|
||||
</tr>
|
||||
</thead>
|
||||
</xpath>
|
||||
<xpath expr="//table[@t-if='o.pack_operation_ids']/tbody/tr/td[2]" position="replace"/>
|
||||
</template>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
<!-- Render Report with Header -->
|
||||
<template id="stock.report_deliveryslip">
|
||||
<t t-set="header" t-value="1"/>
|
||||
<t t-foreach="docs" t-as="o">
|
||||
<t t-call="dp_report.report_delivery_document" t-lang="o.partner_id.lang"/>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
<!-- Render Report without Header -->
|
||||
<template id="report_deliveryslip_blank">
|
||||
<t t-set="header" t-value="0"/>
|
||||
<t t-foreach="docs" t-as="o">
|
||||
<t t-call="dp_report.report_delivery_document" t-lang="o.partner_id.lang"/>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
<!-- Create new Report -->
|
||||
<report id="dp_report_deliveryslip_blank"
|
||||
string="Lieferschein Ohne Logo"
|
||||
model="stock.picking"
|
||||
report_type="qweb-pdf"
|
||||
name="dp_report.report_deliveryslip_blank"
|
||||
file="dp_report.report_deliveryslip_blank"/>
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
|||
|
|
@ -1,65 +1,65 @@
|
|||
<openerp>
|
||||
<data>
|
||||
<!-- Invoice Body -->
|
||||
<template id="report_invoice_document" inherit_id="account.report_invoice_document">
|
||||
<th t-if="display_discount" position="replace">
|
||||
<th t-if="display_discount and o.sale_order_id.print_discount" class="text-right" groups="sale.group_discount_per_so_line">Disc.(%)</th>
|
||||
</th>
|
||||
<td t-if="display_discount" position="replace">
|
||||
<td t-if="display_discount and o.sale_order_id.print_discount" class="text-right" groups="sale.group_discount_per_so_line">
|
||||
<span t-field="l.discount"/>
|
||||
</td>
|
||||
<data>
|
||||
<!-- Invoice Body -->
|
||||
<template id="report_invoice_document" inherit_id="account.report_invoice_document">
|
||||
<th t-if="display_discount" position="replace">
|
||||
<th t-if="display_discount and o.sale_order_id.print_discount" class="text-right" groups="sale.group_discount_per_so_line">Disc.(%)</th>
|
||||
</th>
|
||||
<td t-if="display_discount" position="replace">
|
||||
<td t-if="display_discount and o.sale_order_id.print_discount" class="text-right" groups="sale.group_discount_per_so_line">
|
||||
<span t-field="l.discount"/>
|
||||
</td>
|
||||
<div t-if="o.date_invoice" position="replace">
|
||||
<div class="col-xs-2" t-if="o.date_invoice">
|
||||
<strong>Invoice Date:</strong>
|
||||
<p t-field="o.date_invoice"/>
|
||||
</div>
|
||||
</td>
|
||||
<div t-if="o.date_invoice" position="replace">
|
||||
<div class="col-xs-2" t-if="o.date_invoice">
|
||||
<strong>Invoice Date:</strong>
|
||||
<p t-field="o.date_invoice"/>
|
||||
</div>
|
||||
<div t-if="o.origin" position="replace">
|
||||
<div class="col-xs-2" t-if="o.origin">
|
||||
<strong>Source:</strong>
|
||||
<p t-field="o.origin"/>
|
||||
</div>
|
||||
</div>
|
||||
<div t-if="o.origin" position="replace">
|
||||
<div class="col-xs-2" t-if="o.origin">
|
||||
<strong>Source:</strong>
|
||||
<p t-field="o.origin"/>
|
||||
</div>
|
||||
<div t-if="o.date_due and o.type == 'out_invoice' and (o.state == 'open' or o.state == 'paid')" position="replace"/>
|
||||
<xpath expr="//table[@class='table table-condensed']/thead/tr/th" position='replace'>
|
||||
<th>Description</th>
|
||||
</xpath>
|
||||
<div t-if="o.tax_line_ids" position="replace"/>
|
||||
<p t-if="o.payment_term_id" position="replace">
|
||||
<p t-if="o.payment_term_id">
|
||||
<strong><span t-field="o.payment_term_id.note"/></strong>
|
||||
</p>
|
||||
</div>
|
||||
<div t-if="o.date_due and o.type == 'out_invoice' and (o.state == 'open' or o.state == 'paid')" position="replace"/>
|
||||
<xpath expr="//table[@class='table table-condensed']/thead/tr/th" position='replace'>
|
||||
<th>Description</th>
|
||||
</xpath>
|
||||
<div t-if="o.tax_line_ids" position="replace"/>
|
||||
<p t-if="o.payment_term_id" position="replace">
|
||||
<p t-if="o.payment_term_id">
|
||||
<strong><span t-field="o.payment_term_id.note"/></strong>
|
||||
</p>
|
||||
</template>
|
||||
<!-- Render Report with Header -->
|
||||
<template id="account.report_invoice">
|
||||
<t t-call="report.html_container">
|
||||
<t t-set="header" t-value="1"/>
|
||||
<t t-foreach="docs" t-as="o">
|
||||
<t t-call="dp_report.report_invoice_document" t-lang="o.partner_id.lang">
|
||||
</t>
|
||||
</t>
|
||||
</t>
|
||||
</template>
|
||||
<!-- Render Report without Header -->
|
||||
<template id="report_invoice_blank">
|
||||
<t t-call="report.html_container">
|
||||
<t t-set="header" t-value="0"/>
|
||||
<t t-foreach="docs" t-as="o">
|
||||
<t t-call="dp_report.report_invoice_document" t-lang="o.partner_id.lang">
|
||||
</t>
|
||||
</t>
|
||||
</t>
|
||||
</template>
|
||||
<!-- Create new Report -->
|
||||
<report id="dp_report_invoice_blank"
|
||||
string="Rechnung Ohne Logo"
|
||||
model="account.invoice"
|
||||
report_type="qweb-pdf"
|
||||
name="dp_report.report_invoice_blank"
|
||||
file="dp_report.report_invoice_blank"/>
|
||||
</p>
|
||||
</template>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
<!-- Render Report with Header -->
|
||||
<template id="account.report_invoice">
|
||||
<t t-call="report.html_container">
|
||||
<t t-set="header" t-value="1"/>
|
||||
<t t-foreach="docs" t-as="o">
|
||||
<t t-call="dp_report.report_invoice_document" t-lang="o.partner_id.lang"/>
|
||||
</t>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
<!-- Render Report without Header -->
|
||||
<template id="report_invoice_blank">
|
||||
<t t-call="report.html_container">
|
||||
<t t-set="header" t-value="0"/>
|
||||
<t t-foreach="docs" t-as="o">
|
||||
<t t-call="dp_report.report_invoice_document" t-lang="o.partner_id.lang"/>
|
||||
</t>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
<!-- Create new Report -->
|
||||
<report id="dp_report_invoice_blank"
|
||||
string="Rechnung Ohne Logo"
|
||||
model="account.invoice"
|
||||
report_type="qweb-pdf"
|
||||
name="dp_report.report_invoice_blank"
|
||||
file="dp_report.report_invoice_blank"/>
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
|||
|
|
@ -1,58 +1,58 @@
|
|||
<openerp>
|
||||
<data>
|
||||
<template id="report.external_layout">
|
||||
<!-- Multicompany -->
|
||||
<t t-if="not o and doc">
|
||||
<t t-set="o" t-value="doc"/>
|
||||
</t>
|
||||
<t t-if="o and 'company_id' in o">
|
||||
<t t-set="company" t-value="o.company_id"></t>
|
||||
</t>
|
||||
<t t-if="not o or not 'company_id' in o">
|
||||
<t t-set="company" t-value="res_company"></t>
|
||||
</t>
|
||||
<t t-if="header == 1">
|
||||
<t t-call="dp_report.external_layout_header" />
|
||||
</t>
|
||||
<t t-if="header == 0">
|
||||
<t t-call="dp_report.external_layout_header_blank" />
|
||||
</t>
|
||||
<t t-raw="0" />
|
||||
<t t-call="report.external_layout_footer" />
|
||||
<t t-esc="header"/>
|
||||
</template>
|
||||
<data>
|
||||
<template id="report.external_layout">
|
||||
<!-- Multicompany -->
|
||||
<t t-if="not o and doc">
|
||||
<t t-set="o" t-value="doc"/>
|
||||
</t>
|
||||
<t t-if="o and 'company_id' in o">
|
||||
<t t-set="company" t-value="o.company_id"/>
|
||||
</t>
|
||||
<t t-if="not o or not 'company_id' in o">
|
||||
<t t-set="company" t-value="res_company"/>
|
||||
</t>
|
||||
<t t-if="header == 1">
|
||||
<t t-call="dp_report.external_layout_header"/>
|
||||
</t>
|
||||
<t t-if="header == 0">
|
||||
<t t-call="dp_report.external_layout_header_blank"/>
|
||||
</t>
|
||||
<t t-raw="0"/>
|
||||
<t t-call="report.external_layout_footer"/>
|
||||
<t t-esc="header"/>
|
||||
</template>
|
||||
|
||||
<!-- Report Header Full -->
|
||||
<template id="external_layout_header">
|
||||
<div class="header">
|
||||
<div class="row">
|
||||
<div class="col-xs-3" name="company_address">
|
||||
<div t-field="company.partner_id"
|
||||
t-field-options='{"widget": "contact", "fields": ["address", "name"], "no_marker": true}'
|
||||
style="border-bottom: 1px solid black;"/>
|
||||
</div>
|
||||
<div class="col-xs-9 text-right">
|
||||
<img t-if="company.logo" t-att-src="'data:image/png;base64,%s' % company.logo" style="max-height: 105px;"/>
|
||||
</div>
|
||||
<!-- Report Header Full -->
|
||||
<template id="external_layout_header">
|
||||
<div class="header">
|
||||
<div class="row">
|
||||
<div class="col-xs-3" name="company_address">
|
||||
<div t-field="company.partner_id"
|
||||
t-field-options='{"widget": "contact", "fields": ["address", "name"], "no_marker": true}'
|
||||
style="border-bottom: 1px solid black;"/>
|
||||
</div>
|
||||
<div class="col-xs-9 text-right">
|
||||
<img t-if="company.logo" t-att-src="'data:image/png;base64,%s' % company.logo" style="max-height: 105px;"/>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<!-- Report Header Blank -->
|
||||
<template id="external_layout_header_blank">
|
||||
<div class="header">
|
||||
<div class="row">
|
||||
<div class="col-xs-12" style="height: 45px;">
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-3" name="company_address">
|
||||
<div t-field="company.partner_id"
|
||||
t-field-options='{"widget": "contact", "fields": ["address", "name"], "no_marker": true}'
|
||||
style="border-bottom: 1px solid black;"/>
|
||||
</div>
|
||||
<!-- Report Header Blank -->
|
||||
<template id="external_layout_header_blank">
|
||||
<div class="header">
|
||||
<div class="row">
|
||||
<div class="col-xs-12" style="height: 45px;">
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</data>
|
||||
</openerp>
|
||||
<div class="row">
|
||||
<div class="col-xs-3" name="company_address">
|
||||
<div t-field="company.partner_id"
|
||||
t-field-options='{"widget": "contact", "fields": ["address", "name"], "no_marker": true}'
|
||||
style="border-bottom: 1px solid black;"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
|||
|
|
@ -1,85 +1,85 @@
|
|||
<openerp>
|
||||
<data>
|
||||
<!-- Sale Order Body -->
|
||||
<template id="report_saleorder_document" inherit_id="sale.report_saleorder_document">
|
||||
<th t-if="display_discount" position="replace">
|
||||
<th t-if="display_discount and doc.print_discount" class="text-right" groups="sale.group_discount_per_so_line">Disc.(%)</th>
|
||||
</th>
|
||||
<td t-if="display_discount" position="replace">
|
||||
<td t-if="display_discount and doc.print_discount" class="text-right" groups="sale.group_discount_per_so_line">
|
||||
<span t-field="l.discount"/>
|
||||
</td>
|
||||
<data>
|
||||
<!-- Sale Order Body -->
|
||||
<template id="report_saleorder_document" inherit_id="sale.report_saleorder_document">
|
||||
<th t-if="display_discount" position="replace">
|
||||
<th t-if="display_discount and doc.print_discount" class="text-right" groups="sale.group_discount_per_so_line">Disc.(%)</th>
|
||||
</th>
|
||||
<td t-if="display_discount" position="replace">
|
||||
<td t-if="display_discount and doc.print_discount" class="text-right" groups="sale.group_discount_per_so_line">
|
||||
<span t-field="l.discount"/>
|
||||
</td>
|
||||
</td>
|
||||
|
||||
<xpath expr="//div[@class='page']/h2" position='replace'>
|
||||
<h2>
|
||||
<span t-if="doc.state not in ['draft','sent']">Order # </span>
|
||||
<span t-if="doc.state in ['draft','sent']">Quotation # </span>
|
||||
<span t-field="doc.name"/>
|
||||
</h2>
|
||||
</xpath>
|
||||
<xpath expr="//div[@class='page']/h2" position='replace'>
|
||||
<h2>
|
||||
<span t-if="doc.state not in ['draft','sent']">Order # </span>
|
||||
<span t-if="doc.state in ['draft','sent']">Quotation # </span>
|
||||
<span t-field="doc.name"/>
|
||||
</h2>
|
||||
</xpath>
|
||||
|
||||
<xpath expr="//div[@t-if='doc.user_id.name']" position='replace'/>
|
||||
<xpath expr="//div[@name='payment_term']" position='attributes'>
|
||||
<attribute name="style">display:none</attribute>
|
||||
</xpath>
|
||||
<div name="total" position="replace">
|
||||
<div class="row" name="total">
|
||||
<div class="col-xs-4 pull-right">
|
||||
<table class="table table-condensed">
|
||||
<tr class="border-black">
|
||||
<td><strong>Total Without Taxes</strong></td>
|
||||
<td class="text-right">
|
||||
<span t-field="doc.amount_untaxed"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "doc.pricelist_id.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Taxes</td>
|
||||
<td class="text-right">
|
||||
<span t-field="doc.amount_tax"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "doc.pricelist_id.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="border-black">
|
||||
<td><strong>Total</strong></td>
|
||||
<td class="text-right">
|
||||
<span t-field="doc.amount_total"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "doc.pricelist_id.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<xpath expr="//div[@t-if='doc.user_id.name']" position='replace'/>
|
||||
<xpath expr="//div[@name='payment_term']" position='attributes'>
|
||||
<attribute name="style">display:none</attribute>
|
||||
</xpath>
|
||||
<div name="total" position="replace">
|
||||
<div class="row" name="total">
|
||||
<div class="col-xs-4 pull-right">
|
||||
<table class="table table-condensed">
|
||||
<tr class="border-black">
|
||||
<td><strong>Total Without Taxes</strong></td>
|
||||
<td class="text-right">
|
||||
<span t-field="doc.amount_untaxed"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "doc.pricelist_id.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>Taxes</td>
|
||||
<td class="text-right">
|
||||
<span t-field="doc.amount_tax"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "doc.pricelist_id.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="border-black">
|
||||
<td><strong>Total</strong></td>
|
||||
<td class="text-right">
|
||||
<span t-field="doc.amount_total"
|
||||
t-field-options='{"widget": "monetary", "display_currency": "doc.pricelist_id.currency_id"}'/>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<!-- Render Report with Header -->
|
||||
<template id="sale.report_saleorder">
|
||||
<t t-call="report.html_container">
|
||||
<t t-set="header" t-value="1"/>
|
||||
<t t-foreach="docs" t-as="doc">
|
||||
<t t-call="dp_report.report_saleorder_document" t-lang="doc.partner_id.lang">
|
||||
</t>
|
||||
</t>
|
||||
</t>
|
||||
</template>
|
||||
<!-- Render Report without Header -->
|
||||
<template id="report_saleorder_blank">
|
||||
<t t-call="report.html_container">
|
||||
<t t-set="header" t-value="0"/>
|
||||
<t t-foreach="docs" t-as="doc">
|
||||
<t t-call="dp_report.report_saleorder_document" t-lang="doc.partner_id.lang">
|
||||
</t>
|
||||
</t>
|
||||
</t>
|
||||
</template>
|
||||
<!-- Create new Report -->
|
||||
<report id="dp_report_saleorder_blank"
|
||||
string="Angebot / Bestellung Ohne Logo"
|
||||
model="sale.order"
|
||||
report_type="qweb-pdf"
|
||||
name="dp_report.report_saleorder_blank"
|
||||
file="dp_report.report_saleorder_blank"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
</data>
|
||||
</openerp>
|
||||
<!-- Render Report with Header -->
|
||||
<template id="sale.report_saleorder">
|
||||
<t t-call="report.html_container">
|
||||
<t t-set="header" t-value="1"/>
|
||||
<t t-foreach="docs" t-as="doc">
|
||||
<t t-call="dp_report.report_saleorder_document" t-lang="doc.partner_id.lang"/>
|
||||
</t>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
<!-- Render Report without Header -->
|
||||
<template id="report_saleorder_blank">
|
||||
<t t-call="report.html_container">
|
||||
<t t-set="header" t-value="0"/>
|
||||
<t t-foreach="docs" t-as="doc">
|
||||
<t t-call="dp_report.report_saleorder_document" t-lang="doc.partner_id.lang"/>
|
||||
</t>
|
||||
</t>
|
||||
</template>
|
||||
|
||||
<!-- Create new Report -->
|
||||
<report id="dp_report_saleorder_blank"
|
||||
string="Angebot / Bestellung Ohne Logo"
|
||||
model="sale.order"
|
||||
report_type="qweb-pdf"
|
||||
name="dp_report.report_saleorder_blank"
|
||||
file="dp_report.report_saleorder_blank"/>
|
||||
</data>
|
||||
</openerp>
|
||||
|
|
|
|||
|
|
@ -82,7 +82,6 @@ def main():
|
|||
'login',
|
||||
'install_module_sale',
|
||||
#'setup_accounting',
|
||||
#'setup_accounting2',
|
||||
'set_admin_rights',
|
||||
]
|
||||
|
||||
|
|
@ -127,7 +126,9 @@ def main():
|
|||
#'update_special_values',
|
||||
'set_sys_params',
|
||||
#'setup_reports',
|
||||
]
|
||||
'consume_tours',
|
||||
'disable_planners',
|
||||
]
|
||||
|
||||
if cmd == 'setup':
|
||||
methods = setup_methods
|
||||
|
|
|
|||
|
|
@ -25,7 +25,6 @@ class Config():
|
|||
'website': 'http://www.datenpol.at/',
|
||||
'company_registry': '359270p',
|
||||
'country_id': 'at', # 'de' für Deutschland
|
||||
'logo': False,
|
||||
'vat': 'ATU 66309611',
|
||||
'rml_header1': False,
|
||||
'vat_check_vies': True,
|
||||
|
|
@ -84,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 = {
|
||||
|
|
@ -101,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
|
||||
|
|
@ -253,4 +253,5 @@ class Config():
|
|||
|
||||
self.system_parameters = {
|
||||
'ir_attachment.location': 'db', # [db] oder [file]
|
||||
'database.expiration_date': '2038-01-19',
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
@ -909,6 +913,34 @@ class DatenpolFunctions():
|
|||
# except:
|
||||
# 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
|
||||
|
||||
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