From 5d441dad13bfe15e5898153ff750ce1e27a2debe Mon Sep 17 00:00:00 2001 From: Simone Orsi Date: Fri, 24 Sep 2021 11:08:01 +0200 Subject: [PATCH 01/15] 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 z?n?eq1XP>p-IM$Z^C;2L3itnbJZAip*Zo0aw2bs8@(s^~*8T9go!%dHcAz2lM;`yp zD=7&xjFV$S&5uDaiScyD?B-i1ze`+CoRtz`Wn+Zl&#s4&}MO{@N!ufrzjG$B79)Y2d3tBk&)TxUTw@QS0TEL_?njX|@vq?Uz(nBFK5Pq7*xj#u*R&i|?7+6# z+|r_n#SW&LXhtheZdah{ZVoqwyT{D>MC3nkFF#N)xLi{p7J1jXlmVeb;cP5?e(=f# zuT7fvjSbjS781v?7{)-X3*?>tq?)Yd)~|1{BDS(pqC zC}~H#WXlkUW*H5CDOo<)#x7%RY)A;ShGhI5s*#cRDA8YgqG(HeKDx+#(ZQ?386dv! zlXCO)w91~Vw4AmOcATuV653fa9R$fyK8ul%rG z-wfS zihugoZyr38Im?Zuh6@RcF~t1anQu7>#lPpb#}4cOA!EM11`%f*07RqOVkmX{p~KJ9 z^zP;K#|)$`^Rb{rnHGH{~>1(fawV0*Z#)}M`m8-?ZJV<+e}s9wE# z)l&az?w^5{)`S(%MRzxdNqrs1n*-=jS^_jqE*5XDrA0+VE`5^*p3CuM<&dZEeCjoz zR;uu_H9ZPZV|fQq`Cyw4nscrVwi!fE6ciMmX$!_hN7uF;jjKG)d2@aC4ropY)8etW=xJvni)8eHi`H$%#zn^WJ5NLc-rqk|u&&4Z6fD_m&JfSI1Bvb?b<*n&sfl0^t z=HnmRl`XrFvMKB%9}>PaA`m-fK6a0(8=qPkWS5bb4=v?XcWi&hRY?O5HdulRi4?fN zlsJ*N-0Qw+Yic@s0(2uy%F@ib;GjXt01Fmx5XbRo6+n|pP(&nodMoap^z{~q ziEeaUT@Mxe3vJSfI6?uLND(CNr=#^W<1b}jzW58bIfyWTDle$mmS(|x-0|2UlX+9k zQ^EX7Nw}?EzVoBfT(-LT|=9N@^hcn-_p&sqG z&*oVs2JSU+N4ZD`FhCAWaS;>|wH2G*Id|?pa#@>tyxX`+4HyIArWDvVrX)2WAOQff z0qyHu&-S@i^MS-+j--!pr4fPBj~_8({~e1bfcl0wI1kaoN>mJL6KUPQm5N7lB(ui1 zE-o%kq)&djzWJ}ob<-GfDlkB;F31j-VHKvQUGQ3sp`CwyGJk_i!y^sD0fqC@$9|jO zOqN!r!8-p==F@ZVP=U$qSpY(gQ0)59P1&t@y?5rvg<}E+GB}26NYPp4f2YFQrQtot5mn3wu_qprZ=>Ig-$ zbW26Ws~IgY>}^5w`vTB(G`PTZaDiGBo5o(tp)qli|NeV( z@H_=R8V39rt5J5YB2Ky?4eJJ#b`_iBe2ot~6%7mLt5t8Vwi^Jy7|jWXqa3amOIoRb zOr}WVFP--DsS`1WpN%~)t3R!arKF^Q$e12KEqU36AWwnCBICpH4XCsfnyrHr>$I$4 z!DpKX$OKLWarN7nv@!uIA+~RNO)l$$w}p(;b>mx8pwYvu;dD_unryX_NhT8*Tj>BTrTTL&!?O+%Rv;b?B??gSzdp?6Uug9{ zd@V08Z$BdI?fpoCS$)t4mg4rT8Q_I}h`0d-vYZ^|dOB*Q^S|xqTV*vIg?@fVFSmMpaw0qtTRbx} z({Pg?#{2`sc9)M5N$*N|4;^t$+QP?#mov zGVC@I*lBVrOU-%2y!7%)fAKjpEFsgQc4{amtiHb95KQEwvf<(3T<9-Zm$xIew#P22 zc2Ix|App^>v6(3L_MCU0d3W##AB0M~3D00EWoKZqsJYT(#@w$Y_H7G22M~ApVFTRHMI_3be)Lkn#0F*V8Pq zc}`Cjy$bE;FJ6H7p=0y#R>`}-m4(0F>%@P|?7fx{=R^uFdISRnZ2W_xQhD{YuR3t< z{6yxu=4~JkeA;|(J6_nv#>Nvs&FuLA&PW^he@t(UwFFE8)|a!R{`E`K`i^ZnyE4$k z;(749Ix|oi$c3QbEJ3b~D_kQsPz~fIUKym($a_7dJ?o+40*OLl^{=&oq$<#Q(yyrp z{J-FAniyAw9tPbe&IhQ|a`DqFTVQGQ&Gq3!C2==4x{6EJwiPZ8zub-iXoUtkJiG{} zPaR&}_fn8_z~(=;5lD-aPWD3z8PZS@AaUiomF!G8I}Mf>e~0g#BelA-5#`cj;O5>N 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

+ + +

Alpha License: LGPL-3 OCA/server-auth Translate me on Weblate Try me on Runbot

+

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

+ +
+

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
  • +
+
+ +
+

Maintainers

+

This module is maintained by the OCA.

+Odoo Community Association +

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:

+

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/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 + [] + {} + + + Auth Api Key Groups + + + + +
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/15] [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. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> -

Alpha License: LGPL-3 OCA/server-auth Translate me on Weblate Try me on Runbot

+

Alpha License: LGPL-3 OCA/server-auth Translate me on Weblate Try me on Runbot

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 @@

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.

@@ -420,7 +420,7 @@

Maintainers

promote its widespread use.

Current 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/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/15] [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/15] [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