Subversion Repositories Applications.gtt

Compare Revisions

Ignore whitespace Rev 102 → Rev 103

/trunk/actions/GttCtrlActionGestion.class.php
12,7 → 12,7
public function executer()
{
$aso_gestion = array();
$this->getRegistre()->setTitre('Gérer son temps');
$this->getRegistre()->setTitre('Gérer son temps');
 
//+-------------------------------------------------------------------------------------------------+
// GESTION DES CALENDRIERS
90,7 → 90,7
}
}
 
// Construction de l'url pour les mois précédent/suivant
// Construction de l'url pour les mois précédent/suivant
$PMonth = $Month->prevMonth('object');
$aso_gestion['url_mois_precedent'] = 'index.php?action='.GTT_ACTION_GESTION.'&annee='.$PMonth->thisYear().'&mois='.$PMonth->thisMonth().'&jour='.$PMonth->thisDay();
$NMonth = $Month->nextMonth('object');
98,7 → 98,7
$aso_gestion['mois']['mois'] = $Calendrier->getNomMois($Month->thisMonth());
$aso_gestion['mois']['annee'] = $Month->thisYear();
 
// Construction de l'url pour les semaines précédente/suivante
// Construction de l'url pour les semaines précédente/suivante
$Week = new Calendar_Week($_GET['annee'], $_GET['mois'], $_GET['jour']);
$aso_gestion['s'] = $Week->thisWeek('n_in_year');
 
125,10 → 125,10
//+-------------------------------------------------------------------------------------------------+
// GESTION DES PROJETS
//+-------------------------------------------------------------------------------------------------+
// Récupération des projets sur lesquels l'utilisateur travaille
// Récupération des projets sur lesquels l'utilisateur travaille
$UtilsateurAProjet = new UtilisateurAProjet();
$tab_uap = $UtilsateurAProjet->consulter(UtilisateurAProjet::GUAP_UTILISATEUR, $GLOBALS['_GTT_']['Utilisateur']->getIdUtilisateur());
// Si nous avons des données...
// Si nous avons des données...
$aso_gestion['bool_projets'] = false;
if ($tab_uap && count($tab_uap) >= 1) {
$aso_gestion['bool_projets'] = true;
137,23 → 137,23
$tab_projet_id[] = $uap->getIdProjet();
}
 
// Récupération du temps de travail pour un utilisateur à une date donnée
// Récupération du temps de travail pour un utilisateur à une date donnée
$TravailProjet = new TravailProjet();
$cmd = TravailProjet::GTP_ID_UTILISATEUR_DATE_DEB_FIN;
$param = array($GLOBALS['_GTT_']['Utilisateur']->getIdUtilisateur(), $aso_gestion['sj_1']['mysql'], $aso_gestion['sj_7']['mysql']);
$tab_tp = $TravailProjet->consulter($cmd, $param);
 
// Récupération des infos sur les projets de l'utilisateur
// Récupération des infos sur les projets de l'utilisateur
$aso_gestion['totaux'] = $aso_tps_w_vide;
$Projet = new Projet();
$tab_p = $Projet->consulter(Projet::GP_ID_LIST, array(implode(',', $tab_projet_id)));
foreach ($tab_p as $Projet) {
// Récupération de la catégorie du projet
// Récupération de la catégorie du projet
$ProjetCategorie = new ProjetCategorie();
$Categorie = current($ProjetCategorie->consulter(ProjetCategorie::GPC_ID, $Projet->getCeCategorie()));
// Nous vérifions le temps de travail pour ce projet pour la semaine courrante
// Nous vérifions le temps de travail pour ce projet pour la semaine courrante
$aso_tps_w = $aso_tps_w_vide;
if (!isset($aso_gestion['categorie_totaux'][$Categorie->getLibelle()])) {
$aso_gestion['categorie_totaux'][$Categorie->getLibelle()] = $aso_tps_w_vide;
169,7 → 169,7
}
}
// Stockage des infos nécessaire pour l'affichage
// Stockage des infos nécessaire pour l'affichage
$aso_gestion['preferences'][$Categorie->getLibelle()][] = array(
'id' => $Projet->getIdProjet(),
'valeur' => $Projet->getIdProjet(),
182,12 → 182,12
//+-------------------------------------------------------------------------------------------------+
// GESTION DES ABSENCES
//+-------------------------------------------------------------------------------------------------+
// Récupération des motifs d'absence
// Récupération des motifs d'absence
$AbsenceMotif = new AbsenceMotif();
$cmd = AbsenceMotif::GAM_TOUS;
$tab_am = $AbsenceMotif->consulter($cmd);
 
// Récupération des absences pour un utilisateur à une date donnée
// Récupération des absences pour un utilisateur à une date donnée
$Absence = new Absence();
$cmd = Absence::GA_ID_UTILISATEUR_DATE_DEB_FIN;
$param = array($GLOBALS['_GTT_']['Utilisateur']->getIdUtilisateur(), $aso_gestion['sj_1']['mysql'], $aso_gestion['sj_7']['mysql']);
212,7 → 212,7
}
}
// Création de l'url de réponse du formulaire
// Création de l'url de réponse du formulaire
$aso_gestion['url_gestion_valider'] = 'index.php?action='.GTT_ACTION_GESTION_VALIDER.$url_sc_param_date;
 
//echo '<pre>ici '.print_r($aso_gestion['ab'], true).'la</pre>';
229,7 → 229,7
{
//echo '<pre>'.print_r($_POST, true).'</pre>';
 
// Récupération des info sur la semaine courrante
// Récupération des info sur la semaine courrante
$Week = new Calendar_Week($_GET['annee'], $_GET['mois'], $_GET['jour']);
$Week->build();
$aso_jours = array();
239,15 → 239,15
$aso_jours[$aso_semaine[$num]['mysql']] = $num;
}
 
// Récupération du temps de travail pour un utilisateur à une date donnée
// Récupération du temps de travail pour un utilisateur à une date donnée
$TravailProjet = new TravailProjet();
$cmd = TravailProjet::GTP_ID_UTILISATEUR_DATE_DEB_FIN;
$param = array($GLOBALS['_GTT_']['Utilisateur']->getIdUtilisateur(), $aso_semaine[1]['mysql'], $aso_semaine[7]['mysql']);
$tab_tp = $TravailProjet->consulter($cmd, $param);
 
// Récupération des infos sur l'utilisateur courrant
// Récupération des infos sur l'utilisateur courrant
$tps_w_jour = $GLOBALS['_GTT_']['Utilisateur']->getTempsDeTravailJour();
// Création d'un utilisateur pour les mises à jour des CP et RTT
// Création d'un utilisateur pour les mises à jour des CP et RTT
$Utilisateur = new Utilisateur();
$Utilisateur->setIdUtilisateur($GLOBALS['_GTT_']['Utilisateur']->getIdUtilisateur());
$Utilisateur->setQuotaHeuresSupp($GLOBALS['_GTT_']['Utilisateur']->getQuotaHeuresSupp());
263,7 → 263,7
$jours_w_semaine[$c] = array('act' => 0, 'pre' => 0);
}
 
// Ajout ou Mise à jour des durées de travail
// Ajout ou Mise à jour des durées de travail
if (isset($_POST['pr'])) {
foreach($_POST['pr'] as $projet_id => $jours) {
//echo '<pre>'.print_r($jours, true).'</pre>';
304,19 → 304,19
}
}
 
// Récupération des absences pour un utilisateur à une date donnée
// Récupération des absences pour un utilisateur à une date donnée
$Absence = new Absence();
$cmd = Absence::GA_ID_UTILISATEUR_DATE_DEB_FIN;
$param = array($GLOBALS['_GTT_']['Utilisateur']->getIdUtilisateur(), $aso_semaine[1]['mysql'], $aso_semaine[7]['mysql']);
$tab_a = $Absence->consulter($cmd, $param);
 
// Ajout ou Mise à jour des durées d'absences pour congés payés
// Ajout ou Mise à jour des durées d'absences pour congés payés
$cp_h_modif = 0;
$hs_h_modif = 0;
if (isset($_POST['ab'])) {
//echo '<pre>'.print_r($_POST['ab'], true).'</pre>';
foreach($_POST['ab'] as $ab_id => $tab_num_j) {
// Création du motif d'absence pour voir si on doit diminuer les congés payés
// Création du motif d'absence pour voir si on doit diminuer les congés payés
$AbsenceMotif = new AbsenceMotif();
$AbsenceMotif->consulter(AbsenceMotif::GAM_ID, $ab_id, true);
 
376,7 → 376,7
}
}
// Gestion de la mise à jour des congés payés
// Gestion de la mise à jour des congés payés
if ($cp_h_modif > 0) {
$Utilisateur->diminuerCongesPayes($cp_h_modif);
}
392,13 → 392,13
$Utilisateur->modifier();
}
 
// Gestion de la mise à jour des heures sup
// Gestion de la mise à jour des heures sup
foreach ($jours_w_semaine as $c => $j) {
if (($j['pre'] - $j['act']) != 0) {// Modification sur le temps travaillé pour le jour courant
if (($j['pre'] - $j['act']) != 0) {// Modification sur le temps travaillé pour le jour courant
$heure_sup_pre = $j['pre'] - $tps_w_jour;// -7 = 0 - 7
$heure_sup_act = $j['act'] - $tps_w_jour;// -5 = 2 - 7
$heure_sup_dif = $heure_sup_act - $heure_sup_pre;// 2 = -5 - -7
if (abs($heure_sup_pre) == $tps_w_jour) {// Premiere modifier du temps travaillé pour le jour courrant
if (abs($heure_sup_pre) == $tps_w_jour) {// Premiere modifier du temps travaillé pour le jour courrant
if ($heure_sup_act < 0) {
$Utilisateur->diminuerQuotaHeuresSup(abs($heure_sup_act));
}
419,7 → 419,7
trigger_error(print_r($jours_w_semaine, true), E_USER_NOTICE);//$heure_sup_pre.'/'.$heure_sup_act.'-'.$total_jours
$Utilisateur->modifier();
 
// Mise à jour de la vue Identité pour les congés payés et RTT
// Mise à jour de la vue Identité pour les congés payés et RTT
$GttCtrlActionIdentification = new GttCtrlActionIdentification($this->getRegistre());
$GttCtrlActionIdentification->setSuivant('__defaut__');
$this->setSuivant($GttCtrlActionIdentification);