iBLOG précédent iBLOG suivant



Publié le 18/04/2007
Par projetweb
Voici une démonstration rapide et succinte de ce que l'on peut faire en moins de 20 minutes :

D'abord, on réalise un MCD très simplifié : Clin d'oeil

CREATE TABLE entreprise (
  ent_id int NOT NULL,
  ent_nom varchar(40),
  ent_type varchar(30),
  ent_tel varchar(15),
  ent_fax varchar(15),
  ent_adresse varchar(50),
  ent_cp varchar(6),
  ent_ville varchar(30)
);

Pas besoin de contraintes SQL, le framework le gére


Voici le menu en javascript : il suffit de modifier dyn/menu.inc et d'insérer le lien.

menu en javascript du framework openmairie


Génération de la Liste : (le gros bouton bleu +, c'est pour ajouter un enregistrement. La + rouge c'est pour supprimer l'enregistrement)

liste de données avec openmairie



Génération du Formulaire :

formulaire généré avec openmairie


Ensuite on peut décider d'avoir le type d'activité comme une table à part, et avoir un select dans le formualre.
On peut aussi avoir un champ mail avec un petit bouton à coté du champ ou devant la ligne de la liste, sur lequel on clique pour envoyer un mail directement (ouverture du logiciel de messagerie avec le champ destinataire pré-rempli).



J'ai mis moins de 20 minutes pour générer la classe entreprise avec le framework.
Le framework OpenMairie gére déjà les droits d'accés. On peut créer des groupes en fonction des droits que l'on veut attribuer aux utilisateurs.
La présentation se personnalise à l'aide des CSS.


Voici le code pour générer la liste (sql/mysql/entreprise.inc):
code pour générer la liste de données dans openmairie


Pour générer le formulaire c'est un peu la même chose avec le fichier sql/mysql/entreprise.form.inc, sauf qu'il y a un fichier obj/entreprise.class.php en plus pour créer l'objet entreprise. Il faut surcharger les fonctions :

par exempple :

<code>
function setType(&$form,$maj) {
if ($maj < 2) { //ajouter et modifier
   $form->setType('ent_id', 'hidden');
   $form->setType('ent_nom', 'text');
   $form->setType('ent_type', 'text');
   $form->setType('ent_tel', 'text');
   $form->setType('ent_fax', 'text');
   $form->setType('ent_adresse', 'text');
   $form->setType('ent_cp', 'text');
   $form->setType('ent_ville', 'text');

   if ($maj==1){ //modifier
     $form->setType('ent_id', 'hidden');
     }
   }else{ // supprimer
     $form->setType('ent_id', 'hiddenstatic');
     }
}
</code>

Si vous vouler un champ pour attacher un fichier, il suffit de mettre 'upload' à la place de 'text'.
Un bouton 'upload' apparaitra dans le formulaire pour télécharger le fichier à partir de l'ordinateur.
Un bouton 'voir' apparaitre pour afficher le fichier pdf,jpg,gif... (les paramétres du upload peuvent être modifiés dans le fichier spg/upload.class.php)

Pour un champ mail avec le bouton d'envoie : 'mail'.
Pour un champ select : 'select' et surcharger la fonction setSelect(&$form, $maj,$db,$debug) en fesant référence à la requéte du select contenu dans '/sql/mysql/entreprise.form.inc.
Il y a aussi 'textarea'... et d'autres types de champs générés automatiquement par la librairie OpenMairie.

Ensuite pour obliger l'utilisateur de remplir un champs, il faut surcharger la fonction suivante :

<code>
function verifier(){
  $this->correct=True;
  // obligatoire

  if ($this->valF['ent_nom']==""){
     $this->correct=false;
     $this->msg= $this->msg."nom obligatoire";
  }

  if ($this->valF['ent_type']==""){
    $this->correct=false;
    $this->msg= $this->msg."type obligatoire";
  }

}//verifier
</code>

Aucun commentaire
Ajouter un commentaire


Mon calendrier
< Nov. 2009  
L M M J V S D
      1
2345678
9101112131415
16171819202122
23242526272829
30      
Mes archives
Trafic
Noter ce blog :
1 5
942 connectés
14076 visiteurs
Ce blog est classé 1586ème
Score de ce blog : 2,81
Tribune libre