backoffice: use current card values in filter option labels (#84145) #887
Loading…
Reference in New Issue
No description provided.
Delete Branch "wip/84145-card-item-filter-labels"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
ae84d61546
to7f81974b77
WIP: backoffice: use current card values in filter option labels (#84145)to backoffice: use current card values in filter option labels (#84145)@ -1066,2 +1066,2 @@
if filter_field.key == 'items':
options = list(sorted(filter_field.get_exploded_options(options), key=lambda x: x[1]))
if filter_field.key == 'item':
options = list(sorted(filter_field.get_filter_options(options), key=lambda x: (x[1] or '')))
Il y a dans les tests des libellés qui sont à None, ça ne devrait pas arriver en vrai mais on s'en prémunit quand même ici.
@ -235,0 +236,4 @@
def get_carddef_options_by_ids(self, carddef, options_ids):
if carddef.id_template:
cards = carddef.data_class().select([Contains('id_display', options_ids)])
return [(str(x.id_display), x.get_display_label()) for x in cards]
Si on est sur des id personnalisés, il faut filtrer sur id_display, et retourner id_display comme id.
Ce cas n'était pas à gérer avant, vu que les valeurs d'id étaient tirées de la db. (sauf pour le cas "ItemsField", qui se trouve ainsi corrigé).