Faire que l’api générique crud sur les usagers gère l’unicité du numéro en cas d’authn tél activée (#83700) #181

Open
pmarillonnet wants to merge 1 commits from wip/83700-api-users-crud-phone-uniqueness-tel into main
Owner
No description provided.
pmarillonnet added 1 commit 2023-11-20 10:24:13 +01:00
gitea/authentic/pipeline/head There was a failure building this commit Details
2df0b9c7f5
[wip] custom drf validator (#83700)
pmarillonnet force-pushed wip/83700-api-users-crud-phone-uniqueness-tel from 2df0b9c7f5 to 3f6f4b4a3b 2023-11-20 15:18:56 +01:00 Compare
pmarillonnet force-pushed wip/83700-api-users-crud-phone-uniqueness-tel from 3f6f4b4a3b to 3337c9e1ef 2023-11-20 15:36:27 +01:00 Compare
pmarillonnet force-pushed wip/83700-api-users-crud-phone-uniqueness-tel from 3337c9e1ef to ea99d2bc15 2023-11-20 16:59:25 +01:00 Compare
pmarillonnet force-pushed wip/83700-api-users-crud-phone-uniqueness-tel from ea99d2bc15 to df6d1011f0 2023-11-20 17:20:00 +01:00 Compare
pmarillonnet force-pushed wip/83700-api-users-crud-phone-uniqueness-tel from df6d1011f0 to fe1634044f 2023-11-21 09:52:14 +01:00 Compare
pmarillonnet force-pushed wip/83700-api-users-crud-phone-uniqueness-tel from fe1634044f to d5cf4091b7 2023-11-21 10:03:31 +01:00 Compare
pmarillonnet changed title from WIP: Faire que l’api générique crud sur les usagers gère l’unicité du numéro en cas d’authn tél activée (#83700) to Faire que l’api générique crud sur les usagers gère l’unicité du numéro en cas d’authn tél activée (#83700) 2023-11-21 10:06:00 +01:00
bdauvergne reviewed 2023-12-20 17:23:40 +01:00
@ -145,6 +145,7 @@ def extract_settings_from_environ():
'A2_CAN_RESET_PASSWORD',
'A2_REGISTRATION_CAN_DELETE_ACCOUNT',
'A2_REGISTRATION_EMAIL_IS_UNIQUE',
'A2_REGISTRATION_PHONE_IS_UNIQUE',
Owner

Ça arrive de #82737 il me semble, à retirer.

Ça arrive de #82737 il me semble, à retirer.
Author
Owner

Ok, en effet, erreur de rebasage, je retire.

Ok, en effet, erreur de rebasage, je retire.
pmarillonnet marked this conversation as resolved
bdauvergne reviewed 2023-12-20 17:23:46 +01:00
@ -68,6 +68,7 @@ class OrganizationalUnitAdmin(admin.ModelAdmin):
'description',
'username_is_unique',
'email_is_unique',
'phone_is_unique',
Owner

Ça arrive de #82737 il me semble, à retirer.

Ça arrive de #82737 il me semble, à retirer.
Author
Owner

Là c’est un souci d’empilement de PR dans gitea. Cette présente PR a d’ailleurs été fermée par erreur de ma part, je vais rouvrir et configurer correctement pour que les modification (déjà mergées) de #82737 n’apparaissent plus ici.

Là c’est un souci d’empilement de PR dans gitea. Cette présente PR a d’ailleurs été fermée par erreur de ma part, je vais rouvrir et configurer correctement pour que les modification (déjà mergées) de #82737 n’apparaissent plus ici.
pmarillonnet marked this conversation as resolved
bdauvergne reviewed 2023-12-20 17:23:59 +01:00
@ -0,0 +1,17 @@
# Generated by Django 3.2.18 on 2023-11-06 15:47
Owner

Ça arrive de #82737 il me semble, à retirer.

Ça arrive de #82737 il me semble, à retirer.
pmarillonnet marked this conversation as resolved
bdauvergne requested changes 2023-12-20 17:46:08 +01:00
@ -545,0 +558,4 @@
ou = attrs.get('ou', None) or get_default_ou()
if ou.phone_is_unique:
qs = qs.annotate(
ou_id=models.expressions.RawSQL(
Owner

On peut utiliser une subquery avec OuterRef pour ça :

ou_id=User.objects.filter(pk=models.OuterRef('object_id')).values_list('ou_id', flat=True),
On peut utiliser une subquery avec OuterRef pour ça : ``` ou_id=User.objects.filter(pk=models.OuterRef('object_id')).values_list('ou_id', flat=True), ```
Author
Owner

Oui complètement, je vais modifier.

Oui complètement, je vais modifier.
Author
Owner

C’est modifié.

C’est modifié.
@ -545,0 +564,4 @@
(),
),
).filter(ou_id=ou.id)
elif not app_settings.A2_PHONE_IS_UNIQUE: # skip uniqueness checks
Owner

Je ne m'embêterai pas avec ça on va considérer juste l'unicité au niveau de l'ou; en multico c'est ce qu'on veut de toute façon. On peut même virer les settings correspondant partout, pareil pour A2_REGISTRATION_PHONE_IS_UNIQUE. Tu pourrais déplacer le errors['attributes'] = ... directement dans le if ainsi et retirer le return attrs précoce.

Je ne m'embêterai pas avec ça on va considérer juste l'unicité au niveau de l'ou; en multico c'est ce qu'on veut de toute façon. On peut même virer les settings correspondant partout, pareil pour A2_REGISTRATION_PHONE_IS_UNIQUE. Tu pourrais déplacer le `errors['attributes'] = ...` directement dans le if ainsi et retirer le `return attrs` précoce.
Author
Owner

Ok, faisons simple, je vais virer tout ça.

Ok, faisons simple, je vais virer tout ça.
Author
Owner

Après réflexion je me dis qu’on pourrait laisser ces settings globaux maintenant qu’ils sont implémentés et testés, qu’il y a peut-être quand même des cas de multico où on veut quand même un téléphone unique partout ?

Après réflexion je me dis qu’on pourrait laisser ces settings globaux maintenant qu’ils sont implémentés et testés, qu’il y a peut-être quand même des cas de multico où on veut quand même un téléphone unique partout ?
Author
Owner

(Par contre bien sûr dans cette partie du code il y avait un bug, un return attrs en dépit de toute gestion des erreurs précédemment relevées, c’est corrigé dans cette nouvelle version de la PR.)

(Par contre bien sûr dans cette partie du code il y avait un bug, un `return attrs` en dépit de toute gestion des erreurs précédemment relevées, c’est corrigé dans cette nouvelle version de la PR.)
pmarillonnet closed this pull request 2024-01-15 08:38:19 +01:00
pmarillonnet reopened this pull request 2024-02-06 11:58:14 +01:00
pmarillonnet changed target branch from wip/82737-authn-tel-post-registration-account-selection-buggy-form to main 2024-02-06 11:58:21 +01:00
pmarillonnet changed title from Faire que l’api générique crud sur les usagers gère l’unicité du numéro en cas d’authn tél activée (#83700) to WIP: Faire que l’api générique crud sur les usagers gère l’unicité du numéro en cas d’authn tél activée (#83700) 2024-02-06 11:58:37 +01:00
pmarillonnet added 1 commit 2024-02-06 12:16:32 +01:00
gitea/authentic/pipeline/head There was a failure building this commit Details
f01cc42c60
[wip] remove unnecessary global uniqueness checks
pmarillonnet force-pushed wip/83700-api-users-crud-phone-uniqueness-tel from f01cc42c60 to 41ea8c80c1 2024-02-06 12:19:17 +01:00 Compare
pmarillonnet force-pushed wip/83700-api-users-crud-phone-uniqueness-tel from 41ea8c80c1 to 609167f6e5 2024-02-06 15:41:40 +01:00 Compare
pmarillonnet force-pushed wip/83700-api-users-crud-phone-uniqueness-tel from 609167f6e5 to 70e2e2e6ce 2024-02-06 16:02:57 +01:00 Compare
pmarillonnet changed title from WIP: Faire que l’api générique crud sur les usagers gère l’unicité du numéro en cas d’authn tél activée (#83700) to Faire que l’api générique crud sur les usagers gère l’unicité du numéro en cas d’authn tél activée (#83700) 2024-02-06 16:16:48 +01:00
pmarillonnet requested review from bdauvergne 2024-02-06 16:16:52 +01:00
All checks were successful
gitea/authentic/pipeline/head This commit looks good
This pull request can be merged automatically.
This branch is out-of-date with the base branch
You are not authorized to merge this pull request.
You can also view command line instructions.

Step 1:

From your project repository, check out a new branch and test the changes.
git checkout -b wip/83700-api-users-crud-phone-uniqueness-tel main
git pull origin wip/83700-api-users-crud-phone-uniqueness-tel

Step 2:

Merge the changes and update on Gitea.
git checkout main
git merge --no-ff wip/83700-api-users-crud-phone-uniqueness-tel
git push origin main
Sign in to join this conversation.
No reviewers
No Label
No Milestone
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: entrouvert/authentic#181
No description provided.