Mécanisme de dé-duplication des résultats plus souple pour l'autocomplétion #731

Merged
mpepin merged 0 commits from kerl/factor_autocompletion_views1 into master 2020-07-05 11:25:37 +02:00
mpepin commented 2020-07-04 13:19:04 +02:00 (Migrated from git.eleves.ens.fr)

Pour savoir si deux résultats de deux SeachUnits différentes sont identiques, on appelle la méthode result_uuid de chaque SearchUnit . Par exemple, si on fait une recherche dans la table User et dans le LDAP du SPI, on peut éviter d'afficher deux fois la même personne (en supposant que le username stocke le login clipper) de la façon suivante :

class UserSearch(ModelSearch):
    model = User
    search_fields = ["username", "first_name", "last_name"]

    def result_uuid(self, user):
        return user.username

class UserAndClipperSearch(Compose):
    search_units = [
        ("users", UserSearch()),
        ("clippers", LDAPSearch()),  # pour LDAPSearch, `result_uuid` revoie le login clipper par défaut.
    ]

Avant ce patch, on précisait un attribut au lieu d'une méthode :

    ("users", "username", UserSearch),
    ("clippers", "clipper", LDAPSearch),

C'était plus hackish à mon sens et ça donne moins de souplesse, notamment je pense que ça posera problème pour authens.

Pour savoir si deux résultats de deux `SeachUnit`s différentes sont identiques, on appelle la méthode `result_uuid` de chaque `SearchUnit` . Par exemple, si on fait une recherche dans la table `User` et dans le LDAP du SPI, on peut éviter d'afficher deux fois la même personne (en supposant que le `username` stocke le login clipper) de la façon suivante : ```python class UserSearch(ModelSearch): model = User search_fields = ["username", "first_name", "last_name"] def result_uuid(self, user): return user.username class UserAndClipperSearch(Compose): search_units = [ ("users", UserSearch()), ("clippers", LDAPSearch()), # pour LDAPSearch, `result_uuid` revoie le login clipper par défaut. ] ``` Avant ce patch, on précisait un attribut au lieu d'une méthode : ```python ("users", "username", UserSearch), ("clippers", "clipper", LDAPSearch), ``` C'était plus hackish à mon sens et ça donne moins de souplesse, notamment je pense que ça posera problème pour `authens`. ```
mpepin commented 2020-07-04 13:32:04 +02:00 (Migrated from git.eleves.ens.fr)

added 1 commit

  • 572ff731 - Update the isort config for version 5.*

Compare with previous version

added 1 commit <ul><li>572ff731 - Update the isort config for version 5.*</li></ul> [Compare with previous version](/klub-dev-ens/gestioCOF/merge_requests/427/diffs?diff_id=1846&start_sha=c7ca96bce5c83d1a0a9df64c9360e650da1dc328)
mpepin commented 2020-07-04 13:40:53 +02:00 (Migrated from git.eleves.ens.fr)

added 1 commit

  • e9f00b4f - Update the isort config for version 5.*

Compare with previous version

added 1 commit <ul><li>e9f00b4f - Update the isort config for version 5.*</li></ul> [Compare with previous version](/klub-dev-ens/gestioCOF/merge_requests/427/diffs?diff_id=1847&start_sha=572ff731d1a5586def2d6b65b03d190d668d0259)
lstephan commented 2020-07-04 13:43:33 +02:00 (Migrated from git.eleves.ens.fr)

Ça ne va pas check le venv ça ?

Ça ne va pas check le venv ça ?
mpepin commented 2020-07-04 14:01:14 +02:00 (Migrated from git.eleves.ens.fr)

Non désormais le venv est ignoré par défaut : https://timothycrosley.github.io/isort/docs/configuration/options/#skip (une sage décision)

Non désormais le venv est ignoré par défaut : https://timothycrosley.github.io/isort/docs/configuration/options/#skip (une sage décision)
mpepin commented 2020-07-04 14:06:21 +02:00 (Migrated from git.eleves.ens.fr)

resolved all discussions

resolved all discussions
mpepin commented 2020-07-04 14:20:56 +02:00 (Migrated from git.eleves.ens.fr)

mentioned in merge request !428

mentioned in merge request !428
lstephan commented 2020-07-04 17:48:47 +02:00 (Migrated from git.eleves.ens.fr)

il doit manquer un mot ici

il doit manquer un mot ici
lstephan commented 2020-07-04 18:47:35 +02:00 (Migrated from git.eleves.ens.fr)

À part la typo, ok pour merge !

À part la typo, ok pour merge !
mpepin commented 2020-07-05 11:15:28 +02:00 (Migrated from git.eleves.ens.fr)

changed this line in version 4 of the diff

changed this line in [version 4 of the diff](/klub-dev-ens/gestioCOF/merge_requests/427/diffs?diff_id=1854&start_sha=e9f00b4f06a02d20f205c7439839ac16d6e5b41c#9887b4f3bd1e903210c6de540a018cc2a0231777_198_198)
mpepin commented 2020-07-05 11:15:37 +02:00 (Migrated from git.eleves.ens.fr)

added 1 commit

Compare with previous version

added 1 commit <ul><li>fbbc9937 - Fix a typo</li></ul> [Compare with previous version](/klub-dev-ens/gestioCOF/merge_requests/427/diffs?diff_id=1854&start_sha=e9f00b4f06a02d20f205c7439839ac16d6e5b41c)
mpepin commented 2020-07-05 11:15:46 +02:00 (Migrated from git.eleves.ens.fr)

resolved all discussions

resolved all discussions
lstephan commented 2020-07-05 11:22:52 +02:00 (Migrated from git.eleves.ens.fr)

enabled an automatic merge when the pipeline for fbbc9937f6 succeeds

enabled an automatic merge when the pipeline for fbbc9937f638fd513b347b82a9bf111fa4f65e96 succeeds
lstephan commented 2020-07-05 11:25:32 +02:00 (Migrated from git.eleves.ens.fr)

canceled the automatic merge

canceled the automatic merge
lstephan commented 2020-07-05 11:25:37 +02:00 (Migrated from git.eleves.ens.fr)

merged

merged
lstephan commented 2020-07-05 11:25:37 +02:00 (Migrated from git.eleves.ens.fr)

mentioned in commit 68ccd4722f

mentioned in commit 68ccd4722fd76d5b08d479df587132c3398bee9c
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
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: DGNum/gestioCOF#731
No description provided.