[spip-dev] [SPIP3] Objets éditoriaux non-éditables et documents joints

Bonjour à tous,

En jouant un peu avec SPIP3, Je viens de remarquer un comportement qui me paraît anormal avec la déclaration d’objets éditoriaux et les documents joints. Ma problématique à l’origine de cette découverte : j’ai voulu créer un objet non-éditable mais en laissant la possibilité d’y joindre des documents.

Lorsqu’on met la valeur ‘oui’ à l’option ‘editable’ dans la declaration de l’objet (pipeline declarer_tables_objets_sql), l’objet apparait bien dans Configuration → Contenu du site → Documents joints (exec=configurer_contenu), pour pouvoir activer ou non les documents.
Lorsque ‘editable’ est à ‘non’, l’objet n’apparait plus dans les options de documents joints, c’est un parti-pris respectable : On ne peut joindre de documents à un objet non-éditable.

Cependant :

Si je déclare mon objet comme éditable, que je vais activer les documents joints pour cet objet, et que je le redéclare comme non-éditable (sans désactiver ou réinstaller mon plugin), le bouton d’ajout de document apparaitra quand même sur la page de visualisation de mon objet.
Cela contredit, me semble-t-il, le parti-pris émis plus haut. Non ? Ne faudrait il pas afficher l’objet dans l’option “Documents joints” même si ce premier n’est pas éditable ? Ou alors à l’inverse, masquer le bouton d’ajout de documents sur les objets non-éditables ?

Et surtout, est-ce que je me suis bien fait compris ? :stuck_out_tongue:

Merci à vous,

Baptiste

Baptiste Nuez

Bonjour,

Juste une petite question par rapport à ton énoncé. Est ce que le plugin a été mis à jour suite à ta modification d’editable à non editable?

Bonjour Teddy,

Point du tout, je n’ai pas cherché à mettre à jour mon plugin.

Baptiste Nuez

Donc tu n’as pas mis à jour ton plugin après avoir passé editable de “oui” à “non”?

Je t’ai déjà répondu je crois :stuck_out_tongue: On parle bien de la même chose ?

Non, je n’ai pas mis à jour mon plugin après être passé de editable = oui à editable = non. Cela n’empêche pas de faire disparaitre automatiquement objet dans les réglages des documents joints. Mais le bouton “Ajouter un document” lui, persiste.

Baptiste Nuez

Je comprends 2 choses :
- le formulaire de configuration des documents n'a pas été mis à jour lorsque tu as repassé ton objet en «non éditable» : même si le champ ne s'affiche plus, tant que tu ne revalides pas ce formulaire, dans la base de données, il est toujours indiqué qu'on peut lier des documents à ton objet. Ce qui s'affiche dans le formulaire (les objets éditables) ne reflète pas tout à fait la configuration des documents (il n'est plus éditable mais encore coché finalement dans la conf).

De là, lorsque tu vas sur ton objet, tu vois toujours qu'il est liable, parce que la conf des documents le dit (même si c'est pas visible).

On en arrive à : «est-ce un bug ?»
Je ne sais pas. On peut tout aussi bien considérer que le fait que tu joues avec le coté éditable de ton objet sous-entend que tu es en test, et que sur un environnement normal, cette information ne change théoriquement pas.

Il te faut peut être jouer avec des autorisations :
- dire que ton objet est éditable
mais mettre
autoriser_objet_creer() à false et
autoriser_objet_modifier() à false. Qui sait ?

MM.

Tu as bien compris !

Effectivement, je suis dans un environnement de test. C’est le fait que l’option dans le formulaire disparaisse mais que la base ne soit pas mise à jour qui m’a dérouté.
Une petite ligne dans ton tuto “Chats 2 - Spip 3” dans la partie “Lier des documents et des mots clés” pour indiquer que cette option n’apparait que quand l’objet est éditable serait pas mal :slight_smile: (très chouette tuto au passage)

Merci pour cet éclaircissement,

Baptiste

Héhé, et encore, si tu savais ce qui arrive de dessous les fagots. Bientôt.

MM.