Afficher certains attributs dans une liste en dehors de l’objet

4.0
Afficher certains attributs dans une liste en dehors de l’objet
0.0 0
Tags: #<Tag:0x00007f9fa4073a00>

#1

Bonjour,

J’ai un objet « Investisseur » avec 75 attributs. Parmi ses attributs, il y 8 indicateurs qui sont affichés uniquement dans le formulaire et que je souhaite les afficher dans une liste (menu ?) à part.

J’ai pensé créer un objet « IndicateursInvestisseur » que je lie à l’objet « Investisseurs » en ne ramenant que ces 8 attributs (en plus de la clé).
L’objet sera alimenté dans le postCreate de l’objet « Investisseurs ».

Dans ce nouvel objet, on ne peut que consulter les données, pas de modifications, pas de suppression.

Est-ce que c’est une bonne manière de le faire ? ou bien il existe d’autres façons de le faire sans créer un nouvel objet svp ?

Merci d’avance pour votre aide.
Abed.


#2

Il est possible de paramétrer l’affichage en liste des attributs en fonction du profil qui se connecte. Il n’est pas nécessaire de créer de nouvel objet.
Je ne suis pas sûre de comprendre le besoin.


#3

La liste affiché par défaut de l’objet est la même pour tous les profils (du moins pour l’instant).
Mais en plus de cette liste, nous souhaitons avoir une autre liste qui ne contiendra que les 8 champs en question. Cette deuxième liste sera affichée pour uniquement certains profils (Admin et Investisseur par exemple).


#4

C’est donc une vue du même objet avec des attributs masqués ou visibles en liste en fonction du profil.
Ce sont des règles de gestions propres à l’objet qui peuvent se faire par code (dans un hook postLoad si cela ne change pas) ou par contrainte.


#5

@nathalie, la liste de l’objet sera affichée de la même façon (mêmes attributs, même ordre de colonne…) pour tous les profils, même pour les Admin et les Investisseurs.

Ce qu’on voudrait faire, c’est de proposer une deuxième liste (écran/view/…?) qui ne contiendra que ces fameux 8 attributs sans impacter la liste initiale.

Je ne sais pas si c’est clair.
Abed.


#6

La réponse donnée par @nathalie est la bonne, vous devez juste rendre le paramétrage de vos attributs dynamique en fonction du profil:

  1. soit avec des contraintes de type “statiques” dûment habilitées
  2. soit par du code ad-hoc dans le postLoad de votre objet

NB: Attention à bien utiliser la visibilité “forbidden” pour les attributs que certains users ne doivent pas voir du tout (un attribut “invisible” reste visible en tant qu’input hidden dans le code HTML de la page). Cf ces guidelines : https://www.simplicite.io/resources/documentation/security.md


#7

Sinon, mais je ne suis pas sûr non plus de bien comprendre le besoin, vous devez raisonner par héritage ou simplement en paramétrant un 2ème objet qui pointe sur la même table physique, etc.