diff --git a/htdocs/holiday/index.php b/htdocs/holiday/index.php index 19944b16ae8d8b40f1cfaf126cbcde750b543418..16d2edddf7e830f6cb30d1c6d0dad2aaf25b7cdf 100644 --- a/htdocs/holiday/index.php +++ b/htdocs/holiday/index.php @@ -30,6 +30,11 @@ require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; require_once DOL_DOCUMENT_ROOT.'/user/class/user.class.php'; require_once DOL_DOCUMENT_ROOT.'/user/class/usergroup.class.php'; require_once DOL_DOCUMENT_ROOT.'/holiday/common.inc.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/functions2.lib.php'; +require_once DOL_DOCUMENT_ROOT.'/core/lib/usergroups.lib.php'; + +$langs->load('users'); +$langs->load('holidays'); // Protection if external user if ($user->societe_id > 0) accessforbidden(); @@ -46,6 +51,8 @@ $offset = $conf->liste_limit * $page ; $pageprev = $page - 1; $pagenext = $page + 1; +$id = GETPOST('id'); + $search_ref = GETPOST('search_ref'); $month_create = GETPOST('month_create'); $year_create = GETPOST('year_create'); @@ -72,6 +79,7 @@ $search_statut = GETPOST('select_statut'); $holiday = new Holiday($db); $holidaystatic=new Holiday($db); +$fuser = new User($db); // Update sold $holiday->updateSold(); @@ -151,28 +159,22 @@ if(!empty($search_statut) && $search_statut != -1) { // Récupération de l'ID de l'utilisateur $user_id = $user->id; +if ($id > 0) +{ + // Charge utilisateur edite + $fuser->fetch($id); + $fuser->getrights(); + $user_id = $fuser->id; +} // Récupération des congés payés de l'utilisateur ou de tous les users -if (!$user->rights->holiday->lire_tous) +if (!$user->rights->holiday->lire_tous || $id > 0) { - $holiday_payes = $holiday->fetchByUser($user_id,$order,$filter); + $holiday_payes = $holiday->fetchByUser($user_id,$order,$filter); } else { $holiday_payes = $holiday->fetchAll($order,$filter); } - -// Si pas de congés payés -if ($holiday_payes == 0) -{ - print_fiche_titre($langs->trans('CPTitreMenu')); - - print '<div class="tabBar">'; - print '<span>'.$langs->trans('NoCPforUser').'<br /><br />'; - print '<a href="./fiche.php?mainmenu=agenda&action=request" class="butAction">'.$langs->trans('AddCP').'</a></span>'; - print '</div>'; - exit(); -} - // Si erreur SQL if ($holiday_payes == '-1') { @@ -189,14 +191,48 @@ if ($holiday_payes == '-1') * Affichage du tableau des congés payés *************************************/ -$var=true; $num = count($holiday->holiday); -$html = new Form($db); -$htmlother = new FormOther($db); -print_barre_liste($langs->trans("ListeCP"), $page, $_SERVER["PHP_SELF"], '', $sortfield, $sortorder, "", $num); +$var=true; $num = count($holiday->holiday); +$form = new Form($db); +$formother = new FormOther($db); -print '<div class="tabBar">'; +if ($id > 0) +{ + $head = user_prepare_head($fuser); + + $title = $langs->trans("User"); + dol_fiche_head($head, 'paidholidays', $title, 0, 'user'); + + print '<table class="border" width="100%">'; + + // Ref + print '<tr><td width="25%" valign="top">'.$langs->trans("Ref").'</td>'; + print '<td colspan="2">'; + print $form->showrefnav($fuser,'id','',$user->rights->user->user->lire || $user->admin); + print '</td>'; + print '</tr>'; + + // Nom + print '<tr><td width="25%" valign="top">'.$langs->trans("LastName").'</td>'; + print '<td colspan="2">'.$fuser->lastname.'</td>'; + print "</tr>\n"; + + // Prenom + print '<tr><td width="25%" valign="top">'.$langs->trans("FirstName").'</td>'; + print '<td colspan="2">'.$fuser->firstname.'</td>'; + print "</tr>\n"; + + print '</table><br>'; + +} +else +{ + print_barre_liste($langs->trans("ListeCP"), $page, $_SERVER["PHP_SELF"], '', $sortfield, $sortorder, "", $num); -$nbaquis=$holiday->getCPforUser($user->id); + print '<div class="tabBar">'; +} + + +$nbaquis=$holiday->getCPforUser($user_id); $nbdeduced=$holiday->getConfCP('nbHolidayDeducted'); $nb_holiday = $nbaquis / $nbdeduced; print $langs->trans('SoldeCPUser',round($nb_holiday,2)).($nbdeduced != 1 ? ' ('.$nbaquis.' / '.$nbdeduced.')' : ''); @@ -223,13 +259,13 @@ print '<input class="flat" size="4" type="text" name="search_ref" value="'.$sear // DATE CREATE print '<td class="liste_titre" colspan="1" align="center">'; print '<input class="flat" type="text" size="1" maxlength="2" name="month_create" value="'.$month_create.'">'; -$htmlother->select_year($year_create,'year_create',1, $min_year, $max_year); +$formother->select_year($year_create,'year_create',1, $min_year, $max_year); print '</td>'; // UTILISATEUR if($user->rights->holiday->lire_tous) { print '<td class="liste_titre" align="left">'; - $html->select_users($search_employe,"search_employe",1,"",0,''); + $form->select_users($search_employe,"search_employe",1,"",0,''); print '</td>'; } else { print '<td class="liste_titre"> </td>'; @@ -246,7 +282,7 @@ if($user->rights->holiday->lire_tous){ $validator = new UserGroup($db,$idGroupValid); $valideur = $validator->listUsersForGroup(); - $html->select_users($search_valideur,"search_valideur",1,"",0,$valideur,''); + $form->select_users($search_valideur,"search_valideur",1,"",0,$valideur,''); print '</td>'; } else { print '<td class="liste_titre"> </td>'; @@ -255,13 +291,13 @@ if($user->rights->holiday->lire_tous){ // DATE DEBUT print '<td class="liste_titre" colspan="1" align="center">'; print '<input class="flat" type="text" size="1" maxlength="2" name="month_start" value="'.$month_start.'">'; -$htmlother->select_year($year_start,'year_start',1, $min_year, $max_year); +$formother->select_year($year_start,'year_start',1, $min_year, $max_year); print '</td>'; // DATE FIN print '<td class="liste_titre" colspan="1" align="center">'; print '<input class="flat" type="text" size="1" maxlength="2" name="month_end" value="'.$month_end.'">'; -$htmlother->select_year($year_end,'year_end',1, $min_year, $max_year); +$formother->select_year($year_end,'year_end',1, $min_year, $max_year); print '</td>'; // DUREE @@ -327,10 +363,13 @@ if($holiday_payes == '2') print '</table>'; print '</form>'; -print '<br>'; -print '<div style="float: right; margin-top: 8px;">'; -print '<a href="./fiche.php?action=request" class="butAction">'.$langs->trans('AddCP').'</a>'; -print '</div>'; +if ($user_id == $user->id) +{ + print '<br>'; + print '<div style="float: right; margin-top: 8px;">'; + print '<a href="./fiche.php?action=request" class="butAction">'.$langs->trans('AddCP').'</a>'; + print '</div>'; +} llxFooter(); diff --git a/htdocs/langs/en_US/holiday.lang b/htdocs/langs/en_US/holiday.lang index 2b83b1fcb1d6829574d4eef4df2a69f72d290073..abf2b1dc514635a5248c1c01c101c925ef9150d7 100755 --- a/htdocs/langs/en_US/holiday.lang +++ b/htdocs/langs/en_US/holiday.lang @@ -26,7 +26,7 @@ SendRequestCP=Creating demand for holidays DelayToRequestCP=Applications for holidays must be made at least <b>%s day(s)</b> before them. MenuConfCP=Edit balance of holidays UpdateAllCP=Update the holidays -SoldeCPUser=Your balance of holidays is <b>%s</b> days. +SoldeCPUser=Holidays balance is <b>%s</b> days. ErrorEndDateCP=You must select an end date greater than the start date. ErrorSQLCreateCP=An SQL error occurred during the creation: ErrorIDFicheCP=An error has occurred, the request for holidays does not exist. diff --git a/htdocs/langs/fr_FR/holiday.lang b/htdocs/langs/fr_FR/holiday.lang index 60c7594fe9094df64226b62f5b07529262f4f955..ed8d339af756b9b00d9837d89c7b68f24daf9e45 100644 --- a/htdocs/langs/fr_FR/holiday.lang +++ b/htdocs/langs/fr_FR/holiday.lang @@ -26,7 +26,7 @@ SendRequestCP=Envoyer la demande de congés DelayToRequestCP=Les demandes de congés doivent être faites au moins <b>%s jours</b> avant la date</b> de ceux-ci. MenuConfCP=Mettre à jour solde UpdateAllCP=Mettre à jour les congés -SoldeCPUser=Votre solde de congés est de <b>%s jours</b>. +SoldeCPUser=Solde de congés: <b>%s jours</b>. ErrorEndDateCP=Vous devez choisir une date de fin supérieur à la date de début. ErrorSQLCreateCP=Une erreur SQL est survenue durant la création : ErrorIDFicheCP=Une erreur est survenue, cette demande de congés n'existe pas.