diff --git a/dev/scripts/interfaces/sst01_portal_create_partner.py b/dev/scripts/interfaces/sst01_portal_create_partner.py index 31cadf94..d139227c 100755 --- a/dev/scripts/interfaces/sst01_portal_create_partner.py +++ b/dev/scripts/interfaces/sst01_portal_create_partner.py @@ -23,14 +23,13 @@ values = { "phone": "+43 564564", "mobile": "+43 677 564564", "endkunde": True, - "portal_id": "6", + "portal_id": "9", "company": "Bier AG", "info_uid": "habe keine", "info_kundennr": "K1234", "email": "max@musterman.at", "line_ids": ["12345"], "opt_out": True, - "vat": False, "lang": "de" } diff --git a/dev/scripts/interfaces/sst03_pg_create_quotation.py b/dev/scripts/interfaces/sst03_pg_create_quotation.py index 7eecb65d..89128a73 100755 --- a/dev/scripts/interfaces/sst03_pg_create_quotation.py +++ b/dev/scripts/interfaces/sst03_pg_create_quotation.py @@ -19,8 +19,8 @@ values = { "line_id": "12345", "portal_id": "111111", "portal_delivery_id": "222222", - "delivery_firstname": "Ahmed", - "delivery_lastname": "Aly", + "delivery_firstname": "Huber", + "delivery_lastname": "Bauer", "delivery_midname": False, "delivery_street": "Zeilergasse 7-11", "delivery_street2": False, @@ -29,18 +29,19 @@ values = { "delivery_country_id": "AT", "delivery_fax": False, "delivery_phone": False, - "delivery_mobile": "+43 676 5765575", + "delivery_mobile": "+43 676 5556705", "delivery_company": False, "attachment_ids": [{ "filename": "logo.png", "binary": "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" }], "order_lines": [{ + "name": "Beschreibung der Zeile", "product_id": "01", "price_unit": 50.00, "product_uom_qty": 4.0, "lot_id": { - "name": "AAA012", + "name": "AAA0123", "notes": "notes", "attachment_ids": [{ "filename": "logo.gif", diff --git a/dev/scripts/interfaces/sst04_pg_get_orders.py b/dev/scripts/interfaces/sst04_pg_get_orders.py index 8635c47f..afb07eab 100755 --- a/dev/scripts/interfaces/sst04_pg_get_orders.py +++ b/dev/scripts/interfaces/sst04_pg_get_orders.py @@ -10,14 +10,8 @@ pw = 'x' odoo = odoorpc.ODOO(host, port=port) odoo.login(db, user, pw) -values = { - "line": "L1", - "state": "approved", - "limit": 8 -} - sale_order_obj = odoo.env['sale.order'] -result = sale_order_obj.pg_get_orders("L1", "approved", 8) +result = sale_order_obj.pg_get_orders("12345", "approved", 8) print(result) diff --git a/dev/scripts/interfaces/sst10_create_product.py b/dev/scripts/interfaces/sst10_create_product.py index 78ee6589..04c5be75 100755 --- a/dev/scripts/interfaces/sst10_create_product.py +++ b/dev/scripts/interfaces/sst10_create_product.py @@ -11,7 +11,7 @@ odoo = odoorpc.ODOO(host, port=port) odoo.login(db, user, pw) values = { - "default_code": "02", + "default_code": "04", "name": "Produktname", "length": 45.01, "width": 13.45, @@ -25,10 +25,12 @@ values = { "notes": "notes", "material_type_id": "Holz", "categ_id": "all", - "intrastat_id": "Code", + "intrastat_id": "TEst", "sale_ok": True, "assembly_line_ids": ["12345", "12346"], - "list_price": 50.00 + "list_price": 50.00, + "can_be_sold_unconfigured": True, + 'image': "R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7", } product_obj = odoo.env['product.template'] diff --git a/dev/scripts/interfaces/sst11_pg_create_company.py b/dev/scripts/interfaces/sst11_pg_create_company.py index 62531b2a..4177571b 100755 --- a/dev/scripts/interfaces/sst11_pg_create_company.py +++ b/dev/scripts/interfaces/sst11_pg_create_company.py @@ -1,5 +1,6 @@ # -*- coding: utf-8 -*- import odoorpc +from urllib.parse import urlparse host = 'localhost' port = 8080 @@ -11,23 +12,30 @@ odoo = odoorpc.ODOO(host, port=port) odoo.login(db, user, pw) values = { - "name": "Company", + "name": "Company2", "street": "Elterleinplatz 11", + "street2": "Teststrasse 30", "zip": 1170, "city": "Wien", "country_id": "AT", "fax": "+43 55567051", "phone": "+43 5556705", + "mobile": "+43 446783", "endkunde": True, - "portal_id": "31", + "portal_id": "32", "email": "company@test.at", "opt_out": True, - "ref": "A144S3", + "ref": "A144S4", "partner_sector_id": "Test", "comment": "comment", "vat": False, "lang": "de", - "line_ids": ["L1", "L2"] + "line_ids": ["12345", "12346"], + "property_payment_term_id": "15 Tage", + "property_product_pricelist": "EUR", + "date_vat_check": "2017-08-04", + "active": True, + "retail_partner_id": "A144S3", } res_partner_obj = odoo.env['res.partner'] diff --git a/ext/3rd-party-addons/product_tax_multicompany_default/models/product.py b/ext/3rd-party-addons/product_tax_multicompany_default/models/product.py index 38344a6e..a9b6e75e 100644 --- a/ext/3rd-party-addons/product_tax_multicompany_default/models/product.py +++ b/ext/3rd-party-addons/product_tax_multicompany_default/models/product.py @@ -11,8 +11,7 @@ class ProductTemplate(models.Model): def taxes_by_company(self, field, company_id, match_tax_ids=None): taxes_ids = [] if match_tax_ids is None: - taxes_ids = self.env['ir.values'].get_default( - 'product.template', field, company_id=company_id) + taxes_ids = self.env['ir.default'].get('product.template', field, company_id=company_id) # If None: return default taxes if []: return empty list if not match_tax_ids: return isinstance(taxes_ids, list) and taxes_ids or [] diff --git a/ext/custom-addons/dp_custom/models/product.py b/ext/custom-addons/dp_custom/models/product.py index 4d3e71d0..8945ad25 100644 --- a/ext/custom-addons/dp_custom/models/product.py +++ b/ext/custom-addons/dp_custom/models/product.py @@ -119,7 +119,7 @@ class ProductTemplate(models.Model): def _get_specified_fields(self): return ['default_code', 'name', 'length', 'width', 'thickness', 'surface', 'active', 'weight', 'is_internal', 'xcat_id', 'notes', 'material_type_id', 'intrastat_id', 'sale_ok', 'assembly_line_ids', 'list_price', - 'height', 'categ_id', 'can_be_sold_unconfigured'] + 'height', 'categ_id', 'can_be_sold_unconfigured', 'image'] class ProductCategory(models.Model): diff --git a/ext/custom-addons/dp_custom/models/res_partner.py b/ext/custom-addons/dp_custom/models/res_partner.py index 7e75783f..f7193201 100644 --- a/ext/custom-addons/dp_custom/models/res_partner.py +++ b/ext/custom-addons/dp_custom/models/res_partner.py @@ -56,6 +56,7 @@ class Partner(models.Model): dat_vat_check = fields.Date(string='Datum letzte UID-Prüfung') 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') _sql_constraints = [ ('ref_uniq', 'unique(ref)', 'Die Interne Referenz muss eindeutig sein'), @@ -68,7 +69,8 @@ class Partner(models.Model): vals = self.correct_values(vals) if not vals.get('active', False): vals['active'] = False - return self.create(vals) + self.create(vals) + return True @api.model def pg_create_company(self, vals): @@ -79,14 +81,14 @@ class Partner(models.Model): if not partner.is_company: raise ValidationError( _("Der Partner mit der Internen Referenz '%s' ist kein Unternehmen" % vals['ref'])) - partner = self.write(vals) + self.write(vals) else: if not vals.get('is_company', False): vals['is_company'] = True partner = self.create(vals) partner.property_account_fiscal_position = self.env['account.fiscal.position'].get_fiscal_position( partner.id) - return partner + return True @api.model def correct_values(self, vals): @@ -133,6 +135,24 @@ class Partner(models.Model): raise ValidationError(_("Die Zahlungsbedingung mit dem Code \'%s\' kann nicht zugeordnet werden" % vals[ 'property_payment_term_id'])) + if vals.get('property_product_pricelist', False): + product_pricelist = self.env['product.pricelist'].search( + [('currency_id.name', '=', vals['property_product_pricelist'])]) + if product_pricelist: + vals['property_product_pricelist'] = product_pricelist[0].id + else: + raise ValidationError(_("Die Preisliste mit der Währung \'%s\' kann nicht zugeordnet werden" % vals[ + 'property_product_pricelist'])) + + if vals.get('retail_partner_id', False): + retail_partner = self.env['res.partner'].search( + [('ref', '=', vals['retail_partner_id'])]) + if retail_partner: + vals['retail_partner_id'] = retail_partner.id + else: + raise ValidationError(_("Der Händler mit der Internen Referenz \'%s\' kann nicht zugeordnet werden" % vals[ + 'retail_partner_id'])) + return vals @api.model @@ -144,7 +164,8 @@ class Partner(models.Model): return common_list elif self.env.context.get('sst_11', False): common_list.extend(['name', 'ref', 'partner_sector_id', 'comment', 'vat', 'property_payment_term_id', - 'property_pricelist_id', 'date_vat_check', 'active']) + 'property_pricelist_id', 'date_vat_check', 'active', 'property_product_pricelist', + 'retail_partner_id']) return common_list else: return super(Partner, self)._get_specified_fields() diff --git a/ext/custom-addons/dp_custom/models/sale.py b/ext/custom-addons/dp_custom/models/sale.py index 8bc7203d..c2d49d85 100644 --- a/ext/custom-addons/dp_custom/models/sale.py +++ b/ext/custom-addons/dp_custom/models/sale.py @@ -18,8 +18,11 @@ # along with this program. If not, see . # ############################################################################## +from datetime import datetime + from odoo import api, fields, models, _ from odoo.exceptions import ValidationError +from odoo.tools import DEFAULT_SERVER_DATETIME_FORMAT class SaleOrder(models.Model): @@ -52,13 +55,22 @@ class SaleOrder(models.Model): 'filename': attachment.name, 'binary': attachment.datas.decode() }) + delivery_date = False + for picking_id in order.picking_ids: + if not delivery_date: + delivery_date = picking_id.scheduled_date + elif datetime.strptime(picking_id.scheduled_date, DEFAULT_SERVER_DATETIME_FORMAT) < datetime.strptime( + delivery_date, DEFAULT_SERVER_DATETIME_FORMAT): + delivery_date = picking_id.scheduled_date + order_list.append({ 'id': order.id, 'name': order.name, 'attachments': attachment_list, 'internal_notes': order.internal_notes, 'assembly_notes': order.assembly_notes, - 'user_id': order.user_id + 'user_id': order.user_id.name, + 'delivery_date': delivery_date }) return order_list @@ -80,7 +92,7 @@ class SaleOrder(models.Model): if key.startswith('delivery_'): delivery_vals[key.replace('delivery_', '')] = vals[key] - delivery_vals = delivery_partner.remove_not_specified_fields(delivery_vals) + delivery_vals = delivery_partner.with_context(sst_1=True).remove_not_specified_fields(delivery_vals) delivery_vals = delivery_partner.correct_values(delivery_vals) delivery_vals['parent_id'] = partner.id @@ -141,6 +153,7 @@ class SaleOrder(models.Model): lot_id = lot.id order_lines.append(self.env['sale.order.line'].create({ 'order_id': self.id, + 'name': vals['name'], 'product_id': vals['product_id'], 'price_unit': vals['price_unit'], 'product_uom_qty': vals['product_uom_qty'], diff --git a/ext/custom-addons/dp_custom/views/product_views.xml b/ext/custom-addons/dp_custom/views/product_views.xml index 7dcd6126..65e31e7e 100644 --- a/ext/custom-addons/dp_custom/views/product_views.xml +++ b/ext/custom-addons/dp_custom/views/product_views.xml @@ -19,8 +19,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 51bbc278..15e33f06 100644 --- a/ext/custom-addons/dp_custom/views/res_partner_views.xml +++ b/ext/custom-addons/dp_custom/views/res_partner_views.xml @@ -26,6 +26,14 @@ + + + + + + + + @@ -33,9 +41,9 @@ + - diff --git a/ext/custom-addons/dp_custom/views/sale_views.xml b/ext/custom-addons/dp_custom/views/sale_views.xml index 6afc32c2..6975da91 100644 --- a/ext/custom-addons/dp_custom/views/sale_views.xml +++ b/ext/custom-addons/dp_custom/views/sale_views.xml @@ -13,9 +13,13 @@ - + + + - + + + diff --git a/ext/custom-addons/dp_retail_invoice/__init__.py b/ext/custom-addons/dp_retail_invoice/__init__.py new file mode 100644 index 00000000..15bca215 --- /dev/null +++ b/ext/custom-addons/dp_retail_invoice/__init__.py @@ -0,0 +1,22 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# datenpol gmbh +# Copyright (C) 2013-TODAY datenpol gmbh () +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from . import models diff --git a/ext/custom-addons/dp_retail_invoice/__manifest__.py b/ext/custom-addons/dp_retail_invoice/__manifest__.py new file mode 100644 index 00000000..e16c3e1a --- /dev/null +++ b/ext/custom-addons/dp_retail_invoice/__manifest__.py @@ -0,0 +1,42 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# datenpol gmbh +# Copyright (C) 2013-TODAY datenpol gmbh () +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + + +# noinspection PyStatementEffect +{ + 'name': 'Generates Invoice for multiple orders', + 'category': 'Sale', + 'version': '11.0.1.0.0', + 'description': """Generates Invoice for multiple orders""", + 'author': 'datenpol gmbh', + 'website': 'http://www.datenpol.at/', + 'depends': [ + 'sale', + ], + 'data': [ + 'views/res_partner_views.xml', + 'views/sale_views.xml', + 'views/account_views.xml', + 'security/ir.model.access.csv', + ], + 'installable': True, + 'auto_install': False, +} diff --git a/ext/custom-addons/dp_retail_invoice/models/__init__.py b/ext/custom-addons/dp_retail_invoice/models/__init__.py new file mode 100644 index 00000000..d1f337f8 --- /dev/null +++ b/ext/custom-addons/dp_retail_invoice/models/__init__.py @@ -0,0 +1,24 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# OpenERP, Open Source Management Solution +# Copyright (C) 20014-2016 datenpol gmbh (). +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## + +from . import sale +from . import account +from . import res_partner diff --git a/ext/custom-addons/dp_retail_invoice/models/account.py b/ext/custom-addons/dp_retail_invoice/models/account.py new file mode 100644 index 00000000..1ec74734 --- /dev/null +++ b/ext/custom-addons/dp_retail_invoice/models/account.py @@ -0,0 +1,25 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# datenpol gmbh +# Copyright (C) 2013-TODAY datenpol gmbh () +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## +from odoo import models + + +class AccountInvoiceLine(models.Model): + _inherit = 'account.invoice.line' diff --git a/ext/custom-addons/dp_retail_invoice/models/res_partner.py b/ext/custom-addons/dp_retail_invoice/models/res_partner.py new file mode 100644 index 00000000..41b6d32f --- /dev/null +++ b/ext/custom-addons/dp_retail_invoice/models/res_partner.py @@ -0,0 +1,39 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# datenpol gmbh +# Copyright (C) 2013-TODAY datenpol gmbh () +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## +from odoo import api, fields, models + + +class Partner(models.Model): + _inherit = 'res.partner' + + retailer = fields.Boolean(string='Ist ein Händler') + retail_partner_id = fields.Many2one(comodel_name='res.partner', string='Händler', domain=[('retailer', '=', True)], + help='Wenn ein Händler existiert, dann passiert die Verrechnung über den Händler') + + @api.multi + def address_get(self, adr_pref=None): + res = super(Partner, self).address_get(adr_pref=adr_pref) + + for record in self: + if record.commercial_partner_id.retail_partner_id: + pass + + return res diff --git a/ext/custom-addons/dp_retail_invoice/models/sale.py b/ext/custom-addons/dp_retail_invoice/models/sale.py new file mode 100644 index 00000000..d9e90447 --- /dev/null +++ b/ext/custom-addons/dp_retail_invoice/models/sale.py @@ -0,0 +1,32 @@ +# -*- coding: utf-8 -*- +############################################################################## +# +# datenpol gmbh +# Copyright (C) 2013-TODAY datenpol gmbh () +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU Affero General Public License as +# published by the Free Software Foundation, either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU Affero General Public License for more details. +# +# You should have received a copy of the GNU Affero General Public License +# along with this program. If not, see . +# +############################################################################## +from odoo import api, fields, models + + +class SaleLayoutCategory(models.Model): + _inherit = 'sale.layout_category' + + order_id = fields.Many2one(comodel_name='sale.order') + + @api.model + def name_search(self, name, args=None, operator='ilike', limit=100): + res = super(SaleLayoutCategory, self).name_search(name, args=args, operator=operator, limit=limit) + return res diff --git a/ext/custom-addons/dp_retail_invoice/security/ir.model.access.csv b/ext/custom-addons/dp_retail_invoice/security/ir.model.access.csv new file mode 100644 index 00000000..97dd8b91 --- /dev/null +++ b/ext/custom-addons/dp_retail_invoice/security/ir.model.access.csv @@ -0,0 +1 @@ +id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink diff --git a/ext/custom-addons/dp_retail_invoice/static/description/icon.png b/ext/custom-addons/dp_retail_invoice/static/description/icon.png new file mode 100644 index 00000000..8387d765 Binary files /dev/null and b/ext/custom-addons/dp_retail_invoice/static/description/icon.png differ diff --git a/ext/custom-addons/dp_retail_invoice/views/account_views.xml b/ext/custom-addons/dp_retail_invoice/views/account_views.xml new file mode 100644 index 00000000..b9720235 --- /dev/null +++ b/ext/custom-addons/dp_retail_invoice/views/account_views.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/ext/custom-addons/dp_retail_invoice/views/res_partner_views.xml b/ext/custom-addons/dp_retail_invoice/views/res_partner_views.xml new file mode 100644 index 00000000..71508fba --- /dev/null +++ b/ext/custom-addons/dp_retail_invoice/views/res_partner_views.xml @@ -0,0 +1,18 @@ + + + + + res_partner_form_view + res.partner + + + + + + + + + + + + diff --git a/ext/custom-addons/dp_retail_invoice/views/sale_views.xml b/ext/custom-addons/dp_retail_invoice/views/sale_views.xml new file mode 100644 index 00000000..1eacf6fe --- /dev/null +++ b/ext/custom-addons/dp_retail_invoice/views/sale_views.xml @@ -0,0 +1,6 @@ + + + + + + diff --git a/setup/lib/config.py b/setup/lib/config.py index 8486f132..4273e835 100644 --- a/setup/lib/config.py +++ b/setup/lib/config.py @@ -130,6 +130,8 @@ class Config(): 'report_intrastat', 'dp_sale_hide_discount', 'connector', + 'dp_intercompany_invoicing', + 'dp_retail_invoice' ]