Créer les formulaires

Nous allons maintenant créer les formulaires à l’aide du générateur.

Pour cela, il faut aller dans le menu Administration -> Générateur.

Vous devez avoir 3 nouveaux boutons : courrier, service et emetteur.

../_images/utilisation_1.png

Avant de commencer, l’utilisateur apache www-data doit avoir les droits d’écriture dans les repertoires /gen , /sql et /obj.

Générer les formulaires et édition du courrier

En appuyant sur le bouton de courrier, vous avez les choix de génération :

../_images/utilisation_2.png

Au préalable, le générateur a fait une analyse de la base de données :

../_images/utilisation_21.png

Le générateur a donc détecté 2 clés secondaires et aucun sous-formulaire.

C’est pour cela qu’il propose 3 « reqmos » : 1 « reqmo » global et 2 « reqmos » suivant les clés secondaires.

Par défaut, seules les options du formulaire sont cochées.

Si vous le refaites plus tard, seules celles fabriquées par le générateur seront cochées.

Cochez les toutes :

../_images/utilisation_22.png

En cliquant sur valider, vous avez le message :

../_images/utilisation_23.png

Le paramétrage utilisé est le paramétrage standard.

Vous pouvez le modifier : voir Paramétrage générateur.

L’affichage par colonne est « ok », ce qui veut dire que la taille des colonnes dans le fichier pdf sera complet (attention le script ne prend pas le champ blob).

Générer les formulaires et édition de l’emetteur

Nous allons procéder de la même manière avec le bouton emetteur.

L’analyse de la base de données est la suivante :

../_images/utilisation_24.png

Le générateur repère un sous formulaire courrier. Effectivement, il y a une relation de un à plusieurs entre emetteur et courrier : un emetteur peut avoir 0 à plusieurs courriers.

En cliquant sur toutes les options puis en validant, vous avez le message suivant :

../_images/utilisation_25.png

Générer les formulaires et édition de service

Nous allons procéder de la même manière avec le bouton service

L’analyse de la base de données est la suivante :

../_images/utilisation_26.png

Le générateur repère un sous formulaire courrier. Effectivement, il y a une relation de un à plusieurs entre service et courrier : un service peut avoir 0 à plusieurs courriers.

En cliquant sur toutes les options, vous avez le message suivant :

../_images/utilisation_27.png

Intégrer les formulaires dans le menu

Pour accéder à nos formulaires, nous allons les intégrer dans le menu (voir paramètrage du menu).

Nous allons appeller le formulaire depuis le menu :

  • option Application -> OM_ROUTE_TAB. »&obj=courrier »
  • option Paramétrage -> OM_ROUTE_TAB. »&obj=emetteur »
  • option Paramétrage -> OM_ROUTE_TAB. »&obj=service »

Il faut ouvrir avec un éditeur le fichier app/framework_openmairie.class.php et aller dans la partie :

class framework_openmairie extends application {

Il faut ensuite surcharger la méthode set_config_menu (issue de la classe mère application présente dans core/om_application.class.php) et ajouter les éléments qui nous intéressent. Pour cela, insérer le code suivant dans la fonction :

protected function set_config__menu(){
       parent::set_config__menu();
       $parent_menu = $this->config__menu;

       // {{{ Rubrique APPLICATION
       $rubrik = array(
           "title" => __("application"),
           "class" =>  "application"
       );
       $links = array();

       $links[] = array(
           "href" => OM_ROUTE_TAB."&obj=courrier",
           "class" => "courrier",
           "title" => _("courrier"),
           "right" => "courrier",
           "open" => array(
               "tab.php|courrier",
               "index.php|courrier[module=tab]",
               "form.php|courrier",
               "index.php|courrier[module=form]",
           ),
       );

       $rubrik['links'] = $links;
       $menu[] = $rubrik;
       // }}}

       // {{{ Rubrique PARAMETRAGE METIER
       $rubrik = array(
               "title" => _("parametrage metier"),
               "class" => "parametrage",
       );
       $links = array();

       $links[] = array(
           "href" => OM_ROUTE_TAB."&obj=emetteur",
           "class" => "emetteur",
           "title" => _("emetteur"),
           "right" => "emetteur",
           "open" => array(
               "tab.php|emetteur",
               "index.php|emetteur[module=tab]",
               "form.php|emetteur",
               "index.php|emetteur[module=form]",
           ),
       );

       $links[] = array(
           "href" => OM_ROUTE_TAB."&obj=service",
           "class" => "service",
           "title" => _("service"),
           "right" => "service",
           "open" => array(
               "tab.php|service",
               "index.php|service[module=tab]",
               "form.php|service",
               "index.php|service[module=form]",
           ),
       );

       $rubrik['links'] = $links;
       $menu[] = $rubrik;
       // }}}

       $this->config__menu = array_merge(
               $menu,
               $parent_menu
       );
   }

Enfin, pour y accéder, il faut soit donner les droits via le menu framework, soit les donner (et c’est en l’occurrence le cas) dans le fichier dyn/config.inc.php (option utilisée que pour le développement). Pour cela créer le fichier dyn/config.inc.php et ajouter la ligne

$config['permission_if_right_does_not_exist'] = true;

Vous pouvez maintenant accéder à vos formulaires par le menu.