diff --git a/ext/3rd-party-addons/web_environment_ribbon/__manifest__.py b/ext/3rd-party-addons/web_environment_ribbon/__manifest__.py index 76a2c818..663f9a48 100644 --- a/ext/3rd-party-addons/web_environment_ribbon/__manifest__.py +++ b/ext/3rd-party-addons/web_environment_ribbon/__manifest__.py @@ -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, ' diff --git a/ext/3rd-party-addons/web_environment_ribbon/i18n/de.po b/ext/3rd-party-addons/web_environment_ribbon/i18n/de.po index 63ae96fb..eda35f2f 100644 --- a/ext/3rd-party-addons/web_environment_ribbon/i18n/de.po +++ b/ext/3rd-party-addons/web_environment_ribbon/i18n/de.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * web_environment_ribbon -# +# # Translators: # Niki Waibel , 2017 msgid "" @@ -12,10 +12,10 @@ msgstr "" "PO-Revision-Date: 2017-07-13 16:06+0000\n" "Last-Translator: Niki Waibel , 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 diff --git a/ext/3rd-party-addons/web_environment_ribbon/i18n/fr.po b/ext/3rd-party-addons/web_environment_ribbon/i18n/fr.po index 9353a08c..8be68039 100644 --- a/ext/3rd-party-addons/web_environment_ribbon/i18n/fr.po +++ b/ext/3rd-party-addons/web_environment_ribbon/i18n/fr.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * web_environment_ribbon -# +# # Translators: # OCA Transbot , 2017 # Quentin THEURET , 2017 @@ -13,10 +13,10 @@ msgstr "" "PO-Revision-Date: 2017-07-26 02:44+0000\n" "Last-Translator: Quentin THEURET , 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 diff --git a/ext/3rd-party-addons/web_environment_ribbon/i18n/hr.po b/ext/3rd-party-addons/web_environment_ribbon/i18n/hr.po index 0a98d335..a5dec955 100644 --- a/ext/3rd-party-addons/web_environment_ribbon/i18n/hr.po +++ b/ext/3rd-party-addons/web_environment_ribbon/i18n/hr.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * web_environment_ribbon -# +# # Translators: # Bole , 2017 msgid "" @@ -12,11 +12,12 @@ msgstr "" "PO-Revision-Date: 2017-07-13 16:06+0000\n" "Last-Translator: Bole , 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 diff --git a/ext/3rd-party-addons/web_environment_ribbon/i18n/nl_NL.po b/ext/3rd-party-addons/web_environment_ribbon/i18n/nl_NL.po index bf79a0ea..9cc54eca 100644 --- a/ext/3rd-party-addons/web_environment_ribbon/i18n/nl_NL.po +++ b/ext/3rd-party-addons/web_environment_ribbon/i18n/nl_NL.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * web_environment_ribbon -# +# # Translators: # Peter Hageman , 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 , 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 diff --git a/ext/3rd-party-addons/web_environment_ribbon/i18n/pt_BR.po b/ext/3rd-party-addons/web_environment_ribbon/i18n/pt_BR.po index 46eb9d7e..e32ea0fa 100644 --- a/ext/3rd-party-addons/web_environment_ribbon/i18n/pt_BR.po +++ b/ext/3rd-party-addons/web_environment_ribbon/i18n/pt_BR.po @@ -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 , 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 , 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 \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" diff --git a/ext/3rd-party-addons/web_environment_ribbon/i18n/sl.po b/ext/3rd-party-addons/web_environment_ribbon/i18n/sl.po index d07c1c5f..a3264ebb 100644 --- a/ext/3rd-party-addons/web_environment_ribbon/i18n/sl.po +++ b/ext/3rd-party-addons/web_environment_ribbon/i18n/sl.po @@ -1,7 +1,7 @@ # Translation of Odoo Server. # This file contains the translation of the following modules: # * web_environment_ribbon -# +# # Translators: # OCA Transbot , 2017 msgid "" @@ -12,11 +12,12 @@ msgstr "" "PO-Revision-Date: 2017-07-13 16:06+0000\n" "Last-Translator: OCA Transbot , 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 diff --git a/ext/3rd-party-addons/web_environment_ribbon/models/web_environment_ribbon_backend.py b/ext/3rd-party-addons/web_environment_ribbon/models/web_environment_ribbon_backend.py index 9f012290..6f144042 100644 --- a/ext/3rd-party-addons/web_environment_ribbon/models/web_environment_ribbon_backend.py +++ b/ext/3rd-party-addons/web_environment_ribbon/models/web_environment_ribbon_backend.py @@ -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'), } diff --git a/ext/custom-addons/dp_custom/models/material_type.py b/ext/custom-addons/dp_custom/models/material_type.py index 7f1ae414..5ff0a3b8 100644 --- a/ext/custom-addons/dp_custom/models/material_type.py +++ b/ext/custom-addons/dp_custom/models/material_type.py @@ -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') diff --git a/ext/custom-addons/dp_custom/models/product.py b/ext/custom-addons/dp_custom/models/product.py index 2faecc3e..32f02904 100644 --- a/ext/custom-addons/dp_custom/models/product.py +++ b/ext/custom-addons/dp_custom/models/product.py @@ -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 diff --git a/ext/custom-addons/dp_custom/models/res_company.py b/ext/custom-addons/dp_custom/models/res_company.py index 68d330a3..97fd75c6 100644 --- a/ext/custom-addons/dp_custom/models/res_company.py +++ b/ext/custom-addons/dp_custom/models/res_company.py @@ -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): diff --git a/ext/custom-addons/dp_custom/models/res_partner.py b/ext/custom-addons/dp_custom/models/res_partner.py index 8f8bde9c..29ebe1e6 100644 --- a/ext/custom-addons/dp_custom/models/res_partner.py +++ b/ext/custom-addons/dp_custom/models/res_partner.py @@ -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 = ('UID-Nr geprüft:
%s%s
%s
%s
%s
Abfrage-Nr: %s
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): diff --git a/ext/custom-addons/dp_custom/models/sale.py b/ext/custom-addons/dp_custom/models/sale.py index bbe0677f..7f3cb19d 100644 --- a/ext/custom-addons/dp_custom/models/sale.py +++ b/ext/custom-addons/dp_custom/models/sale.py @@ -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): diff --git a/ext/custom-addons/dp_custom/views/material_type_views.xml b/ext/custom-addons/dp_custom/views/material_type_views.xml index bf239aea..1cb78d95 100644 --- a/ext/custom-addons/dp_custom/views/material_type_views.xml +++ b/ext/custom-addons/dp_custom/views/material_type_views.xml @@ -11,6 +11,7 @@ + @@ -25,6 +26,7 @@ + diff --git a/ext/custom-addons/dp_custom/views/product_views.xml b/ext/custom-addons/dp_custom/views/product_views.xml index 9d7438e4..bf8cdd86 100644 --- a/ext/custom-addons/dp_custom/views/product_views.xml +++ b/ext/custom-addons/dp_custom/views/product_views.xml @@ -110,4 +110,20 @@ name="X-Kategorien" action="product_xcategory_action"/> + + product.template.search.tz + product.template + + + + + + + + + + + + diff --git a/ext/custom-addons/dp_custom/views/res_company_views.xml b/ext/custom-addons/dp_custom/views/res_company_views.xml index aa6beb28..6b526078 100644 --- a/ext/custom-addons/dp_custom/views/res_company_views.xml +++ b/ext/custom-addons/dp_custom/views/res_company_views.xml @@ -9,6 +9,9 @@ + + + diff --git a/ext/custom-addons/dp_custom/views/res_partner_views.xml b/ext/custom-addons/dp_custom/views/res_partner_views.xml index 19448302..8a968f54 100644 --- a/ext/custom-addons/dp_custom/views/res_partner_views.xml +++ b/ext/custom-addons/dp_custom/views/res_partner_views.xml @@ -17,6 +17,25 @@ + + + + + + diff --git a/ext/custom-addons/dp_reports/reports/report_templates.xml b/ext/custom-addons/dp_reports/reports/report_templates.xml index 93dfc78e..58eb69b1 100644 --- a/ext/custom-addons/dp_reports/reports/report_templates.xml +++ b/ext/custom-addons/dp_reports/reports/report_templates.xml @@ -97,18 +97,26 @@
+ + + IBAN: - - AT 46 3250 1000 0200 9306 + · BIC: - - RLN WAT WW MIB - · - - Raiffeisenbank Spannberg + · + + +
+
+
+
+ + + + UID-Nr.: · @@ -160,8 +168,11 @@
Phone: -
- Fax: +43 2538/8628 - 400 + +
+ Fax: + +

E-Mail: diff --git a/ext/custom-addons/dp_reports/static/src/less/report_backend.less b/ext/custom-addons/dp_reports/static/src/less/report_backend.less index 9a61d816..22ceda7e 100644 --- a/ext/custom-addons/dp_reports/static/src/less/report_backend.less +++ b/ext/custom-addons/dp_reports/static/src/less/report_backend.less @@ -1,3 +1,8 @@ +div.dp_note { + margin: auto; + overflow: hidden; +} + .bold { font-weight: bold; } diff --git a/ext/custom-addons/dp_reports_account/reports/invoice.xml b/ext/custom-addons/dp_reports_account/reports/invoice.xml index 9ad04f7f..72169cf5 100644 --- a/ext/custom-addons/dp_reports_account/reports/invoice.xml +++ b/ext/custom-addons/dp_reports_account/reports/invoice.xml @@ -85,11 +85,12 @@
+
+

+ +

+
-

- -

- @@ -266,7 +267,7 @@ -
+

diff --git a/ext/custom-addons/dp_reports_purchase/reports/purchase.xml b/ext/custom-addons/dp_reports_purchase/reports/purchase.xml index b1893159..81ab8968 100644 --- a/ext/custom-addons/dp_reports_purchase/reports/purchase.xml +++ b/ext/custom-addons/dp_reports_purchase/reports/purchase.xml @@ -141,7 +141,7 @@
-
+

diff --git a/ext/custom-addons/dp_reports_purchase/reports/purchasequotation.xml b/ext/custom-addons/dp_reports_purchase/reports/purchasequotation.xml index a4e76365..c178b497 100644 --- a/ext/custom-addons/dp_reports_purchase/reports/purchasequotation.xml +++ b/ext/custom-addons/dp_reports_purchase/reports/purchasequotation.xml @@ -124,7 +124,7 @@
-
+

diff --git a/ext/custom-addons/dp_reports_sale/reports/sale.xml b/ext/custom-addons/dp_reports_sale/reports/sale.xml index 86346444..50cc9aee 100644 --- a/ext/custom-addons/dp_reports_sale/reports/sale.xml +++ b/ext/custom-addons/dp_reports_sale/reports/sale.xml @@ -123,10 +123,11 @@
-
-

- -

+
+

+ +

+
@@ -254,13 +255,13 @@ -
+

-
+

diff --git a/ext/custom-addons/dp_reports_stock/reports/stock.xml b/ext/custom-addons/dp_reports_stock/reports/stock.xml index 9e5cbcb9..13066038 100644 --- a/ext/custom-addons/dp_reports_stock/reports/stock.xml +++ b/ext/custom-addons/dp_reports_stock/reports/stock.xml @@ -290,9 +290,9 @@
-

+

-

+

This shipment is a backorder of. diff --git a/ext/custom-addons/tz_reports_production/reports/report_production.xml b/ext/custom-addons/tz_reports_production/reports/report_production.xml index 5e962e42..8f660d40 100644 --- a/ext/custom-addons/tz_reports_production/reports/report_production.xml +++ b/ext/custom-addons/tz_reports_production/reports/report_production.xml @@ -39,7 +39,7 @@ Positionen: - +

@@ -77,10 +77,11 @@
-
-

- -

+
+

+ +

+
@@ -100,84 +101,86 @@ - - - - - - - + + +

+ +

+

+ +

+ +
+ + - - - - + + + --> + + + + +
- - - - - - - -
-
- - - -

- -

-

- -

-
- - - - - - - kg - - + + + + + + + kg + +
- - -
+ + + % + + + +
+ + +
@@ -222,7 +225,7 @@
-
+