Subversion Repositories Applications.gtt

Compare Revisions

Ignore whitespace Rev 70 → Rev 71

/trunk/actions/GttCtrlActionAdminProjet.class.php
New file
0,0 → 1,147
<?php
class GttCtrlActionAdminProjet extends aControlleurAction {
 
public function __construct(Registre $Registre)
{
$Registre->ajouterEspace('AdminProjet', 'admin_projet');
$Registre->ajouterSquelette('admin_projet', 'admin_projet.tpl.html');
$Registre->setTitre('Administrer les projets');
}
 
public function executer()
{
$aso_admin_projet = array();
// Récupération des projet
$Projet = new Projet();
// Ajout de la catégorie par défaut
$aso_admin_projet['Projet'] = $Projet;
 
// Récupération des projets
$tab_p = $Projet->consulter(Projet::GP_TOUS);
foreach ($tab_p as $Pr) {
$aso_projet['id'] = $Pr->getIdProjet();
$aso_projet['nom'] = $Pr->getNomProjet();
$aso_admin_projet['projets'][] = $aso_projet;
}
// Modification des titres, légendes et bouton
$aso_admin_projet['form_legend'] = 'Ajouter un projet';
$aso_admin_projet['form_bouton_value'] = 'Ajouter';
$aso_admin_projet['form_bouton_id'] = 'btn_projet_ajouter';
$aso_admin_projet['form_url'] = 'index.php?action=admin-projet_valider-ajouter';
//echo '<pre>'.print_r($aso_admin_projet, true).'</pre>';
$this->getRegistre()->ajouterDonnee('admin_projet', $aso_admin_projet);
}
 
public function executerEditer()
{
if (isset($_POST['btn_projet_modifier'])) {
// Récupération des données du projet à modifier
$Projet = new Projet();
$Projet->consulter(Projet::GP_ID, $_POST['prsu_id'], true);
$aso_admin_projet['Projet'] = $Projet;
 
// Modification des titres, légendes et bouton
$aso_admin_projet['form_legend'] = 'Modifier une projet';
$aso_admin_projet['form_bouton_value'] = 'Modifier';
$aso_admin_projet['form_bouton_id'] = 'btn_projet_modifier';
$aso_admin_projet['form_url'] = 'index.php?action=admin-projet_valider-modifier';
 
$this->getRegistre()->ajouterDonnee('admin_projet', $aso_admin_projet);
} else if (isset($_POST['btn_projet_supprimer'])) {
// Action suivante
$this->setSuivant('ValiderSupprimer');
}
}
 
public function executerValiderModifier()
{
if (isset($_POST['btn_projet_annuler'])) {
// Action suivante
$this->setSuivant('__defaut__');
} else if (isset($_POST['btn_projet_modifier'])) {
$Projet = new Projet();
//$Projet->setIdCategorie($_POST['caaj_id_categorie']);
$Projet->setIdProjet($_POST['praj_id_projet']);
$Projet->setNomProjet($_POST['praj_nom']);
$Projet->setDescription($_POST['praj_description']);
$Projet->setDateDebut($_POST['praj_date_debut']);
$Projet->setDureePrevue($_POST['praj_duree_prevue']);
$Projet->setAvancement($_POST['praj_avancement']);
$Projet->modifier();
}
}
public function executerValiderAjouter()
{
$aso_admin_projet = array();
// Nous vérifions que le bouton annuler n'a pas été pressé
if (!isset($_POST['btn_projet_annuler']) && isset($_POST['btn_projet_ajouter'])) {
// Ajout du projet
$Projet = new Projet();
$bool_existe = $Projet->consulter(Projet::GP_NOM, array($_POST['praj_nom']));
if ($bool_existe == false) {
$ProjetMax = $Projet->consulter(Projet::GP_ID_MAX);
$id_max = $ProjetMax->getIdProjet();
$Projet->setIdProjet(++$id_max);
$Projet->setNomProjet($_POST['praj_nom']);
$Projet->setDescription($_POST['praj_description']);
if ($Projet->ajouter()) {
$aso_admin_projet['message'] = "Le projet ${_POST['praj_nom']} a été ajouté.";
}
} else {
$aso_admin_projet['message'] = "Ce projet existe déjà !";
 
}
}
// Ajout du message d'information
$this->getRegistre()->ajouterDonnee('admin_projet', $aso_admin_projet);
// Action suivante
$this->setSuivant('__defaut__');
}
 
public function executerValiderSupprimer()
{
$aso_admin_projet = array();
// Vérif des utilisateur_a_projets
$UtilisateurAProjet = new UtilisateurAProjet();
$bool_existe = $UtilisateurAProjet->consulter(UtilisateurAProjet::GUAP_PROJET, array($_POST['prsu_id']));
if ($bool_existe == false) {
trigger_error('UtilisateurAProjet -> OK', E_USER_NOTICE);
// Vérif des travail_projets
$TravailProjet = new TravailProjet();
$bool_existe = $TravailProjet->consulter(TravailProjet::GTP_PROJET, array($_POST['prsu_id']));
if ($bool_existe == false) {
trigger_error('TravailProjet -> OK', E_USER_NOTICE);
// Vérif des taches
$ProjetTache = new ProjetTache();
$bool_existe = $ProjetTache->consulter(ProjetTache::GPT_PROJET, array($_POST['prsu_id']));
if ($bool_existe == false) {
trigger_error('ProjetTache -> OK', E_USER_NOTICE);
// Suppression du projet
$Projet = new Projet();
$Projet->setIdProjet($_POST['prsu_id']);
if ($Projet->supprimer()) {
$aso_admin_projet['message'] = "Le projet a été supprimé.";
}
}
}
}
// Message d'erreur si le projet contient des données
if ($bool_existe != false) {
$aso_admin_projet['message'] = "Il n'est pas possible de supprimer un projet contenant des données!";
}
 
// Enregistrement du message
$this->getRegistre()->ajouterDonnee('admin_projet', $aso_admin_projet);
// Action suivante
$this->setSuivant('__defaut__');
}
}
?>
/trunk/presentation/admin_projet.tpl.html
New file
0,0 → 1,53
<?php if (isset($message)) : ?>
<p class="information"><?=$message;?></p>
<?php endif; ?>
<form id="admin_projet_ajouter" name="admin_projet_ajouter" action="<?=$form_url;?>" method="post">
<fieldset>
<legend><?=$form_legend;?></legend>
<ul>
<li>
<label for="praj_nom">Nom du projet :</label>
<input size="30" id="praj_nom" name="praj_nom" type="text" value="<?=$Projet->getNomProjet();?>"/>
<span class="symbole_obligatoire">*</span>
</li>
<li>
<label for="praj_description">Description :</label>
<textarea rows="10" cols="50" id="praj_description" name="praj_description"><?=$Projet->getDescription();?></textarea>
</li>
<li>
<label for="praj_date_debut">Date de début :</label>
<input size="30" id="praj_date_debut" name="praj_date_debut" type="text" value="<?=$Projet->getDateDebut();?>"/>
</li>
<li>
<label for="praj_duree_prevue">Durée prévue (en jour) :</label>
<input size="30" id="praj_duree_prevue" name="praj_duree_prevue" type="text" value="<?=$Projet->getDureePrevue();?>"/>
</li>
<li>
<label for="praj_avancement">Avancement (en %) :</label>
<input size="10" id="praj_avancement" name="praj_avancement" type="text" value="<?=$Projet->getAvancement();?>"/>
</li>
<li>
<input name="praj_id_projet" type="hidden" value="<?=$Projet->getIdProjet();?>"/>
<input id="<?=$form_bouton_id;?>" name="<?=$form_bouton_id;?>" value="<?=$form_bouton_value;?>" type="submit" />
<input id="btn_projet_annuler" name="btn_projet_annuler" value="Annuler" type="submit" />
<li><span class="symbole_obligatoire">*</span> =champs obligatoires</li>
</ul>
</fieldset>
</form>
<form id="admin_projet_editer" name="admin_projet_editer" action="index.php?action=admin-projet_editer" method="post">
<fieldset>
<legend>Éditer un projet</legend>
<ul>
<li>
Projet :
<select id="prsu_id" name="prsu_id">
<?php foreach ($projets as $projet) : ?>
<option value="<?=$projet['id'];?>"><?=$projet['nom'];?></option>
<?php endforeach; ?>
</select>
</li>
<li><input id="btn_projet_modifier" name="btn_projet_modifier" value="Modifier" type="submit" /></li>
<li><input id="btn_projet_supprimer" name="btn_projet_supprimer" value="Supprimer" type="submit" onclick="javascript:return confirm('Êtes vous sûr de vouloir supprimer ce projet ?');" /></li>
</ul>
</fieldset>
</form>
/trunk/bibliotheque/metier/ProjetTache.class.php
48,7 → 48,8
/*** Constantes : */
const GPT_ID = 'PROJETTACHE_ID';
const GPT_ID_MAX = 'PROJETTACHE_ID_MAX';
 
const GPT_PROJET = 'PROJETTACHE_ID_PROJET';
/*** Attributs : */
private $id_tache;
private $ce_tache_precedente;
182,6 → 183,11
case ProjetTache::GPT_ID_MAX:
$requete = 'SELECT MAX(gpt_id_tache) '.
'FROM gestion_projet_tache ';
break;
case ProjetTache::GPT_PROJET:
$requete = 'SELECT gpt_ce_projet '.
'FROM gestion_projet_tache '.
'WHERE gpt_ce_projet = '.$parametres[0];
break;
default :
$message = 'Commande '.$cmd.'inconnue!';
/trunk/bibliotheque/metier/ProjetCategorie.class.php
127,7 → 127,7
'WHERE gpc_id_categorie = '.$parametres[0].' ';
break;
case ProjetCategorie::GPC_ID_MAX:
$requete = 'SELECT MAX(gpc_id_categorie) as gpc_id_categorie '.
$requete = 'SELECT MAX(gpc_id_categorie) AS gpc_id_categorie '.
'FROM gestion_projet_categorie ';
break;
case ProjetCategorie::GPC_LIBELLE:
/trunk/bibliotheque/metier/TravailProjet.class.php
51,7 → 51,8
const GTP_ID_MAX_UTILISATEUR = 'TRAVAILPROJET_ID_MAX_UTILISATEUR';
const GTP_ID_MAX_PROJET = 'TRAVAILPROJET_ID_MAX_PROJET';
const GTP_ID_MAX_DATE_TRAVAIL = 'TRAVAILPROJET_ID_MAX_DATE_TRAVAIL';
 
const GTP_PROJET = 'TRAVAILPROJET_ID_PROJET';
/*** Attributs : */
private $id_utilisateur;
private $id_projet;
151,6 → 152,11
$requete = 'SELECT MAX(gtp_id_date_travail) '.
'FROM gestion_travail_projet ';
break;
case TravailProjet::GTP_PROJET:
$requete = 'SELECT gtp_id_projet '.
'FROM gestion_travail_projet '.
'WHERE gtp_id_projet = '.$parametres[0];
break;
default :
$message = 'Commande '.$cmd.' inconnue!';
$e = GestionnaireErreur::formaterMessageErreur(__FILE__, __LINE__, $message);
/trunk/bibliotheque/metier/UtilisateurAProjet.class.php
50,6 → 50,7
const GUAP_ID_MAX_UTILISATEUR = 'UTILISATEURAPROJET_ID_MAX_UTILISATEUR';
const GUAP_ID_MAX_PROJET = 'UTILISATEURAPROJET_ID_MAX_PROJET';
const GUAP_UTILISATEUR = 'UTILISATEURAPROJET_ID_UTILISATEUR';
const GUAP_PROJET = 'UTILISATEURAPROJET_ID_PROJET';
/*** Attributs : */
private $id_utilisateur;
121,6 → 122,11
$requete = 'SELECT * '.
'FROM gestion_utilisateur_a_projet '.
'WHERE guap_id_utilisateur = '.$parametres[0].' ';
break;
case UtilisateurAProjet::GUAP_PROJET:
$requete = 'SELECT * '.
'FROM gestion_utilisateur_a_projet '.
'WHERE guap_id_projet = '.$parametres[0].' ';
break;
default :
$message = 'Commande '.$cmd.'inconnue!';
/trunk/bibliotheque/metier/Projet.class.php
47,7 → 47,8
class Projet extends aGttSql {
/*** Constantes : */
const GP_TOUS = 'PROJET_TOUS';
const GP_ID = 'PROJET_ID';
const GP_ID = 'PROJET_ID';
const GP_NOM = 'PROJET_NOM';
const GP_ID_MAX = 'PROJET_ID_MAX';
const GP_ID_LIST = 'PROJET_ID_LIST';
const GP_CE_CATEGORIE = 'PROJET_CE_CATEGORIE';
173,10 → 174,15
$requete = 'SELECT * '.
'FROM gestion_projet '.
'WHERE gp_id_projet = '.$parametres[0].' ';
break;
case Projet::GP_NOM:
$requete = 'SELECT * '.
'FROM gestion_projet '.
'WHERE gp_nom_projet = "'.$parametres[0].'" ';
break;
case Projet::GP_ID_MAX:
$requete = 'SELECT MAX(gp_id_projet) '.
'FROM gestion_projet ';
$requete = 'SELECT MAX(gp_id_projet) AS gp_id_projet '.
'FROM gestion_projet ';
break;
case Projet::GP_ID_LIST:
$requete = 'SELECT * '.
195,7 → 201,7
}
$resultat = $GLOBALS['db']->query($requete);
(DB::isError($resultat)) ? die (GestionnaireErreur::retournerErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete)) : '' ;
$tab_resultat = array();
$tab_resultat = array();
while ($donnees =& $resultat->fetchRow(DB_FETCHMODE_ASSOC)) {
$tab_resultat[] = $this->basculerEnregistrementObjet($donnees, $instancier);
}
203,7 → 209,7
$resultat_nbre = count($tab_resultat);
if ($resultat_nbre > 1) {
return $tab_resultat;
} else if ($resultat_nbre == 1) {
} else if ($resultat_nbre == 1) {
return $tab_resultat[0];
} else if ($resultat_nbre == 0) {
return false;