Merge branch 'develop'
commit
69e2b2a973
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
{
|
||||
'name': "Web Environment Ribbon",
|
||||
'version': '11.0.1.0.0',
|
||||
'version': '11.0.1.0.2',
|
||||
'category': 'Web',
|
||||
'author': 'Francesco OpenCode Apruzzese, '
|
||||
'Tecnativa, '
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_environment_ribbon
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Niki Waibel <niki.waibel@gmail.com>, 2017
|
||||
msgid ""
|
||||
|
|
@ -12,10 +12,10 @@ msgstr ""
|
|||
"PO-Revision-Date: 2017-07-13 16:06+0000\n"
|
||||
"Last-Translator: Niki Waibel <niki.waibel@gmail.com>, 2017\n"
|
||||
"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n"
|
||||
"Language: de\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: de\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: web_environment_ribbon
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_environment_ribbon
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
# Quentin THEURET <odoo@kerpeo.com>, 2017
|
||||
|
|
@ -13,10 +13,10 @@ msgstr ""
|
|||
"PO-Revision-Date: 2017-07-26 02:44+0000\n"
|
||||
"Last-Translator: Quentin THEURET <odoo@kerpeo.com>, 2017\n"
|
||||
"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n"
|
||||
"Language: fr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: fr\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
|
||||
#. module: web_environment_ribbon
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_environment_ribbon
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Bole <bole@dajmi5.com>, 2017
|
||||
msgid ""
|
||||
|
|
@ -12,11 +12,12 @@ msgstr ""
|
|||
"PO-Revision-Date: 2017-07-13 16:06+0000\n"
|
||||
"Last-Translator: Bole <bole@dajmi5.com>, 2017\n"
|
||||
"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n"
|
||||
"Language: hr\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: hr\n"
|
||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
|
||||
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
|
||||
|
||||
#. module: web_environment_ribbon
|
||||
#: model:ir.model.fields,field_description:web_environment_ribbon.field_web_environment_ribbon_backend_display_name
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_environment_ribbon
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Peter Hageman <hageman.p@gmail.com>, 2017
|
||||
msgid ""
|
||||
|
|
@ -11,11 +11,12 @@ msgstr ""
|
|||
"POT-Creation-Date: 2017-07-13 16:06+0000\n"
|
||||
"PO-Revision-Date: 2017-07-13 16:06+0000\n"
|
||||
"Last-Translator: Peter Hageman <hageman.p@gmail.com>, 2017\n"
|
||||
"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/teams/23907/nl_NL/)\n"
|
||||
"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/"
|
||||
"teams/23907/nl_NL/)\n"
|
||||
"Language: nl_NL\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: nl_NL\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
|
||||
|
||||
#. module: web_environment_ribbon
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_environment_ribbon
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# Rodrigo de Almeida Sottomaior Macedo <rmsolucoeseminformatic4@gmail.com>, 2017
|
||||
msgid ""
|
||||
|
|
@ -9,14 +9,16 @@ msgstr ""
|
|||
"Project-Id-Version: Odoo Server 10.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2017-07-13 16:06+0000\n"
|
||||
"PO-Revision-Date: 2017-07-13 16:06+0000\n"
|
||||
"Last-Translator: Rodrigo de Almeida Sottomaior Macedo <rmsolucoeseminformatic4@gmail.com>, 2017\n"
|
||||
"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/23907/pt_BR/)\n"
|
||||
"PO-Revision-Date: 2018-08-03 12:34+0000\n"
|
||||
"Last-Translator: Rodrigo Macedo <rmsolucoeseminformatic4@gmail.com>\n"
|
||||
"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/"
|
||||
"23907/pt_BR/)\n"
|
||||
"Language: pt_BR\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: pt_BR\n"
|
||||
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
|
||||
"Plural-Forms: nplurals=2; plural=n > 1;\n"
|
||||
"X-Generator: Weblate 3.1.1\n"
|
||||
|
||||
#. module: web_environment_ribbon
|
||||
#: model:ir.model.fields,field_description:web_environment_ribbon.field_web_environment_ribbon_backend_display_name
|
||||
|
|
@ -36,4 +38,4 @@ msgstr "Última Modificação em"
|
|||
#. module: web_environment_ribbon
|
||||
#: model:ir.model,name:web_environment_ribbon.model_web_environment_ribbon_backend
|
||||
msgid "Web Environment Ribbon Backend"
|
||||
msgstr ""
|
||||
msgstr "Back-end da fita do ambiente da Web"
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * web_environment_ribbon
|
||||
#
|
||||
#
|
||||
# Translators:
|
||||
# OCA Transbot <transbot@odoo-community.org>, 2017
|
||||
msgid ""
|
||||
|
|
@ -12,11 +12,12 @@ msgstr ""
|
|||
"PO-Revision-Date: 2017-07-13 16:06+0000\n"
|
||||
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
|
||||
"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n"
|
||||
"Language: sl\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Language: sl\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);\n"
|
||||
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
|
||||
"%100==4 ? 2 : 3);\n"
|
||||
|
||||
#. module: web_environment_ribbon
|
||||
#: model:ir.model.fields,field_description:web_environment_ribbon.field_web_environment_ribbon_backend_display_name
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Copyright 2017 ACSONE SA/NV
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
|
||||
from openerp import api, models
|
||||
from odoo import api, models
|
||||
|
||||
|
||||
class WebEnvironmentRibbonBackend(models.AbstractModel):
|
||||
|
|
@ -17,7 +17,7 @@ class WebEnvironmentRibbonBackend(models.AbstractModel):
|
|||
|
||||
@api.model
|
||||
def _prepare_ribbon_name(self):
|
||||
name_tmpl = self.env['ir.config_parameter'].get_param('ribbon.name')
|
||||
name_tmpl = self.env['ir.config_parameter'].sudo().get_param('ribbon.name')
|
||||
vals = self._prepare_ribbon_format_vals()
|
||||
return name_tmpl.format(**vals)
|
||||
|
||||
|
|
@ -31,7 +31,7 @@ class WebEnvironmentRibbonBackend(models.AbstractModel):
|
|||
name = self._prepare_ribbon_name()
|
||||
return {
|
||||
'name': name,
|
||||
'color': ir_config_model.get_param('ribbon.color'),
|
||||
'background_color': ir_config_model.get_param(
|
||||
'color': ir_config_model.sudo().get_param('ribbon.color'),
|
||||
'background_color': ir_config_model.sudo().get_param(
|
||||
'ribbon.background.color'),
|
||||
}
|
||||
|
|
|
|||
|
|
@ -30,6 +30,7 @@ class MaterialType(models.Model):
|
|||
print_default_code = fields.Boolean(string='Drucke Artikelnummer', required=True, help='Definiert, ob die Artikelnummer gedruckt wird')
|
||||
print_sales_pic = fields.Boolean(string='Drucke Artikelbild', default=True, required=False, help='Definiert, ob ein Artikelbild gedruckt wird (Angebot/Auftrag)')
|
||||
print_production_pic = fields.Boolean(string='Drucke Produktionsbild', default=False, required=False, help='Definiert, ob ein Produktionsbild gedruckt wird (Produktionsauftrag)')
|
||||
production_relevant = fields.Boolean(string='Drucke auf Produktionsschein', default=True, required=False, help='Definiert, ob ein Artikel mit diesem Materiatyp am Produktionsschein angedruckt wird. (Produktionsauftrag)')
|
||||
|
||||
_sql_constraints = [
|
||||
('name_uniq', 'unique(name)', 'Die Bezeichnung muss eindeutig sein')
|
||||
|
|
|
|||
|
|
@ -60,6 +60,8 @@ class ProductTemplate(models.Model):
|
|||
manufacturing_number = fields.Char(string='Herstellnummer')
|
||||
product_color = fields.Char(string='Farbe')
|
||||
|
||||
suppl_ids = fields.One2many('product.supplierinfo', 'product_tmpl_id')
|
||||
|
||||
@api.onchange('length', 'width', 'thickness', 'height')
|
||||
def _onchange_measures(self):
|
||||
if self.length>0 and self.width>0 and self.thickness>0:
|
||||
|
|
@ -80,7 +82,8 @@ class ProductTemplate(models.Model):
|
|||
if product_template:
|
||||
product_template.write(vals)
|
||||
else:
|
||||
self.create(vals)
|
||||
if vals['active']:
|
||||
self.create(vals)
|
||||
return True
|
||||
|
||||
@api.model
|
||||
|
|
|
|||
|
|
@ -28,6 +28,7 @@ class Company(models.Model):
|
|||
_inherit = 'res.company'
|
||||
|
||||
eori_nr = fields.Char(string='EORI-Nr')
|
||||
fax = fields.Char(related='partner_id.fax')
|
||||
|
||||
@api.model
|
||||
def set_company_logo(self, company, logo):
|
||||
|
|
|
|||
|
|
@ -26,7 +26,14 @@ from odoo.addons.queue_job.job import job
|
|||
|
||||
from odoo import tools, api, fields, models, _
|
||||
from odoo.exceptions import ValidationError
|
||||
from dateutil.relativedelta import relativedelta
|
||||
import dateutil.parser
|
||||
import datetime
|
||||
|
||||
try:
|
||||
import stdnum.eu.vat as stdnum_vat
|
||||
except ImportError:
|
||||
stdnum_vat = None
|
||||
|
||||
class PartnerEventListener(Component):
|
||||
_name = 'res.partner.listener'
|
||||
|
|
@ -64,16 +71,64 @@ class Partner(models.Model):
|
|||
active = fields.Boolean(track_visibility='onchange')
|
||||
portal_export_pending = fields.Boolean(string='Portal Export ausständig')
|
||||
date_vat_check = fields.Date(string='Datum der letzten UID-Prüfung')
|
||||
warn_vat_date = fields.Boolean(compute='_get_warn_date', store=False, default=False)
|
||||
collective_bill = fields.Boolean(string='Sammelrechnung', default=True)
|
||||
country_id = fields.Many2one('res.country', string='Country', ondelete='restrict', default=_default_country_id)
|
||||
commission_account_ids = fields.Many2many(comodel_name='commission.account', string='Provisionsempfänger')
|
||||
partner_flash = fields.Char()
|
||||
fax = fields.Char(string='Fax')
|
||||
|
||||
_sql_constraints = [
|
||||
('ref_uniq', 'unique(ref)', 'Die Interne Referenz muss eindeutig sein'),
|
||||
('portal_id_uniq', 'unique(portal_id)', 'Die Portal-ID muss eindeutig sein')
|
||||
]
|
||||
|
||||
@api.multi
|
||||
def _get_warn_date(self):
|
||||
for record in self:
|
||||
if record.date_vat_check:
|
||||
date_today = fields.Date.from_string(fields.Date.context_today(self))
|
||||
warn_date = date_today - relativedelta(months=+3)
|
||||
try:
|
||||
# if record.date_vat_check < '2000-01-01':
|
||||
# record.date_vat_check = '2000-01-01'
|
||||
check_date = dateutil.parser.parse(record.date_vat_check).date()
|
||||
except:
|
||||
check_date = date_today - relativedelta(months=+36)
|
||||
if check_date < warn_date:
|
||||
record.warn_vat_date = True
|
||||
|
||||
@api.multi
|
||||
def action_check_vat(self):
|
||||
for record in self:
|
||||
if record.vat:
|
||||
vat_country, vat_number = self._split_vat(record.vat)
|
||||
try:
|
||||
result = stdnum_vat.check_vies_approx(vat_country+vat_number,"ATU54619104")
|
||||
except Exception as ex:
|
||||
# Avoid blocking the client when the service is unreachable/unavailable
|
||||
raise Warning(
|
||||
_("UID-Prüfung: %s Service ist nicht verfügbar") % record.vat)
|
||||
return {}
|
||||
|
||||
if not result['valid']:
|
||||
vat_valid = self.vies_vat_check(vat_country, vat_number)
|
||||
if not vat_valid:
|
||||
raise ValidationError(
|
||||
_("UID-INVALID: Die UID '%s' ist ungültig oder hat ein falsches Format") % record.vat)
|
||||
|
||||
record.date_vat_check = fields.Date.today()
|
||||
|
||||
myresult= dict(result)
|
||||
msg_post = ('<b>UID-Nr geprüft:</b><br>%s%s<br>%s<br>%s<br>%s<br>Abfrage-Nr: %s<br>Valid: %s') % \
|
||||
(myresult.get('countryCode',''),myresult.get('vatNumber','')\
|
||||
,myresult.get('traderName','k.A.')\
|
||||
,myresult.get('traderCompanyType','k.A.')\
|
||||
,myresult.get('traderAddress','k.A.')\
|
||||
,myresult.get('requestIdentifier','k.A.')\
|
||||
,myresult.get('valid', 'k.A.'))
|
||||
record.message_post(body=msg_post)
|
||||
|
||||
@api.multi
|
||||
@api.constrains('is_company', 'vat')
|
||||
def _check_unique_vat(self):
|
||||
|
|
|
|||
|
|
@ -57,6 +57,7 @@ class SaleOrder(models.Model):
|
|||
assembly_notes = fields.Text()
|
||||
earliest_scheduled_date = fields.Datetime(compute='_compute_earliest_scheduled_date')
|
||||
positions = fields.Integer(string='Positionen', compute='_compute_positions')
|
||||
production_positions = fields.Integer(string='Positionen', compute='_compute_positions', store=False)
|
||||
num_items = fields.Integer(string='Anzahl der Artikel', compute='_compute_num_items')
|
||||
weight_total = fields.Float(string='Gesamtgewicht', compute='_compute_weight_total')
|
||||
confirmation_nr = fields.Char('Freigabenummer')
|
||||
|
|
@ -113,7 +114,14 @@ class SaleOrder(models.Model):
|
|||
@api.multi
|
||||
def _compute_positions(self):
|
||||
for record in self:
|
||||
record.positions = len(record.order_line)
|
||||
p = 0
|
||||
pp = 0
|
||||
for line in record.order_line:
|
||||
p += 1
|
||||
if line.product_id.material_type_id.production_relevant:
|
||||
pp += 1
|
||||
record.positions = p
|
||||
record.production_positions = pp
|
||||
|
||||
@api.multi
|
||||
def _compute_num_items(self):
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@
|
|||
<field name="print_default_code"/>
|
||||
<field name="print_sales_pic"/>
|
||||
<field name="print_production_pic"/>
|
||||
<field name="production_relevant"/>
|
||||
</group>
|
||||
</form>
|
||||
</field>
|
||||
|
|
@ -25,6 +26,7 @@
|
|||
<field name="print_default_code"/>
|
||||
<field name="print_sales_pic"/>
|
||||
<field name="print_production_pic"/>
|
||||
<field name="production_relevant"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
|
|
|||
|
|
@ -110,4 +110,20 @@
|
|||
name="X-Kategorien"
|
||||
action="product_xcategory_action"/>
|
||||
|
||||
<record id="product_template_search_view_tz" model="ir.ui.view">
|
||||
<field name="name">product.template.search.tz</field>
|
||||
<field name="model">product.template</field>
|
||||
<field name="inherit_id" ref="product.product_template_search_view"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='categ_id']" position="after">
|
||||
<field name="manufacturing_number" string="Herstellnummer" filter_domain="[('manufacturing_number','ilike',self)]"/>
|
||||
<field name="suppl_ids" string="Lieferanten-Bestellnummer"
|
||||
filter_domain="[('suppl_ids.product_name','ilike',self)]"/>
|
||||
<filter string="Produktart" domain="[]" context="{'group_by':'type'}"/>
|
||||
<filter string="Interne Kategorie" domain="[]" context="{'group_by':'categ_id'}"/>
|
||||
<filter string="Materialtyp" domain="[]" context="{'group_by':'material_type_id'}"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
|
|
|
|||
|
|
@ -9,6 +9,9 @@
|
|||
<field name="company_registry" position="after">
|
||||
<field name="eori_nr"/>
|
||||
</field>
|
||||
<field name="email" position="before">
|
||||
<field name="fax" string="Fax"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
|
|
|
|||
|
|
@ -17,6 +17,25 @@
|
|||
<field name="name2" placeholder="Unternehmen 2"/>
|
||||
</h3>
|
||||
</xpath>
|
||||
<xpath expr="//field[@name='vat']" position="replace">
|
||||
<label for="vat"/>
|
||||
<div class="o_row" name="vat_group">
|
||||
<field name="vat" placeholder="e.g. BE0477472701"/>
|
||||
<field name="warn_vat_date" attrs="{'invisible':True}"/>
|
||||
<field name="date_vat_check" attrs="{'readonly':True,'invisible':['|','|',('warn_vat_date','=',True),('vat','=',False),('vat','=','')]}"
|
||||
style="padding-left:30px;padding-right:30px;"/>
|
||||
<field name="date_vat_check" attrs="{'readonly':True,'invisible':['|','|',('warn_vat_date','=',False),('vat','=',False),('vat','=','')]}"
|
||||
style="padding-left:30px;padding-right:30px;background-color:red;"/>
|
||||
<button class="btn oe_read_only" attrs="{'invisible':['|','|',('warn_vat_date','=',True),('vat','=',False),('vat','=','')]}"
|
||||
type="object" name="action_check_vat" string="Prüfen"/>
|
||||
<button class="btn btn-primary oe_read_only" attrs="{'invisible':['|','|',('warn_vat_date','=',False),('vat','=',False),('vat','=','')]}"
|
||||
type="object" name="action_check_vat" string="Prüfen"/>
|
||||
</div>
|
||||
</xpath>
|
||||
|
||||
<xpath expr="//field[@name='email']" position="before">
|
||||
<field name="fax" widget="phone" string="Fax"/>
|
||||
</xpath>
|
||||
|
||||
<field name="opt_out" position="attributes">
|
||||
<attribute name="groups"/>
|
||||
|
|
|
|||
|
|
@ -97,18 +97,26 @@
|
|||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-12 text-center">
|
||||
<!-- <span>AT 46 3250 1000 0200 9306</span> -->
|
||||
<!-- <span>RLN WAT WW MIB</span> -->
|
||||
<!-- <span>Raiffeisenbank Spannberg</span> -->
|
||||
<strong>
|
||||
IBAN:
|
||||
<!-- <span t-if="company.bank_ids" t-esc="company.bank_ids[0].acc_number"/> -->
|
||||
<span>AT 46 3250 1000 0200 9306</span>
|
||||
<span t-if="company.bank_ids" t-esc="company.bank_ids[0].acc_number"/>
|
||||
·
|
||||
BIC:
|
||||
<!-- <span t-if="company.bank_ids" t-esc="company.bank_ids[0].bank_id.bic"/> -->
|
||||
<span>RLN WAT WW MIB</span>
|
||||
·
|
||||
<!-- <span t-if="company.bank_ids" t-esc="company.bank_ids[0].bank_id.name"/> -->
|
||||
<span>Raiffeisenbank Spannberg</span>
|
||||
<span t-if="company.bank_ids" t-esc="company.bank_ids[0].bank_id.bic"/>
|
||||
·
|
||||
<span t-if="company.bank_ids" t-esc="company.bank_ids[0].bank_id.name"/>
|
||||
</strong>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-xs-12 text-center">
|
||||
<!-- <span>AT 46 3250 1000 0200 9306</span> -->
|
||||
<!-- <span>RLN WAT WW MIB</span> -->
|
||||
<!-- <span>Raiffeisenbank Spannberg</span> -->
|
||||
<strong>
|
||||
UID-Nr.:
|
||||
<span t-esc="company.vat"/>
|
||||
·
|
||||
|
|
@ -160,8 +168,11 @@
|
|||
<br/>
|
||||
Phone:
|
||||
<span t-esc="company.partner_id.phone"/>
|
||||
<br/>
|
||||
Fax: +43 2538/8628 - 400
|
||||
<t t-if="company.partner_id.fax">
|
||||
<br/>
|
||||
Fax:
|
||||
<span t-esc="company.partner_id.fax"/>
|
||||
</t>
|
||||
<br/>
|
||||
E-Mail:
|
||||
<span t-esc="company.partner_id.email"/>
|
||||
|
|
|
|||
|
|
@ -1,3 +1,8 @@
|
|||
div.dp_note {
|
||||
margin: auto;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.bold {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -85,11 +85,12 @@
|
|||
</strong>
|
||||
<span class="col-xs-2" t-field="o.name"/>
|
||||
</div>
|
||||
<div class="dp_note">
|
||||
<p t-if="o.note1">
|
||||
<span t-field="o.note1"/>
|
||||
</p>
|
||||
</div>
|
||||
<div class="row mt32"/>
|
||||
<p t-if="o.note1">
|
||||
<span t-field="o.note1"/>
|
||||
</p>
|
||||
|
||||
<t t-foreach="o.order_lines_layouted()" t-as="page" name="lines_layouted">
|
||||
<table class="table table-condensed">
|
||||
<t t-set="discount_is_set" t-value="field_set_in_lines(o.invoice_line_ids, 'discount')"/>
|
||||
|
|
@ -266,7 +267,7 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row" style="page-break-inside: avoid">
|
||||
<div class="row dp_note" style="page-break-inside: avoid">
|
||||
<p t-if="o.note2">
|
||||
<span t-field="o.note2" style="page-break-inside: avoid"/>
|
||||
</p>
|
||||
|
|
|
|||
|
|
@ -141,7 +141,7 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="row dp_note">
|
||||
<p class="col-xs-12">
|
||||
<span t-field="o.notes"/>
|
||||
</p>
|
||||
|
|
|
|||
|
|
@ -124,7 +124,7 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="row dp_note">
|
||||
<p class="col-xs-12">
|
||||
<span t-field="o.notes"/>
|
||||
</p>
|
||||
|
|
|
|||
|
|
@ -123,10 +123,11 @@
|
|||
</strong>
|
||||
<span class="col-xs-2" t-field="o.client_order_ref"/>
|
||||
</div>
|
||||
<div class="row mt32"/>
|
||||
<p t-if="o.note1">
|
||||
<span t-field="o.note1"/>
|
||||
</p>
|
||||
<div class="row mt32 dp_note">
|
||||
<p t-if="o.note1">
|
||||
<span t-field="o.note1"/>
|
||||
</p>
|
||||
</div>
|
||||
<table class="table table-condensed" style="background-color: #E6E7E9;">
|
||||
<t t-set="discount_is_set" t-value="field_set_in_lines(o.order_line, 'discount')"/>
|
||||
<thead class="table-header">
|
||||
|
|
@ -254,13 +255,13 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row" style="page-break-inside: avoid">
|
||||
<div class="row dp_note" style="page-break-inside: avoid">
|
||||
<p t-if="o.note2">
|
||||
<span t-field="o.note2" style="page-break-inside: avoid"/>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="row dp_note">
|
||||
<p class="col-xs-12">
|
||||
<span t-field="o.note"/>
|
||||
</p>
|
||||
|
|
|
|||
|
|
@ -290,9 +290,9 @@
|
|||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<p class="col-xs-12">
|
||||
<div class="col-xs-12 dp_note">
|
||||
<span t-field="o.note"/>
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<p t-if="o.backorder_id">
|
||||
This shipment is a backorder of<t t-esc="o.backorder_id.name"/>.
|
||||
|
|
|
|||
|
|
@ -39,7 +39,7 @@
|
|||
<strong>
|
||||
<span class="col-xs-2">Positionen:</span>
|
||||
</strong>
|
||||
<span class="col-xs-2" t-field="o.positions"/>
|
||||
<span class="col-xs-2" t-field="o.production_positions"/>
|
||||
</div>
|
||||
<div class="row height-20">
|
||||
<div class="col-xs-3" style="padding-right: 4px">
|
||||
|
|
@ -77,10 +77,11 @@
|
|||
</strong>
|
||||
<span class="col-xs-2" t-field="o.client_order_ref"/>
|
||||
</div>
|
||||
<div class="row mt32"/>
|
||||
<p t-if="o.note1">
|
||||
<span t-field="o.note1"/>
|
||||
</p>
|
||||
<div class="row mt32 dp_note">
|
||||
<p t-if="o.note1">
|
||||
<span t-field="o.note1"/>
|
||||
</p>
|
||||
</div>
|
||||
<table class="table table-condensed" style="background-color: #E6E7E9;">
|
||||
<thead class="table-header">
|
||||
<tr>
|
||||
|
|
@ -100,84 +101,86 @@
|
|||
<tbody class="sale-tbody">
|
||||
<t t-set="pos_nr" t-value="0"/>
|
||||
<t t-foreach="o.order_line" t-as="order_line">
|
||||
<tr>
|
||||
<t t-set="pos_nr" t-value="pos_nr+1"/>
|
||||
<td class="text-center">
|
||||
<span t-esc="pos_nr"/>
|
||||
</td>
|
||||
<td class="text-right"/>
|
||||
<td rowspan="2" class="text-left">
|
||||
<t t-if="order_line.product_id.default_code and order_line.product_id.material_type_id.print_default_code">
|
||||
<strong>
|
||||
<span t-field="order_line.product_id.default_code"/>
|
||||
</strong>
|
||||
<br/>
|
||||
</t>
|
||||
<!--
|
||||
<t t-if="order_line.intrastat_id">
|
||||
<span>
|
||||
<strong>Zolltarif Nr.:</strong>
|
||||
<span t-field="order_line.intrastat_id"/>
|
||||
</span>
|
||||
<br/>
|
||||
</t>
|
||||
-->
|
||||
<span t-field="order_line.name"/>
|
||||
<!--
|
||||
<t t-if="order_line.delivery_date and (order_line.delivery_date != o.delivery_date)">
|
||||
<br/>
|
||||
<strong>Voraussichtliches Lieferdatum:</strong>
|
||||
<span t-field="order_line.delivery_date"/>
|
||||
</t>
|
||||
<p t-if="order_line.lot_id">
|
||||
<span t-esc="order_line.lot_id.name.split('.')[2]"/>
|
||||
</p>
|
||||
-->
|
||||
<p t-if="order_line.lot_id.notes">
|
||||
<span t-field="order_line.lot_id.notes"/>
|
||||
</p>
|
||||
<p t-if="o.note_line">
|
||||
<span t-field="o.note_line"/>
|
||||
</p>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<t t-if="order_line.product_uom_qty">
|
||||
<span t-esc="o._formatLang(order_line.product_uom_qty, False).strip('0').strip(',').strip('.')"/>
|
||||
</t>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<t t-if="order_line.weight">
|
||||
<span t-field="order_line.weight"/>
|
||||
kg
|
||||
</t>
|
||||
</td>
|
||||
<!--
|
||||
<td rowspan="2" class="text-right">
|
||||
<span t-if="order_line.hide_discount"
|
||||
t-field="order_line.price_reduce"/>
|
||||
<span t-if="not order_line.hide_discount"
|
||||
t-field="order_line.price_unit"/>
|
||||
</td>
|
||||
<t t-if="order_line.product_id.material_type_id.production_relevant">
|
||||
<tr>
|
||||
<t t-set="pos_nr" t-value="pos_nr+1"/>
|
||||
<td class="text-center">
|
||||
<span t-esc="pos_nr"/>
|
||||
</td>
|
||||
<td class="text-right"/>
|
||||
<td rowspan="2" class="text-left">
|
||||
<t t-if="order_line.product_id.default_code and order_line.product_id.material_type_id.print_default_code">
|
||||
<strong>
|
||||
<span t-field="order_line.product_id.default_code"/>
|
||||
</strong>
|
||||
<br/>
|
||||
</t>
|
||||
<!--
|
||||
<t t-if="order_line.intrastat_id">
|
||||
<span>
|
||||
<strong>Zolltarif Nr.:</strong>
|
||||
<span t-field="order_line.intrastat_id"/>
|
||||
</span>
|
||||
<br/>
|
||||
</t>
|
||||
-->
|
||||
<span t-field="order_line.name"/>
|
||||
<!--
|
||||
<t t-if="order_line.delivery_date and (order_line.delivery_date != o.delivery_date)">
|
||||
<br/>
|
||||
<strong>Voraussichtliches Lieferdatum:</strong>
|
||||
<span t-field="order_line.delivery_date"/>
|
||||
</t>
|
||||
<p t-if="order_line.lot_id">
|
||||
<span t-esc="order_line.lot_id.name.split('.')[2]"/>
|
||||
</p>
|
||||
-->
|
||||
<p t-if="order_line.lot_id.notes">
|
||||
<span t-field="order_line.lot_id.notes"/>
|
||||
</p>
|
||||
<p t-if="o.note_line">
|
||||
<span t-field="o.note_line"/>
|
||||
</p>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<t t-if="order_line.product_uom_qty">
|
||||
<span t-esc="o._formatLang(order_line.product_uom_qty, False).strip('0').strip(',').strip('.')"/>
|
||||
</t>
|
||||
</td>
|
||||
<td class="text-right">
|
||||
<t t-if="order_line.weight">
|
||||
<span t-field="order_line.weight"/>
|
||||
kg
|
||||
</t>
|
||||
</td>
|
||||
<!--
|
||||
<td rowspan="2" class="text-right">
|
||||
<span t-if="order_line.hide_discount"
|
||||
t-field="order_line.price_reduce"/>
|
||||
<span t-if="not order_line.hide_discount"
|
||||
t-field="order_line.price_unit"/>
|
||||
</td>
|
||||
|
||||
<td rowspan="2" class="text-right" t-if="discount_is_set">
|
||||
<t t-if="not order_line.hide_discount and order_line.discount">
|
||||
<span t-esc="o._formatLang(order_line.discount, False).strip('0').strip(',').strip('.')"/>
|
||||
%
|
||||
</t>
|
||||
</td>
|
||||
<td rowspan="2" class="text-right">
|
||||
<span t-field="order_line.price_subtotal"/>
|
||||
</td>
|
||||
-->
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" style="border: 0;text-align: center;">
|
||||
<img t-if="order_line.lot_id.image_medium and order_line.product_id.material_type_id.print_production_pic"
|
||||
t-att-src="'data:image/png;base64,%s' % order_line.lot_id.image_medium.decode()" style="max-width: 128px;"/>
|
||||
<img t-if="not order_line.lot_id.image_medium and order_line.product_id.image_medium and order_line.product_id.material_type_id.print_production_pic"
|
||||
t-att-src="'data:image/png;base64,%s' % order_line.product_id.image_medium.decode()" style="max-width: 128px;"/>
|
||||
</td>
|
||||
</tr>
|
||||
<td rowspan="2" class="text-right" t-if="discount_is_set">
|
||||
<t t-if="not order_line.hide_discount and order_line.discount">
|
||||
<span t-esc="o._formatLang(order_line.discount, False).strip('0').strip(',').strip('.')"/>
|
||||
%
|
||||
</t>
|
||||
</td>
|
||||
<td rowspan="2" class="text-right">
|
||||
<span t-field="order_line.price_subtotal"/>
|
||||
</td>
|
||||
-->
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="2" style="border: 0;text-align: center;">
|
||||
<img t-if="order_line.lot_id.image_medium and order_line.product_id.material_type_id.print_production_pic"
|
||||
t-att-src="'data:image/png;base64,%s' % order_line.lot_id.image_medium.decode()" style="max-width: 128px;"/>
|
||||
<img t-if="not order_line.lot_id.image_medium and order_line.product_id.image_medium and order_line.product_id.material_type_id.print_production_pic"
|
||||
t-att-src="'data:image/png;base64,%s' % order_line.product_id.image_medium.decode()" style="max-width: 128px;"/>
|
||||
</td>
|
||||
</tr>
|
||||
</t>
|
||||
</t>
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
@ -222,7 +225,7 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row" style="page-break-inside: avoid">
|
||||
<div class="row dp_note" style="page-break-inside: avoid">
|
||||
<p t-if="o.note2">
|
||||
<span t-field="o.note2" style="page-break-inside: avoid"/>
|
||||
</p>
|
||||
|
|
|
|||
Loading…
Reference in New Issue