Projet

Général

Profil

Development #65248

L'opérateur sur le statut (= ou !=) ne semble pas géré au niveau de CustomView

Ajouté par Benjamin Dauvergne il y a presque 2 ans. Mis à jour il y a presque 2 ans.

Statut:
Fermé
Priorité:
Normal
Assigné à:
Version cible:
-
Début:
14 mai 2022
Echéance:
% réalisé:

0%

Temps estimé:
Patch proposed:
Oui
Planning:
Non

Description

Cf. ticket client #64979, le client essaye d'utiliser l'opérateur '!=' avec le choix d'un statut comme critère de filtrage, ce qui marche dans l'immédiat, mais dès qu'on sauvegarde ce paramétrage dans une vue personnalisée l'opérateur redevient '='.

J'ai cherché dans le code CustomView je ne vois rien qui gère les opérateurs sur les statuts. Notamment dans set_from_qs() (mais pas plus CustomView.get_criterias() qui semble ne gérer que le cas '=' de manière implicite1).

1

    def get_criterias(self, formdef=None, compile_templates=False, keep_templates=False):                              
        from wcs.backoffice.management import FormPage                                                                 

        if formdef is not None:                                                                                        
            assert formdef.id == self.formdef_id                                                                       
        else:                                                                                                          
            formdef = self.formdef                                                                                     

        form_page = FormPage(formdef=formdef, view=self, update_breadcrumbs=False)                                     
        criterias = form_page.get_view_criterias(                                                                      
            custom_view=self,                                                                                          
            compile_templates=compile_templates,                                                                       
            keep_templates=keep_templates,                                                                             
        )                                                                                                              

        selected_filter = self.get_filter()                                                                            
        if selected_filter and selected_filter != 'all':                                                               
            if selected_filter == 'pending':                                                                           
                applied_filters = ['wf-%s' % x.id for x in formdef.workflow.get_not_endpoint_status()]                 
            elif selected_filter == 'done':                                                                            
                applied_filters = ['wf-%s' % x.id for x in formdef.workflow.get_endpoint_status()]                     
            else:                                                                                                      
                applied_filters = ['wf-%s' % selected_filter]                                                          
            if applied_filters:                                                                                        
                criterias.append(Contains('status', applied_filters))                                                  

        return criterias


Fichiers

Révisions associées

Révision 613dec5d (diff)
Ajouté par Frédéric Péters il y a presque 2 ans

backoffice: restore status operator from custom view in listings (#65248)

Révision 7be05db4 (diff)
Ajouté par Frédéric Péters il y a presque 2 ans

cards: add status operator support to custom card data sources (#65248)

Historique

#2

Mis à jour par Frédéric Péters il y a presque 2 ans

https://demarches-validation.test.entrouvert.org/backoffice/management/eclairage/tout-sauf-bron/ est une vue avec un critère !=

Il doit manquer un élément à ce ticket.

#3

Mis à jour par Frédéric Péters il y a presque 2 ans

Non ok ça n'est pas général ça concerne uniquement le statut. (et c'était bien mentionné à répétition).

#4

Mis à jour par Frédéric Péters il y a presque 2 ans

  • Assigné à mis à Frédéric Péters
#5

Mis à jour par Frédéric Péters il y a presque 2 ans

0001 le sujet du ticket distant, on pouvait enregistrer une vue avec un opérateur != sur le statut mais celui-ci se perdait à l'affichage.

0002 pour prendre en compte aussi l'opérateur quand la vue est utilisée en source de données (qui est le code pointé dans la description).

#6

Mis à jour par Benjamin Dauvergne il y a presque 2 ans

  • Statut changé de Solution proposée à Solution validée
#7

Mis à jour par Frédéric Péters il y a presque 2 ans

  • Statut changé de Solution validée à Résolu (à déployer)
commit 7be05db4694dc6af7fc69300d0ae271914635d5a
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Sat May 14 12:44:39 2022 +0200

    cards: add status operator support to custom card data sources (#65248)

commit 613dec5d33dc0feb75e3e8c6b0a1d19ae9d4c333
Author: Frédéric Péters <fpeters@entrouvert.com>
Date:   Sat May 14 12:20:00 2022 +0200

    backoffice: restore status operator from custom view in listings (#65248)
#8

Mis à jour par Transition automatique il y a presque 2 ans

  • Statut changé de Résolu (à déployer) à Solution déployée
#9

Mis à jour par Transition automatique il y a presque 2 ans

Automatic expiration

Formats disponibles : Atom PDF