From 5d441dad13bfe15e5898153ff750ce1e27a2debe Mon Sep 17 00:00:00 2001
From: Simone Orsi
Date: Fri, 24 Sep 2021 11:08:01 +0200
Subject: [PATCH 01/37] Add auth_api_key_group
---
auth_api_key_group/README.rst | 89 ++++
auth_api_key_group/__init__.py | 1 +
auth_api_key_group/__manifest__.py | 25 +
.../i18n/auth_api_key_group.pot | 88 ++++
auth_api_key_group/models/__init__.py | 2 +
auth_api_key_group/models/auth_api_key.py | 19 +
.../models/auth_api_key_group.py | 23 +
auth_api_key_group/readme/CONTRIBUTORS.rst | 1 +
auth_api_key_group/readme/DESCRIPTION.rst | 4 +
.../security/ir.model.access.csv | 2 +
.../static/description/icon.png | Bin 0 -> 9455 bytes
.../static/description/index.html | 429 ++++++++++++++++++
auth_api_key_group/tests/__init__.py | 1 +
.../tests/test_auth_api_key_group.py | 46 ++
.../views/auth_api_key_group_view.xml | 44 ++
.../views/auth_api_key_view.xml | 12 +
16 files changed, 786 insertions(+)
create mode 100644 auth_api_key_group/README.rst
create mode 100644 auth_api_key_group/__init__.py
create mode 100644 auth_api_key_group/__manifest__.py
create mode 100644 auth_api_key_group/i18n/auth_api_key_group.pot
create mode 100644 auth_api_key_group/models/__init__.py
create mode 100644 auth_api_key_group/models/auth_api_key.py
create mode 100644 auth_api_key_group/models/auth_api_key_group.py
create mode 100644 auth_api_key_group/readme/CONTRIBUTORS.rst
create mode 100644 auth_api_key_group/readme/DESCRIPTION.rst
create mode 100644 auth_api_key_group/security/ir.model.access.csv
create mode 100644 auth_api_key_group/static/description/icon.png
create mode 100644 auth_api_key_group/static/description/index.html
create mode 100644 auth_api_key_group/tests/__init__.py
create mode 100644 auth_api_key_group/tests/test_auth_api_key_group.py
create mode 100644 auth_api_key_group/views/auth_api_key_group_view.xml
create mode 100644 auth_api_key_group/views/auth_api_key_view.xml
diff --git a/auth_api_key_group/README.rst b/auth_api_key_group/README.rst
new file mode 100644
index 0000000000..a2d8c22c6a
--- /dev/null
+++ b/auth_api_key_group/README.rst
@@ -0,0 +1,89 @@
+==================
+Auth API key group
+==================
+
+.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ !! This file is generated by oca-gen-addon-readme !!
+ !! changes will be overwritten. !!
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+
+.. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png
+ :target: https://odoo-community.org/page/development-status
+ :alt: Alpha
+.. |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--auth-lightgray.png?logo=github
+ :target: https://github.com/OCA/server-auth/tree/14.0/auth_api_key_group
+ :alt: OCA/server-auth
+.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
+ :target: https://translation.odoo-community.org/projects/server-auth-14-0/server-auth-14-0-auth_api_key_group
+ :alt: Translate me on Weblate
+.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
+ :target: https://runbot.odoo-community.org/runbot/251/14.0
+ :alt: Try me on Runbot
+
+|badge1| |badge2| |badge3| |badge4| |badge5|
+
+Allow grouping API keys together.
+
+Grouping per se does nothing. This feature is supposed to be used by other modules
+to limit access to services or records based on groups of keys.
+
+.. IMPORTANT::
+ This is an alpha version, the data model and design can change at any time without warning.
+ Only for development or testing purpose, do not use in production.
+ `More details on development status `_
+
+**Table of contents**
+
+.. contents::
+ :local:
+
+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 `_.
+
+Do not contact contributors directly about support or help with technical issues.
+
+Credits
+=======
+
+Authors
+~~~~~~~
+
+* Camptcamp
+
+Contributors
+~~~~~~~~~~~~
+
+* Simone Orsi
+
+Maintainers
+~~~~~~~~~~~
+
+This module is maintained by the OCA.
+
+.. image:: https://odoo-community.org/logo.png
+ :alt: Odoo Community Association
+ :target: https://odoo-community.org
+
+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.
+
+.. |maintainer-simahawk| image:: https://github.com/simahawk.png?size=40px
+ :target: https://github.com/simahawk
+ :alt: simahawk
+
+Current `maintainer `__:
+
+|maintainer-simahawk|
+
+This module is part of the `OCA/server-auth `_ project on GitHub.
+
+You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/auth_api_key_group/__init__.py b/auth_api_key_group/__init__.py
new file mode 100644
index 0000000000..0650744f6b
--- /dev/null
+++ b/auth_api_key_group/__init__.py
@@ -0,0 +1 @@
+from . import models
diff --git a/auth_api_key_group/__manifest__.py b/auth_api_key_group/__manifest__.py
new file mode 100644
index 0000000000..7def149530
--- /dev/null
+++ b/auth_api_key_group/__manifest__.py
@@ -0,0 +1,25 @@
+# Copyright 2021 Camptcamp SA
+# @author: Simone Orsi
+# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
+
+{
+ "name": "Auth API key group",
+ "summary": """
+Allow grouping API keys together.
+
+Grouping per se does nothing. This feature is supposed to be used by other modules
+to limit access to services or records based on groups of keys.
+ """,
+ "version": "14.0.1.0.1",
+ "development_status": "Alpha",
+ "license": "LGPL-3",
+ "website": "https://github.com/OCA/server-auth",
+ "author": "Camptcamp,Odoo Community Association (OCA)",
+ "maintainers": ["simahawk"],
+ "depends": ["auth_api_key"],
+ "data": [
+ "security/ir.model.access.csv",
+ "views/auth_api_key_view.xml",
+ "views/auth_api_key_group_view.xml",
+ ],
+}
diff --git a/auth_api_key_group/i18n/auth_api_key_group.pot b/auth_api_key_group/i18n/auth_api_key_group.pot
new file mode 100644
index 0000000000..60028aefa3
--- /dev/null
+++ b/auth_api_key_group/i18n/auth_api_key_group.pot
@@ -0,0 +1,88 @@
+# Translation of Odoo Server.
+# This file contains the translation of the following modules:
+# * auth_api_key_group
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: Odoo Server 14.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: auth_api_key_group
+#: model:ir.model,name:auth_api_key_group.model_auth_api_key
+msgid "API Key"
+msgstr ""
+
+#. module: auth_api_key_group
+#: model:ir.model,name:auth_api_key_group.model_auth_api_key_group
+msgid "API Key auth group"
+msgstr ""
+
+#. module: auth_api_key_group
+#: model:ir.model.fields,field_description:auth_api_key_group.field_auth_api_key_group__auth_api_key_ids
+msgid "API Keys"
+msgstr ""
+
+#. module: auth_api_key_group
+#: model:ir.actions.act_window,name:auth_api_key_group.auth_api_key_group_act_window
+#: model:ir.ui.menu,name:auth_api_key_group.auth_api_key_group_menu
+msgid "Auth Api Key Groups"
+msgstr ""
+
+#. module: auth_api_key_group
+#: model:ir.model.fields,field_description:auth_api_key_group.field_auth_api_key__auth_api_key_group_ids
+msgid "Auth Groups"
+msgstr ""
+
+#. module: auth_api_key_group
+#: model:ir.model.fields,field_description:auth_api_key_group.field_auth_api_key_group__code
+msgid "Code"
+msgstr ""
+
+#. module: auth_api_key_group
+#: model:ir.model.fields,field_description:auth_api_key_group.field_auth_api_key_group__create_uid
+msgid "Created by"
+msgstr ""
+
+#. module: auth_api_key_group
+#: model:ir.model.fields,field_description:auth_api_key_group.field_auth_api_key_group__create_date
+msgid "Created on"
+msgstr ""
+
+#. module: auth_api_key_group
+#: model:ir.model.fields,field_description:auth_api_key_group.field_auth_api_key__display_name
+#: model:ir.model.fields,field_description:auth_api_key_group.field_auth_api_key_group__display_name
+msgid "Display Name"
+msgstr ""
+
+#. module: auth_api_key_group
+#: model:ir.model.fields,field_description:auth_api_key_group.field_auth_api_key__id
+#: model:ir.model.fields,field_description:auth_api_key_group.field_auth_api_key_group__id
+msgid "ID"
+msgstr ""
+
+#. module: auth_api_key_group
+#: model:ir.model.fields,field_description:auth_api_key_group.field_auth_api_key____last_update
+#: model:ir.model.fields,field_description:auth_api_key_group.field_auth_api_key_group____last_update
+msgid "Last Modified on"
+msgstr ""
+
+#. module: auth_api_key_group
+#: model:ir.model.fields,field_description:auth_api_key_group.field_auth_api_key_group__write_uid
+msgid "Last Updated by"
+msgstr ""
+
+#. module: auth_api_key_group
+#: model:ir.model.fields,field_description:auth_api_key_group.field_auth_api_key_group__write_date
+msgid "Last Updated on"
+msgstr ""
+
+#. module: auth_api_key_group
+#: model:ir.model.fields,field_description:auth_api_key_group.field_auth_api_key_group__name
+msgid "Name"
+msgstr ""
diff --git a/auth_api_key_group/models/__init__.py b/auth_api_key_group/models/__init__.py
new file mode 100644
index 0000000000..4f2457794f
--- /dev/null
+++ b/auth_api_key_group/models/__init__.py
@@ -0,0 +1,2 @@
+from . import auth_api_key
+from . import auth_api_key_group
diff --git a/auth_api_key_group/models/auth_api_key.py b/auth_api_key_group/models/auth_api_key.py
new file mode 100644
index 0000000000..661e3c1a41
--- /dev/null
+++ b/auth_api_key_group/models/auth_api_key.py
@@ -0,0 +1,19 @@
+# Copyright 2021 Camptcamp SA
+# @author: Simone Orsi
+# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
+
+
+from odoo import fields, models
+
+
+class AuthApiKey(models.Model):
+
+ _inherit = "auth.api.key"
+
+ auth_api_key_group_ids = fields.Many2many(
+ comodel_name="auth.api.key.group",
+ relation="auth_api_key_group_rel",
+ column1="key_id",
+ column2="group_id",
+ string="Auth Groups",
+ )
diff --git a/auth_api_key_group/models/auth_api_key_group.py b/auth_api_key_group/models/auth_api_key_group.py
new file mode 100644
index 0000000000..28f34f5e85
--- /dev/null
+++ b/auth_api_key_group/models/auth_api_key_group.py
@@ -0,0 +1,23 @@
+# Copyright 2021 Camptcamp SA
+# @author: Simone Orsi
+# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
+
+
+from odoo import fields, models
+
+
+class AuthApiKeyGroup(models.Model):
+ """Group API keys together."""
+
+ _name = "auth.api.key.group"
+ _description = "API Key auth group"
+
+ name = fields.Char(required=True)
+ code = fields.Char(required=True)
+ auth_api_key_ids = fields.Many2many(
+ comodel_name="auth.api.key",
+ relation="auth_api_key_group_rel",
+ column1="group_id",
+ column2="key_id",
+ string="API Keys",
+ )
diff --git a/auth_api_key_group/readme/CONTRIBUTORS.rst b/auth_api_key_group/readme/CONTRIBUTORS.rst
new file mode 100644
index 0000000000..f1c71bce18
--- /dev/null
+++ b/auth_api_key_group/readme/CONTRIBUTORS.rst
@@ -0,0 +1 @@
+* Simone Orsi
diff --git a/auth_api_key_group/readme/DESCRIPTION.rst b/auth_api_key_group/readme/DESCRIPTION.rst
new file mode 100644
index 0000000000..1becef6070
--- /dev/null
+++ b/auth_api_key_group/readme/DESCRIPTION.rst
@@ -0,0 +1,4 @@
+Allow grouping API keys together.
+
+Grouping per se does nothing. This feature is supposed to be used by other modules
+to limit access to services or records based on groups of keys.
diff --git a/auth_api_key_group/security/ir.model.access.csv b/auth_api_key_group/security/ir.model.access.csv
new file mode 100644
index 0000000000..d245cf24cf
--- /dev/null
+++ b/auth_api_key_group/security/ir.model.access.csv
@@ -0,0 +1,2 @@
+id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
+access_auth_api_key_group,access_auth_api_key_group,model_auth_api_key_group,base.group_system,1,1,1,1
diff --git a/auth_api_key_group/static/description/icon.png b/auth_api_key_group/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/auth_api_key_group/static/description/index.html b/auth_api_key_group/static/description/index.html
new file mode 100644
index 0000000000..17fb24a6ee
--- /dev/null
+++ b/auth_api_key_group/static/description/index.html
@@ -0,0 +1,429 @@
+
+
+
+
+
+
+Auth API key group
+
+
+
+
+
Auth API key group
+
+
+
+
Allow grouping API keys together.
+
Grouping per se does nothing. This feature is supposed to be used by other modules
+to limit access to services or records based on groups of keys.
+
+
Important
+
This is an alpha version, the data model and design can change at any time without warning.
+Only for development or testing purpose, do not use in production.
+More details on development status
+
+
Table of contents
+
+
+
+
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.
+
Current maintainer:
+
+
This module is part of the OCA/server-auth project on GitHub.
+
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
+
+
+
+
+
diff --git a/auth_api_key_group/tests/__init__.py b/auth_api_key_group/tests/__init__.py
new file mode 100644
index 0000000000..f831d70c99
--- /dev/null
+++ b/auth_api_key_group/tests/__init__.py
@@ -0,0 +1 @@
+from . import test_auth_api_key_group
diff --git a/auth_api_key_group/tests/test_auth_api_key_group.py b/auth_api_key_group/tests/test_auth_api_key_group.py
new file mode 100644
index 0000000000..bd39230f65
--- /dev/null
+++ b/auth_api_key_group/tests/test_auth_api_key_group.py
@@ -0,0 +1,46 @@
+# Copyright 2021 Camptcamp SA
+# @author: Simone Orsi
+# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
+
+
+from odoo.tests.common import SavepointCase
+
+
+class TestAuthApiKey(SavepointCase):
+ @classmethod
+ def setUpClass(cls, *args, **kwargs):
+ super().setUpClass(*args, **kwargs)
+ cls.AuthApiKey = cls.env["auth.api.key"]
+ cls.AuthApiKeyGroup = cls.env["auth.api.key.group"]
+ cls.demo_user = cls.env.ref("base.user_demo")
+ cls.api_key1 = cls.AuthApiKey.create(
+ {"name": "One", "user_id": cls.demo_user.id, "key": "one"}
+ )
+ cls.api_key2 = cls.AuthApiKey.create(
+ {"name": "Two", "user_id": cls.demo_user.id, "key": "two"}
+ )
+ cls.api_key3 = cls.AuthApiKey.create(
+ {"name": "Three", "user_id": cls.demo_user.id, "key": "three"}
+ )
+ cls.api_key_group1 = cls.AuthApiKeyGroup.create(
+ {
+ "name": "G One",
+ "code": "g-one",
+ "auth_api_key_ids": [(6, 0, (cls.api_key1 + cls.api_key2).ids)],
+ }
+ )
+ cls.api_key_group2 = cls.AuthApiKeyGroup.create(
+ {
+ "name": "G Two",
+ "code": "g-two",
+ "auth_api_key_ids": [(6, 0, cls.api_key3.ids)],
+ }
+ )
+
+ def test_relations(self):
+ self.assertIn(self.api_key_group1, self.api_key1.auth_api_key_group_ids)
+ self.assertIn(self.api_key_group1, self.api_key2.auth_api_key_group_ids)
+ self.assertNotIn(self.api_key_group1, self.api_key3.auth_api_key_group_ids)
+ self.assertIn(self.api_key_group2, self.api_key3.auth_api_key_group_ids)
+ self.assertNotIn(self.api_key_group2, self.api_key1.auth_api_key_group_ids)
+ self.assertNotIn(self.api_key_group2, self.api_key1.auth_api_key_group_ids)
diff --git a/auth_api_key_group/views/auth_api_key_group_view.xml b/auth_api_key_group/views/auth_api_key_group_view.xml
new file mode 100644
index 0000000000..267284d851
--- /dev/null
+++ b/auth_api_key_group/views/auth_api_key_group_view.xml
@@ -0,0 +1,44 @@
+
+
+
+ auth.api.key.group.form (in auth_api_key_group)
+ auth.api.key.group
+
+
+
+
+
+ auth.api.key.group.tree (in auth_api_key_group)
+ auth.api.key.group
+
+
+
+
+
+
+
+
+ Auth Api Key Groups
+ auth.api.key.group
+ tree,form
+ []
+ {}
+
+
+
diff --git a/auth_api_key_group/views/auth_api_key_view.xml b/auth_api_key_group/views/auth_api_key_view.xml
new file mode 100644
index 0000000000..a7c7192f29
--- /dev/null
+++ b/auth_api_key_group/views/auth_api_key_view.xml
@@ -0,0 +1,12 @@
+
+
+
+ auth.api.key
+
+
+
+
+
+
+
+
From 2437e0f9bda3bfb24e15c9a782e987d5d793f96c Mon Sep 17 00:00:00 2001
From: Maksym Yankin
Date: Tue, 30 Nov 2021 18:48:48 +0200
Subject: [PATCH 02/37] [MIG] auth_api_key_group: Migration to 15.0
---
auth_api_key_group/README.rst | 10 +++++-----
auth_api_key_group/__manifest__.py | 2 +-
auth_api_key_group/i18n/auth_api_key_group.pot | 5 +----
auth_api_key_group/static/description/index.html | 6 +++---
auth_api_key_group/tests/test_auth_api_key_group.py | 4 ++--
5 files changed, 12 insertions(+), 15 deletions(-)
diff --git a/auth_api_key_group/README.rst b/auth_api_key_group/README.rst
index a2d8c22c6a..2d0181b8ab 100644
--- a/auth_api_key_group/README.rst
+++ b/auth_api_key_group/README.rst
@@ -14,13 +14,13 @@ Auth API key group
: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--auth-lightgray.png?logo=github
- :target: https://github.com/OCA/server-auth/tree/14.0/auth_api_key_group
+ :target: https://github.com/OCA/server-auth/tree/15.0/auth_api_key_group
:alt: OCA/server-auth
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
- :target: https://translation.odoo-community.org/projects/server-auth-14-0/server-auth-14-0-auth_api_key_group
+ :target: https://translation.odoo-community.org/projects/server-auth-15-0/server-auth-15-0-auth_api_key_group
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
- :target: https://runbot.odoo-community.org/runbot/251/14.0
+ :target: https://runbot.odoo-community.org/runbot/251/15.0
:alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5|
@@ -46,7 +46,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.
@@ -84,6 +84,6 @@ Current `maintainer `__:
|maintainer-simahawk|
-This module is part of the `OCA/server-auth `_ project on GitHub.
+This module is part of the `OCA/server-auth `_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/auth_api_key_group/__manifest__.py b/auth_api_key_group/__manifest__.py
index 7def149530..97df614ef3 100644
--- a/auth_api_key_group/__manifest__.py
+++ b/auth_api_key_group/__manifest__.py
@@ -10,7 +10,7 @@
Grouping per se does nothing. This feature is supposed to be used by other modules
to limit access to services or records based on groups of keys.
""",
- "version": "14.0.1.0.1",
+ "version": "15.0.1.0.0",
"development_status": "Alpha",
"license": "LGPL-3",
"website": "https://github.com/OCA/server-auth",
diff --git a/auth_api_key_group/i18n/auth_api_key_group.pot b/auth_api_key_group/i18n/auth_api_key_group.pot
index 60028aefa3..05a8812a79 100644
--- a/auth_api_key_group/i18n/auth_api_key_group.pot
+++ b/auth_api_key_group/i18n/auth_api_key_group.pot
@@ -4,7 +4,7 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 14.0\n"
+"Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -55,19 +55,16 @@ msgid "Created on"
msgstr ""
#. module: auth_api_key_group
-#: model:ir.model.fields,field_description:auth_api_key_group.field_auth_api_key__display_name
#: model:ir.model.fields,field_description:auth_api_key_group.field_auth_api_key_group__display_name
msgid "Display Name"
msgstr ""
#. module: auth_api_key_group
-#: model:ir.model.fields,field_description:auth_api_key_group.field_auth_api_key__id
#: model:ir.model.fields,field_description:auth_api_key_group.field_auth_api_key_group__id
msgid "ID"
msgstr ""
#. module: auth_api_key_group
-#: model:ir.model.fields,field_description:auth_api_key_group.field_auth_api_key____last_update
#: model:ir.model.fields,field_description:auth_api_key_group.field_auth_api_key_group____last_update
msgid "Last Modified on"
msgstr ""
diff --git a/auth_api_key_group/static/description/index.html b/auth_api_key_group/static/description/index.html
index 17fb24a6ee..937b94ec67 100644
--- a/auth_api_key_group/static/description/index.html
+++ b/auth_api_key_group/static/description/index.html
@@ -367,7 +367,7 @@ Auth API key group
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-
+
Allow grouping API keys together.
Grouping per se does nothing. This feature is supposed to be used by other modules
to limit access to services or records based on groups of keys.
@@ -394,7 +394,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.
diff --git a/auth_api_key_group/tests/test_auth_api_key_group.py b/auth_api_key_group/tests/test_auth_api_key_group.py
index bd39230f65..75581bbf16 100644
--- a/auth_api_key_group/tests/test_auth_api_key_group.py
+++ b/auth_api_key_group/tests/test_auth_api_key_group.py
@@ -3,10 +3,10 @@
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
-from odoo.tests.common import SavepointCase
+from odoo.tests.common import TransactionCase
-class TestAuthApiKey(SavepointCase):
+class TestAuthApiKey(TransactionCase):
@classmethod
def setUpClass(cls, *args, **kwargs):
super().setUpClass(*args, **kwargs)
From df6acf89ecb7155bade4a3cd23b1668711679014 Mon Sep 17 00:00:00 2001
From: sbejaoui
Date: Tue, 1 Aug 2023 21:38:34 +0200
Subject: [PATCH 03/37] [16.0][MIG] - auth_api_key_group
---
auth_api_key_group/__manifest__.py | 3 +--
auth_api_key_group/i18n/auth_api_key_group.pot | 2 +-
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/auth_api_key_group/__manifest__.py b/auth_api_key_group/__manifest__.py
index 97df614ef3..8ac634aad9 100644
--- a/auth_api_key_group/__manifest__.py
+++ b/auth_api_key_group/__manifest__.py
@@ -10,8 +10,7 @@
Grouping per se does nothing. This feature is supposed to be used by other modules
to limit access to services or records based on groups of keys.
""",
- "version": "15.0.1.0.0",
- "development_status": "Alpha",
+ "version": "16.0.1.0.0",
"license": "LGPL-3",
"website": "https://github.com/OCA/server-auth",
"author": "Camptcamp,Odoo Community Association (OCA)",
diff --git a/auth_api_key_group/i18n/auth_api_key_group.pot b/auth_api_key_group/i18n/auth_api_key_group.pot
index 05a8812a79..2aff7a6ef4 100644
--- a/auth_api_key_group/i18n/auth_api_key_group.pot
+++ b/auth_api_key_group/i18n/auth_api_key_group.pot
@@ -4,7 +4,7 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 15.0\n"
+"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
From 376e092fab2a31aca52c4d4866b9ab210d7f8b59 Mon Sep 17 00:00:00 2001
From: OCA-git-bot
Date: Fri, 22 Mar 2024 19:56:33 +0000
Subject: [PATCH 04/37] [BOT] post-merge updates
---
auth_api_key_group/README.rst | 32 +++++++------
.../static/description/index.html | 45 +++++++++----------
2 files changed, 35 insertions(+), 42 deletions(-)
diff --git a/auth_api_key_group/README.rst b/auth_api_key_group/README.rst
index 2d0181b8ab..ed4520bd51 100644
--- a/auth_api_key_group/README.rst
+++ b/auth_api_key_group/README.rst
@@ -2,39 +2,37 @@
Auth API key group
==================
-.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+..
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ !! source digest: sha256:e231a34a3fe2c3a2a8c78305131ba9e90af3725f3cf0b0878d313439f511f6fe
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-.. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png
+.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
- :alt: Alpha
+ :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--auth-lightgray.png?logo=github
- :target: https://github.com/OCA/server-auth/tree/15.0/auth_api_key_group
+ :target: https://github.com/OCA/server-auth/tree/16.0/auth_api_key_group
:alt: OCA/server-auth
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
- :target: https://translation.odoo-community.org/projects/server-auth-15-0/server-auth-15-0-auth_api_key_group
+ :target: https://translation.odoo-community.org/projects/server-auth-16-0/server-auth-16-0-auth_api_key_group
:alt: Translate me on Weblate
-.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
- :target: https://runbot.odoo-community.org/runbot/251/15.0
- :alt: Try me on Runbot
+.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
+ :target: https://runboat.odoo-community.org/builds?repo=OCA/server-auth&target_branch=16.0
+ :alt: Try me on Runboat
-|badge1| |badge2| |badge3| |badge4| |badge5|
+|badge1| |badge2| |badge3| |badge4| |badge5|
Allow grouping API keys together.
Grouping per se does nothing. This feature is supposed to be used by other modules
to limit access to services or records based on groups of keys.
-.. IMPORTANT::
- This is an alpha version, the data model and design can change at any time without warning.
- Only for development or testing purpose, do not use in production.
- `More details on development status `_
-
**Table of contents**
.. contents::
@@ -45,8 +43,8 @@ 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 `_.
+If you spotted it first, help us to smash it by providing a detailed and welcomed
+`feedback `_.
Do not contact contributors directly about support or help with technical issues.
@@ -84,6 +82,6 @@ Current `maintainer `__:
|maintainer-simahawk|
-This module is part of the `OCA/server-auth `_ project on GitHub.
+This module is part of the `OCA/server-auth `_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/auth_api_key_group/static/description/index.html b/auth_api_key_group/static/description/index.html
index 937b94ec67..2a52d4df14 100644
--- a/auth_api_key_group/static/description/index.html
+++ b/auth_api_key_group/static/description/index.html
@@ -1,20 +1,19 @@
-
-
+
Auth API key group
+
+
+
+
Auth API key server environment
+
+
+
+
Configure api keys via server env.
+
This can be very useful to avoid mixing your keys between your various
+environments when restoring databases. All you have to do is to add a new
+section to your configuration file according to the following convention:
+
+[api_key_<Record Name>]
+key=my_api_key
+
+
+
Important
+
This is an alpha version, the data model and design can change at any time without warning.
+Only for development or testing purpose, do not use in production.
+More details on development status
+
+
Table of contents
+
+
+
+
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-auth project on GitHub.
+
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
+
+
+
+
+
diff --git a/auth_api_key_server_env/tests/__init__.py b/auth_api_key_server_env/tests/__init__.py
new file mode 100644
index 0000000000..56e3e32a3a
--- /dev/null
+++ b/auth_api_key_server_env/tests/__init__.py
@@ -0,0 +1 @@
+from . import test_auth_api_key
diff --git a/auth_api_key_server_env/tests/test_auth_api_key.py b/auth_api_key_server_env/tests/test_auth_api_key.py
new file mode 100644
index 0000000000..e533c0a993
--- /dev/null
+++ b/auth_api_key_server_env/tests/test_auth_api_key.py
@@ -0,0 +1,32 @@
+# Copyright 2018 ACSONE SA/NV
+# Copyright 2021 Camptocamp SA
+# @author: Simone Orsi
+# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
+from odoo.exceptions import ValidationError
+from odoo.tests.common import SavepointCase
+
+from odoo.addons.server_environment import serv_config
+
+
+class TestAuthApiKey(SavepointCase):
+ @classmethod
+ def setUpClass(cls, *args, **kwargs):
+ super().setUpClass(*args, **kwargs)
+ cls.AuthApiKey = cls.env["auth.api.key"]
+ cls.demo_user = cls.env.ref("base.user_demo")
+ cls.api_key_from_env = cls.AuthApiKey.create(
+ {"name": "from_env", "key": "dummy", "user_id": cls.demo_user.id}
+ )
+ cls.api_key_from_env.refresh()
+ serv_config.add_section("api_key_from_env")
+ serv_config.set("api_key_from_env", "key", "api_key_from_env")
+
+ def test_lookup_key_from_env(self):
+ self.assertEqual(
+ self.env["auth.api.key"]._retrieve_uid_from_api_key("api_key_from_env"),
+ self.demo_user.id,
+ )
+ with self.assertRaises(ValidationError):
+ # dummy key must be replace with the one from env and
+ # therefore should be unusable
+ self.env["auth.api.key"]._retrieve_uid_from_api_key("dummy")
From 74595f221cee6c292566446260eccd988b347b3a Mon Sep 17 00:00:00 2001
From: OCA-git-bot
Date: Mon, 27 Sep 2021 08:24:46 +0000
Subject: [PATCH 17/37] [ADD] icon.png
---
.../static/description/icon.png | Bin 0 -> 9455 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 auth_api_key_server_env/static/description/icon.png
diff --git a/auth_api_key_server_env/static/description/icon.png b/auth_api_key_server_env/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
From 3a839aeec534e9ff3a83de1b173ee9341d1a8e99 Mon Sep 17 00:00:00 2001
From: OCA-git-bot
Date: Mon, 27 Sep 2021 08:24:46 +0000
Subject: [PATCH 18/37] auth_api_key_server_env 14.0.1.0.1
---
auth_api_key_server_env/__manifest__.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/auth_api_key_server_env/__manifest__.py b/auth_api_key_server_env/__manifest__.py
index df51a909ce..3e7c7f029c 100644
--- a/auth_api_key_server_env/__manifest__.py
+++ b/auth_api_key_server_env/__manifest__.py
@@ -11,7 +11,7 @@
environments when restoring databases. All you have to do is to add a new
section to your configuration file according to the following convention:
""",
- "version": "14.0.1.0.0",
+ "version": "14.0.1.0.1",
"development_status": "Alpha",
"license": "LGPL-3",
"website": "https://github.com/OCA/server-auth",
From c074c06be42902c22364bc4ef04a2d7d10213478 Mon Sep 17 00:00:00 2001
From: Maksym Yankin
Date: Fri, 26 Nov 2021 18:21:08 +0200
Subject: [PATCH 19/37] [MIG] auth_api_key_server_env: Migration to 15.0
---
auth_api_key_server_env/README.rst | 10 +++++-----
auth_api_key_server_env/__manifest__.py | 2 +-
.../i18n/auth_api_key_server_env.pot | 2 +-
auth_api_key_server_env/static/description/index.html | 6 +++---
auth_api_key_server_env/tests/test_auth_api_key.py | 4 ++--
5 files changed, 12 insertions(+), 12 deletions(-)
diff --git a/auth_api_key_server_env/README.rst b/auth_api_key_server_env/README.rst
index ae726190fa..605a2b9d90 100644
--- a/auth_api_key_server_env/README.rst
+++ b/auth_api_key_server_env/README.rst
@@ -14,13 +14,13 @@ Auth API key server environment
: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--auth-lightgray.png?logo=github
- :target: https://github.com/OCA/server-auth/tree/14.0/auth_api_key_server_env
+ :target: https://github.com/OCA/server-auth/tree/15.0/auth_api_key_server_env
:alt: OCA/server-auth
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
- :target: https://translation.odoo-community.org/projects/server-auth-14-0/server-auth-14-0-auth_api_key_server_env
+ :target: https://translation.odoo-community.org/projects/server-auth-15-0/server-auth-15-0-auth_api_key_server_env
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
- :target: https://runbot.odoo-community.org/runbot/251/14.0
+ :target: https://runbot.odoo-community.org/runbot/251/15.0
:alt: Try me on Runbot
|badge1| |badge2| |badge3| |badge4| |badge5|
@@ -52,7 +52,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.
@@ -82,6 +82,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-auth `_ project on GitHub.
+This module is part of the `OCA/server-auth `_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/auth_api_key_server_env/__manifest__.py b/auth_api_key_server_env/__manifest__.py
index 3e7c7f029c..fc221d6197 100644
--- a/auth_api_key_server_env/__manifest__.py
+++ b/auth_api_key_server_env/__manifest__.py
@@ -11,7 +11,7 @@
environments when restoring databases. All you have to do is to add a new
section to your configuration file according to the following convention:
""",
- "version": "14.0.1.0.1",
+ "version": "15.0.1.0.0",
"development_status": "Alpha",
"license": "LGPL-3",
"website": "https://github.com/OCA/server-auth",
diff --git a/auth_api_key_server_env/i18n/auth_api_key_server_env.pot b/auth_api_key_server_env/i18n/auth_api_key_server_env.pot
index 8165ada556..a079a8c7f9 100644
--- a/auth_api_key_server_env/i18n/auth_api_key_server_env.pot
+++ b/auth_api_key_server_env/i18n/auth_api_key_server_env.pot
@@ -4,7 +4,7 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 14.0\n"
+"Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
diff --git a/auth_api_key_server_env/static/description/index.html b/auth_api_key_server_env/static/description/index.html
index b7eb6a720a..843968400c 100644
--- a/auth_api_key_server_env/static/description/index.html
+++ b/auth_api_key_server_env/static/description/index.html
@@ -367,7 +367,7 @@ Auth API key server environment
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
-
+
Configure api keys via server env.
This can be very useful to avoid mixing your keys between your various
environments when restoring databases. All you have to do is to add a new
@@ -399,7 +399,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.
@@ -423,7 +423,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-auth project on GitHub.
+
This module is part of the OCA/server-auth project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/auth_api_key_server_env/tests/test_auth_api_key.py b/auth_api_key_server_env/tests/test_auth_api_key.py
index e533c0a993..4121cc3a5f 100644
--- a/auth_api_key_server_env/tests/test_auth_api_key.py
+++ b/auth_api_key_server_env/tests/test_auth_api_key.py
@@ -3,12 +3,12 @@
# @author: Simone Orsi
# License LGPL-3.0 or later (http://www.gnu.org/licenses/lgpl).
from odoo.exceptions import ValidationError
-from odoo.tests.common import SavepointCase
+from odoo.tests.common import TransactionCase
from odoo.addons.server_environment import serv_config
-class TestAuthApiKey(SavepointCase):
+class TestAuthApiKey(TransactionCase):
@classmethod
def setUpClass(cls, *args, **kwargs):
super().setUpClass(*args, **kwargs)
From 795bbca12696629ba93a6a40f184fc18aafdd4f1 Mon Sep 17 00:00:00 2001
From: oca-ci
Date: Tue, 30 Nov 2021 14:47:52 +0000
Subject: [PATCH 20/37] [UPD] Update auth_api_key_server_env.pot
---
.../i18n/auth_api_key_server_env.pot | 15 ---------------
1 file changed, 15 deletions(-)
diff --git a/auth_api_key_server_env/i18n/auth_api_key_server_env.pot b/auth_api_key_server_env/i18n/auth_api_key_server_env.pot
index a079a8c7f9..c9ac92d62f 100644
--- a/auth_api_key_server_env/i18n/auth_api_key_server_env.pot
+++ b/auth_api_key_server_env/i18n/auth_api_key_server_env.pot
@@ -18,21 +18,6 @@ msgstr ""
msgid "API Key"
msgstr ""
-#. module: auth_api_key_server_env
-#: model:ir.model.fields,field_description:auth_api_key_server_env.field_auth_api_key__display_name
-msgid "Display Name"
-msgstr ""
-
-#. module: auth_api_key_server_env
-#: model:ir.model.fields,field_description:auth_api_key_server_env.field_auth_api_key__id
-msgid "ID"
-msgstr ""
-
-#. module: auth_api_key_server_env
-#: model:ir.model.fields,field_description:auth_api_key_server_env.field_auth_api_key____last_update
-msgid "Last Modified on"
-msgstr ""
-
#. module: auth_api_key_server_env
#: model:ir.model.fields,field_description:auth_api_key_server_env.field_auth_api_key__server_env_defaults
msgid "Server Env Defaults"
From fae32305207b3a0aa0d922b7f150d8f862ace626 Mon Sep 17 00:00:00 2001
From: Florian da Costa
Date: Fri, 30 Dec 2022 16:10:11 +0100
Subject: [PATCH 21/37] [16.0][MIG] Migrate auth_api_key_server_env to v16
---
auth_api_key_server_env/__manifest__.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/auth_api_key_server_env/__manifest__.py b/auth_api_key_server_env/__manifest__.py
index fc221d6197..9a178dc898 100644
--- a/auth_api_key_server_env/__manifest__.py
+++ b/auth_api_key_server_env/__manifest__.py
@@ -11,7 +11,7 @@
environments when restoring databases. All you have to do is to add a new
section to your configuration file according to the following convention:
""",
- "version": "15.0.1.0.0",
+ "version": "16.0.1.0.0",
"development_status": "Alpha",
"license": "LGPL-3",
"website": "https://github.com/OCA/server-auth",
From 78cce2f384f3cb5697a77b3bff8d7cb4f437a35f Mon Sep 17 00:00:00 2001
From: Florian da Costa
Date: Fri, 8 Sep 2023 13:52:51 +0200
Subject: [PATCH 22/37] [IMP] auth_api_key_server_env: use tech_name
---
.../migrations/16.0.1.0.0/post-migration.py | 10 ++++++++++
auth_api_key_server_env/models/auth_api_key.py | 7 ++-----
auth_api_key_server_env/readme/CONTRIBUTORS.rst | 1 +
auth_api_key_server_env/readme/DESCRIPTION.rst | 2 +-
auth_api_key_server_env/tests/test_auth_api_key.py | 11 ++++++++---
5 files changed, 22 insertions(+), 9 deletions(-)
create mode 100644 auth_api_key_server_env/migrations/16.0.1.0.0/post-migration.py
diff --git a/auth_api_key_server_env/migrations/16.0.1.0.0/post-migration.py b/auth_api_key_server_env/migrations/16.0.1.0.0/post-migration.py
new file mode 100644
index 0000000000..e590eae6fa
--- /dev/null
+++ b/auth_api_key_server_env/migrations/16.0.1.0.0/post-migration.py
@@ -0,0 +1,10 @@
+from odoo import SUPERUSER_ID, api
+
+
+def migrate(cr, version):
+ env = api.Environment(cr, SUPERUSER_ID, {})
+ keys = env["auth.api.key"].search(
+ [("tech_name", "=", False), ("name", "!=", False)]
+ )
+ for key in keys:
+ key.write({"tech_name": key._normalize_tech_name(key.name)})
diff --git a/auth_api_key_server_env/models/auth_api_key.py b/auth_api_key_server_env/models/auth_api_key.py
index baabfde16e..4e30d81011 100644
--- a/auth_api_key_server_env/models/auth_api_key.py
+++ b/auth_api_key_server_env/models/auth_api_key.py
@@ -10,20 +10,17 @@
class AuthApiKey(models.Model):
_name = "auth.api.key"
- _inherit = ["auth.api.key", "server.env.mixin"]
+ _inherit = ["auth.api.key", "server.env.techname.mixin", "server.env.mixin"]
def _server_env_section_name(self):
"""Name of the section in the configuration files
-
We override the default implementation to keep the compatibility
with the previous implementation of auth_api_key. The section name
into the configuration file must be formatted as
-
'api_key_{name}'
-
"""
self.ensure_one()
- return "api_key_{}".format(self.name)
+ return "api_key_{}".format(getattr(self, self._server_env_section_name_field))
@property
def _server_env_fields(self):
diff --git a/auth_api_key_server_env/readme/CONTRIBUTORS.rst b/auth_api_key_server_env/readme/CONTRIBUTORS.rst
index f1c71bce18..bf905a1e0d 100644
--- a/auth_api_key_server_env/readme/CONTRIBUTORS.rst
+++ b/auth_api_key_server_env/readme/CONTRIBUTORS.rst
@@ -1 +1,2 @@
* Simone Orsi
+* Florian da Costa
diff --git a/auth_api_key_server_env/readme/DESCRIPTION.rst b/auth_api_key_server_env/readme/DESCRIPTION.rst
index 1dc7bf00af..a1f43f857e 100644
--- a/auth_api_key_server_env/readme/DESCRIPTION.rst
+++ b/auth_api_key_server_env/readme/DESCRIPTION.rst
@@ -6,5 +6,5 @@ section to your configuration file according to the following convention:
.. code-block:: ini
- [api_key_]
+ [api_key_]
key=my_api_key
diff --git a/auth_api_key_server_env/tests/test_auth_api_key.py b/auth_api_key_server_env/tests/test_auth_api_key.py
index 4121cc3a5f..cded35ecd8 100644
--- a/auth_api_key_server_env/tests/test_auth_api_key.py
+++ b/auth_api_key_server_env/tests/test_auth_api_key.py
@@ -15,11 +15,16 @@ def setUpClass(cls, *args, **kwargs):
cls.AuthApiKey = cls.env["auth.api.key"]
cls.demo_user = cls.env.ref("base.user_demo")
cls.api_key_from_env = cls.AuthApiKey.create(
- {"name": "from_env", "key": "dummy", "user_id": cls.demo_user.id}
+ {
+ "name": "From Env",
+ "key": "dummy",
+ "user_id": cls.demo_user.id,
+ "tech_name": "test_env",
+ }
)
cls.api_key_from_env.refresh()
- serv_config.add_section("api_key_from_env")
- serv_config.set("api_key_from_env", "key", "api_key_from_env")
+ serv_config.add_section("api_key_test_env")
+ serv_config.set("api_key_test_env", "key", "api_key_from_env")
def test_lookup_key_from_env(self):
self.assertEqual(
From f52aa8fac625b080b50ea154c362c77650e48b36 Mon Sep 17 00:00:00 2001
From: oca-ci
Date: Sat, 9 Sep 2023 13:46:29 +0000
Subject: [PATCH 23/37] [UPD] Update auth_api_key_server_env.pot
---
.../i18n/auth_api_key_server_env.pot | 12 +++++++++++-
1 file changed, 11 insertions(+), 1 deletion(-)
diff --git a/auth_api_key_server_env/i18n/auth_api_key_server_env.pot b/auth_api_key_server_env/i18n/auth_api_key_server_env.pot
index c9ac92d62f..09a9616d72 100644
--- a/auth_api_key_server_env/i18n/auth_api_key_server_env.pot
+++ b/auth_api_key_server_env/i18n/auth_api_key_server_env.pot
@@ -4,7 +4,7 @@
#
msgid ""
msgstr ""
-"Project-Id-Version: Odoo Server 15.0\n"
+"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
@@ -22,3 +22,13 @@ msgstr ""
#: model:ir.model.fields,field_description:auth_api_key_server_env.field_auth_api_key__server_env_defaults
msgid "Server Env Defaults"
msgstr ""
+
+#. module: auth_api_key_server_env
+#: model:ir.model.fields,field_description:auth_api_key_server_env.field_auth_api_key__tech_name
+msgid "Tech Name"
+msgstr ""
+
+#. module: auth_api_key_server_env
+#: model:ir.model.fields,help:auth_api_key_server_env.field_auth_api_key__tech_name
+msgid "Unique name for technical purposes. Eg: server env keys."
+msgstr ""
From d8873e03e24fb012bcd7b8154ae9ff6f3ac3c572 Mon Sep 17 00:00:00 2001
From: OCA-git-bot
Date: Sat, 9 Sep 2023 13:49:45 +0000
Subject: [PATCH 24/37] [UPD] README.rst
---
auth_api_key_server_env/README.rst | 26 ++++++-----
.../static/description/index.html | 43 ++++++++++---------
2 files changed, 38 insertions(+), 31 deletions(-)
diff --git a/auth_api_key_server_env/README.rst b/auth_api_key_server_env/README.rst
index 605a2b9d90..00d59120d9 100644
--- a/auth_api_key_server_env/README.rst
+++ b/auth_api_key_server_env/README.rst
@@ -2,10 +2,13 @@
Auth API key server environment
===============================
-.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+..
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+ !! source digest: sha256:7b7d72b7fe47a8aad3083f27767d93c4b0d78764c3faf6304d8ad2756ba201bf
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png
:target: https://odoo-community.org/page/development-status
@@ -14,16 +17,16 @@ Auth API key server environment
: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--auth-lightgray.png?logo=github
- :target: https://github.com/OCA/server-auth/tree/15.0/auth_api_key_server_env
+ :target: https://github.com/OCA/server-auth/tree/16.0/auth_api_key_server_env
:alt: OCA/server-auth
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
- :target: https://translation.odoo-community.org/projects/server-auth-15-0/server-auth-15-0-auth_api_key_server_env
+ :target: https://translation.odoo-community.org/projects/server-auth-16-0/server-auth-16-0-auth_api_key_server_env
:alt: Translate me on Weblate
-.. |badge5| image:: https://img.shields.io/badge/runbot-Try%20me-875A7B.png
- :target: https://runbot.odoo-community.org/runbot/251/15.0
- :alt: Try me on Runbot
+.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
+ :target: https://runboat.odoo-community.org/builds?repo=OCA/server-auth&target_branch=16.0
+ :alt: Try me on Runboat
-|badge1| |badge2| |badge3| |badge4| |badge5|
+|badge1| |badge2| |badge3| |badge4| |badge5|
Configure api keys via server env.
@@ -33,7 +36,7 @@ section to your configuration file according to the following convention:
.. code-block:: ini
- [api_key_]
+ [api_key_]
key=my_api_key
.. IMPORTANT::
@@ -51,8 +54,8 @@ 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 `_.
+If you spotted it first, help us to smash it by providing a detailed and welcomed
+`feedback `_.
Do not contact contributors directly about support or help with technical issues.
@@ -68,6 +71,7 @@ Contributors
~~~~~~~~~~~~
* Simone Orsi
+* Florian da Costa
Maintainers
~~~~~~~~~~~
@@ -82,6 +86,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-auth `_ project on GitHub.
+This module is part of the `OCA/server-auth `_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
diff --git a/auth_api_key_server_env/static/description/index.html b/auth_api_key_server_env/static/description/index.html
index 843968400c..d3c23db379 100644
--- a/auth_api_key_server_env/static/description/index.html
+++ b/auth_api_key_server_env/static/description/index.html
@@ -1,20 +1,20 @@
-
+
-
+
Auth API key server environment