/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/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; |
/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/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__'); |
} |
} |
?> |