<?php
/*
$Id: direction.class.php,v 1.4 2006-11-02 13:53:52 fgiva Exp $
*/
require_once ("formulaire.class.php");
require_once ("dbformparc.class.php");

class direction extends dbformparc {

    var $table="direction";
    var $clePrimaire= "iddirection";
    var $typeCle= "N" ;
    
function direction($id,&$db,$DEBUG) {
  $this->constructeur($id,$db,$DEBUG);
} // fin constructeur

/*function setVal(&$form,$maj,$validation){
  if ($validation==0) {
    if ($maj == 0){
      $form->setVal('nature', $this->nature);
    }
  }
}*/
      
function setvalF($val){
$this->valF['iddirection'] = $val['iddirection'];
$this->valF['libdirection'] = $val['libdirection']; 
$this->valF['iddepartement'] = $val['iddepartement']; 
}

// NE SURTOUT PAS EFFACER SINON HERITAGE DES FONCTIONS DE CLASSE DBFORM DIFFERENTES
// pas d initialisation valF pour la cle primaire
function setValFAjout($val){  //pas de récupération cleprim car non fixe encore
}

// initialisation valF pour la cle primaire (désactivé)
function verifierAjout(){   //pas de verif cleprim car non fixee encore
}

function setId($db){
// id automatique nextid
//$this->valF['iddirection'] = $db->nextId($this->table);
}

function cleSecondaire($id,$db,$val,$debug) {
  $this->rechercheInstances($id,$db,$debug) ;
}

function verifier(){
  $this->correct=True;
  if (!is_numeric($this->valF['iddirection'])){
     $this->correct=false;
     $this->msg= $this->msg."<br>Id numérique obligatoire";
  }
  if ($this->valF['libdirection']==""){
     $this->correct=false;
     $this->msg= $this->msg."<br>Direction obligatoire";
  }
  if ($this->valF['iddepartement']==0){
     $this->correct=false;
     $this->msg= $this->msg."<br>Département obligatoire";
  }
}//verifier

function setType(&$form,$maj) {
  if ($maj < 2) { //ajouter et modifier
    if($maj==0) { 
//      $form->setType('iddirection', 'text');
    } else 
      $form->setType('iddirection', 'hiddenstatic');
//    $form->setType('libdirection','text');
    $form->setType('iddepartement','select');
  } else { // supprimer
    $form->setType('iddirection', 'hiddenstatic');
    $form->setType('libdirection','hiddenstatic');
    $form->setType('iddepartement', 'hiddenstatic');
  }
}

function setSelect(&$form, $maj,$db,$debug) {
  include ("../dyn/connexion.php");
  include ("../sql/".$dsn['phptype']."/".$this->table.".form.inc");
  if($maj<2){
    $contenu="";
    $res = $db->query($sql_departement);
    if (DB :: isError($res))
      die($res->getMessage().$sql_departement);
    else{
      if ($DEBUG == 1)
        echo " la requete ".$sql_departement." est exécutée<br>";
      $contenu[0][0]=0;
      $contenu[1][0]=" Choisir un département";
      $k=1;
      while ($row=& $res->fetchRow()){
        $contenu[0][$k]=$row[0];
        $contenu[1][$k]=$row[1];
        $k++;
      }
      $res->free();
      $form->setSelect("iddepartement",$contenu);
    }
  }
}

function setLib(&$form,$maj) {
  $form->setLib('libdirection','Direction');
  $form->setLib('iddepartement','Département');
}

//(recherche instances  avant suppression) non definie ds cl filles
function rechercheInstances($id,$db,$debug){
  $this->correct=True;
  $atable=array("service");
  foreach ($atable as $table) {
    $sql = "select * from ".$table." where iddirection = ".$id;
    $res = $db->query($sql);
    if($debug==1) echo $sql;
    if (DB :: isError($res))
      die($res->getMessage(). " => Echec  ".$sql);
    else{
      $nbligne=$res->numrows();
      $this->msg = $this->msg." il y a ".$nbligne.
      " enregistrement(s) en lien dans la table ".$table." pour la direction[".
      $id."]";
      if ($nbligne>0)
        $this->correct=false;
    }
  }  
}

}// fin de classe
?>