7. Les actions vers formulaires¶
Les liens vers les formulaires sont principalement dans les tableaux et formulaires de consultation d’objets.
7.1. Actions des tableaux¶
La surcharge des actions de tableaux se fait via les scripts
sql/sgbd/objet.inc.php
.
L’ajout d’actions se présente de cette façon :
<?php // Actions en coin ('corner') : ajouter $tab_actions['corner']['ajouter'] = array('lien' => 'form.php?obj='.$obj.'&action=0', 'id' => '&advs_id='.$advs_id.'&tricol='.$tricol. '&valide='.$valide.'&retour=tab', 'lib' => '<span class="om-icon om-icon-16 om-icon-fix add-16" title="'._('Ajouter').'">'._('Ajouter').'</span>', 'rights' => array('list' => array($obj, $obj.'_ajouter'), 'operator' => 'OR'), 'ordre' => 10,); // Actions à gauche ('left'): consulter $tab_actions['left']['consulter'] = array('lien' => 'form.php?obj='.$obj.'&action=3'.'&idx=', 'id' => '&premier='.$premier.'&advs_id='.$advs_id. '&recherche='.$recherche1.'&tricol='.$tricol. '&selectioncol='.$selectioncol.'&valide='. $valide.'&retour=tab', 'lib' => '<span class="om-icon om-icon-16 om-icon-fix consult-16" title="'._('Consulter').'">'. _('Consulter').'</span>', 'rights' => array('list' => array($obj, $obj.'_consulter'), 'operator' => 'OR'), 'ordre' => 10,); // Action sur la cinquième colonne de contenu $tab_actions['specific_content'][4] = array('lien' => 'form.php?obj='.$obj.'&action=2'.'&idx=', 'id' => '&premier='.$premier.'&advs_id='.$advs_id. '&recherche='.$recherche1.'&tricol='.$tricol. '&selectioncol='.$selectioncol. '&valide='.$valide.'&retour=tab', 'lib' => '<span class="om-icon om-icon-16 om-icon-fix delete-16" title="'._('Consulter').'">'. _('Consulter').'</span>', 'rights' => array('list' => array($obj, $obj.'_consulter'), 'operator' => 'OR'), 'ordre' => 10,); ?>
Plusieurs emplacements d’actions existent :
- corner : actions dans la première cellule du tableau
- left : action situées dans la première colonne, disponibles pour chaque élément du tableau
- content : action sur le contenu du tableau
- specific_content : action sur une colonne de contenu du tableau
7.1.1. Les actions par défaut¶
Par défaut seules les actions ajouter
et consulter
sont disponibles
depuis les tableaux.
7.1.2. Créer de nouvelles actions¶
La création d’actions pour un tableau particulier se fait depuis le répertoire
sql/sgbd/
.
Les actions doivent se définir dans les fichier objet.inc.php
de la manière
suivante:
<?php
$tab_actions['left']['modifier'] =
array('lien' => 'form.php?obj='.$obj.'&action=1'.'&idx=',
'id' => '&premier='.$premier.'&advs_id='.$advs_id.'&recherche='.$recherche1.'&tricol='.$tricol.'&selectioncol='.$selectioncol.'&valide='.$valide.'&retour=tab',
'lib' => '<span class="om-icon om-icon-16 om-icon-fix edit-16" title="'._('Modifier').'">'._('Modifier').'</span>',
'rights' => array('list' => array($obj, $obj.'_modifier'), 'operator' => 'OR'),
'ordre' => 20,);
?>
7.1.2.1. Définition de l’action¶
La première clé de $tab_actions
permet choisir la position d’affichage:
corner
pour les actions en coin;left
pour les actions de gauche.
Note
Depuis la version 4.3.0 d’openMairie, il est désormais possible d’afficher
plusieurs actions dans le coin du tableau (au niveau de l’action
ajouter
).
La seconde clé de $tab_actions
permet de définir la nouvelle action. Cette
clé doit être différente de: ajouter
, consulter
, modifier
et
supprimer
.
Les clés lien
, id
et lib
s’utilise de la même manière qu’avant.
7.1.2.2. Définition du mode d’affichage en sous-tableau¶
La clé ajax
permet d’indiquer si l’action doit être affichée en ajax ou non
dans les sous-tableaux:
true
, l’action utilisera la fonctionajaxIt()
;false
, l’action n’utilisera pas la fonctionajaxIt()
.
7.1.2.3. Définition de l’ordre d’affichage¶
La clé ordre
permet de déterminer l’ordre d’affichage par rapport aux autres
actions.
Chaque action dispose d’une valeur numérique permettant de définir sa place au sein d’une position. L’action numéro 1 s’affichera en premier, l’action numéro 10 s’affichera après les actions de numéro inférieur, etc.
Ordre des actions par défaut d’openMairie:
- ajouter à pour ordre 10 dans la position
corner
; - consulter à pour ordre 10 dans la position
left
.
Si la position corner
est sélectionnée:
- 9, l’action s’affichera avant l’action
ajouter
; - 11, l’action s’affichera après l’action
ajouter
.
Si la position left
est sélectionnée:
- 9, l’action s’affichera avant l’action
consulter
; - 11, l’action s’affichera après l’action
consulter
.
7.1.2.4. Définition des droits d’affichage¶
La clé rights
permet de définir le ou les droits nécessaires à l’utilisateur
pour visualiser cette action. Cette clé est optionnelle. Si rights
n’existe
pas, tous les utilisateurs pourront visualiser cette action s’ils peuvent
visualiser le tableau correspondant.
La clé list
permet de définir le tableau des droits nécessaire.
La clé operator
permet de définir l’opérateur utilisé pour pour vérifier les
droits de la liste list
:
OR
, l’utilisateur doit avoir au moins un droit;AND
, l’utilisateur doit avoir tous les droits.