Je pense que la seule façon d'y parvenir est de mettre à jour la vue de formulaire elle-même. Vous devez mettre tout le contenu dans un div
et le masquer si le user_id
(ou le champ dans lequel vous voulez baser la règle) est quelqu'un d'autre.
En effet, il ressemblerait à quelque chose comme ceci:
<div attrs="{'invisible': [('user_id', '!=', user.id)]}">
# normal form view fields and formatting
</div>
Si le champ user_id
ne fait pas défaut à l'utilisateur connecté, il est possible que les champs de formulaire se cacheraient par défaut lors de la création d'un nouveau record. Vous seriez en mesure de le contourner avec quelque chose comme ça (ce qui vous permet de voir les enregistrements qui ne sont pas affectés à un utilisateur) à la place:
<div attrs="{'invisible': [('user_id', 'not in', [user.id, False])]}">
Je ne suis pas sûr que cela peut être réalisé avec un seul menu/vue de liste. En règle générale, vous pouvez afficher un enregistrement ou vous ne pouvez pas. Visualiser comprendrait voir l'enregistrement dans l'arborescence. – travisw