Commit Graph

1703 Commits

Author SHA1 Message Date
Benjamin Dauvergne 00172e0673 cook: improve create_site ordering of operations (#73207)
The logic is changed to match the one in ModelForm:
* first we try to get an object from the slug, or create a new one
* fields are filled
* we do a full_clean()
* then if needed the object is saved.

Keeping the full clean after the first .save() would raise an
IntegrityError because of the new unique constraints on the slug and
title fields.
2023-03-16 16:30:50 +01:00
Benjamin Dauvergne 645d6566f1 environment: initialize title from slug on save (#73207)
To simplify tests, slug is always globally unique for the model, using
it for title will always work.
2023-03-16 16:30:50 +01:00
Benjamin Dauvergne ea8a633d29 environment: ensure slug and title are unique for their scope (#73207)
* slug must be globally unique
* title must be locally unique, i.e. unique for primary services
* also there must be only one Hobo service with local=True
2023-03-16 16:30:50 +01:00
Valentin Deniaud c04fb9ab39 ci: remove Django 2.2 target (#75507)
gitea/hobo/pipeline/head This commit looks good Details
2023-03-16 12:05:26 +01:00
Valentin Deniaud c766be2305 multitenant: pass --skip-checks to migrate command (#74968)
gitea/hobo/pipeline/head This commit looks good Details
2023-03-01 12:05:32 +01:00
Frédéric Péters 6ed101d94e translation update
gitea/hobo/pipeline/head This commit looks good Details
2023-03-01 09:16:15 +01:00
Paul Marillonnet 111591a0b0 user_name: fallback on default full name when var defined yet empty (#74507)
gitea/hobo/pipeline/head This commit looks good Details
2023-02-28 14:52:30 +01:00
Paul Marillonnet 5956ce4036 profile: add user full name template definition popup (#74507) 2023-02-28 14:52:28 +01:00
Emmanuel Cazenave 92f827d9f6 sms: authorize underscore in sms_sender (#74219)
gitea/hobo/pipeline/head This commit looks good Details
2023-02-24 06:57:50 +01:00
Frédéric Péters 266f691c99 ci: update .tar.gz URLs for gitea (#74713)
gitea/hobo/pipeline/head This commit looks good Details
2023-02-22 16:38:04 +01:00
Agate 3d4f80d8e3 Prepare Jenkinsfile for Gitea migration (#74572)
gitea/hobo/pipeline/head Something is wrong with the build of this commit Details
2023-02-20 15:07:51 +01:00
Paul Marillonnet 3e6d5eaaf5 environment: allow templated sites variable values (#74500)
gitea-wip/hobo/pipeline/pr-main This commit looks good Details
2023-02-14 11:54:41 +01:00
Frédéric Péters fe64b31ba2 translation update 2023-02-10 11:07:08 +01:00
Agate 6b76f3c3eb user: allow customization of User.get_full_name() through templates (#72945) 2023-02-10 09:14:07 +01:00
Thomas NOËL b6662414dc fix isort errors 2023-02-10 02:09:21 +01:00
Thomas NOËL 64d973c20e emails: restrict domains for default_from_email (#72173)
gitea-wip/hobo/pipeline/pr-main Something is wrong with the build of this commit Details
gitea/hobo/pipeline/pr-main Something is wrong with the build of this commit Details
gitea/hobo/pipeline/head Something is wrong with the build of this commit Details
2023-02-10 00:38:28 +01:00
Lauréline Guérin 13f0821c66
applications: fix Element type size (#74233)
gitea-wip/hobo/pipeline/pr-main This commit looks good Details
2023-02-06 17:50:05 +01:00
Frédéric Péters 88d1681a12 ci: upgrade isort (#74044) 2023-02-01 09:43:24 +01:00
Benjamin Dauvergne b3520030f5 tests: improve search of a free TCP port (#72645) 2023-01-31 17:36:13 +01:00
Benjamin Dauvergne 842f699e8a django32: change the way Thread are made tenant aware (#67760)
gitea-wip/hobo/pipeline/pr-main This commit looks good Details
Django 3.2. changed the implementation of django.db.ConnectionHandler it
now uses asgiref.local.Local as a thread/asyncio-task local dictionnary
instead of threading.local. This new implementation use
threading.current_thread() to get a reference to the current thread
instead of threading._get_ident(), but inside __bootstrap_inner, the
_active dictionnary is not initialized and current_thread() returns a
dummy value instead of the current thread.

To work around this behaviour I made __bootstrap_inner wrap the run
method with the code needed to setup the tenant, so that it's run after
__boostrap_inner initialization of the current thread in the _active
dictionnary.
2023-01-30 14:54:37 +01:00
Emmanuel Cazenave 9bc96520ac django32: use public API to clear caches (#67760) 2023-01-30 14:53:15 +01:00
Emmanuel Cazenave b9e4dab140 django32: honor django's generated error formats (#67760) 2023-01-30 14:53:15 +01:00
Benjamin Dauvergne 3ac54aa650 django32: implement clear_tenants_settings as a global function (#67760)
Django 3.2 introduced a constraint on the access of settings object
attributes, they can only be in uppercase. As clear_tenants_settings is
only used by tests on the multitenant framework, clear_tenants_settings
is reimplemented as a global function using a global variable
_tenant_settings_wrapper to access the global multitenant aware wrapper
around the setting object.
2023-01-30 14:53:15 +01:00
Emmanuel Cazenave f05596a088 django32: check message content directly in the page (#67760)
Which is the point of interest anyway.
https://code.djangoproject.com/ticket/32191 for details on why it is not possible anymore to check the plain text in the response header.
2023-01-30 14:53:15 +01:00
Agate 4a1cfa5a16 django32: do not instanciate ServiceBase abstract model (#67760) 2023-01-30 14:53:15 +01:00
Emmanuel Cazenave dbf76af91e django32: run tests against django 3.2 (#67760) 2023-01-30 14:53:15 +01:00
Frédéric Péters 65ff0ad9a6 context processors: return mini-template if there's no skeleton url (#73796) 2023-01-27 08:25:40 +01:00
Benjamin Dauvergne a5acd7e2b2 environment: clean old auto variable for internal ips (#65235) 2023-01-24 16:24:31 +01:00
Frédéric Péters 8a9ad4ffa5 applications: skip unknown services (#73583) 2023-01-19 19:37:25 +01:00
Frédéric Péters 3a6640f8f2 misc: close opened key files in authentic settings loader (#73550) 2023-01-18 13:49:35 +01:00
Benjamin Dauvergne 2e18ac3a78 tox.ini: fix coverage warning
gitea-wip/hobo/pipeline/head There was a failure building this commit Details
py3-django22-coverage-multipublik/lib/python3.9/site-packages/coverage/control.py:687: CoverageWarning: Conflicting dynamic contexts (dynamic-conflict)
	    self._warn("Conflicting dynamic contexts", slug="dynamic-conflict", once=True)
2023-01-16 17:06:30 +01:00
Benjamin Dauvergne f5ebbc4215 debian: fix typo (#73437) 2023-01-16 17:05:00 +01:00
Emmanuel Cazenave aa7d275028 tox: drop django-tables2 (#73271) 2023-01-16 15:34:40 +01:00
Emmanuel Cazenave d022506c33 misc: drop djangorestframework 3.9 compatibility (#73260)
gitea-wip/hobo/pipeline/pr-main Build started... Details
2023-01-16 15:33:50 +01:00
Benjamin Dauvergne ce88277e90 misc: improve get_safe_db_name (#72643) 2023-01-16 15:07:56 +01:00
Benjamin Dauvergne a652576b84 misc: improve jenkins log with parallel tox (#72643) 2023-01-16 15:07:56 +01:00
Benjamin Dauvergne 157a69fab6 misc: fix warning about deprecated connection.get_tenant() (#73294)
gitea-wip/hobo/pipeline/pr-main This commit looks good Details
2023-01-12 12:04:49 +01:00
Benjamin Dauvergne 760a8b1a7c Revert "misc: improve get_safe_db_name (#72643)"
This reverts commit 56c611d77b.
2023-01-12 10:27:18 +01:00
Benjamin Dauvergne be635f1001 Revert "misc: improve jenkins log with parallel tox (#72643)"
This reverts commit 1dc65bde3e.
2023-01-12 10:27:11 +01:00
Benjamin Dauvergne 56c611d77b misc: improve get_safe_db_name (#72643)
gitea-wip/hobo/pipeline/pr-main Build started... Details
2023-01-12 10:17:59 +01:00
Benjamin Dauvergne 1dc65bde3e misc: improve jenkins log with parallel tox (#72643) 2023-01-12 10:17:59 +01:00
Benjamin Dauvergne a917ec7fec agent: limit provisionning to some commands (#72478)
- authentic2.custom_user.management.commands.fix-attributes
- authentic2.management.commands.check-and-repair
- authentic2.management.commands.clean-unused-accounts
- authentic2.management.commands.cleanupauthentic
- authentic2.management.commands.deactivate-orphaned-ldap-users
- authentic2.management.commands.import_site
- authentic2.management.commands.sync-ldap-users
- authentic2_auth_oidc.management.commands.oidc-sync-provider
- hobo.multitenant.management.commands.runscript
2023-01-04 10:54:58 +01:00
Agate 3b11215c9f hobo: store extra user attrs during provisionning (#38703)
gitea-wip/hobo/pipeline/pr-main This commit looks good Details
2023-01-04 08:26:26 +01:00
Frédéric Péters 8eabc9d9d9 ci: only build package for bullseye (#72729) 2022-12-22 17:21:27 +01:00
Frédéric Péters 7cece8ce44 misc: make sure identical hobo in different db have the same key (#72264) 2022-12-17 09:00:50 +01:00
Benjamin Dauvergne 82b7e01caf cook: check disabled service in recipes (#72335) 2022-12-15 15:58:08 +01:00
Benjamin Dauvergne bc8e7a3867 cook: simplify command call in tests (#72335) 2022-12-15 15:57:20 +01:00
Benjamin Dauvergne 50ef55637d cook: always mock notify_agents in tests (#72335) 2022-12-15 15:57:20 +01:00
Benjamin Dauvergne 12b1b5096b hobo: add setting to disable/enable a type of service (#72335)
HOBO_SERVICES_DISABLED is used in hobo/settings.py to list deprecated or
services still not in production.
HOBO_SERVICES_ENABLED is used through config.json to enable a new
service.

ServiceBase.is_enabled() is modified to use those settings
2022-12-15 15:57:20 +01:00
Paul Marillonnet 89096f8def ci: use correct alias as failure notification recipient (#72363) 2022-12-13 16:48:54 +01:00