Skip to content
GitLab
Projects Groups Topics Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • G gestioCOF
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributor statistics
    • Graph
    • Compare revisions
  • Issues 76
    • Issues 76
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 16
    • Merge requests 16
  • Deployments
    • Deployments
    • Releases
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Commits
  • Issue Boards
Collapse sidebar
  • Klub Dev ENSKlub Dev ENS
  • gestioCOF
  • Merge requests
  • !427

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

  • Review changes

  • Download
  • Patches
  • Plain diff
Merged Martin Pepin requested to merge kerl/factor_autocompletion_views1 into master Jul 04, 2020
  • Overview 4
  • Commits 3
  • Pipelines 0
  • Changes 13

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.

Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: kerl/factor_autocompletion_views1