Les types d'attributs

Les textes

Les cadres

Les fichiers

Les dates

Les documents

Les menus et actions

Ajouter le menu ''vue d'impression''

Les contrôles de visibilités des menus

  1. Vérifier que l'utilisateur bien le droit d'exécuter l'action du lien
code idattr idframe labelTAtypeordvisneedlinkphpfilephpfuncelinkconstraintoptions
ATTR TST_REFRESHTT_FR_TSTActualiserNNmenu0W %S%&app=FUSERS&action=FUSERS_IUSER ::canExecute(FUSERS,FUSERS_IUSER)

Lors de la constitution du menu la méthode ::canExecute est appelée. Cette méthode indique si l'item de menu doit être affiché ou non.

  1. Vérifier que l'utilisateur a bien le droit de modifier le document
code idattr idframe labelTAtypeordvisneedlinkphpfilephpfuncelinkconstraintoptions
ATTR TST_EDITTT_FR_TSTEditerNNmenu0W %S%&app=TST&action=TST_EDIT&id=%I% ::canEditMenu()

Lors de la constitution du menu la méthode ::canEditMenu est appelée. Cette méthode indique si l'item de menu doit être affiché ou non.

:!: Ne pas confondre la méthode Doc::canEdit avec Doc::canEditMenu. En effet la première ne retourne pas un état du menu.

  1. Vérifier que le document est en dernière révision pour exécuter le lien
code idattr idframe labelTAtypeordvisneedlinkphpfilephpfuncelinkconstraintoptions
ATTR TST_BILANTT_FR_TSTBilanNNmenu0W %S%&app=TEST&action=BILAN&id=%I% ::isLatest

Dans cet exemple, l'appel d'une méthode particulière isLatest sera appelée. Cette méthode doit être définie dans le fichier method de la famille. La méthode appelé dans ce contexte peut retourner cinq valeurs :

  • POPUP_INACTIVE ou MENU_INACTIVE (Valeur = 0)
  • POPUP_ACTIVE ou MENU_ACTIVE (Valeur = 1)
  • POPUP_INVISIBLE MENU_INVISIBLE (Valeur = 2)
  • POPUP_CTRLACTIVE (Valeur = 3)
  • POPUP_CTRLINACTIVE (Valeur = 4)

Comme leur nom l'indique MENU_ACTIVE indique que l'item de menu doit être affiché, MENU_INVISIBLE indique qu'il ne poit pas être affiché et MENU_INACTIVE indique qu'il doit être affiché de manière inhibée (non sélectionnable).

/** 
   * return MENU_ACTIVE if user can execute the specified action
   * @return int MENU enumerate item
   *
   */
  public function isLatest() {
    if ($this->locked == -1) return MENU_INACTIVE;
    return MENU_ACTIVE;
  }

Surcharger le menu contextuel général

Ajouter un item de menu dans le menu ''Outils'' des applications issues de ''GENERIC''

Exemple : rajouter un lien vers la documentation de l'application FUSERS Gestion des utilisateurs

code idattr idframe labelTAtypeordvisneedlinkphpfilephpfuncelinkconstraintoptions
ATTR TST_HELPTT_FR_TSTManuel gestion des utilisateursNNmenu1130W %S%&app=CORE&action=HELPVIEW&appname=FUSERS global=yes¦onlyglobal=yes

L'option global=yes indique que le menu appaitra dans le menu outils lorsque la famille sera sélectionnée pour les application GENERIC. Cela est aussi valable pour l'application USERCARD Si l'option onlyglobal ne vaut pas yes, l'item de menu apparaîtra aussi dans tous les menus contextuels des documents de la famille.

Les énumérés

Les énumérés statiques

Les niveaux hierarchiques

Les énumérés dynamiques

Ils ne ne substituent nullement aux aides à la saisies. La composition de ces attributs est faite à au moment de l'édition. Pendant l'édition la liste ne peut être modifiée.

  1. Récupérer une liste calculée

exemple : retourner la liste des mois de l'année La clef sera le n° du mois (janvier=1, décembre=12).

:cookbook:enum_mois.png définition de l'attribut tst_month

code idattr idframe labelTAtypeordvisneedlinkphpfilephpfuncelinkconstraintoptions
ATTR TST_MONTHTT_FR_TSTMoisNNenum1130W test.phpgetmonth()
function getMonth() {
  $t=array();
 
  for ($i=1;$i<13;$i++) {
    $month=strftime("%B", mktime (0, 0, 0, $i, 1, 98));
    $t[]=sprintf("%s|%s",$i,$month);
  }
  return implode($t,",");
}
  1. Récupérer une liste issus d'un autre énuméré

exemple: on récupère la définition de l'attribut si_catg de la famille SOCIETY pour l'attribut us_scatg de la famille USER.

définition de l'attribut si_catg

code idattr idframe labelTAtypeordvis needlinkphpfilephpfuncelinkconstraintoptions
ATTRSI_CATGSI_FR_IDENTcatégorieNNenumlist70WN constructor¦Constructeur, client¦Client, furnisher¦Fournisseur

définition de l'attribut us_scatg

code idattr idframe labelTAtypeordvisneedlinkphpfilephpfuncelinkconstraintoptions
ATTR US_SCATGUS_FR_SOCcatégorieNNenumlist1130Wtest.phpenumscatg()

La fonction enumscatg doit se trouver dans le fichier test.php dans le répertoire EXTERNALS du répertoire de publication.

// get enum list from society document
function enumscatg() {
  $dbaccess=getParam("FREEDOM_DB");
  $soc = new_Doc($dbaccess, "SOCIETY");
 
  if ($soc->isAffected()) {
    $a = $soc->getAttribute("si_catg");
    return $a->phpfunc;
  }
  return "";
}

Autres types

Visibilité sur les attributs

Définition : Visibilités

Définir un autre type d'attribut

contribution/cookbook/attributes/type.txt · Dernière modification: 09/03/2010 11:38 (édition externe)