From ea5d8a6b6e3f45a91221a43b72dda833ca00df49 Mon Sep 17 00:00:00 2001
From: Dave Lasley
Date: Wed, 7 Dec 2016 18:28:41 -0800
Subject: [PATCH 01/15] [IMP] base_external_dbsource: Refactor & Split by
source * Heavily refactor code for reusability * Split all sources into
independent modules * Add more test coverage * Add CRUD methods * Add
iterator execute return to roadmap
[UPD] Update base_external_dbsource_mssql.pot
---
base_external_dbsource_mssql/README.rst | 80 +++++++++++++++++++
base_external_dbsource_mssql/__init__.py | 2 +
base_external_dbsource_mssql/__manifest__.py | 29 +++++++
.../demo/base_external_dbsource.xml | 9 +++
.../i18n/base_external_dbsource_mssql.pot | 20 +++++
base_external_dbsource_mssql/i18n/de.po | 24 ++++++
base_external_dbsource_mssql/i18n/es.po | 24 ++++++
base_external_dbsource_mssql/i18n/hr.po | 25 ++++++
base_external_dbsource_mssql/i18n/nl_NL.po | 25 ++++++
base_external_dbsource_mssql/i18n/pt_BR.po | 25 ++++++
base_external_dbsource_mssql/i18n/sl.po | 25 ++++++
base_external_dbsource_mssql/i18n/tr.po | 24 ++++++
.../models/__init__.py | 3 +
.../models/base_external_dbsource.py | 45 +++++++++++
.../tests/__init__.py | 3 +
.../tests/test_base_external_dbsource.py | 42 ++++++++++
16 files changed, 405 insertions(+)
create mode 100644 base_external_dbsource_mssql/README.rst
create mode 100644 base_external_dbsource_mssql/__init__.py
create mode 100644 base_external_dbsource_mssql/__manifest__.py
create mode 100644 base_external_dbsource_mssql/demo/base_external_dbsource.xml
create mode 100644 base_external_dbsource_mssql/i18n/base_external_dbsource_mssql.pot
create mode 100644 base_external_dbsource_mssql/i18n/de.po
create mode 100644 base_external_dbsource_mssql/i18n/es.po
create mode 100644 base_external_dbsource_mssql/i18n/hr.po
create mode 100644 base_external_dbsource_mssql/i18n/nl_NL.po
create mode 100644 base_external_dbsource_mssql/i18n/pt_BR.po
create mode 100644 base_external_dbsource_mssql/i18n/sl.po
create mode 100644 base_external_dbsource_mssql/i18n/tr.po
create mode 100644 base_external_dbsource_mssql/models/__init__.py
create mode 100644 base_external_dbsource_mssql/models/base_external_dbsource.py
create mode 100644 base_external_dbsource_mssql/tests/__init__.py
create mode 100644 base_external_dbsource_mssql/tests/test_base_external_dbsource.py
diff --git a/base_external_dbsource_mssql/README.rst b/base_external_dbsource_mssql/README.rst
new file mode 100644
index 000000000..f6669077b
--- /dev/null
+++ b/base_external_dbsource_mssql/README.rst
@@ -0,0 +1,80 @@
+.. image:: https://img.shields.io/badge/licence-LGPL--3-blue.svg
+ :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
+ :alt: License: LGPL-3
+
+================================
+External Database Source - MSSQL
+================================
+
+This module extends ``base_external_dbsource``, allowing you to connect to
+foreign MSSQL databases using SQLAlchemy.
+
+
+
+Installation
+============
+
+* Install & configure FreeTDS driver (tdsodbc package)
+* Install ``sqlalchemy`` and ``pymssql`` python libraries
+* Install ``base_external_dbsource_sqlite`` Odoo module
+
+Configuration
+=============
+
+Database sources can be configured in Settings > Configuration -> Data sources.
+
+
+Usage
+=====
+
+To use this module:
+
+* Go to Settings > Database Structure > Database Sources
+* Click on Create to enter the following information:
+
+* Datasource name
+* Pasword
+* Connector: Choose the database to which you want to connect
+* Connection string: Specify how to connect to database
+
+.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
+ :alt: Try me on Runbot
+ :target: https://runbot.odoo-community.org/runbot/149/10.0 for server-tools
+
+Known issues / Roadmap
+======================
+
+* Add X.509 authentication
+
+Bug Tracker
+===========
+
+Bugs are tracked on `GitHub Issues `_.
+In case of trouble, please check there if your issue has already been reported.
+If you spotted it first, help us smashing it by providing a detailed and welcomed feedback.
+
+Credits
+=======
+
+Contributors
+------------
+
+* Daniel Reis
+* Maxime Chambreuil
+* Gervais Naoussi
+* Dave Lasley
+
+Maintainer
+----------
+
+.. image:: https://odoo-community.org/logo.png
+ :alt: Odoo Community Association
+ :target: https://odoo-community.org
+
+This module is maintained by the OCA.
+
+OCA, or the Odoo Community Association, is a nonprofit organization whose
+mission is to support the collaborative development of Odoo features and
+promote its widespread use.
+
+To contribute to this module, please visit http://odoo-community.org.
diff --git a/base_external_dbsource_mssql/__init__.py b/base_external_dbsource_mssql/__init__.py
new file mode 100644
index 000000000..a0fdc10fe
--- /dev/null
+++ b/base_external_dbsource_mssql/__init__.py
@@ -0,0 +1,2 @@
+# -*- coding: utf-8 -*-
+from . import models
diff --git a/base_external_dbsource_mssql/__manifest__.py b/base_external_dbsource_mssql/__manifest__.py
new file mode 100644
index 000000000..3d1d66d73
--- /dev/null
+++ b/base_external_dbsource_mssql/__manifest__.py
@@ -0,0 +1,29 @@
+# -*- coding: utf-8 -*-
+# Copyright <2011>
+# Copyright 2016 LasLabs Inc.
+# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
+{
+ 'name': 'External Database Source - MSSQL',
+ 'version': '10.0.1.0.0',
+ 'category': 'Tools',
+ 'author': "Daniel Reis, "
+ "LasLabs, "
+ "Odoo Community Association (OCA)",
+ 'website': 'https://github.com/OCA/server-tools',
+ 'license': 'LGPL-3',
+ 'depends': [
+ 'base_external_dbsource_sqlite',
+ ],
+ # Uncomment this for v11
+ # 'external_dependencies': [
+ # 'python': [
+ # 'sqlalchemy',
+ # 'pymssql',
+ # ]
+ # ],
+ 'demo': [
+ 'demo/base_external_dbsource.xml',
+ ],
+ 'installable': True,
+ 'auto_install': True, # Remove this key for v11
+}
diff --git a/base_external_dbsource_mssql/demo/base_external_dbsource.xml b/base_external_dbsource_mssql/demo/base_external_dbsource.xml
new file mode 100644
index 000000000..f30a392e5
--- /dev/null
+++ b/base_external_dbsource_mssql/demo/base_external_dbsource.xml
@@ -0,0 +1,9 @@
+
+
+
+ MSSQL Demo
+ Server=myServerAddress;Database=myDataBase;User Id=myUsername;
+ password
+ mssql
+
+
diff --git a/base_external_dbsource_mssql/i18n/base_external_dbsource_mssql.pot b/base_external_dbsource_mssql/i18n/base_external_dbsource_mssql.pot
new file mode 100644
index 000000000..b0a169c24
--- /dev/null
+++ b/base_external_dbsource_mssql/i18n/base_external_dbsource_mssql.pot
@@ -0,0 +1,20 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * base_external_dbsource_mssql
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 10.0\n"
+"Report-Msgid-Bugs-To: \n"
+"Last-Translator: <>\n"
+"Language-Team: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: \n"
+
+#. module: base_external_dbsource_mssql
+#: model:ir.model,name:base_external_dbsource_mssql.model_base_external_dbsource
+msgid "External Database Sources"
+msgstr ""
+
diff --git a/base_external_dbsource_mssql/i18n/de.po b/base_external_dbsource_mssql/i18n/de.po
new file mode 100644
index 000000000..600f91792
--- /dev/null
+++ b/base_external_dbsource_mssql/i18n/de.po
@@ -0,0 +1,24 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * base_external_dbsource_mssql
+#
+# Translators:
+# Rudolf Schnapka , 2017
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 10.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-05-10 00:47+0000\n"
+"PO-Revision-Date: 2017-05-10 00:47+0000\n"
+"Last-Translator: Rudolf Schnapka , 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"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: base_external_dbsource_mssql
+#: model:ir.model,name:base_external_dbsource_mssql.model_base_external_dbsource
+msgid "External Database Sources"
+msgstr "Externe Datenbankquellen"
diff --git a/base_external_dbsource_mssql/i18n/es.po b/base_external_dbsource_mssql/i18n/es.po
new file mode 100644
index 000000000..160c94d6d
--- /dev/null
+++ b/base_external_dbsource_mssql/i18n/es.po
@@ -0,0 +1,24 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * base_external_dbsource_mssql
+#
+# Translators:
+# Fernando Lara , 2017
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 10.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-02-22 00:54+0000\n"
+"PO-Revision-Date: 2017-02-22 00:54+0000\n"
+"Last-Translator: Fernando Lara , 2017\n"
+"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n"
+"Language: es\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: base_external_dbsource_mssql
+#: model:ir.model,name:base_external_dbsource_mssql.model_base_external_dbsource
+msgid "External Database Sources"
+msgstr "Fuentes externas de la base de datos"
diff --git a/base_external_dbsource_mssql/i18n/hr.po b/base_external_dbsource_mssql/i18n/hr.po
new file mode 100644
index 000000000..e18dbc9fd
--- /dev/null
+++ b/base_external_dbsource_mssql/i18n/hr.po
@@ -0,0 +1,25 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * base_external_dbsource_mssql
+#
+# Translators:
+# Bole , 2017
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 10.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-05-10 00:47+0000\n"
+"PO-Revision-Date: 2017-05-10 00:47+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"
+"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: base_external_dbsource_mssql
+#: model:ir.model,name:base_external_dbsource_mssql.model_base_external_dbsource
+msgid "External Database Sources"
+msgstr "Vanjske baze"
diff --git a/base_external_dbsource_mssql/i18n/nl_NL.po b/base_external_dbsource_mssql/i18n/nl_NL.po
new file mode 100644
index 000000000..1bd6b2a71
--- /dev/null
+++ b/base_external_dbsource_mssql/i18n/nl_NL.po
@@ -0,0 +1,25 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * base_external_dbsource_mssql
+#
+# Translators:
+# Peter Hageman , 2017
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 10.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-06-22 01:11+0000\n"
+"PO-Revision-Date: 2017-06-22 01:11+0000\n"
+"Last-Translator: Peter Hageman , 2017\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"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. module: base_external_dbsource_mssql
+#: model:ir.model,name:base_external_dbsource_mssql.model_base_external_dbsource
+msgid "External Database Sources"
+msgstr "Externe databasebronnen"
diff --git a/base_external_dbsource_mssql/i18n/pt_BR.po b/base_external_dbsource_mssql/i18n/pt_BR.po
new file mode 100644
index 000000000..ace556135
--- /dev/null
+++ b/base_external_dbsource_mssql/i18n/pt_BR.po
@@ -0,0 +1,25 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * base_external_dbsource_mssql
+#
+# Translators:
+# OCA Transbot , 2017
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 10.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-01-21 04:22+0000\n"
+"PO-Revision-Date: 2017-01-21 04:22+0000\n"
+"Last-Translator: OCA Transbot , 2017\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"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#. module: base_external_dbsource_mssql
+#: model:ir.model,name:base_external_dbsource_mssql.model_base_external_dbsource
+msgid "External Database Sources"
+msgstr "Fontes Banco de Dados Externo"
diff --git a/base_external_dbsource_mssql/i18n/sl.po b/base_external_dbsource_mssql/i18n/sl.po
new file mode 100644
index 000000000..fda149985
--- /dev/null
+++ b/base_external_dbsource_mssql/i18n/sl.po
@@ -0,0 +1,25 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * base_external_dbsource_mssql
+#
+# Translators:
+# OCA Transbot , 2017
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 10.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-01-21 04:22+0000\n"
+"PO-Revision-Date: 2017-01-21 04:22+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"
+"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n"
+"%100==4 ? 2 : 3);\n"
+
+#. module: base_external_dbsource_mssql
+#: model:ir.model,name:base_external_dbsource_mssql.model_base_external_dbsource
+msgid "External Database Sources"
+msgstr "Viri zunanjih podatkovnih baz"
diff --git a/base_external_dbsource_mssql/i18n/tr.po b/base_external_dbsource_mssql/i18n/tr.po
new file mode 100644
index 000000000..d18bdfcce
--- /dev/null
+++ b/base_external_dbsource_mssql/i18n/tr.po
@@ -0,0 +1,24 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * base_external_dbsource_mssql
+#
+# Translators:
+# OCA Transbot , 2017
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 10.0\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2017-01-21 04:22+0000\n"
+"PO-Revision-Date: 2017-01-21 04:22+0000\n"
+"Last-Translator: OCA Transbot , 2017\n"
+"Language-Team: Turkish (https://www.transifex.com/oca/teams/23907/tr/)\n"
+"Language: tr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: \n"
+"Plural-Forms: nplurals=2; plural=(n > 1);\n"
+
+#. module: base_external_dbsource_mssql
+#: model:ir.model,name:base_external_dbsource_mssql.model_base_external_dbsource
+msgid "External Database Sources"
+msgstr "Dış veritabanı kaynakları"
diff --git a/base_external_dbsource_mssql/models/__init__.py b/base_external_dbsource_mssql/models/__init__.py
new file mode 100644
index 000000000..44b7269b9
--- /dev/null
+++ b/base_external_dbsource_mssql/models/__init__.py
@@ -0,0 +1,3 @@
+# -*- coding: utf-8 -*-
+
+from . import base_external_dbsource
diff --git a/base_external_dbsource_mssql/models/base_external_dbsource.py b/base_external_dbsource_mssql/models/base_external_dbsource.py
new file mode 100644
index 000000000..81a6ec287
--- /dev/null
+++ b/base_external_dbsource_mssql/models/base_external_dbsource.py
@@ -0,0 +1,45 @@
+# -*- coding: utf-8 -*-
+# Copyright 2011 Daniel Reis
+# Copyright 2016 LasLabs Inc.
+# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).
+
+import logging
+
+from odoo import api, models
+
+_logger = logging.getLogger(__name__)
+
+try:
+ from odoo.addons.base_external_dbsource.models import (
+ base_external_dbsource,
+ )
+ CONNECTORS = base_external_dbsource.BaseExternalDbsource.CONNECTORS
+ try:
+ import pymssql
+ CONNECTORS.append(('mssql', 'Microsoft SQL Server'))
+ assert pymssql
+ except (ImportError, AssertionError):
+ _logger.info('MS SQL Server not available. Please install "pymssql" '
+ 'python package.')
+except ImportError:
+ _logger.info('base_external_dbsource Odoo module not found.')
+
+
+class BaseExternalDbsource(models.Model):
+ """ It provides logic for connection to a MSSQL data source. """
+
+ _inherit = "base.external.dbsource"
+
+ PWD_STRING_MSSQL = 'Password=%s;'
+
+ @api.multi
+ def connection_close_mssql(self, connection):
+ return connection.close()
+
+ @api.multi
+ def connection_open_mssql(self):
+ return self._connection_open_sqlalchemy()
+
+ @api.multi
+ def execute_mssql(self, sqlquery, sqlparams, metadata):
+ return self._execute_sqlalchemy(sqlquery, sqlparams, metadata)
diff --git a/base_external_dbsource_mssql/tests/__init__.py b/base_external_dbsource_mssql/tests/__init__.py
new file mode 100644
index 000000000..768d7990a
--- /dev/null
+++ b/base_external_dbsource_mssql/tests/__init__.py
@@ -0,0 +1,3 @@
+# -*- encoding: utf-8 -*-
+
+from . import test_base_external_dbsource
diff --git a/base_external_dbsource_mssql/tests/test_base_external_dbsource.py b/base_external_dbsource_mssql/tests/test_base_external_dbsource.py
new file mode 100644
index 000000000..f8af87b2e
--- /dev/null
+++ b/base_external_dbsource_mssql/tests/test_base_external_dbsource.py
@@ -0,0 +1,42 @@
+# -*- coding: utf-8 -*-
+# Copyright 2016 LasLabs Inc.
+
+import mock
+
+from odoo.tests import common
+
+
+ADAPTER = ('odoo.addons.base_external_dbsource_mssql.models'
+ '.base_external_dbsource.pymssql')
+
+
+class TestBaseExternalDbsource(common.TransactionCase):
+
+ def setUp(self):
+ super(TestBaseExternalDbsource, self).setUp()
+ self.dbsource = self.env.ref(
+ 'base_external_dbsource_mssql.demo_mssql',
+ )
+
+ def test_connection_close_mssql(self):
+ """ It should close the connection """
+ connection = mock.MagicMock()
+ res = self.dbsource.connection_close_mssql(connection)
+ self.assertEqual(res, connection.close())
+
+ def test_connection_open_mssql(self):
+ """ It should call SQLAlchemy open """
+ with mock.patch.object(
+ self.dbsource, '_connection_open_sqlalchemy'
+ ) as parent_method:
+ self.dbsource.connection_open_mssql()
+ parent_method.assert_called_once_with()
+
+ def test_excecute_mssql(self):
+ """ It should pass args to SQLAlchemy execute """
+ expect = 'sqlquery', 'sqlparams', 'metadata'
+ with mock.patch.object(
+ self.dbsource, '_execute_sqlalchemy'
+ ) as parent_method:
+ self.dbsource.execute_mssql(*expect)
+ parent_method.assert_called_once_with(*expect)
From d052fbbd2e7ee22e8b8fab9a1293567b5d8f660d Mon Sep 17 00:00:00 2001
From: Sergio Teruel Albert
Date: Wed, 27 Jun 2018 12:46:20 +0200
Subject: [PATCH 02/15] [11.0][MIG] base_external_dbsource_mssql: Migration to
v11.0
[UPD] README.rst
[UPD] Update base_external_dbsource_mssql.pot
[UPD] README.rst
---
base_external_dbsource_mssql/README.rst | 71 ++-
base_external_dbsource_mssql/__init__.py | 1 -
base_external_dbsource_mssql/__manifest__.py | 21 +-
.../i18n/base_external_dbsource_mssql.pot | 2 +-
.../models/__init__.py | 2 -
.../models/base_external_dbsource.py | 1 -
.../readme/CONFIGURE.rst | 4 +
.../readme/CONTRIBUTORS.rst | 6 +
.../readme/DESCRIPTION.rst | 2 +
.../readme/INSTALL.rst | 5 +
.../readme/ROADMAP.rst | 1 +
base_external_dbsource_mssql/readme/USAGE.rst | 9 +
.../static/description/icon.png | Bin 0 -> 9455 bytes
.../static/description/index.html | 465 ++++++++++++++++++
.../tests/__init__.py | 2 -
.../tests/test_base_external_dbsource.py | 1 -
16 files changed, 555 insertions(+), 38 deletions(-)
create mode 100644 base_external_dbsource_mssql/readme/CONFIGURE.rst
create mode 100644 base_external_dbsource_mssql/readme/CONTRIBUTORS.rst
create mode 100644 base_external_dbsource_mssql/readme/DESCRIPTION.rst
create mode 100644 base_external_dbsource_mssql/readme/INSTALL.rst
create mode 100644 base_external_dbsource_mssql/readme/ROADMAP.rst
create mode 100644 base_external_dbsource_mssql/readme/USAGE.rst
create mode 100644 base_external_dbsource_mssql/static/description/icon.png
create mode 100644 base_external_dbsource_mssql/static/description/index.html
diff --git a/base_external_dbsource_mssql/README.rst b/base_external_dbsource_mssql/README.rst
index f6669077b..b2cda6d5d 100644
--- a/base_external_dbsource_mssql/README.rst
+++ b/base_external_dbsource_mssql/README.rst
@@ -1,19 +1,43 @@
-.. image:: https://img.shields.io/badge/licence-LGPL--3-blue.svg
- :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
- :alt: License: LGPL-3
-
================================
External Database Source - MSSQL
================================
+.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ !! This file is generated by oca-gen-addon-readme !!
+ !! changes will be overwritten. !!
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
+ :target: https://odoo-community.org/page/development-status
+ :alt: Beta
+.. |badge2| image:: https://img.shields.io/badge/licence-LGPL--3-blue.png
+ :target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
+ :alt: License: LGPL-3
+.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--backend-lightgray.png?logo=github
+ :target: https://github.com/OCA/server-backend/tree/11.0/base_external_dbsource_mssql
+ :alt: OCA/server-backend
+.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
+ :target: https://translation.odoo-community.org/projects/server-backend-11-0/server-backend-11-0-base_external_dbsource_mssql
+ :alt: Translate me on Weblate
+.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
+ :target: https://runbot.odoo-community.org/runbot/253/11.0
+ :alt: Try me on Runbot
+
+|badge1| |badge2| |badge3| |badge4| |badge5|
+
This module extends ``base_external_dbsource``, allowing you to connect to
foreign MSSQL databases using SQLAlchemy.
+**Table of contents**
+.. contents::
+ :local:
Installation
============
+To install this module, you need to:
+
* Install & configure FreeTDS driver (tdsodbc package)
* Install ``sqlalchemy`` and ``pymssql`` python libraries
* Install ``base_external_dbsource_sqlite`` Odoo module
@@ -21,15 +45,17 @@ Installation
Configuration
=============
-Database sources can be configured in Settings > Configuration -> Data sources.
+To configure this module, you need to:
+#. Database sources can be configured in Settings > Technical >
+ Database Structure > Database sources.
Usage
=====
To use this module:
-* Go to Settings > Database Structure > Database Sources
+* Go to Settings > Technical > Database Structure > Database Sources
* Click on Create to enter the following information:
* Datasource name
@@ -37,10 +63,6 @@ To use this module:
* Connector: Choose the database to which you want to connect
* Connection string: Specify how to connect to database
-.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
- :alt: Try me on Runbot
- :target: https://runbot.odoo-community.org/runbot/149/10.0 for server-tools
-
Known issues / Roadmap
======================
@@ -49,32 +71,45 @@ Known issues / Roadmap
Bug Tracker
===========
-Bugs are tracked on `GitHub Issues `_.
+Bugs are tracked on `GitHub Issues `_.
In case of trouble, please check there if your issue has already been reported.
-If you spotted it first, help us smashing it by providing a detailed and welcomed feedback.
+If you spotted it first, help us smashing it by providing a detailed and welcomed
+`feedback `_.
+
+Do not contact contributors directly about support or help with technical issues.
Credits
=======
+Authors
+~~~~~~~
+
+* Daniel Reis
+* LasLabs
+
Contributors
-------------
+~~~~~~~~~~~~
* Daniel Reis
* Maxime Chambreuil
* Gervais Naoussi
* Dave Lasley
+* `Tecnativa `_:
+ * Sergio Teruel
+
+Maintainers
+~~~~~~~~~~~
-Maintainer
-----------
+This module is maintained by the OCA.
.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org
-This module is maintained by the OCA.
-
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
-To contribute to this module, please visit http://odoo-community.org.
+This module is part of the `OCA/server-backend `_ project on GitHub.
+
+You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/base_external_dbsource_mssql/__init__.py b/base_external_dbsource_mssql/__init__.py
index a0fdc10fe..0650744f6 100644
--- a/base_external_dbsource_mssql/__init__.py
+++ b/base_external_dbsource_mssql/__init__.py
@@ -1,2 +1 @@
-# -*- coding: utf-8 -*-
from . import models
diff --git a/base_external_dbsource_mssql/__manifest__.py b/base_external_dbsource_mssql/__manifest__.py
index 3d1d66d73..4c6ae7262 100644
--- a/base_external_dbsource_mssql/__manifest__.py
+++ b/base_external_dbsource_mssql/__manifest__.py
@@ -1,29 +1,26 @@
-# -*- coding: utf-8 -*-
# Copyright <2011>
# Copyright 2016 LasLabs Inc.
-# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
+# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl).
{
'name': 'External Database Source - MSSQL',
- 'version': '10.0.1.0.0',
+ 'version': '11.0.1.0.0',
'category': 'Tools',
'author': "Daniel Reis, "
"LasLabs, "
"Odoo Community Association (OCA)",
- 'website': 'https://github.com/OCA/server-tools',
+ 'website': 'https://github.com/OCA/server-backend',
'license': 'LGPL-3',
'depends': [
'base_external_dbsource_sqlite',
],
- # Uncomment this for v11
- # 'external_dependencies': [
- # 'python': [
- # 'sqlalchemy',
- # 'pymssql',
- # ]
- # ],
+ 'external_dependencies': {
+ 'python': [
+ 'sqlalchemy',
+ 'pymssql',
+ ],
+ },
'demo': [
'demo/base_external_dbsource.xml',
],
'installable': True,
- 'auto_install': True, # Remove this key for v11
}
diff --git a/base_external_dbsource_mssql/i18n/base_external_dbsource_mssql.pot b/base_external_dbsource_mssql/i18n/base_external_dbsource_mssql.pot
index b0a169c24..e37bb7940 100644
--- a/base_external_dbsource_mssql/i18n/base_external_dbsource_mssql.pot
+++ b/base_external_dbsource_mssql/i18n/base_external_dbsource_mssql.pot
@@ -4,7 +4,7 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 10.0\n"
+"Project-Id-Version: Odoo Server 11.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: <>\n"
"Language-Team: \n"
diff --git a/base_external_dbsource_mssql/models/__init__.py b/base_external_dbsource_mssql/models/__init__.py
index 44b7269b9..91032fcb6 100644
--- a/base_external_dbsource_mssql/models/__init__.py
+++ b/base_external_dbsource_mssql/models/__init__.py
@@ -1,3 +1 @@
-# -*- coding: utf-8 -*-
-
from . import base_external_dbsource
diff --git a/base_external_dbsource_mssql/models/base_external_dbsource.py b/base_external_dbsource_mssql/models/base_external_dbsource.py
index 81a6ec287..bb1b671a9 100644
--- a/base_external_dbsource_mssql/models/base_external_dbsource.py
+++ b/base_external_dbsource_mssql/models/base_external_dbsource.py
@@ -1,4 +1,3 @@
-# -*- coding: utf-8 -*-
# Copyright 2011 Daniel Reis
# Copyright 2016 LasLabs Inc.
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).
diff --git a/base_external_dbsource_mssql/readme/CONFIGURE.rst b/base_external_dbsource_mssql/readme/CONFIGURE.rst
new file mode 100644
index 000000000..f8fb7dd36
--- /dev/null
+++ b/base_external_dbsource_mssql/readme/CONFIGURE.rst
@@ -0,0 +1,4 @@
+To configure this module, you need to:
+
+#. Database sources can be configured in Settings > Technical >
+ Database Structure > Database sources.
diff --git a/base_external_dbsource_mssql/readme/CONTRIBUTORS.rst b/base_external_dbsource_mssql/readme/CONTRIBUTORS.rst
new file mode 100644
index 000000000..d00499dbb
--- /dev/null
+++ b/base_external_dbsource_mssql/readme/CONTRIBUTORS.rst
@@ -0,0 +1,6 @@
+* Daniel Reis
+* Maxime Chambreuil
+* Gervais Naoussi
+* Dave Lasley
+* `Tecnativa `_:
+ * Sergio Teruel
diff --git a/base_external_dbsource_mssql/readme/DESCRIPTION.rst b/base_external_dbsource_mssql/readme/DESCRIPTION.rst
new file mode 100644
index 000000000..760ea45b4
--- /dev/null
+++ b/base_external_dbsource_mssql/readme/DESCRIPTION.rst
@@ -0,0 +1,2 @@
+This module extends ``base_external_dbsource``, allowing you to connect to
+foreign MSSQL databases using SQLAlchemy.
diff --git a/base_external_dbsource_mssql/readme/INSTALL.rst b/base_external_dbsource_mssql/readme/INSTALL.rst
new file mode 100644
index 000000000..d4fa27f64
--- /dev/null
+++ b/base_external_dbsource_mssql/readme/INSTALL.rst
@@ -0,0 +1,5 @@
+To install this module, you need to:
+
+* Install & configure FreeTDS driver (tdsodbc package)
+* Install ``sqlalchemy`` and ``pymssql`` python libraries
+* Install ``base_external_dbsource_sqlite`` Odoo module
diff --git a/base_external_dbsource_mssql/readme/ROADMAP.rst b/base_external_dbsource_mssql/readme/ROADMAP.rst
new file mode 100644
index 000000000..fdddc7357
--- /dev/null
+++ b/base_external_dbsource_mssql/readme/ROADMAP.rst
@@ -0,0 +1 @@
+* Add X.509 authentication
\ No newline at end of file
diff --git a/base_external_dbsource_mssql/readme/USAGE.rst b/base_external_dbsource_mssql/readme/USAGE.rst
new file mode 100644
index 000000000..d366e192a
--- /dev/null
+++ b/base_external_dbsource_mssql/readme/USAGE.rst
@@ -0,0 +1,9 @@
+To use this module:
+
+* Go to Settings > Technical > Database Structure > Database Sources
+* Click on Create to enter the following information:
+
+* Datasource name
+* Pasword
+* Connector: Choose the database to which you want to connect
+* Connection string: Specify how to connect to database
diff --git a/base_external_dbsource_mssql/static/description/icon.png b/base_external_dbsource_mssql/static/description/icon.png
new file mode 100644
index 0000000000000000000000000000000000000000..3a0328b516c4980e8e44cdb63fd945757ddd132d
GIT binary patch
literal 9455
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
z
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
Xviia!U7SGha1wx#SCgwmn*{w2TRX*I
literal 0
HcmV?d00001
diff --git a/base_external_dbsource_mssql/static/description/index.html b/base_external_dbsource_mssql/static/description/index.html
new file mode 100644
index 000000000..0ef2f37ac
--- /dev/null
+++ b/base_external_dbsource_mssql/static/description/index.html
@@ -0,0 +1,465 @@
+
+
+
+
+
+
+External Database Source - MSSQL
+
+
+
+
+
External Database Source - MSSQL
+
+
+
+
This module extends base_external_dbsource, allowing you to connect to
+foreign MSSQL databases using SQLAlchemy.
+
Table of contents
+
+
+
+
To install this module, you need to:
+
+- Install & configure FreeTDS driver (tdsodbc package)
+- Install sqlalchemy and pymssql python libraries
+- Install base_external_dbsource_sqlite Odoo module
+
+
+
+
+
To configure this module, you need to:
+
+- Database sources can be configured in Settings > Technical >
+Database Structure > Database sources.
+
+
+
+
+
To use this module:
+
+- Go to Settings > Technical > Database Structure > Database Sources
+- Click on Create to enter the following information:
+- Datasource name
+- Pasword
+- Connector: Choose the database to which you want to connect
+- Connection string: Specify how to connect to database
+
+
+
+
+
+- Add X.509 authentication
+
+
+
+
+
Bugs are tracked on GitHub Issues.
+In case of trouble, please check there if your issue has already been reported.
+If you spotted it first, help us smashing it by providing a detailed and welcomed
+feedback.
+
Do not contact contributors directly about support or help with technical issues.
+
+
+
+
+
+
+
+
This module is maintained by the OCA.
+
+
OCA, or the Odoo Community Association, is a nonprofit organization whose
+mission is to support the collaborative development of Odoo features and
+promote its widespread use.
+
This module is part of the OCA/server-backend project on GitHub.
+
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
+
+
+
+
+
diff --git a/base_external_dbsource_mssql/tests/__init__.py b/base_external_dbsource_mssql/tests/__init__.py
index 768d7990a..87aa84b3e 100644
--- a/base_external_dbsource_mssql/tests/__init__.py
+++ b/base_external_dbsource_mssql/tests/__init__.py
@@ -1,3 +1 @@
-# -*- encoding: utf-8 -*-
-
from . import test_base_external_dbsource
diff --git a/base_external_dbsource_mssql/tests/test_base_external_dbsource.py b/base_external_dbsource_mssql/tests/test_base_external_dbsource.py
index f8af87b2e..fcb6a3c60 100644
--- a/base_external_dbsource_mssql/tests/test_base_external_dbsource.py
+++ b/base_external_dbsource_mssql/tests/test_base_external_dbsource.py
@@ -1,4 +1,3 @@
-# -*- coding: utf-8 -*-
# Copyright 2016 LasLabs Inc.
import mock
From 7c1723cdcb856bfd7f96ecc788068ff46040663e Mon Sep 17 00:00:00 2001
From: Sergio Teruel
Date: Wed, 8 Jan 2020 10:40:38 +0100
Subject: [PATCH 03/15] [MIG] base_external_dbsource_mssql: Migration to v12.0
[UPD] Update base_external_dbsource_mssql.pot
---
base_external_dbsource_mssql/README.rst | 12 +++----
base_external_dbsource_mssql/__manifest__.py | 31 ++++++-------------
.../i18n/base_external_dbsource_mssql.pot | 2 +-
.../models/base_external_dbsource.py | 17 +++++-----
.../readme/CONTRIBUTORS.rst | 2 +-
.../readme/ROADMAP.rst | 2 +-
.../static/description/index.html | 16 +++++++---
.../tests/test_base_external_dbsource.py | 19 +++++-------
8 files changed, 46 insertions(+), 55 deletions(-)
diff --git a/base_external_dbsource_mssql/README.rst b/base_external_dbsource_mssql/README.rst
index b2cda6d5d..c4586fa00 100644
--- a/base_external_dbsource_mssql/README.rst
+++ b/base_external_dbsource_mssql/README.rst
@@ -14,13 +14,13 @@ External Database Source - MSSQL
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
:alt: License: LGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--backend-lightgray.png?logo=github
- :target: https://github.com/OCA/server-backend/tree/11.0/base_external_dbsource_mssql
+ :target: https://github.com/OCA/server-backend/tree/12.0/base_external_dbsource_mssql
:alt: OCA/server-backend
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
- :target: https://translation.odoo-community.org/projects/server-backend-11-0/server-backend-11-0-base_external_dbsource_mssql
+ :target: https://translation.odoo-community.org/projects/server-backend-12-0/server-backend-12-0-base_external_dbsource_mssql
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
- :target: https://runbot.odoo-community.org/runbot/253/11.0
+ :target: https://runbot.odoo-community.org/runbot/253/12.0
:alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5|
@@ -74,7 +74,7 @@ Bug Tracker
Bugs are tracked on `GitHub Issues `_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
-`feedback `_.
+`feedback `_.
Do not contact contributors directly about support or help with technical issues.
@@ -95,7 +95,7 @@ Contributors
* Gervais Naoussi
* Dave Lasley
* `Tecnativa `_:
- * Sergio Teruel
+ * Sergio Teruel
Maintainers
~~~~~~~~~~~
@@ -110,6 +110,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
-This module is part of the `OCA/server-backend `_ project on GitHub.
+This module is part of the `OCA/server-backend `_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/base_external_dbsource_mssql/__manifest__.py b/base_external_dbsource_mssql/__manifest__.py
index 4c6ae7262..1104d0604 100644
--- a/base_external_dbsource_mssql/__manifest__.py
+++ b/base_external_dbsource_mssql/__manifest__.py
@@ -2,25 +2,14 @@
# Copyright 2016 LasLabs Inc.
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl).
{
- 'name': 'External Database Source - MSSQL',
- 'version': '11.0.1.0.0',
- 'category': 'Tools',
- 'author': "Daniel Reis, "
- "LasLabs, "
- "Odoo Community Association (OCA)",
- 'website': 'https://github.com/OCA/server-backend',
- 'license': 'LGPL-3',
- 'depends': [
- 'base_external_dbsource_sqlite',
- ],
- 'external_dependencies': {
- 'python': [
- 'sqlalchemy',
- 'pymssql',
- ],
- },
- 'demo': [
- 'demo/base_external_dbsource.xml',
- ],
- 'installable': True,
+ "name": "External Database Source - MSSQL",
+ "version": "12.0.1.0.0",
+ "category": "Tools",
+ "author": "Daniel Reis, " "LasLabs, " "Odoo Community Association (OCA)",
+ "website": "https://github.com/OCA/server-backend",
+ "license": "LGPL-3",
+ "depends": ["base_external_dbsource_sqlite"],
+ "external_dependencies": {"python": ["sqlalchemy", "pymssql"]},
+ "demo": ["demo/base_external_dbsource.xml"],
+ "installable": True,
}
diff --git a/base_external_dbsource_mssql/i18n/base_external_dbsource_mssql.pot b/base_external_dbsource_mssql/i18n/base_external_dbsource_mssql.pot
index e37bb7940..9e07f689b 100644
--- a/base_external_dbsource_mssql/i18n/base_external_dbsource_mssql.pot
+++ b/base_external_dbsource_mssql/i18n/base_external_dbsource_mssql.pot
@@ -4,7 +4,7 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 11.0\n"
+"Project-Id-Version: Odoo Server 12.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: <>\n"
"Language-Team: \n"
diff --git a/base_external_dbsource_mssql/models/base_external_dbsource.py b/base_external_dbsource_mssql/models/base_external_dbsource.py
index bb1b671a9..180097f52 100644
--- a/base_external_dbsource_mssql/models/base_external_dbsource.py
+++ b/base_external_dbsource_mssql/models/base_external_dbsource.py
@@ -9,19 +9,20 @@
_logger = logging.getLogger(__name__)
try:
- from odoo.addons.base_external_dbsource.models import (
- base_external_dbsource,
- )
+ from odoo.addons.base_external_dbsource.models import base_external_dbsource
+
CONNECTORS = base_external_dbsource.BaseExternalDbsource.CONNECTORS
try:
import pymssql
- CONNECTORS.append(('mssql', 'Microsoft SQL Server'))
+
+ CONNECTORS.append(("mssql", "Microsoft SQL Server"))
assert pymssql
except (ImportError, AssertionError):
- _logger.info('MS SQL Server not available. Please install "pymssql" '
- 'python package.')
+ _logger.info(
+ 'MS SQL Server not available. Please install "pymssql" ' "python package."
+ )
except ImportError:
- _logger.info('base_external_dbsource Odoo module not found.')
+ _logger.info("base_external_dbsource Odoo module not found.")
class BaseExternalDbsource(models.Model):
@@ -29,7 +30,7 @@ class BaseExternalDbsource(models.Model):
_inherit = "base.external.dbsource"
- PWD_STRING_MSSQL = 'Password=%s;'
+ PWD_STRING_MSSQL = "Password=%s;"
@api.multi
def connection_close_mssql(self, connection):
diff --git a/base_external_dbsource_mssql/readme/CONTRIBUTORS.rst b/base_external_dbsource_mssql/readme/CONTRIBUTORS.rst
index d00499dbb..0d2405cf8 100644
--- a/base_external_dbsource_mssql/readme/CONTRIBUTORS.rst
+++ b/base_external_dbsource_mssql/readme/CONTRIBUTORS.rst
@@ -3,4 +3,4 @@
* Gervais Naoussi
* Dave Lasley
* `Tecnativa `_:
- * Sergio Teruel
+ * Sergio Teruel
diff --git a/base_external_dbsource_mssql/readme/ROADMAP.rst b/base_external_dbsource_mssql/readme/ROADMAP.rst
index fdddc7357..8b025883a 100644
--- a/base_external_dbsource_mssql/readme/ROADMAP.rst
+++ b/base_external_dbsource_mssql/readme/ROADMAP.rst
@@ -1 +1 @@
-* Add X.509 authentication
\ No newline at end of file
+* Add X.509 authentication
diff --git a/base_external_dbsource_mssql/static/description/index.html b/base_external_dbsource_mssql/static/description/index.html
index 0ef2f37ac..f44dae37b 100644
--- a/base_external_dbsource_mssql/static/description/index.html
+++ b/base_external_dbsource_mssql/static/description/index.html
@@ -367,7 +367,7 @@ External Database Source - MSSQL
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-
+
This module extends base_external_dbsource, allowing you to connect to
foreign MSSQL databases using SQLAlchemy.
Table of contents
@@ -426,7 +426,7 @@
Bugs are tracked on GitHub Issues.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
-feedback.
+feedback.
Do not contact contributors directly about support or help with technical issues.
@@ -456,7 +462,7 @@
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
-
This module is part of the OCA/server-backend project on GitHub.
+
This module is part of the OCA/server-backend project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/base_external_dbsource_mssql/tests/test_base_external_dbsource.py b/base_external_dbsource_mssql/tests/test_base_external_dbsource.py
index fcb6a3c60..240396d65 100644
--- a/base_external_dbsource_mssql/tests/test_base_external_dbsource.py
+++ b/base_external_dbsource_mssql/tests/test_base_external_dbsource.py
@@ -4,18 +4,15 @@
from odoo.tests import common
-
-ADAPTER = ('odoo.addons.base_external_dbsource_mssql.models'
- '.base_external_dbsource.pymssql')
+ADAPTER = (
+ "odoo.addons.base_external_dbsource_mssql.models" ".base_external_dbsource.pymssql"
+)
class TestBaseExternalDbsource(common.TransactionCase):
-
def setUp(self):
super(TestBaseExternalDbsource, self).setUp()
- self.dbsource = self.env.ref(
- 'base_external_dbsource_mssql.demo_mssql',
- )
+ self.dbsource = self.env.ref("base_external_dbsource_mssql.demo_mssql")
def test_connection_close_mssql(self):
""" It should close the connection """
@@ -26,16 +23,14 @@ def test_connection_close_mssql(self):
def test_connection_open_mssql(self):
""" It should call SQLAlchemy open """
with mock.patch.object(
- self.dbsource, '_connection_open_sqlalchemy'
+ self.dbsource, "_connection_open_sqlalchemy"
) as parent_method:
self.dbsource.connection_open_mssql()
parent_method.assert_called_once_with()
def test_excecute_mssql(self):
""" It should pass args to SQLAlchemy execute """
- expect = 'sqlquery', 'sqlparams', 'metadata'
- with mock.patch.object(
- self.dbsource, '_execute_sqlalchemy'
- ) as parent_method:
+ expect = "sqlquery", "sqlparams", "metadata"
+ with mock.patch.object(self.dbsource, "_execute_sqlalchemy") as parent_method:
self.dbsource.execute_mssql(*expect)
parent_method.assert_called_once_with(*expect)
From 3065b5c4382068268efba2b7fc05ddd9ebf219d3 Mon Sep 17 00:00:00 2001
From: Sergio Teruel
Date: Fri, 10 Jan 2020 10:32:08 +0100
Subject: [PATCH 04/15] [MIG] base_external_dbsource_mssql: Migration to v13.0
[UPD] Update base_external_dbsource_mssql.pot
---
base_external_dbsource_mssql/README.rst | 10 +++++-----
base_external_dbsource_mssql/__manifest__.py | 2 +-
.../demo/base_external_dbsource.xml | 6 ++++--
.../i18n/base_external_dbsource_mssql.pot | 7 +++----
.../models/base_external_dbsource.py | 5 +----
.../static/description/index.html | 6 +++---
6 files changed, 17 insertions(+), 19 deletions(-)
diff --git a/base_external_dbsource_mssql/README.rst b/base_external_dbsource_mssql/README.rst
index c4586fa00..b633360d7 100644
--- a/base_external_dbsource_mssql/README.rst
+++ b/base_external_dbsource_mssql/README.rst
@@ -14,13 +14,13 @@ External Database Source - MSSQL
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
:alt: License: LGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--backend-lightgray.png?logo=github
- :target: https://github.com/OCA/server-backend/tree/12.0/base_external_dbsource_mssql
+ :target: https://github.com/OCA/server-backend/tree/13.0/base_external_dbsource_mssql
:alt: OCA/server-backend
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
- :target: https://translation.odoo-community.org/projects/server-backend-12-0/server-backend-12-0-base_external_dbsource_mssql
+ :target: https://translation.odoo-community.org/projects/server-backend-13-0/server-backend-13-0-base_external_dbsource_mssql
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
- :target: https://runbot.odoo-community.org/runbot/253/12.0
+ :target: https://runbot.odoo-community.org/runbot/253/13.0
:alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5|
@@ -74,7 +74,7 @@ Bug Tracker
Bugs are tracked on `GitHub Issues `_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
-`feedback `_.
+`feedback `_.
Do not contact contributors directly about support or help with technical issues.
@@ -110,6 +110,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
-This module is part of the `OCA/server-backend `_ project on GitHub.
+This module is part of the `OCA/server-backend `_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/base_external_dbsource_mssql/__manifest__.py b/base_external_dbsource_mssql/__manifest__.py
index 1104d0604..3b49ce4e1 100644
--- a/base_external_dbsource_mssql/__manifest__.py
+++ b/base_external_dbsource_mssql/__manifest__.py
@@ -3,7 +3,7 @@
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl).
{
"name": "External Database Source - MSSQL",
- "version": "12.0.1.0.0",
+ "version": "13.0.1.0.0",
"category": "Tools",
"author": "Daniel Reis, " "LasLabs, " "Odoo Community Association (OCA)",
"website": "https://github.com/OCA/server-backend",
diff --git a/base_external_dbsource_mssql/demo/base_external_dbsource.xml b/base_external_dbsource_mssql/demo/base_external_dbsource.xml
index f30a392e5..f008b838d 100644
--- a/base_external_dbsource_mssql/demo/base_external_dbsource.xml
+++ b/base_external_dbsource_mssql/demo/base_external_dbsource.xml
@@ -1,8 +1,10 @@
-
+
MSSQL Demo
- Server=myServerAddress;Database=myDataBase;User Id=myUsername;
+ Server=myServerAddress;Database=myDataBase;User Id=myUsername;
password
mssql
diff --git a/base_external_dbsource_mssql/i18n/base_external_dbsource_mssql.pot b/base_external_dbsource_mssql/i18n/base_external_dbsource_mssql.pot
index 9e07f689b..571dc47b3 100644
--- a/base_external_dbsource_mssql/i18n/base_external_dbsource_mssql.pot
+++ b/base_external_dbsource_mssql/i18n/base_external_dbsource_mssql.pot
@@ -1,12 +1,12 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
-# * base_external_dbsource_mssql
+# * base_external_dbsource_mssql
#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 12.0\n"
+"Project-Id-Version: Odoo Server 13.0\n"
"Report-Msgid-Bugs-To: \n"
-"Last-Translator: <>\n"
+"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -17,4 +17,3 @@ msgstr ""
#: model:ir.model,name:base_external_dbsource_mssql.model_base_external_dbsource
msgid "External Database Sources"
msgstr ""
-
diff --git a/base_external_dbsource_mssql/models/base_external_dbsource.py b/base_external_dbsource_mssql/models/base_external_dbsource.py
index 180097f52..11332327d 100644
--- a/base_external_dbsource_mssql/models/base_external_dbsource.py
+++ b/base_external_dbsource_mssql/models/base_external_dbsource.py
@@ -4,7 +4,7 @@
import logging
-from odoo import api, models
+from odoo import models
_logger = logging.getLogger(__name__)
@@ -32,14 +32,11 @@ class BaseExternalDbsource(models.Model):
PWD_STRING_MSSQL = "Password=%s;"
- @api.multi
def connection_close_mssql(self, connection):
return connection.close()
- @api.multi
def connection_open_mssql(self):
return self._connection_open_sqlalchemy()
- @api.multi
def execute_mssql(self, sqlquery, sqlparams, metadata):
return self._execute_sqlalchemy(sqlquery, sqlparams, metadata)
diff --git a/base_external_dbsource_mssql/static/description/index.html b/base_external_dbsource_mssql/static/description/index.html
index f44dae37b..14b017db9 100644
--- a/base_external_dbsource_mssql/static/description/index.html
+++ b/base_external_dbsource_mssql/static/description/index.html
@@ -367,7 +367,7 @@ External Database Source - MSSQL
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-
+
This module extends base_external_dbsource, allowing you to connect to
foreign MSSQL databases using SQLAlchemy.
Table of contents
@@ -426,7 +426,7 @@
Bugs are tracked on GitHub Issues.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
-feedback.
+feedback.
Do not contact contributors directly about support or help with technical issues.
@@ -462,7 +462,7 @@
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
-
This module is part of the OCA/server-backend project on GitHub.
+
This module is part of the OCA/server-backend project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
From 2b06496836b4e3422170f32ef4ab41d57c9e344a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Mois=C3=A9s=20L=C3=B3pez=20-=20https=3A//www=2Evauxoo=2Eco?=
=?UTF-8?q?m/?=
Date: Tue, 15 Nov 2022 20:50:53 -0600
Subject: [PATCH 05/15] REF] requirements.txt: Use "pymssql<=2.2.5" to fix
"Failed building wheel for pymssql" (#196)
The new `pymssql==2.2.6` version released this weekend
-
requires extra setup to be installed
So, it is raising new errors where it is not setup
You can reproduce it running the following command:
docker run -it --rm python:3.6 pip3 install -q pymssql==2.2.6
`ERROR: Could not build wheels for pymssql...`
ERROR: Command errored out with exit status 1:
command: /usr/local/bin/python /usr/local/lib/python3.6/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /tmp/tmpmp6b33ly
cwd: /tmp/pip-install-p4ocn1ip/pymssql_01748f191a744758bda6f7d536f6ec35
Complete output (25 lines):
setup.py: platform.system() => Linux
setup.py: platform.architecture() => ('64bit', 'ELF')
setup.py: platform.libc_ver() => ('glibc', '2.2.5')
setup.py: include_dirs => []
setup.py: library_dirs => []
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.6
creating build/lib.linux-x86_64-3.6/pymssql
copying src/pymssql/__init__.py -> build/lib.linux-x86_64-3.6/pymssql
running build_ext
cythoning src/pymssql/_mssql.pyx to src/pymssql/_mssql.c
cythoning src/pymssql/_pymssql.pyx to src/pymssql/_pymssql.c
building 'pymssql._mssql' extension
creating build/temp.linux-x86_64-3.6
creating build/temp.linux-x86_64-3.6/src
creating build/temp.linux-x86_64-3.6/src/pymssql
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/usr/local/include/python3.6m -c src/pymssql/_mssql.c -o build/temp.linux-x86_64-3.6/src/pymssql/_mssql.o -DMSDBLIB
src/pymssql/_mssql.c:747:10: fatal error: sqlfront.h: No such file or directory
747 | #include "sqlfront.h"
| ^~~~~~~~~~~~
compilation terminated.
error: command 'gcc' failed with exit status 1
----------------------------------------
ERROR: Failed building wheel for pymssql
ERROR: Could not build wheels for pymssql which use PEP 517 and cannot be installed directly
WARNING: You are using pip version 21.2.4; however, version 21.3.1 is available.
You should consider upgrading via the '/usr/local/bin/python -m pip install --upgrade pip' command.
FAIL
However, using
docker run -it --rm python:3.6 pip3 install -q pymssql==2.2.5
It is installing well!
So, I have created this PR in order to fix all the error in the CI using this project and installing this package
---
base_external_dbsource_mssql/__manifest__.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/base_external_dbsource_mssql/__manifest__.py b/base_external_dbsource_mssql/__manifest__.py
index 3b49ce4e1..2e18a3e09 100644
--- a/base_external_dbsource_mssql/__manifest__.py
+++ b/base_external_dbsource_mssql/__manifest__.py
@@ -9,7 +9,7 @@
"website": "https://github.com/OCA/server-backend",
"license": "LGPL-3",
"depends": ["base_external_dbsource_sqlite"],
- "external_dependencies": {"python": ["sqlalchemy", "pymssql"]},
+ "external_dependencies": {"python": ["sqlalchemy", "pymssql<=2.2.5"]},
"demo": ["demo/base_external_dbsource.xml"],
"installable": True,
}
From 0000139214bb2f3a8ebe9091841699aa96b7a41e Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?=
Date: Fri, 18 Nov 2022 08:09:07 +0100
Subject: [PATCH 06/15] [IMP] base_external_dbsource_mssql: black, isort,
prettier
---
.../models/base_external_dbsource.py | 2 +-
.../tests/test_base_external_dbsource.py | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/base_external_dbsource_mssql/models/base_external_dbsource.py b/base_external_dbsource_mssql/models/base_external_dbsource.py
index 11332327d..9a538cc83 100644
--- a/base_external_dbsource_mssql/models/base_external_dbsource.py
+++ b/base_external_dbsource_mssql/models/base_external_dbsource.py
@@ -26,7 +26,7 @@
class BaseExternalDbsource(models.Model):
- """ It provides logic for connection to a MSSQL data source. """
+ """It provides logic for connection to a MSSQL data source."""
_inherit = "base.external.dbsource"
diff --git a/base_external_dbsource_mssql/tests/test_base_external_dbsource.py b/base_external_dbsource_mssql/tests/test_base_external_dbsource.py
index 240396d65..6d334ccc0 100644
--- a/base_external_dbsource_mssql/tests/test_base_external_dbsource.py
+++ b/base_external_dbsource_mssql/tests/test_base_external_dbsource.py
@@ -15,13 +15,13 @@ def setUp(self):
self.dbsource = self.env.ref("base_external_dbsource_mssql.demo_mssql")
def test_connection_close_mssql(self):
- """ It should close the connection """
+ """It should close the connection"""
connection = mock.MagicMock()
res = self.dbsource.connection_close_mssql(connection)
self.assertEqual(res, connection.close())
def test_connection_open_mssql(self):
- """ It should call SQLAlchemy open """
+ """It should call SQLAlchemy open"""
with mock.patch.object(
self.dbsource, "_connection_open_sqlalchemy"
) as parent_method:
@@ -29,7 +29,7 @@ def test_connection_open_mssql(self):
parent_method.assert_called_once_with()
def test_excecute_mssql(self):
- """ It should pass args to SQLAlchemy execute """
+ """It should pass args to SQLAlchemy execute"""
expect = "sqlquery", "sqlparams", "metadata"
with mock.patch.object(self.dbsource, "_execute_sqlalchemy") as parent_method:
self.dbsource.execute_mssql(*expect)
From 187fc538cbe48562819a27b46614b89978a6fefc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?V=C3=ADctor=20Mart=C3=ADnez?=
Date: Fri, 18 Nov 2022 08:10:32 +0100
Subject: [PATCH 07/15] [MIG] base_external_dbsource_mssql: Migration to 15.0
TT38357
---
base_external_dbsource_mssql/README.rst | 10 ++++-----
base_external_dbsource_mssql/__manifest__.py | 4 ++--
.../models/base_external_dbsource.py | 21 +++++--------------
.../static/description/index.html | 8 +++----
.../tests/test_base_external_dbsource.py | 8 ++++---
5 files changed, 21 insertions(+), 30 deletions(-)
diff --git a/base_external_dbsource_mssql/README.rst b/base_external_dbsource_mssql/README.rst
index b633360d7..d857e3940 100644
--- a/base_external_dbsource_mssql/README.rst
+++ b/base_external_dbsource_mssql/README.rst
@@ -14,13 +14,13 @@ External Database Source - MSSQL
:target: http://www.gnu.org/licenses/lgpl-3.0-standalone.html
:alt: License: LGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fserver--backend-lightgray.png?logo=github
- :target: https://github.com/OCA/server-backend/tree/13.0/base_external_dbsource_mssql
+ :target: https://github.com/OCA/server-backend/tree/15.0/base_external_dbsource_mssql
:alt: OCA/server-backend
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
- :target: https://translation.odoo-community.org/projects/server-backend-13-0/server-backend-13-0-base_external_dbsource_mssql
+ :target: https://translation.odoo-community.org/projects/server-backend-15-0/server-backend-15-0-base_external_dbsource_mssql
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
- :target: https://runbot.odoo-community.org/runbot/253/13.0
+ :target: https://runbot.odoo-community.org/runbot/253/15.0
:alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5|
@@ -74,7 +74,7 @@ Bug Tracker
Bugs are tracked on `GitHub Issues `_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
-`feedback `_.
+`feedback `_.
Do not contact contributors directly about support or help with technical issues.
@@ -110,6 +110,6 @@ OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
-This module is part of the `OCA/server-backend `_ project on GitHub.
+This module is part of the `OCA/server-backend `_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/base_external_dbsource_mssql/__manifest__.py b/base_external_dbsource_mssql/__manifest__.py
index 2e18a3e09..83b2e5ef9 100644
--- a/base_external_dbsource_mssql/__manifest__.py
+++ b/base_external_dbsource_mssql/__manifest__.py
@@ -3,13 +3,13 @@
# License LGPL-3.0 or later (https://www.gnu.org/licenses/lgpl).
{
"name": "External Database Source - MSSQL",
- "version": "13.0.1.0.0",
+ "version": "15.0.1.0.0",
"category": "Tools",
"author": "Daniel Reis, " "LasLabs, " "Odoo Community Association (OCA)",
"website": "https://github.com/OCA/server-backend",
"license": "LGPL-3",
"depends": ["base_external_dbsource_sqlite"],
- "external_dependencies": {"python": ["sqlalchemy", "pymssql<=2.2.5"]},
+ "external_dependencies": {"python": ["pymssql<=2.2.5"]},
"demo": ["demo/base_external_dbsource.xml"],
"installable": True,
}
diff --git a/base_external_dbsource_mssql/models/base_external_dbsource.py b/base_external_dbsource_mssql/models/base_external_dbsource.py
index 9a538cc83..b79c066f0 100644
--- a/base_external_dbsource_mssql/models/base_external_dbsource.py
+++ b/base_external_dbsource_mssql/models/base_external_dbsource.py
@@ -2,27 +2,16 @@
# Copyright 2016 LasLabs Inc.
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl.html).
-import logging
+import pymssql
from odoo import models
-_logger = logging.getLogger(__name__)
+from odoo.addons.base_external_dbsource.models import base_external_dbsource
-try:
- from odoo.addons.base_external_dbsource.models import base_external_dbsource
+CONNECTORS = base_external_dbsource.BaseExternalDbsource.CONNECTORS
+CONNECTORS.append(("mssql", "Microsoft SQL Server"))
- CONNECTORS = base_external_dbsource.BaseExternalDbsource.CONNECTORS
- try:
- import pymssql
-
- CONNECTORS.append(("mssql", "Microsoft SQL Server"))
- assert pymssql
- except (ImportError, AssertionError):
- _logger.info(
- 'MS SQL Server not available. Please install "pymssql" ' "python package."
- )
-except ImportError:
- _logger.info("base_external_dbsource Odoo module not found.")
+assert pymssql
class BaseExternalDbsource(models.Model):
diff --git a/base_external_dbsource_mssql/static/description/index.html b/base_external_dbsource_mssql/static/description/index.html
index 14b017db9..e93c009e9 100644
--- a/base_external_dbsource_mssql/static/description/index.html
+++ b/base_external_dbsource_mssql/static/description/index.html
@@ -3,7 +3,7 @@
-
+
External Database Source - MSSQL