/trunk/presentation/admin_absence_motif.tpl.html |
---|
1,9 → 1,12 |
<?php if (isset($message)) : ?> |
<?php if (isset($messages)) : ?> |
<?php foreach ($messages as $message) : ?> |
<p class="information"><?=$message;?></p> |
<?php endforeach; ?> |
<?php endif; ?> |
<form id="admin_absence_motif_supprimer" class="editer" name="admin_absence_motif_supprimer" action="http://localhost/gestion/index.php?action=admin-absence-motif_valider-supprimer" method="post"> |
<?php if (isset($motifs)) : ?> |
<form id="admin_absence_motif_editer" class="editer" name="admin_absence_motif_editer" action="index.php?action=admin-absence-motif_editer" method="post"> |
<fieldset> |
<legend>Supprimer un motif d'absence</legend> |
<legend>Éditer un motif d'absence</legend> |
<ul> |
<li> |
<label for="amsu_id">Motif d'absence :</label> |
13,21 → 16,34 |
<?php endforeach; ?> |
</select> |
</li> |
<li><input id="btn_absence_motif_supprimer" name="btn_absence_motif_supprimer" value="Supprimer" type="submit" onclick="javascript:return confirm('Êtes vous sûr de vouloir supprimer ce motif ?');"/></li> |
<li><input id="btn_absence_motif_supprimer" name="btn_absence_motif_supprimer" value="Supprimer" type="submit" onclick="javascript:return confirm('Êtes vous sûr de vouloir supprimer ce motif d\'abscence ?');"/></li> |
<li><input id="btn_absence_motif_modifier" name="btn_absence_motif_modifier" value="Modifier" type="submit" /></li> |
</ul> |
</fieldset> |
</form> |
<form id="admin_absence_motif_ajouter" name="admin_absence_motif_ajouter" action="http://localhost/gestion/index.php?action=admin-absence-motif_valider-ajouter" method="post"> |
<?php endif; ?> |
<form id="admin_absence_motif_ajouter" name="admin_absence_motif_ajouter" action="<?=$form_url;?>" method="post"> |
<fieldset> |
<legend>Ajouter un motif d'absence</legend> |
<legend><?=$form_legend;?></legend> |
<ul> |
<li> |
<label for="amaj_libelle">Libellé :</label> |
<input size="30" id="amaj_libelle" name="amaj_libelle" type="text" /> |
<input size="30" id="amaj_libelle" name="amaj_libelle" type="text" value="<?=$AbsenceMotif->getLibelle();?>"/> |
<span class="symbole_obligatoire">*</span> |
</li> |
<li> |
<input size="5" id="btn_absence_motif_ajouter" name="btn_absence_motif_ajouter" value="Ajouter" type="submit" /></li> |
<label for="amaj_mark_cp_diminuer">Diminue le nombre de congés payés :</label> |
<input id="amaj_mark_cp_diminuer" name="amaj_mark_cp_diminuer" type="checkbox" value="1" <?=($AbsenceMotif->getMarkCpDiminuer())?'checked="checked"':'';?>/> |
</li> |
<li> |
<label for="amaj_mark_hs_diminuer">Diminue le nombre d'heures suplémentaires :</label> |
<input id="amaj_mark_hs_diminuer" name="amaj_mark_hs_diminuer" type="checkbox" value="1" <?=($AbsenceMotif->getMarkHsDiminuer())?'checked="checked"':'';?>/> |
</li> |
<li> |
<input name="amaj_id_absence_motif" type="hidden" value="<?=$AbsenceMotif->getIdAbsenceMotif();?>"/> |
<input id="<?=$form_bouton_id;?>" name="<?=$form_bouton_id;?>" value="<?=$form_bouton_value;?>" type="submit" /> |
<input id="btn_utilisateur_annuler" name="btn_utilisateur_annuler" value="Annuler" type="submit" /> |
</li> |
<li><span class="symbole_obligatoire">*</span> =champs obligatoires</li> |
</ul> |
</fieldset> |
/trunk/presentation/emeraude/emeraude.css |
---|
29,11 → 29,29 |
margin:0.5em 0;} |
/* Presentation des formulaires */ |
form.editer{ |
padding:0 0 1em 0;} |
form ul li{ |
list-style-type:none;} |
form label{ |
font-weight:bold;} |
legend{ |
font-size:1.1em; |
font-weight:bold; |
text-transform:uppercase; |
color: #5D5F53;} |
/* Présentation générale des tableaux */ |
table{ |
border:1px dotted black;} |
th{ |
background-color:#486300; |
color:white;} |
td{ |
text-align:center;} |
tr.pair{ |
background-color: #F1F2E7;} |
/*Présentation des bulles d'aide */ |
*[title]:after {content:" "url(images/help_view_16x16.gif);} |
134,7 → 152,6 |
font-weight:bold; |
border:2px solid red;} |
/*Formulaires*/ |
form ul |
.symbole_obligatoire{ |
font-size:1em; |
font-weight:bold; |
169,4 → 186,14 |
.jour_ferie { |
background-color:red; |
border-width:2px outset #74C054;} |
.jour_vide {color:white;} |
.jour_vide {color:white;} |
/* Tableau */ |
tr.categories,tr.absences{ |
height:1em; |
font-size:1.2em; |
text-align:left !important; |
padding:1px; |
margin:0 0.2em; |
background-image: url('images/a2.gif');} |
td.absences_titre,td.categories_titre{ |
width:30%;} |
/trunk/presentation/gestion.tpl.html |
---|
16,11 → 16,7 |
<th>Projets</th> |
<?php foreach ($elements[$s] as $jour) : ?> |
<th class="<?=$jour['class'];?>"> |
<? if ($jour['class'] == 'jour_vide') :?> |
<?=$jour['jour_nom'];?> <?=$jour['jour'];?> |
<? else :?> |
<a href="<?=$jour['url'];?>"><?=$jour['jour_nom'];?> <?=$jour['jour'];?></a> |
<? endif;?> |
</th> |
<?php endforeach; ?> |
</tr> |
47,8 → 43,8 |
<tr><td colspan="8" class="categorie">Absences</td></tr> |
<?php foreach ($ab as $ab_id => $tab_ab_jours) : ?> |
<tr><td class="absence_titre"><?=$ab_libelle[$ab_id];?></td> |
<?php foreach ($tab_ab_jours as $num => $ab_duree) : ?> |
<td class="ab"><input id="ab:<?=$ab_id;?>:<?=$num;?>" name="ab:<?=$ab_id;?>:<?=$num;?>" value="<?=$ab_duree;?>" type="text"/></td> |
<?php foreach ($elements[$s] as $num => $jour) : ?> |
<td class="ab <?=$jour['class'];?>"><input id="ab:<?=$ab_id;?>:<?=$num;?>" name="ab:<?=$ab_id;?>:<?=$num;?>" value="<?=$tab_ab_jours[$num];?>" type="text"/></td> |
<?php endforeach; ?> |
</tr> |
<?php endforeach; ?> |
/trunk/presentation/stat_tableau_global.tpl.html |
---|
1,4 → 1,4 |
<table summary="Tableau du temps de travail mensuel par salarié."> |
<table id="tab_tps_w_mensuel_salarie" summary="Tableau du temps de travail mensuel par salarié."> |
<caption> |
<a href="<?=$url_mois_precedent;?>"><<</a> <?=$mois['mois'];?><?=$mois['annee'];?> <a href="<?=$url_mois_suivant;?>">>></a> |
</caption> |
13,48 → 13,37 |
</tr> |
</thead> |
<tbody> |
<?php $ligne = "impair"; ?> |
<?foreach ($projets as $categorie => $pr):?> |
<tr><td colspan="<?=count($utilisateurs)+1;?>" class="categorie"><?=$categorie;?></td></tr> |
<tr class="categories"> |
<td class="categories_titre"><?=$categorie;?></td> |
<?php foreach ($utilisateurs as $utilisateur) : ?> |
<td class="categories_total"><?=(isset($utilisateur['categorie_totaux'][$categorie])) ? $utilisateur['categorie_totaux'][$categorie] : " ";?></td> |
<?php endforeach; ?> |
</tr> |
<?foreach ($pr as $id => $nom):?> |
<tr> |
<td id="pr:<?=$id;?>" class="projet"><?=$nom;?></td> |
<tr class="utilisateur <?=$ligne ; $ligne = ($ligne == "impair") ? "pair" : "impair" ;?>"> |
<td id="pr:<?=$id;?>" class="projet_nom"><?=$nom;?></td> |
<?php foreach ($utilisateurs as $utilisateur) : ?> |
<?php if (isset($utilisateur['projets'][$categorie][$id])) : ?> |
<td class="utilisateur"><?=$utilisateur['projets'][$categorie][$id]['duree'];?></td> |
<?php else : ?> |
<td class="utilisateur"> </td> |
<?php endif; ?> |
<td class="projet"><?=(isset($utilisateur['projets'][$categorie][$id])) ? $utilisateur['projets'][$categorie][$id]['duree'] : " ";?></td> |
<?php endforeach; ?> |
</tr> |
<?php endforeach; ?> |
<tr><td class="total_titre">Totaux</td> |
<?php $ligne = "impair"; ?> |
<?php endforeach; ?> |
<tr class="absences"> |
<td class="absences_titre">Absences</td> |
<?php foreach ($utilisateurs as $utilisateur) : ?> |
<?php if (isset($utilisateur['categorie_totaux'][$categorie])) : ?> |
<td class="categorie_total"><?=$utilisateur['categorie_totaux'][$categorie];?></td> |
<?php else : ?> |
<td class="categorie_total"> </td> |
<?php endif; ?> |
<td class="absences_total"><?=$utilisateur['ab_total'];?></td> |
<?php endforeach; ?> |
</tr> |
<?php endforeach; ?> |
<tr><td colspan="<?=count($utilisateurs)+1;?>" class="categorie">Absences</td></tr> |
<?php foreach ($absences as $ab_id => $ab_libelle) : ?> |
<tr> |
<td class="absence_titre"><?=$ab_libelle;?></td> |
<tr class="utilisateur <?=$ligne ; $ligne = ($ligne == "impair") ? "pair" : "impair" ;?>"> |
<td id="ab:<?=$ab_id;?>" class="absence_nom"><?=$ab_libelle;?></td> |
<?php foreach ($utilisateurs as $utilisateur) : ?> |
<?php if (isset($utilisateur['ab'][$ab_id])) : ?> |
<td class="ab"><?=$utilisateur['ab'][$ab_id];?></td> |
<?php else : ?> |
<td class="ab"> </td> |
<?php endif; ?> |
<td class="absence"><?= (isset($utilisateur['ab'][$ab_id])) ? $utilisateur['ab'][$ab_id] : " ";?></td> |
<?php endforeach; ?> |
</tr> |
<?php endforeach; ?> |
<tr> |
<td class="total_titre">Totaux</td> |
<?php foreach ($utilisateurs as $utilisateur) : ?> |
<td class="categorie_total"><?=$utilisateur['ab_total'];?></td> |
<?php endforeach; ?> |
</tr> |
</tbody> |
</table> |
/trunk/presentation/disposition.css |
---|
5,7 → 5,8 |
body,h1,h2,p{ |
margin:0; |
padding:0;} |
legend{ |
margin:0 0 0 1em;} |
/* Disposition des éléments sur la page */ |
#zone_entete { |
height:75px;} |
/trunk/bibliotheque/metier/AbsenceMotif.class.php |
---|
55,7 → 55,6 |
private $id_absence_motif; |
private $libelle; |
private $mark_cp_diminuer; |
private $mark_hs_augmenter; |
private $mark_hs_diminuer; |
/*** Aggregations : */ |
68,7 → 67,6 |
'gam_id_absence_motif' => 'id_absence_motif', |
'gam_libelle' => 'libelle', |
'gam_mark_cp_diminuer' => 'mark_cp_diminuer', |
'gam_mark_hs_augmenter' => 'mark_hs_augmenter', |
'gam_mark_hs_diminuer' => 'mark_hs_diminuer'); |
// Si l'on veut remplir l'objet à la création on lance la requete correspondante |
108,16 → 106,6 |
$this->mark_cp_diminuer = $cd; |
} |
// HS Augmenter |
public function getMarkHsAugmenter() |
{ |
return $this->mark_hs_augmenter; |
} |
public function setMarkHsAugmenter( $ha ) |
{ |
$this->mark_hs_augmenter = $ha; |
} |
// HS Diminuer |
public function getMarkHsDiminuer() |
{ |
147,7 → 135,7 |
'WHERE gam_id_absence_motif = #0 '; |
break; |
case AbsenceMotif::GAM_ID_MAX: |
$requete = 'SELECT MAX(gam_id_absence_motif) as gam_id_absence_motif '. |
$requete = 'SELECT MAX(gam_id_absence_motif) AS gam_id_absence_motif '. |
'FROM gestion_absence_motif '; |
break; |
case AbsenceMotif::GAM_LIBELLE: |
/trunk/bibliotheque/metier/aGttSql.class.php |
---|
121,7 → 121,9 |
// Remplacement dans la requete par les valeurs des paramêtres |
$requete = strtr($requete, $parametres); |
} |
if (GTT_DEBOGAGE) { |
trigger_error($requete, E_USER_NOTICE); |
} |
$resultat = $GLOBALS['db']->query($requete); |
(DB::isError($resultat)) ? trigger_error(GestionnaireErreur::retournerErreurSql(__FILE__, __LINE__, $resultat->getMessage(), $requete), E_USER_ERROR) : '' ; |
$tab_resultat = array(); |
128,7 → 130,6 |
while ($donnees =& $resultat->fetchRow(DB_FETCHMODE_ASSOC)) { |
$tab_resultat[] = $this->basculerEnregistrementObjet($donnees, $instancier); |
} |
$resultat_nbre = count($tab_resultat); |
if ($resultat_nbre > 1) { |
return $tab_resultat; |
/trunk/actions/GttCtrlActionStatTableauGlobal.class.php |
---|
111,7 → 111,7 |
} |
} |
} |
$aso_stat['projets'][$Categorie->getLibelle()][$Projet->getIdProjet()] = $Projet->getNomProjet(); |
$aso_stat['projets'][$Categorie->getLibelle()][$Projet->getIdProjet()] = $Projet->getNom(); |
} |
} |
//+-------------------------------------------------------------------------------------------------+ |
/trunk/actions/GttCtrlActionAdminAbsenceMotif.class.php |
---|
5,7 → 5,7 |
{ |
$Registre->ajouterEspace('AdminAbsenceMotif', 'admin_absence_motif'); |
$Registre->ajouterSquelette('admin_absence_motif', 'admin_absence_motif.tpl.html'); |
$Registre->setTitre('Administrer les motifs d\'absence'); |
$Registre->setTitre("Administrer les motifs d'absence"); |
} |
public function executer() |
14,7 → 14,15 |
// Récupération des catégories |
$AbsenceMotif = new AbsenceMotif(); |
// Utilisateur vide par défaut |
$aso_admin_absence_motif['AbsenceMotif'] = clone $AbsenceMotif; |
$tab_am = $AbsenceMotif->consulter(AbsenceMotif::GAM_TOUS); |
if ($tab_am) { |
if ($tab_am instanceof AbsenceMotif) { |
$tab_am = array($tab_am); |
} |
foreach ($tab_am as $am) { |
if ($am->getIdAbsenceMotif() != 0) { |
$aso_motif['id'] = $am->getIdAbsenceMotif(); |
22,53 → 30,186 |
$aso_admin_absence_motif['motifs'][] = $aso_motif; |
} |
} |
} |
// Modification des titres, légendes et bouton |
$aso_admin_absence_motif['form_legend'] = "Ajouter un motif d'abscence"; |
$aso_admin_absence_motif['form_bouton_value'] = 'Ajouter'; |
$aso_admin_absence_motif['form_bouton_id'] = 'btn_absence_motif_ajouter'; |
$aso_admin_absence_motif['form_url'] = 'index.php?action=admin-absence-motif_valider-ajouter'; |
//echo '<pre>'.print_r($aso_admin_absence_motif, true).'</pre>'; |
$this->getRegistre()->ajouterDonnee('admin_absence_motif', $aso_admin_absence_motif); |
} |
public function executerEditer() |
{ |
// Initialisation de variable |
$aso_admin_absence_motif = array(); |
// Récupération d'info en fonction du bouton selectionné |
if (isset($_POST['btn_absence_motif_modifier'])) { |
// Récupération des données du motif à modifier |
$AbsenceMotif = new AbsenceMotif(); |
$AbsenceMotif ->consulter(AbsenceMotif::GAM_ID, $_POST['amsu_id'], true); |
$aso_admin_absence_motif['AbsenceMotif'] = $AbsenceMotif; |
// Modification des titres, légendes et bouton |
$aso_admin_absence_motif['form_legend'] = "Modifier un motif d'absence"; |
$aso_admin_absence_motif['form_bouton_value'] = 'Modifier'; |
$aso_admin_absence_motif['form_bouton_id'] = 'btn_absence_motif_modifier'; |
$aso_admin_absence_motif['form_url'] = 'index.php?action=admin-absence-motif_valider-modifier'; |
$this->getRegistre()->ajouterDonnee('admin_absence_motif', $aso_admin_absence_motif); |
} else if (isset($_POST['btn_absence_motif_supprimer'])) { |
// Action suivante |
$this->setSuivant('ValiderSupprimer'); |
} |
} |
public function executerValiderAjouter() |
{ |
// Ajout de la catégorie |
if (isset($_POST['btn_absence_motif_annuler'])) { |
// Action suivante |
$this->setSuivant('__defaut__'); |
} else if (isset($_POST['btn_absence_motif_ajouter'])) { |
// Vérification du motif à ajouter |
$bool_modifier = true; |
$AbsenceMotif = new AbsenceMotif(); |
$bool_existe = $AbsenceMotif->consulter(AbsenceMotif::GAM_LIBELLE, array($_POST['amaj_libelle'])); |
if ($bool_existe == false) { |
$AbsenceMotifMax = $AbsenceMotif->consulter(AbsenceMotif::GAM_ID_MAX); |
$id_max = $AbsenceMotifMax->getIdAbsenceMotif(); |
$AbsenceMotif->setIdAbsenceMotif(++$id_max); |
$AbsenceMotif->setLibelle($_POST['amaj_libelle']); |
$AbsenceMotif->ajouter(); |
$AmLibelle = $AbsenceMotif->consulter(AbsenceMotif::GAM_LIBELLE, array($_POST['amaj_libelle'])); |
if ((is_array($AmLibelle) && count($AmLibelle) > 1) || ($AmLibelle instanceof AbsenceMotif && $AmLibelle->getIdAbsenceMotif() != $_POST['amaj_id_absence_motif'])) { |
$aso_admin_absence_motif['messages'][] = "Un motif d'absence avec le même libellé existe déjà !"; |
$bool_modifier = false; |
} |
//$this->verifierChampsCommuns(&$aso_admin_absence_motif, &$bool_modifier); |
if ($bool_modifier) { |
// Action suivante |
$this->setSuivant('ajouter'); |
} else { |
$aso_admin_absence_motif['message'] = 'Ce motif d\'absence existe déjà !'; |
// Action suivante |
$this->setSuivant('__defaut__'); |
$this->getRegistre()->ajouterDonnee('admin_absence_motif', $aso_admin_absence_motif); |
} |
} |
} |
public function executerAjouter() |
{ |
// Initialisation de variable |
$aso_admin_motif = array(); |
// Création de l'objet AbsenceMotif à ajouter |
$AbsenceMotif = new AbsenceMotif(); |
$AbsenceMotif->setLibelle($_POST['amaj_libelle']); |
if (!isset($_POST['amaj_mark_cp_diminuer'])) { |
$_POST['amaj_mark_cp_diminuer'] = 0; |
} |
$AbsenceMotif->setMarkCpDiminuer($_POST['amaj_mark_cp_diminuer']); |
if (!isset($_POST['amaj_mark_hs_diminuer'])) { |
$_POST['amaj_mark_hs_diminuer'] = 0; |
} |
$AbsenceMotif->setMarkHsDiminuer($_POST['amaj_mark_hs_diminuer']); |
if ($AbsenceMotif->ajouter()) { |
$aso_admin_motif['messages'][] = "Le motif d'absence ${_POST['amaj_libelle']} a été ajouté."; |
} |
// Ajout du message d'information |
$this->getRegistre()->ajouterDonnee('admin_absence_motif', $aso_admin_motif); |
// Action suivante |
$this->setSuivant('__defaut__'); |
} |
public function executerValiderModifier() |
{ |
if (isset($_POST['btn_absence_motif_annuler'])) { |
// Action suivante |
$this->setSuivant('__defaut__'); |
} else if (isset($_POST['btn_absence_motif_modifier'])) { |
// Initialisation de variable |
$aso_admin_motif = array(); |
// Vérification du motif à modifier |
$bool_modifier = true; |
$AbsenceMotif = new AbsenceMotif(); |
$AmLibelle = $AbsenceMotif->consulter(AbsenceMotif::GAM_LIBELLE, array($_POST['amaj_libelle'])); |
if ((is_array($AmLibelle) && count($AmLibelle) > 1) || ($AmLibelle instanceof AbsenceMotif && $AmLibelle->getIdAbsenceMotif() != $_POST['amaj_id_absence_motif'])) { |
$aso_admin_motif['messages'][] = "Un motif d'absence avec le même libellé existe déjà !"; |
$bool_modifier = false; |
} |
//$this->verifierChampsCommuns(&$aso_admin_absence_motif, &$bool_modifier); |
if ($bool_modifier) { |
// Action suivante |
$this->setSuivant('modifier'); |
} else { |
// Action suivante |
$_POST['btn_motif_absence_modifier'] = 'btn_absence_motif_modifier'; |
$_POST['amsu_id'] = $_POST['amaj_id_absence_motif']; |
$this->setSuivant('editer'); |
$this->getRegistre()->ajouterDonnee('admin_absence_motif', $aso_admin_motif); |
} |
} |
} |
public function executerModifier() |
{ |
// Initialisation de variable |
$aso_admin_motif = array(); |
// Création de l'objet AbsenceMotif à modifier |
$AbsenceMotif = new AbsenceMotif(); |
$AbsenceMotif->setIdAbsenceMotif($_POST['amaj_id_absence_motif']); |
$AbsenceMotif->setLibelle($_POST['amaj_libelle']); |
if (!isset($_POST['amaj_mark_cp_diminuer'])) { |
$_POST['amaj_mark_cp_diminuer'] = 0; |
} |
$AbsenceMotif->setMarkCpDiminuer($_POST['amaj_mark_cp_diminuer']); |
if (!isset($_POST['amaj_mark_hs_diminuer'])) { |
$_POST['amaj_mark_hs_diminuer'] = 0; |
} |
$AbsenceMotif->setMarkHsDiminuer($_POST['amaj_mark_hs_diminuer']); |
if ($AbsenceMotif->modifier()) { |
$aso_admin_motif['messages'][] = "Le motif d'absence ${_POST['amaj_libelle']} a été modifié."; |
} |
// Ajout du message d'information |
$this->getRegistre()->ajouterDonnee('admin_absence_motif', $aso_admin_motif); |
// Action suivante |
$this->setSuivant('__defaut__'); |
} |
public function executerValiderSupprimer() |
{ |
// Initialisation des variables |
$aso_admin_motif = array(); |
// Vérif des absences |
$Absence = new Absence(); |
$bool_existe = $Absence->consulter(Absence::GA_ID_ABSENCE_MOTIF, array($_POST['amsu_id'])); |
if ($bool_existe == false) { |
trigger_error('Absence -> OK', E_USER_NOTICE); |
// Suppression du motif d'absence |
$AbsenceMotif = new AbsenceMotif(); |
$AbsenceMotif->setIdAbsenceMotif($_POST['amsu_id']); |
$AbsenceMotif->supprimer(); |
// Mise à jour des absences possédant le motif supprimé |
$Absence = new Absence(); |
$tab_a = $Absence->consulter(Absence::GA_ID_ABSENCE_MOTIF, $_POST['amsu_id']); |
if ($tab_a != false) { |
if ($tab_a && count($tab_a) == 1) { |
$tab_a = array($tab_a); |
if ($AbsenceMotif->supprimer()) { |
$aso_admin_motif['messages'][] = "Le motif d'absence a été supprimé."; |
} |
foreach ($tab_a as $a) { |
$Ancien = clone $a; |
$a->setIdAbsenceMotif(0); |
$a->modifier($Ancien); |
} |
// Message d'erreur si le motif d'absence est utilisé |
if ($bool_existe != false) { |
$aso_admin_motif['messages'][ ] = "Il n'est pas possible de supprimer un motif d'absence contenant des données!"; |
} |
// Enregistrement du message |
$this->getRegistre()->ajouterDonnee('admin_absence_motif', $aso_admin_motif); |
// Action suivante |
$this->setSuivant('__defaut__'); |
} |
} |
?> |
/trunk/actions/GttCtrlActionGestion.class.php |
---|
263,21 → 263,21 |
// Création d'un utilisateur pour les mises à jour des CP et RTT |
$Utilisateur = new Utilisateur(); |
$Utilisateur->setIdUtilisateur($GLOBALS['_GTT_']['Utilisateur']->getIdUtilisateur()); |
$Utilisateur->setCongesPayes(null); |
$Utilisateur->setQuotaHeuresSupp($GLOBALS['_GTT_']['Utilisateur']->getQuotaHeuresSupp()); |
$Utilisateur->setCongesPayes($GLOBALS['_GTT_']['Utilisateur']->getCongesPayes()); |
$Utilisateur->setTempsDeTravailJour(null); |
$Utilisateur->setTempsDeTravailMois(null); |
$Utilisateur->setMarkAdmin(null); |
$Utilisateur->setMarkRecapitulatif(null); |
// Ajout ou Mise à jour des durées de travail |
if (isset($_POST['pr'])) { |
$total_heure_act = 0; |
$total_heure_pre = 0; |
$total_jours = 0; |
// Initialisation de la variable pour la gestion des heures sup |
$jours_w_semaine = array_flip(explode(',', GTT_SEMAINE_JOUR_W_NBRE)); |
foreach ($jours_w_semaine as $c => $v) { |
$jours_w_semaine[$c] = array('act' => 0, 'pre' => 0); |
} |
// 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>'; |
foreach($jours as $jour_num => $nbr_heure) { |
315,36 → 315,8 |
} |
} |
} |
// Gestion de la mise à jour des heures sup |
$Utilisateur->setQuotaHeuresSupp($GLOBALS['_GTT_']['Utilisateur']->getQuotaHeuresSupp()); |
foreach ($jours_w_semaine as $c => $j) { |
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 ($heure_sup_act < 0) { |
$Utilisateur->diminuerQuotaHeuresSup(abs($heure_sup_act)); |
} |
if ($heure_sup_act > 0) { |
$Utilisateur->augmenterQuotaHeuresSup($heure_sup_act); |
} |
} else { |
if ($heure_sup_dif < 0) { |
$Utilisateur->diminuerQuotaHeuresSup(abs($heure_sup_dif)); |
} |
if ($heure_sup_dif > 0) { |
$Utilisateur->augmenterQuotaHeuresSup($heure_sup_dif); |
} |
} |
} |
} |
trigger_error(print_r($jours_w_semaine, true), E_USER_NOTICE);//$heure_sup_pre.'/'.$heure_sup_act.'-'.$total_jours |
$Utilisateur->modifier(); |
} |
// Récupération des absences pour un utilisateur à une date donnée |
$Absence = new Absence(); |
$cmd = Absence::GA_ID_UTILISATEUR_DATE_DEB_FIN; |
356,10 → 328,18 |
// 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 |
$AbsenceMotif = new AbsenceMotif(); |
$AbsenceMotif->consulter(AbsenceMotif::GAM_ID, $ab_id, true); |
foreach($tab_num_j as $num_j => $ab_duree) { |
if (isset($jours_w_semaine[$num_j])) { |
$jours_w_semaine[$num_j]['act'] += $ab_duree; |
} |
$bool_ajouter = true; |
if (!empty($tab_a)) { |
foreach ($tab_a as $A) { |
367,21 → 347,27 |
if ($A->getIdAbsenceMotif() == $ab_id) { |
$bool_ajouter = false; |
if (isset($jours_w_semaine[$num_j])) { |
$jours_w_semaine[$num_j]['pre'] += $A->getDuree(); |
} |
if ($A->getDuree() != $ab_duree) { |
if (empty($ab_duree)) { |
$A->supprimer(); |
if ($ab_id == GTT_ABSCENCE_ID_CP) { |
if ($AbsenceMotif->getMarkCpDiminuer()) { |
$cp_h_modif -= $A->getDuree(); |
} |
if ($AbsenceMotif->getMarkHsDiminuer()) { |
$hs_h_modif -= $A->getDuree(); |
} |
} else { |
$ab_duree_tmp = $A->getDuree(); |
$A->setDuree($ab_duree); |
$A->modifier(); |
if ($ab_id == GTT_ABSCENCE_ID_CP) { |
trigger_error('ici'.($ab_duree_tmp - $ab_duree), E_USER_NOTICE); |
if ($AbsenceMotif->getMarkCpDiminuer()) { |
$cp_h_modif -= $ab_duree_tmp - $ab_duree; |
} |
if ($AbsenceMotif->getMarkHsDiminuer()) { |
$hs_h_modif -= $ab_duree_tmp - $ab_duree; |
} |
} |
} |
388,6 → 374,7 |
} |
} |
} |
} |
if ($bool_ajouter && !empty($ab_duree)) { |
$A = new Absence(); |
$A->setDuree((float)$ab_duree); |
395,16 → 382,17 |
$A->setIdAbsenceMotif($ab_id); |
$A->setIdDateAbsence((string)$aso_semaine[$num_j]['mysql']); |
$A->ajouter(); |
if ($ab_id == GTT_ABSCENCE_ID_CP) { |
if ($AbsenceMotif->getMarkCpDiminuer()) { |
$cp_h_modif += $ab_duree; |
} |
if ($AbsenceMotif->getMarkHsDiminuer()) { |
$hs_h_modif += $ab_duree; |
} |
} |
} |
// Gestion de la mise à jour des heures sup |
$Utilisateur->setQuotaHeuresSupp(null); |
$Utilisateur->setCongesPayes($GLOBALS['_GTT_']['Utilisateur']->getCongesPayes()); |
trigger_error($cp_h_modif, E_USER_NOTICE); |
} |
// Gestion de la mise à jour des congés payés |
if ($cp_h_modif > 0) { |
$Utilisateur->diminuerCongesPayes($cp_h_modif); |
} |
411,10 → 399,42 |
if ($cp_h_modif < 0) { |
$Utilisateur->augmenterCongesPayes(abs($cp_h_modif)); |
} |
if ($hs_h_modif > 0) { |
$Utilisateur->diminuerQuotaHeuresSup($hs_h_modif); |
} |
if ($hs_h_modif < 0) { |
$Utilisateur->augmenterQuotaHeuresSup(abs($hs_h_modif)); |
} |
$Utilisateur->modifier(); |
} |
// 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 |
$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 ($heure_sup_act < 0) { |
$Utilisateur->diminuerQuotaHeuresSup(abs($heure_sup_act)); |
} |
if ($heure_sup_act > 0) { |
$Utilisateur->augmenterQuotaHeuresSup($heure_sup_act); |
} |
} else { |
if ($heure_sup_dif < 0) { |
$Utilisateur->diminuerQuotaHeuresSup(abs($heure_sup_dif)); |
} |
if ($heure_sup_dif > 0) { |
$Utilisateur->augmenterQuotaHeuresSup($heure_sup_dif); |
} |
} |
} |
} |
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 |
$GttCtrlActionIdentification = new GttCtrlActionIdentification($this->getRegistre()); |
$GttCtrlActionIdentification->setSuivant('__defaut__'); |