diff --git a/.copier-answers.yml b/.copier-answers.yml index 0739c3dd6d..99583cd975 100644 --- a/.copier-answers.yml +++ b/.copier-answers.yml @@ -1,7 +1,8 @@ # Do NOT update manually; changes here will be overwritten by Copier -_commit: v1.17.2 +_commit: v1.21.1 _src_path: gh:oca/oca-addons-repo-template ci: GitHub +convert_readme_fragments_to_markdown: false generate_requirements_txt: true github_check_license: true github_ci_extra_env: {} @@ -20,4 +21,6 @@ repo_description: Modules for handling various authentication schemes repo_name: Server Authentication repo_slug: server-auth repo_website: https://github.com/OCA/server-auth +use_pyproject_toml: false +use_ruff: false diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 1693a1253b..fa17fcd4e8 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest steps: - name: Stale PRs and issues policy - uses: actions/stale@v4 + uses: actions/stale@v9 with: repo-token: ${{ secrets.GITHUB_TOKEN }} # General settings. @@ -48,7 +48,7 @@ jobs: # * Issues that are pending more information # * Except Issues marked as "no stale" - name: Needs more information stale issues policy - uses: actions/stale@v4 + uses: actions/stale@v9 with: repo-token: ${{ secrets.GITHUB_TOKEN }} ascending: true diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index c8d900180b..4004136c3d 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -75,7 +75,9 @@ jobs: run: oca_init_test_database - name: Run tests run: oca_run_tests - - uses: codecov/codecov-action@v1 + - uses: codecov/codecov-action@v4 + with: + token: ${{ secrets.CODECOV_TOKEN }} - name: Update .pot files run: oca_export_and_push_pot https://x-access-token:${{ secrets.GIT_PUSH_TOKEN }}@github.com/${{ github.repository }} if: ${{ matrix.makepot == 'true' && github.event_name == 'push' && github.repository_owner == 'OCA' }} diff --git a/.gitignore b/.gitignore index 9c283fd41f..0090721f5d 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ __pycache__/ *.py[cod] /.venv /.pytest_cache +/.ruff_cache # C extensions *.so diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index bb6bebc126..bf39cc7c99 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -14,6 +14,10 @@ exclude: | ^docs/_templates/.*\.html$| # Don't bother non-technical authors with formatting issues in docs readme/.*\.(rst|md)$| + # Ignore build and dist directories in addons + /build/|/dist/| + # Ignore test files in addons + /tests/samples/.*| # You don't usually want a bot to modify your legal texts (LICENSE.*|COPYING.*) default_language_version: @@ -35,7 +39,7 @@ repos: language: fail files: '[a-zA-Z0-9_]*/i18n/en\.po$' - repo: https://github.com/oca/maintainer-tools - rev: 969238e47c07d0c40573acff81d170f63245d738 + rev: 9a170331575a265c092ee6b24b845ec508e8ef75 hooks: # update the NOT INSTALLABLE ADDONS section above - id: oca-update-pre-commit-excluded-addons @@ -48,6 +52,7 @@ repos: - --org-name=OCA - --repo-name=server-auth - --if-source-changed + - --keep-source-digest - repo: https://github.com/OCA/odoo-pre-commit-hooks rev: v0.0.25 hooks: diff --git a/README.md b/README.md index c075c8da22..bbaf1f40a5 100644 --- a/README.md +++ b/README.md @@ -31,11 +31,11 @@ addon | version | maintainers | summary [auth_ldaps](auth_ldaps/) | 16.0.1.0.0 | | Allows to use LDAP over SSL authentication [auth_oauth_multi_token](auth_oauth_multi_token/) | 16.0.1.0.0 | | Allow multiple connection with the same OAuth account [auth_oauth_ropc](auth_oauth_ropc/) | 16.0.1.0.0 | | Allow to login with OAuth Resource Owner Password Credentials Grant -[auth_oidc](auth_oidc/) | 16.0.1.1.1 | [![sbidoul](https://github.com/sbidoul.png?size=30px)](https://github.com/sbidoul) | Allow users to login through OpenID Connect Provider +[auth_oidc](auth_oidc/) | 16.0.1.2.0 | [![sbidoul](https://github.com/sbidoul.png?size=30px)](https://github.com/sbidoul) | Allow users to login through OpenID Connect Provider [auth_oidc_environment](auth_oidc_environment/) | 16.0.1.0.0 | | This module allows to use server env for OIDC configuration [auth_saml](auth_saml/) | 16.0.1.0.4 | [![vincent-hatakeyama](https://github.com/vincent-hatakeyama.png?size=30px)](https://github.com/vincent-hatakeyama) | SAML2 Authentication [auth_session_timeout](auth_session_timeout/) | 16.0.1.0.0 | | This module disable all inactive sessions since a given delay -[auth_signup_verify_email](auth_signup_verify_email/) | 16.0.1.0.0 | | Force uninvited users to use a good email for signup +[auth_signup_verify_email](auth_signup_verify_email/) | 16.0.1.0.1 | | Force uninvited users to use a good email for signup [auth_user_case_insensitive](auth_user_case_insensitive/) | 16.0.1.0.0 | | Makes the user login field case insensitive [base_user_show_email](base_user_show_email/) | 16.0.1.0.0 | | Untangle user login and email [password_security](password_security/) | 16.0.1.0.0 | | Allow admin to set password security requirements. diff --git a/auth_admin_passkey/i18n/pt_BR.po b/auth_admin_passkey/i18n/pt_BR.po index 765f013243..00815a563b 100644 --- a/auth_admin_passkey/i18n/pt_BR.po +++ b/auth_admin_passkey/i18n/pt_BR.po @@ -9,16 +9,17 @@ msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-08-01 02:43+0000\n" -"PO-Revision-Date: 2019-11-24 19:58+0000\n" -"Last-Translator: Rodrigo Macedo \n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/" -"teams/23907/pt_BR/)\n" +"PO-Revision-Date: 2024-05-22 11:37+0000\n" +"Last-Translator: Rodrigo Macedo \n" +"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/" +"23907/pt_BR/)\n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 3.8\n" +"X-Generator: Weblate 4.17\n" #. module: auth_admin_passkey #. odoo-python @@ -41,11 +42,20 @@ msgid "" "- Login date : %(login_date)s\n" "\n" msgstr "" +"O usuário administrador do sistema usou sua senha para fazer login com " +"%(login)s.\n" +"\n" +"\n" +"\n" +"Informações técnicas abaixo:\n" +"\n" +"- Data de login: %(login_date)s\n" +"\n" #. module: auth_admin_passkey #: model:ir.model,name:auth_admin_passkey.model_res_users msgid "User" -msgstr "" +msgstr "Usuário" #, python-format #~ msgid "
User with login '%s' has the same password as you.
" diff --git a/auth_api_key_group/i18n/it.po b/auth_api_key_group/i18n/it.po new file mode 100644 index 0000000000..1148fe03e7 --- /dev/null +++ b/auth_api_key_group/i18n/it.po @@ -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 16.0\n" +"Report-Msgid-Bugs-To: \n" +"PO-Revision-Date: 2024-04-03 12:43+0000\n" +"Last-Translator: mymage \n" +"Language-Team: none\n" +"Language: it\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" +"X-Generator: Weblate 4.17\n" + +#. module: auth_api_key_group +#: model:ir.model,name:auth_api_key_group.model_auth_api_key +msgid "API Key" +msgstr "Chiave API" + +#. module: auth_api_key_group +#: model:ir.model,name:auth_api_key_group.model_auth_api_key_group +msgid "API Key auth group" +msgstr "Gruppo autorizzazione chiave API" + +#. 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 "Chiavi API" + +#. 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 "Gruppi autorizzazione chiave API" + +#. 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 "Gruppi autorizzazione" + +#. module: auth_api_key_group +#: model:ir.model.fields,field_description:auth_api_key_group.field_auth_api_key_group__code +msgid "Code" +msgstr "Codice" + +#. 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 "Creato da" + +#. 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 "Creato il" + +#. module: auth_api_key_group +#: model:ir.model.fields,field_description:auth_api_key_group.field_auth_api_key_group__display_name +msgid "Display Name" +msgstr "Nome visualizzato" + +#. module: auth_api_key_group +#: model:ir.model.fields,field_description:auth_api_key_group.field_auth_api_key_group__id +msgid "ID" +msgstr "ID" + +#. module: auth_api_key_group +#: model:ir.model.fields,field_description:auth_api_key_group.field_auth_api_key_group____last_update +msgid "Last Modified on" +msgstr "Ultima modifica il" + +#. 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 "Ultimo aggiornamento di" + +#. 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 "Ultimo aggiornamento il" + +#. module: auth_api_key_group +#: model:ir.model.fields,field_description:auth_api_key_group.field_auth_api_key_group__name +msgid "Name" +msgstr "Nome" diff --git a/auth_oidc/README.rst b/auth_oidc/README.rst index ac51aa7f47..495caa673b 100644 --- a/auth_oidc/README.rst +++ b/auth_oidc/README.rst @@ -7,7 +7,7 @@ Authentication OpenID Connect !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:ede04e51899d4490eb4be0352376feb7833ba8d0546f36fea929c28a99a96d22 + !! source digest: sha256:0fa6d13be474eeb0ba5716895f4fc42ded1b84285279efbe29a476cead7e5565 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png @@ -90,6 +90,9 @@ or |image2| +- Auth Link Params: Add {'prompt':'select_account'} to the auth link to + get the account selection screen |image3| + Setup for Keycloak ------------------ @@ -126,6 +129,7 @@ In Odoo, create a new Oauth Provider with the following parameters: .. |image| image:: https://raw.githubusercontent.com/OCA/server-auth/16.0/auth_oidc/static/description/oauth-microsoft_azure-api_permissions.png .. |image1| image:: https://raw.githubusercontent.com/OCA/server-auth/16.0/auth_oidc/static/description/oauth-microsoft_azure-optional_claims.png .. |image2| image:: https://raw.githubusercontent.com/OCA/server-auth/16.0/auth_oidc/static/description/odoo-azure_ad_multitenant.png +.. |image3| image:: https://raw.githubusercontent.com/OCA/server-auth/16.0/auth_oidc/static/description/oauth-microsoft_azure-select_account.png Usage ===== diff --git a/auth_oidc/__manifest__.py b/auth_oidc/__manifest__.py index be60eba9f8..df9bdaac8a 100644 --- a/auth_oidc/__manifest__.py +++ b/auth_oidc/__manifest__.py @@ -4,7 +4,7 @@ { "name": "Authentication OpenID Connect", - "version": "16.0.1.1.1", + "version": "16.0.1.2.0", "license": "AGPL-3", "author": ( "ICTSTUDIO, André Schenkels, " diff --git a/auth_oidc/controllers/main.py b/auth_oidc/controllers/main.py index 0c0861e6da..46f76a3adb 100644 --- a/auth_oidc/controllers/main.py +++ b/auth_oidc/controllers/main.py @@ -6,6 +6,7 @@ import hashlib import logging import secrets +from ast import literal_eval from werkzeug.urls import url_decode, url_encode @@ -43,6 +44,12 @@ def list_providers(self): if "openid" not in provider["scope"].split(): _logger.error("openid connect scope must contain 'openid'") params["scope"] = provider["scope"] + + # append provider specific auth link params + if provider["auth_link_params"]: + params_upd = literal_eval(provider["auth_link_params"]) + params.update(params_upd) + # auth link that the user will click provider["auth_link"] = "{}?{}".format( provider["auth_endpoint"], url_encode(params) diff --git a/auth_oidc/data/auth_oauth_data.xml b/auth_oidc/data/auth_oauth_data.xml index bdeea59a5c..a095b22307 100644 --- a/auth_oidc/data/auth_oauth_data.xml +++ b/auth_oidc/data/auth_oauth_data.xml @@ -17,6 +17,7 @@ >https://login.microsoftonline.com/organizations/discovery/v2.0/keys fa fa-fw fa-windows Log in with Microsoft + {'prompt':'select_account'} Azure AD Single Tenant @@ -35,5 +36,6 @@ >https://login.microsoftonline.com/{tenant_id}/discovery/v2.0/keys fa fa-fw fa-windows Log in with Microsoft + {'prompt':'select_account'} diff --git a/auth_oidc/demo/local_keycloak.xml b/auth_oidc/demo/local_keycloak.xml index 919754db99..0362764014 100644 --- a/auth_oidc/demo/local_keycloak.xml +++ b/auth_oidc/demo/local_keycloak.xml @@ -17,4 +17,24 @@ name="jwks_uri" >http://localhost:8080/auth/realms/master/protocol/openid-connect/certs + + Azure AD Multitenant + id_token_code + auth_oidc-test + True + upn:user_id upn:email + https://login.microsoftonline.com/organizations/oauth2/v2.0/authorize + profile openid + https://login.microsoftonline.com/organizations/oauth2/v2.0/token + https://login.microsoftonline.com/organizations/discovery/v2.0/keys + fa fa-fw fa-windows + Log in with Microsoft + {'prompt':'select_account'} + diff --git a/auth_oidc/i18n/auth_oidc.pot b/auth_oidc/i18n/auth_oidc.pot index 560fb4d168..20ff0f0265 100644 --- a/auth_oidc/i18n/auth_oidc.pot +++ b/auth_oidc/i18n/auth_oidc.pot @@ -13,11 +13,23 @@ msgstr "" "Content-Transfer-Encoding: \n" "Plural-Forms: \n" +#. module: auth_oidc +#: model:ir.model.fields,help:auth_oidc.field_auth_oauth_provider__auth_link_params +msgid "" +"Additional parameters for the auth link. For example: " +"{'prompt':'select_account'}" +msgstr "" + #. module: auth_oidc #: model:ir.model.fields,field_description:auth_oidc.field_auth_oauth_provider__flow msgid "Auth Flow" msgstr "" +#. module: auth_oidc +#: model:ir.model.fields,field_description:auth_oidc.field_auth_oauth_provider__auth_link_params +msgid "Auth Link Params" +msgstr "" + #. module: auth_oidc #: model:ir.model.fields,field_description:auth_oidc.field_auth_oauth_provider__client_secret msgid "Client Secret" diff --git a/auth_oidc/i18n/es.po b/auth_oidc/i18n/es.po index fae120e781..fd2026eb2b 100644 --- a/auth_oidc/i18n/es.po +++ b/auth_oidc/i18n/es.po @@ -16,11 +16,23 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.17\n" +#. module: auth_oidc +#: model:ir.model.fields,help:auth_oidc.field_auth_oauth_provider__auth_link_params +msgid "" +"Additional parameters for the auth link. For example: " +"{'prompt':'select_account'}" +msgstr "" + #. module: auth_oidc #: model:ir.model.fields,field_description:auth_oidc.field_auth_oauth_provider__flow msgid "Auth Flow" msgstr "Flujo de autenticación" +#. module: auth_oidc +#: model:ir.model.fields,field_description:auth_oidc.field_auth_oauth_provider__auth_link_params +msgid "Auth Link Params" +msgstr "" + #. module: auth_oidc #: model:ir.model.fields,field_description:auth_oidc.field_auth_oauth_provider__client_secret msgid "Client Secret" @@ -75,9 +87,9 @@ msgstr "Requerido para OpenID Connect." #. module: auth_oidc #: model:ir.model.fields,help:auth_oidc.field_auth_oauth_provider__token_map msgid "" -"Some Oauth providers don't map keys in their responses exactly as required." -" It is important to ensure user_id and email at least are mapped. For " -"OpenID Connect user_id is the sub key in the standard." +"Some Oauth providers don't map keys in their responses exactly as required. " +"It is important to ensure user_id and email at least are mapped. For OpenID " +"Connect user_id is the sub key in the standard." msgstr "" "Algunos proveedores de Oauth no mapean las claves en sus respuestas " "exactamente como se requiere. Es importante asegurarse de que al menos " diff --git a/auth_oidc/i18n/it.po b/auth_oidc/i18n/it.po index e4f38a45a8..22cee154eb 100644 --- a/auth_oidc/i18n/it.po +++ b/auth_oidc/i18n/it.po @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: Odoo Server 16.0\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2024-01-05 10:34+0000\n" +"PO-Revision-Date: 2024-04-15 10:37+0000\n" "Last-Translator: mymage \n" "Language-Team: none\n" "Language: it\n" @@ -16,11 +16,25 @@ msgstr "" "Plural-Forms: nplurals=2; plural=n != 1;\n" "X-Generator: Weblate 4.17\n" +#. module: auth_oidc +#: model:ir.model.fields,help:auth_oidc.field_auth_oauth_provider__auth_link_params +msgid "" +"Additional parameters for the auth link. For example: " +"{'prompt':'select_account'}" +msgstr "" +"Parametri addizionali per il link di autorizzazione. Per esempio: " +"{'prompt':'select_account'}" + #. module: auth_oidc #: model:ir.model.fields,field_description:auth_oidc.field_auth_oauth_provider__flow msgid "Auth Flow" msgstr "Flusso atorizzazione" +#. module: auth_oidc +#: model:ir.model.fields,field_description:auth_oidc.field_auth_oauth_provider__auth_link_params +msgid "Auth Link Params" +msgstr "Parametri link autorizzazione" + #. module: auth_oidc #: model:ir.model.fields,field_description:auth_oidc.field_auth_oauth_provider__client_secret msgid "Client Secret" @@ -75,9 +89,9 @@ msgstr "Richiesto per OpenID Connect." #. module: auth_oidc #: model:ir.model.fields,help:auth_oidc.field_auth_oauth_provider__token_map msgid "" -"Some Oauth providers don't map keys in their responses exactly as required." -" It is important to ensure user_id and email at least are mapped. For " -"OpenID Connect user_id is the sub key in the standard." +"Some Oauth providers don't map keys in their responses exactly as required. " +"It is important to ensure user_id and email at least are mapped. For OpenID " +"Connect user_id is the sub key in the standard." msgstr "" "Alcuni Provider Oauth non mappano le chiavi nelle loro risposte esattamente " "come richiesto. È importante assicurare che almeno user_id ed e-mail siano " diff --git a/auth_oidc/models/auth_oauth_provider.py b/auth_oidc/models/auth_oauth_provider.py index 39935cf927..4a3de559ba 100644 --- a/auth_oidc/models/auth_oauth_provider.py +++ b/auth_oidc/models/auth_oauth_provider.py @@ -46,6 +46,9 @@ class AuthOauthProvider(models.Model): string="Token URL", help="Required for OpenID Connect authorization code flow." ) jwks_uri = fields.Char(string="JWKS URL", help="Required for OpenID Connect.") + auth_link_params = fields.Char( + help="Additional parameters for the auth link. For example: {'prompt':'select_account'}" + ) @tools.ormcache("self.jwks_uri", "kid") def _get_keys(self, kid): diff --git a/auth_oidc/readme/CONFIGURE.md b/auth_oidc/readme/CONFIGURE.md index 275e4c0a20..8145f4faf9 100644 --- a/auth_oidc/readme/CONFIGURE.md +++ b/auth_oidc/readme/CONFIGURE.md @@ -38,6 +38,10 @@ or ![image](../static/description/odoo-azure_ad_multitenant.png) +- Auth Link Params: Add {'prompt':'select_account'} to the auth link to get the account selection screen +![image](../static/description/oauth-microsoft_azure-select_account.png) + + ## Setup for Keycloak Example configuration with OpenID Connect authorization code flow. diff --git a/auth_oidc/static/description/index.html b/auth_oidc/static/description/index.html index eb15be7dc3..46ba91854f 100644 --- a/auth_oidc/static/description/index.html +++ b/auth_oidc/static/description/index.html @@ -366,7 +366,7 @@

Authentication OpenID Connect

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:ede04e51899d4490eb4be0352376feb7833ba8d0546f36fea929c28a99a96d22 +!! source digest: sha256:0fa6d13be474eeb0ba5716895f4fc42ded1b84285279efbe29a476cead7e5565 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: AGPL-3 OCA/server-auth Translate me on Weblate Try me on Runboat

This module allows users to login through an OpenID Connect provider @@ -447,6 +447,10 @@

Setup for Microsoft Azure

replace {tenant_id} in urls with your Azure tenant id

image2

+
    +
  • Auth Link Params: Add {‘prompt’:’select_account’} to the auth link to +get the account selection screen image3
  • +

Setup for Keycloak

diff --git a/auth_oidc/static/description/oauth-microsoft_azure-select_account.png b/auth_oidc/static/description/oauth-microsoft_azure-select_account.png new file mode 100644 index 0000000000..a088777403 Binary files /dev/null and b/auth_oidc/static/description/oauth-microsoft_azure-select_account.png differ diff --git a/auth_oidc/tests/test_auth_oidc_auth_code.py b/auth_oidc/tests/test_auth_oidc_auth_code.py index a1a08b0a71..43a1ec6fff 100644 --- a/auth_oidc/tests/test_auth_oidc_auth_code.py +++ b/auth_oidc/tests/test_auth_oidc_auth_code.py @@ -71,7 +71,7 @@ def setUp(self): super().setUp() # search our test provider and bind the demo user to it self.provider_rec = self.env["auth.oauth.provider"].search( - [("client_id", "=", "auth_oidc-test")] + [("name", "=", "keycloak:8080 on localhost")] ) self.assertEqual(len(self.provider_rec), 1) @@ -83,8 +83,10 @@ def test_auth_link(self): ).write(dict(enabled=False)) with MockRequest(self.env): providers = OpenIDLogin().list_providers() - self.assertEqual(len(providers), 1) - auth_link = providers[0]["auth_link"] + self.assertEqual(len(providers), 2) + auth_link = list( + filter(lambda p: p["name"] == "keycloak:8080 on localhost", providers) + )[0]["auth_link"] assert auth_link.startswith(self.provider_rec.auth_endpoint) params = parse_qs(urlparse(auth_link).query) self.assertEqual(params["response_type"], ["code"]) @@ -95,6 +97,13 @@ def test_auth_link(self): self.assertTrue(params["nonce"]) self.assertTrue(params["state"]) self.assertEqual(params["redirect_uri"], [BASE_URL + "/auth_oauth/signin"]) + self.assertFalse("prompt" in params) + + auth_link_ms = list( + filter(lambda p: p["name"] == "Azure AD Multitenant", providers) + )[0]["auth_link"] + params = parse_qs(urlparse(auth_link_ms).query) + self.assertEqual(params["prompt"], ["select_account"]) def _prepare_login_test_user(self): user = self.env.ref("base.user_demo") diff --git a/auth_oidc/views/auth_oauth_provider.xml b/auth_oidc/views/auth_oauth_provider.xml index 90c931b417..c63f2cef60 100644 --- a/auth_oidc/views/auth_oauth_provider.xml +++ b/auth_oidc/views/auth_oauth_provider.xml @@ -19,6 +19,9 @@ + + + diff --git a/auth_session_timeout/i18n/ca.po b/auth_session_timeout/i18n/ca.po index c7f87035f5..5db4392d57 100644 --- a/auth_session_timeout/i18n/ca.po +++ b/auth_session_timeout/i18n/ca.po @@ -9,15 +9,15 @@ msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-12-01 02:09+0000\n" -"PO-Revision-Date: 2022-04-13 14:05+0000\n" -"Last-Translator: Noel estudillo \n" +"PO-Revision-Date: 2024-05-10 08:36+0000\n" +"Last-Translator: jabelchi \n" "Language-Team: Catalan (https://www.transifex.com/oca/teams/23907/ca/)\n" "Language: ca\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" -"X-Generator: Weblate 4.3.2\n" +"X-Generator: Weblate 4.17\n" #. module: auth_session_timeout #: model:ir.model,name:auth_session_timeout.model_ir_http @@ -32,7 +32,7 @@ msgstr "Paràmetre del sistema" #. module: auth_session_timeout #: model:ir.model,name:auth_session_timeout.model_res_users msgid "User" -msgstr "" +msgstr "Usuari" #~ msgid "Users" #~ msgstr "Usuaris" diff --git a/auth_session_timeout/i18n/pt_BR.po b/auth_session_timeout/i18n/pt_BR.po index 1699c2a8b9..4c8af88f3c 100644 --- a/auth_session_timeout/i18n/pt_BR.po +++ b/auth_session_timeout/i18n/pt_BR.po @@ -8,16 +8,17 @@ msgstr "" "Project-Id-Version: server-tools (8.0)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-29 11:14+0000\n" -"PO-Revision-Date: 2022-02-01 20:33+0000\n" -"Last-Translator: Rodrigo Macedo \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/OCA-server-" -"tools-8-0/language/pt_BR/)\n" +"PO-Revision-Date: 2024-05-21 03:16+0000\n" +"Last-Translator: Rodrigo Macedo \n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/" +"OCA-server-tools-8-0/language/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" -"X-Generator: Weblate 4.3.2\n" +"X-Generator: Weblate 4.17\n" #. module: auth_session_timeout #: model:ir.model,name:auth_session_timeout.model_ir_http @@ -32,7 +33,7 @@ msgstr "Parâmetro do Sistema" #. module: auth_session_timeout #: model:ir.model,name:auth_session_timeout.model_res_users msgid "User" -msgstr "" +msgstr "Usuário" #~ msgid "Users" #~ msgstr "Usuários" diff --git a/auth_signup_verify_email/README.rst b/auth_signup_verify_email/README.rst index 92b1b61ac9..db15618a35 100644 --- a/auth_signup_verify_email/README.rst +++ b/auth_signup_verify_email/README.rst @@ -7,7 +7,7 @@ Verify email at signup !! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - !! source digest: sha256:dd7b5841641c2a3cd11c65edf7bf06c918b7c772fe6ca2dfb66c9f7b433e5371 + !! source digest: sha256:654d63ece2dfd77331699944a0cc3f51ca3d1699617f303547fd3c1a1eef99f8 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! .. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png diff --git a/auth_signup_verify_email/__manifest__.py b/auth_signup_verify_email/__manifest__.py index f7694daaf7..a4725b4a98 100644 --- a/auth_signup_verify_email/__manifest__.py +++ b/auth_signup_verify_email/__manifest__.py @@ -3,7 +3,7 @@ { "name": "Verify email at signup", "summary": "Force uninvited users to use a good email for signup", - "version": "16.0.1.0.0", + "version": "16.0.1.0.1", "category": "Authentication", "website": "https://github.com/OCA/server-auth", "author": "Antiun Ingeniería S.L., " @@ -11,7 +11,7 @@ "Odoo Community Association (OCA)", "license": "AGPL-3", "depends": ["auth_signup"], - "external_dependencies": {"python": ["lxml", "email_validator"]}, + "external_dependencies": {"python": ["email_validator"]}, "data": ["views/signup.xml"], "installable": True, } diff --git a/auth_signup_verify_email/static/description/index.html b/auth_signup_verify_email/static/description/index.html index e68bdd125c..520ce7bd00 100644 --- a/auth_signup_verify_email/static/description/index.html +++ b/auth_signup_verify_email/static/description/index.html @@ -1,4 +1,3 @@ - @@ -367,7 +366,7 @@

Verify email at signup

!! This file is generated by oca-gen-addon-readme !! !! changes will be overwritten. !! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -!! source digest: sha256:dd7b5841641c2a3cd11c65edf7bf06c918b7c772fe6ca2dfb66c9f7b433e5371 +!! source digest: sha256:654d63ece2dfd77331699944a0cc3f51ca3d1699617f303547fd3c1a1eef99f8 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->

Beta License: AGPL-3 OCA/server-auth Translate me on Weblate Try me on Runboat

This module extends the functionality of public sign up to force users to diff --git a/auth_user_case_insensitive/i18n/pt_BR.po b/auth_user_case_insensitive/i18n/pt_BR.po index 796f08a2f2..5c13b7bde5 100644 --- a/auth_user_case_insensitive/i18n/pt_BR.po +++ b/auth_user_case_insensitive/i18n/pt_BR.po @@ -9,37 +9,40 @@ msgstr "" "Project-Id-Version: Odoo Server 10.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2017-05-17 21:08+0000\n" -"PO-Revision-Date: 2017-05-17 21:08+0000\n" -"Last-Translator: OCA Transbot , 2017\n" -"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/" -"teams/23907/pt_BR/)\n" +"PO-Revision-Date: 2024-05-21 03:15+0000\n" +"Last-Translator: Rodrigo Macedo \n" +"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/teams/" +"23907/pt_BR/)\n" "Language: pt_BR\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: \n" -"Plural-Forms: nplurals=2; plural=(n > 1);\n" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.17\n" #. module: auth_user_case_insensitive #. odoo-python #: code:addons/auth_user_case_insensitive/hooks.py:0 #, python-format msgid "Conflicting user logins exist for `%s`" -msgstr "" +msgstr "Existem logins de usuário conflitantes para `%s`" #. module: auth_user_case_insensitive #: model:ir.model.fields,field_description:auth_user_case_insensitive.field_res_users__login msgid "Login" -msgstr "" +msgstr "Iniciar sessão" #. module: auth_user_case_insensitive #: model:ir.model.fields,help:auth_user_case_insensitive.field_res_users__login msgid "Used to log into the system. Case insensitive." msgstr "" +"Usado para fazer login no sistema. Não diferencia maiúsculas de minúsculas." #. module: auth_user_case_insensitive #: model:ir.model,name:auth_user_case_insensitive.model_res_users msgid "User" -msgstr "" +msgstr "Usuário" #~ msgid "Users" #~ msgstr "Usuários" diff --git a/requirements.txt b/requirements.txt index 30a3b63d62..6d3071a6ea 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,6 @@ # generated from manifests external_dependencies cryptography email_validator -lxml pyjwt pysaml2 python-jose diff --git a/users_ldap_groups/i18n/pt_BR.po b/users_ldap_groups/i18n/pt_BR.po index d232fe8655..b387f3a8bf 100644 --- a/users_ldap_groups/i18n/pt_BR.po +++ b/users_ldap_groups/i18n/pt_BR.po @@ -9,16 +9,17 @@ msgstr "" "Project-Id-Version: server-tools (8.0)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-09-29 11:14+0000\n" -"PO-Revision-Date: 2022-02-01 20:33+0000\n" -"Last-Translator: Rodrigo Macedo \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/OCA-server-" -"tools-8-0/language/pt_BR/)\n" +"PO-Revision-Date: 2024-05-22 02:02+0000\n" +"Last-Translator: Rodrigo Macedo \n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/" +"OCA-server-tools-8-0/language/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" -"X-Generator: Weblate 4.3.2\n" +"X-Generator: Weblate 4.17\n" #. module: users_ldap_groups #: model:ir.model,name:users_ldap_groups.model_res_company_ldap @@ -143,6 +144,8 @@ msgid "" "The created user needs to have one (and only one) of the 'User types /' " "groups defined." msgstr "" +"O usuário criado precisa ter um (e apenas um) dos grupos 'Tipos de usuário/' " +"definidos." #. module: users_ldap_groups #: model:ir.model.fields,help:users_ldap_groups.field_res_company_ldap_group_mapping__operator @@ -165,7 +168,7 @@ msgstr "" #. module: users_ldap_groups #: model:ir.model,name:users_ldap_groups.model_res_users msgid "User" -msgstr "" +msgstr "Usuário" #. module: users_ldap_groups #: model:ir.model.fields,field_description:users_ldap_groups.field_res_company_ldap_group_mapping__value diff --git a/users_ldap_mail/i18n/pt_BR.po b/users_ldap_mail/i18n/pt_BR.po index dde4819f8c..d4570eb63d 100644 --- a/users_ldap_mail/i18n/pt_BR.po +++ b/users_ldap_mail/i18n/pt_BR.po @@ -9,15 +9,17 @@ msgstr "" "Project-Id-Version: server-tools (9.0)\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-12-15 01:55+0000\n" -"PO-Revision-Date: 2015-12-13 15:21+0000\n" -"Last-Translator: OCA Transbot \n" -"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/OCA-server-" -"tools-9-0/language/pt_BR/)\n" +"PO-Revision-Date: 2024-05-22 02:01+0000\n" +"Last-Translator: Rodrigo Macedo \n" +"Language-Team: Portuguese (Brazil) (http://www.transifex.com/oca/" +"OCA-server-tools-9-0/language/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" +"Plural-Forms: nplurals=2; plural=n > 1;\n" +"X-Generator: Weblate 4.17\n" #. module: users_ldap_mail #: model:ir.model.fields,help:users_ldap_mail.field_res_company_ldap__name_attribute @@ -30,7 +32,7 @@ msgstr "" #. module: users_ldap_mail #: model:ir.model,name:users_ldap_mail.model_res_company_ldap msgid "Company LDAP configuration" -msgstr "" +msgstr "Configuração LDAP da empresa" #. module: users_ldap_mail #: model:ir.model.fields,field_description:users_ldap_mail.field_res_company_ldap__mail_attribute @@ -40,7 +42,7 @@ msgstr "Atributo E-mail" #. module: users_ldap_mail #: model:ir.model.fields,help:users_ldap_mail.field_res_company_ldap__mail_attribute msgid "LDAP attribute to use to retrieve e-mail address." -msgstr "" +msgstr "Atributo LDAP a ser usado para recuperar o endereço de e-mail." #. module: users_ldap_mail #: model:ir.model.fields,field_description:users_ldap_mail.field_res_company_ldap__name_attribute diff --git a/vault/i18n/es.po b/vault/i18n/es.po index 3358c5bda5..eb66e65919 100644 --- a/vault/i18n/es.po +++ b/vault/i18n/es.po @@ -7,8 +7,8 @@ msgstr "" "Project-Id-Version: Odoo Server 14.0\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2022-06-06 06:57+0000\n" -"PO-Revision-Date: 2023-10-31 20:36+0000\n" -"Last-Translator: Ivorra78 \n" +"PO-Revision-Date: 2024-04-16 10:25+0000\n" +"Last-Translator: Carlos Roca Zaragoza \n" "Language-Team: \n" "Language: es\n" "MIME-Version: 1.0\n" @@ -46,6 +46,8 @@ msgid "" "A secure browser context is required. Please switch to https or contact your " "administrator" msgstr "" +"Se requiere un contexto de navegador seguro. Por favor, cambie a https o " +"contacte a su administrador" #. module: vault #. odoo-javascript @@ -89,12 +91,12 @@ msgstr "Todos los registros" #. module: vault #: model_terms:ir.ui.view,arch_db:vault.res_config_settings_view_form msgid "Allow all users to export vaults accessible to them" -msgstr "Permitir que todos los usuarios exporten bóvedas accesibles para ellos" +msgstr "Permitir que todos los usuarios exporten secretos accesibles para ellos" #. module: vault #: model_terms:ir.ui.view,arch_db:vault.res_config_settings_view_form msgid "Allow all users to import vaults accessible to them" -msgstr "Permitir que todos los usuarios importen bóvedas accesibles para ellos" +msgstr "Permitir que todos los usuarios importen secretos accesibles para ellos" #. module: vault #: model_terms:ir.ui.view,arch_db:vault.res_config_settings_view_form @@ -104,32 +106,32 @@ msgstr "Permitir el uso para compartir secretos con usuarios externos" #. module: vault #: model:ir.model.fields,help:vault.field_vault_right__perm_create msgid "Allow to create in the vault" -msgstr "Permitir crear en el vault" +msgstr "Permitir crear en el almacén de secretos" #. module: vault #: model:ir.model.fields,help:vault.field_vault_right__perm_delete msgid "Allow to delete a vault" -msgstr "Permitir borrar un vault" +msgstr "Permitir borrar un secreto" #. module: vault #: model:res.groups,name:vault.group_vault_export msgid "Allow to export vaults" -msgstr "Permitir exportar bóvedas" +msgstr "Permitir exportar secretos" #. module: vault #: model:res.groups,name:vault.group_vault_import msgid "Allow to import vaults" -msgstr "Permitir importar bóvedas" +msgstr "Permitir importar secretos" #. module: vault #: model:ir.model.fields,help:vault.field_vault_right__perm_share msgid "Allow to share a vault with new users" -msgstr "Permitir compartir un vault con nuevos usuarios" +msgstr "Permitir compartir un secreto con nuevos usuarios" #. module: vault #: model:ir.model.fields,help:vault.field_vault_right__perm_write msgid "Allow to write to the vault" -msgstr "Permitir escribir en un vault" +msgstr "Permitir escribir en un secreto" #. module: vault #: model:ir.model.fields,field_description:vault.field_vault__allowed_create @@ -198,7 +200,7 @@ msgstr "Por usuario" #. module: vault #: model_terms:ir.ui.view,arch_db:vault.view_vault_right_overview_search msgid "By vault" -msgstr "Por vault" +msgstr "Por secreto" #. module: vault #. odoo-javascript @@ -423,7 +425,7 @@ msgstr "Registro" #: model:ir.model,name:vault.model_vault_entry #, python-format msgid "Entry inside a vault" -msgstr "Entrar al interior de un vault" +msgstr "Entrar al interior de un secreto" #. module: vault #. odoo-python @@ -451,7 +453,7 @@ msgstr "Expira en" #. module: vault #: model:ir.model.fields,field_description:vault.field_res_config_settings__group_vault_export msgid "Export Vaults" -msgstr "Exportar bóvedas" +msgstr "Exportar secretos" #. module: vault #. odoo-python @@ -469,7 +471,7 @@ msgstr "Exportar a fichero" #: model:ir.model,name:vault.model_vault_export_wizard #, python-format msgid "Export wizard for vaults" -msgstr "Asistente de exportación para vaults" +msgstr "Asistente de exportación para secretos" #. module: vault #. odoo-javascript @@ -498,7 +500,7 @@ msgstr "Fallo en la importación de claves desde la base de datos" #: model:ir.model,name:vault.model_vault_field #, python-format msgid "Field of a vault" -msgstr "Campo de un vault" +msgstr "Campo de un secreto" #. module: vault #: model:ir.model.fields,field_description:vault.field_vault__field_ids @@ -512,7 +514,7 @@ msgstr "Campos" #: model:ir.model,name:vault.model_vault_file #, python-format msgid "File of a vault" -msgstr "Fichero de un vault" +msgstr "Fichero de un secreto" #. module: vault #: model_terms:ir.ui.view,arch_db:vault.inbox @@ -602,7 +604,7 @@ msgstr "Importar" #. module: vault #: model:ir.model.fields,field_description:vault.field_res_config_settings__group_vault_import msgid "Import Vaults" -msgstr "Importar bóvedas" +msgstr "Importar secretos" #. module: vault #. odoo-python @@ -620,7 +622,7 @@ msgstr "Importar desde archivo" #: model:ir.model,name:vault.model_vault_import_wizard #, python-format msgid "Import wizard for vaults" -msgstr "Asistente de importación para vaults" +msgstr "Asistente de importación para secretos" #. module: vault #. odoo-python @@ -628,7 +630,7 @@ msgstr "Asistente de importación para vaults" #: model:ir.model,name:vault.model_vault_import_wizard_path #, python-format msgid "Import wizard path for vaults" -msgstr "Ruta del asistente de importación para vaults" +msgstr "Ruta del asistente de importación para secretos" #. module: vault #: model:ir.actions.act_window,name:vault.action_vault_inbox @@ -824,7 +826,7 @@ msgstr "Registro" #: model:ir.model,name:vault.model_vault_log #, python-format msgid "Log entry of a vault" -msgstr "Registro de entrada de un vault" +msgstr "Registro de entrada de un secreto" #. module: vault #: model:ir.actions.act_window,name:vault.action_res_users_keys @@ -899,7 +901,7 @@ msgstr "Nombre de tu secreto:" #: code:addons/vault/wizards/vault_send_wizard.py:0 #, python-format msgid "Neither a secret nor file was given" -msgstr "" +msgstr "No se proporcionó un secreto ni un archivo" #. module: vault #: model_terms:ir.ui.view,arch_db:vault.view_users_form_keys_modif @@ -1152,7 +1154,7 @@ msgstr "Tienda" #: code:addons/vault/static/src/backend/fields/vault_inbox_mixin.esm.js:0 #, python-format msgid "Store the secret in a vault" -msgstr "Guarda el secreto en un vault" +msgstr "Guarda el secreto en un almacén de secretos" #. module: vault #: model_terms:ir.ui.view,arch_db:vault.inbox @@ -1266,7 +1268,7 @@ msgstr "Usuario" #: model:ir.model,name:vault.model_res_users_key #, python-format msgid "User data of a vault" -msgstr "Datos de usuario de un vault" +msgstr "Datos de usuario de un secreto" #. module: vault #: model:ir.model.fields,help:vault.field_vault_inbox__inbox_link @@ -1314,45 +1316,45 @@ msgstr "Valor" #: model_terms:ir.ui.view,arch_db:vault.view_vault_entry_search #, python-format msgid "Vault" -msgstr "Bóveda" +msgstr "Secretos" #. module: vault #. odoo-javascript #: code:addons/vault/static/src/backend/fields/vault_field.esm.js:0 #, python-format msgid "Vault Field" -msgstr "" +msgstr "Campo de secreto" #. module: vault #. odoo-javascript #: code:addons/vault/static/src/backend/fields/vault_file.esm.js:0 #, python-format msgid "Vault File" -msgstr "" +msgstr "Fichero de secreto" #. module: vault #. odoo-javascript #: code:addons/vault/static/src/backend/fields/vault_inbox_field.esm.js:0 #, python-format msgid "Vault Inbox Field" -msgstr "" +msgstr "Campo de bandeja de entrada de secreto" #. module: vault #. odoo-javascript #: code:addons/vault/static/src/backend/fields/vault_inbox_file.esm.js:0 #, python-format msgid "Vault Inbox File" -msgstr "" +msgstr "Fichero de bandeja de entrada de secreto" #. module: vault #: model:ir.model.fields,field_description:vault.field_res_users__vault_right_ids msgid "Vault Right" -msgstr "Permiso de vault" +msgstr "Permiso de secretos" #. module: vault #: model_terms:ir.ui.view,arch_db:vault.res_config_settings_view_form msgid "Vault Share" -msgstr "Compartir vault" +msgstr "Compartir secreto" #. module: vault #. odoo-python @@ -1360,14 +1362,14 @@ msgstr "Compartir vault" #: model:ir.model,name:vault.model_vault_inbox_log #, python-format msgid "Vault inbox log" -msgstr "Registro de bandeja de entrada de vault" +msgstr "Registro de bandeja de entrada de secreto" #. module: vault #. odoo-javascript #: code:addons/vault/static/src/backend/controller.esm.js:0 #, python-format msgid "Vault is not supported" -msgstr "" +msgstr "Secretos no está soportado" #. module: vault #. odoo-python @@ -1375,7 +1377,7 @@ msgstr "" #: model:ir.model,name:vault.model_vault_right #, python-format msgid "Vault rights" -msgstr "Permisos de vault" +msgstr "Permisos de secretos" #. module: vault #. odoo-python @@ -1383,7 +1385,7 @@ msgstr "Permisos de vault" #: model:ir.model,name:vault.model_vault_inbox #, python-format msgid "Vault share incoming secrets" -msgstr "Compartir los secretos de entrada de vault" +msgstr "Compartir los secretos de entrada de almacén de secretos" #. module: vault #. odoo-python @@ -1396,7 +1398,7 @@ msgstr "Etiqueta de vault" #. module: vault #: model_terms:ir.ui.view,arch_db:vault.view_vault_entry_search msgid "Vaults" -msgstr "Bóvedas" +msgstr "Secretos" #. module: vault #: model_terms:ir.ui.view,arch_db:vault.view_vault_form @@ -1421,7 +1423,7 @@ msgstr "Advertencia" #: model:ir.model,name:vault.model_vault_store_wizard #, python-format msgid "Wizard store a shared secret in a vault" -msgstr "Asistente de almacenado de secreto compartido en un vault" +msgstr "Asistente de almacenado de secreto compartido en un almacén de secretos" #. module: vault #. odoo-python @@ -1448,7 +1450,7 @@ msgstr "Escrito por %(name)s vía %(ip)s" #: code:addons/vault/models/vault_entry.py:0 #, python-format msgid "You can not create recursive entries." -msgstr "No puedes crear registros recrsivos." +msgstr "No puedes crear registros recursivos." #. module: vault #: model_terms:ir.ui.view,arch_db:vault.view_vault_send_wizard @@ -1467,7 +1469,7 @@ msgstr "" msgid "" "You will loose access to all vaults and your inbox. Do you want to continue?" msgstr "" -"Perderá el acceso a todos sus vaults y a su bandeja de entrada. ¿Desea " +"Perderá el acceso a todos sus secretos y a su bandeja de entrada. ¿Desea " "continuar?" #. module: vault