Bonjour,
Je voudrais créer dans un formulaire d’objet « A » un bouton d’action qui déclenchera l’ouverture d’un formulaire de création d’un autre objet « B » lié tout en alimentant certains champs de ce nouveau formulaire.
Ce nouveau bouton d’action fera comme si on cliquait sur le bouton créer d’un objet lié (qui ouvre donc un formulaire de création de cet objet lié avec alimentation par défaut de la FK), mais en plus je voudrais alimenter par défaut certains champs.
Pourriez-vous me dire si cela est possible ? Si oui, où est-ce que je peux coder cette action (ouverture d’un formulaire avec alimentation de certains champs) ? dans l’action même (champs Exécution/Url) ou dans une fonction de l’objet ? qu’elle est la commande qui me permettrait de faire cela ?
Je ne comprend pas le besoin d’avoir un bouton d’action specifique.
Si l’objet B est une liste liée à l’object A, le bouton standard “créer” de la liste de B ouvre un formulaire B avec les champs ramenés de A déjà renseignés et si besoin vous pouvez valoriser d’autres champs de B dans le initCreate
Je continue à être dubitatif sur l’intéret de ce bouton, mais il est toujours possible d’ajouter une action front (i.e. JavaScript client) specifique qui force un clic sur le bouton “Créér” de l’objet lié considéré…
Comment peut-on avoir la valeur de “Selecteur de bouton” pour le bouton créer d’un objet lié ?
Si éventuellement je peux avoir un exemple cela serait parfait.
Nous allons éviter les “id” car ils sont trop nombreux à générer et difficilement uniques dans une page qui contiendrait 2 fois le même objet par exemple, il faut préférer les selectors par cascading css.
L’action n’est pas un bouton mais un <li> dans le menu “plus” du champ référencé. du coup le selector est un peu plus complexe pour aller chercher le bouton plus/créer :
votre bouton ne va implémenter les regles de visibilité ou de droits de création de la référence
pour le faire vous allez devoir aller chercher dans le métadata de l’objet et refaire ce que fait le moteur :
if (fk.createLink && fk.createLink.enabled && grant.accessCreate(fk.refObject))
// ici le click du bouton "Créer la référence" ou plus directement :
$ui.createReference(ctn, o, f);
Merci @Francois pour votre retour.
Etant donné que je n’ai pas tout compris vu mon niveau en javascript (mais je vais faire des recherches pour y arriver), je voudrais juste être sûr que mon besoin est très clair :
Je cherche juste que lorsque l’utilisateur clique sur le nouveau bouton (action) « Se positionner sur un bien » de l’objet A, c’est comme s’il clique sur le bouton « Créer » qui se trouve plus bas dans l’onglet de l’objet lié B. (et uniquement le “Créer” de B même si A est lié à B, C, D…) :
Avec le débugger de votre navigateur (F12 sur chrome) vous pouvez facilement retrouver le chemin de ce bouton et en déduire un selector pour jQuery (https://api.jquery.com/category/selectors/).
Ici on est dans la démo au niveau des commandes d’un client :