2014-03-17 14:30:55 +01:00
< ? php
2014-10-02 08:44:49 +02:00
/* Copyright ( C ) 2011 Dimitri Mouillard < dmouillard @ teclib . com >
2015-06-27 11:45:23 +02:00
* Copyright ( C ) 2013 - 2015 Laurent Destailleur < eldy @ users . sourceforge . net >
2018-10-27 14:43:12 +02:00
* Copyright ( C ) 2012 - 2014 Regis Houssin < regis . houssin @ inodbox . com >
2019-01-28 21:39:22 +01:00
* Copyright ( C ) 2015 - 2016 Alexandre Spangaro < aspangaro @ open - dsi . fr >
2020-10-02 12:54:56 +02:00
* Copyright ( C ) 2019 Nicolas ZABOURI < info @ inovea - conseil . com >
2021-03-14 20:42:06 +01:00
* Copyright ( C ) 2021 Frédéric France < frederic . france @ netlogic . fr >
2014-03-17 14:30:55 +01:00
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation ; either version 3 of the License , or
* ( at your option ) any later version .
*
* This program is distributed in the hope that it will be useful ,
* but WITHOUT ANY WARRANTY ; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the
* GNU General Public License for more details .
*
* You should have received a copy of the GNU General Public License
2019-09-23 21:55:30 +02:00
* along with this program . If not , see < https :// www . gnu . org / licenses />.
2014-03-17 14:30:55 +01:00
*/
/**
2016-07-26 21:12:52 +02:00
* \file htdocs / hrm / index . php
2014-03-17 14:30:55 +01:00
* \ingroup hrm
* \brief Home page for HRM area .
*/
2018-07-26 11:57:25 +02:00
require '../main.inc.php' ;
2014-03-17 14:30:55 +01:00
require_once DOL_DOCUMENT_ROOT . '/core/class/html.form.class.php' ;
require_once DOL_DOCUMENT_ROOT . '/core/class/html.formother.class.php' ;
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 . '/core/lib/functions2.lib.php' ;
require_once DOL_DOCUMENT_ROOT . '/core/lib/usergroups.lib.php' ;
2022-04-08 00:14:29 +02:00
if ( ! empty ( $conf -> deplacement -> enabled )) {
2021-02-26 18:20:21 +01:00
require_once DOL_DOCUMENT_ROOT . '/compta/deplacement/class/deplacement.class.php' ;
}
2022-04-08 00:14:29 +02:00
if ( ! empty ( $conf -> expensereport -> enabled )) {
2021-02-26 18:20:21 +01:00
require_once DOL_DOCUMENT_ROOT . '/expensereport/class/expensereport.class.php' ;
}
2022-04-08 00:14:29 +02:00
if ( ! empty ( $conf -> recruitment -> enabled )) {
2021-05-16 16:04:19 +02:00
require_once DOL_DOCUMENT_ROOT . '/recruitment/class/recruitmentcandidature.class.php' ;
require_once DOL_DOCUMENT_ROOT . '/recruitment/class/recruitmentjobposition.class.php' ;
}
2022-04-08 00:14:29 +02:00
if ( ! empty ( $conf -> holiday -> enabled )) {
2021-05-16 16:04:19 +02:00
require_once DOL_DOCUMENT_ROOT . '/holiday/class/holiday.class.php' ;
}
2014-03-17 14:30:55 +01:00
2019-06-18 14:07:52 +02:00
$hookmanager = new HookManager ( $db );
$hookmanager -> initHooks ( 'hrmindex' );
2018-05-26 21:11:25 +02:00
// Load translation files required by the page
2021-12-12 15:48:02 +01:00
$langs -> loadLangs ( array ( 'users' , 'holiday' , 'trips' , 'boxes' ));
2014-03-17 14:30:55 +01:00
2020-04-10 10:59:32 +02:00
$socid = GETPOST ( " socid " , " int " );
2014-10-03 02:00:50 +02:00
2014-03-17 14:30:55 +01:00
// Protection if external user
2021-02-26 18:20:21 +01:00
if ( $user -> socid > 0 ) {
accessforbidden ();
}
2014-03-17 14:30:55 +01:00
2021-02-26 18:20:21 +01:00
if ( empty ( $conf -> global -> MAIN_INFO_SOCIETE_NOM ) || empty ( $conf -> global -> MAIN_INFO_SOCIETE_COUNTRY )) {
$setupcompanynotcomplete = 1 ;
}
2018-06-29 19:08:35 +02:00
2020-09-21 13:54:26 +02:00
$max = $conf -> global -> MAIN_SIZE_SHORTLIST_LIMIT ;
2014-03-17 14:30:55 +01:00
/*
* Actions
*/
2018-06-29 19:08:35 +02:00
// Update sold
2021-02-26 18:20:21 +01:00
if ( ! empty ( $conf -> holiday -> enabled ) && ! empty ( $setupcompanynotcomplete )) {
2021-05-16 16:04:19 +02:00
$holidaystatic = new Holiday ( $db );
$result = $holidaystatic -> updateBalance ();
2018-06-29 19:08:35 +02:00
}
2014-03-17 14:30:55 +01:00
/*
* View
*/
2014-10-30 12:19:38 +01:00
$childids = $user -> getAllChildIds ();
2019-11-14 12:09:46 +01:00
$childids [] = $user -> id ;
2014-03-17 14:30:55 +01:00
2021-04-19 17:50:13 +02:00
$title = $langs -> trans ( 'HRMArea' );
llxHeader ( '' , $title , '' );
2014-03-17 14:30:55 +01:00
2020-07-26 20:51:49 +02:00
print load_fiche_titre ( $langs -> trans ( " HRMArea " ), '' , 'hrm' );
2014-03-17 14:30:55 +01:00
2017-11-04 20:03:08 +01:00
2021-02-26 18:20:21 +01:00
if ( ! empty ( $setupcompanynotcomplete )) {
2017-11-04 20:03:08 +01:00
$langs -> load ( " errors " );
2019-11-14 12:09:46 +01:00
$warnpicto = img_warning ( $langs -> trans ( " WarningMandatorySetupNotComplete " ));
2021-09-27 12:24:01 +02:00
print '<br><div class="warning"><a href="' . DOL_URL_ROOT . '/admin/company.php?mainmenu=home' . ( empty ( $setupcompanynotcomplete ) ? '' : '&action=edit&token=' . newToken ()) . '">' . $warnpicto . ' ' . $langs -> trans ( " WarningMandatorySetupNotComplete " ) . '</a></div>' ;
2017-11-04 20:03:08 +01:00
2018-06-29 19:08:35 +02:00
llxFooter ();
2017-11-04 20:03:08 +01:00
exit ;
}
2014-03-17 14:30:55 +01:00
print '<div class="fichecenter"><div class="fichethirdleft">' ;
2021-02-26 18:20:21 +01:00
if ( ! empty ( $conf -> global -> MAIN_SEARCH_FORM_ON_HOME_AREAS )) { // This is useless due to the global search combo
if ( ! empty ( $conf -> holiday -> enabled ) && $user -> rights -> holiday -> read ) {
2020-10-07 15:01:28 +02:00
$langs -> load ( " holiday " );
$listofsearchfields [ 'search_holiday' ] = array ( 'text' => 'TitreRequestCP' );
}
2021-02-26 18:20:21 +01:00
if ( ! empty ( $conf -> deplacement -> enabled ) && $user -> rights -> deplacement -> lire ) {
2020-10-07 15:01:28 +02:00
$langs -> load ( " trips " );
$listofsearchfields [ 'search_deplacement' ] = array ( 'text' => 'ExpenseReport' );
}
2021-02-26 18:20:21 +01:00
if ( ! empty ( $conf -> expensereport -> enabled ) && $user -> rights -> expensereport -> lire ) {
2020-10-07 15:01:28 +02:00
$langs -> load ( " trips " );
$listofsearchfields [ 'search_expensereport' ] = array ( 'text' => 'ExpenseReport' );
}
2021-02-26 18:20:21 +01:00
if ( count ( $listofsearchfields )) {
2020-10-07 15:01:28 +02:00
print '<form method="post" action="' . DOL_URL_ROOT . '/core/search.php">' ;
print '<input type="hidden" name="token" value="' . newToken () . '">' ;
print '<div class="div-table-responsive-no-min">' ;
print '<table class="noborder nohover centpercent">' ;
$i = 0 ;
2021-02-26 18:20:21 +01:00
foreach ( $listofsearchfields as $key => $value ) {
if ( $i == 0 ) {
print '<tr class="liste_titre"><td colspan="3">' . $langs -> trans ( " Search " ) . '</td></tr>' ;
}
2020-10-07 15:01:28 +02:00
print '<tr ' . $bc [ false ] . '>' ;
print '<td class="nowrap"><label for="' . $key . '">' . $langs -> trans ( $value [ " text " ]) . '</label></td><td><input type="text" class="flat inputsearch" name="' . $key . '" id="' . $key . '" size="18"></td>' ;
2021-02-26 18:20:21 +01:00
if ( $i == 0 ) {
print '<td rowspan="' . count ( $listofsearchfields ) . '"><input type="submit" value="' . $langs -> trans ( " Search " ) . '" class="button"></td>' ;
}
2020-10-07 15:01:28 +02:00
print '</tr>' ;
$i ++ ;
}
print '</table>' ;
print '</div>' ;
print '</form>' ;
print '<br>' ;
}
2015-02-28 08:46:40 +01:00
}
2014-03-17 14:30:55 +01:00
2015-03-02 00:43:17 +01:00
2021-02-26 18:20:21 +01:00
if ( ! empty ( $conf -> holiday -> enabled )) {
if ( empty ( $conf -> global -> HOLIDAY_HIDE_BALANCE )) {
2021-05-16 16:04:19 +02:00
$holidaystatic = new Holiday ( $db );
2018-03-19 15:13:36 +01:00
$user_id = $user -> id ;
2020-10-07 15:01:28 +02:00
print '<div class="div-table-responsive-no-min">' ;
print '<table class="noborder nohover centpercent">' ;
print '<tr class="liste_titre"><th colspan="3">' . $langs -> trans ( " Holidays " ) . '</th></tr>' ;
print '<tr class="oddeven">' ;
2021-11-10 21:34:41 +01:00
print '<td>' ;
2020-10-07 15:01:28 +02:00
$out = '' ;
2021-03-14 20:42:06 +01:00
$nb_holiday = 0 ;
2021-05-16 16:04:19 +02:00
$typeleaves = $holidaystatic -> getTypes ( 1 , 1 );
2021-02-26 18:20:21 +01:00
foreach ( $typeleaves as $key => $val ) {
2021-05-16 16:04:19 +02:00
$nb_type = $holidaystatic -> getCPforUser ( $user -> id , $val [ 'rowid' ]);
2020-10-07 15:01:28 +02:00
$nb_holiday += $nb_type ;
2020-12-07 14:44:20 +01:00
$out .= ' - ' . ( $langs -> trans ( $val [ 'code' ]) != $val [ 'code' ] ? $langs -> trans ( $val [ 'code' ]) : $val [ 'label' ]) . ': <strong>' . ( $nb_type ? price2num ( $nb_type ) : 0 ) . '</strong><br>' ;
2020-10-07 15:01:28 +02:00
}
2021-11-10 21:34:41 +01:00
$balancetoshow = $langs -> trans ( 'SoldeCPUser' , '{s1}' );
print '<div class="valignmiddle div-balanceofleave">' . str_replace ( '{s1}' , img_picto ( '' , 'holiday' , 'class="paddingleft pictofixedwidth"' ) . '<span class="balanceofleave valignmiddle' . ( $nb_holiday > 0 ? ' amountpaymentcomplete' : ( $nb_holiday < 0 ? ' amountremaintopay' : ' amountpaymentneutral' )) . '">' . round ( $nb_holiday , 5 ) . '</span>' , $balancetoshow ) . '</div>' ;
print '<span class="opacitymedium">' . $out . '</span>' ;
2020-10-07 15:01:28 +02:00
print '</td>' ;
print '</tr>' ;
print '</table></div><br>' ;
2021-02-26 18:20:21 +01:00
} elseif ( ! is_numeric ( $conf -> global -> HOLIDAY_HIDE_BALANCE )) {
2018-03-19 15:13:36 +01:00
print $langs -> trans ( $conf -> global -> HOLIDAY_HIDE_BALANCE ) . '<br>' ;
}
2015-03-02 00:43:17 +01:00
}
2021-10-24 00:37:37 +02:00
print '</div><div class="fichetwothirdright">' ;
2014-03-17 14:30:55 +01:00
2015-12-24 12:37:38 +01:00
2017-03-23 10:52:09 +01:00
// Latest leave requests
2021-02-26 18:20:21 +01:00
if ( ! empty ( $conf -> holiday -> enabled ) && $user -> rights -> holiday -> read ) {
2020-10-07 15:01:28 +02:00
$sql = " SELECT u.rowid as uid, u.lastname, u.firstname, u.login, u.email, u.photo, u.statut as user_status, " ;
2021-05-16 16:04:19 +02:00
$sql .= " x.rowid, x.ref, x.fk_type, x.date_debut as date_start, x.date_fin as date_end, x.halfday, x.tms as dm, x.statut as status " ;
2020-10-07 15:01:28 +02:00
$sql .= " FROM " . MAIN_DB_PREFIX . " holiday as x, " . MAIN_DB_PREFIX . " user as u " ;
$sql .= " WHERE u.rowid = x.fk_user " ;
$sql .= " AND x.entity = " . $conf -> entity ;
2021-02-26 18:20:21 +01:00
if ( empty ( $user -> rights -> holiday -> readall )) {
2021-03-22 12:47:23 +01:00
$sql .= ' AND x.fk_user IN (' . $db -> sanitize ( join ( ',' , $childids )) . ')' ;
2021-02-26 18:20:21 +01:00
}
2021-10-22 22:15:59 +02:00
//if (empty($user->rights->societe->client->voir) && !$user->socid) $sql.= " AND x.fk_soc = s. rowid AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id);
2021-06-09 15:36:47 +02:00
//if (!empty($socid)) $sql.= " AND x.fk_soc = ".((int) $socid);
2020-10-07 15:01:28 +02:00
$sql .= $db -> order ( " x.tms " , " DESC " );
$sql .= $db -> plimit ( $max , 0 );
$result = $db -> query ( $sql );
2021-02-26 18:20:21 +01:00
if ( $result ) {
2020-10-07 15:01:28 +02:00
$var = false ;
$num = $db -> num_rows ( $result );
$holidaystatic = new Holiday ( $db );
$userstatic = new User ( $db );
$listhalfday = array ( 'morning' => $langs -> trans ( " Morning " ), " afternoon " => $langs -> trans ( " Afternoon " ));
$typeleaves = $holidaystatic -> getTypes ( 1 , - 1 );
$i = 0 ;
print '<div class="div-table-responsive-no-min">' ;
print '<table class="noborder centpercent">' ;
print '<tr class="liste_titre">' ;
print '<th colspan="3">' . $langs -> trans ( " BoxTitleLastLeaveRequests " , min ( $max , $num )) . '</th>' ;
print '<th>' . $langs -> trans ( " from " ) . '</th>' ;
print '<th>' . $langs -> trans ( " to " ) . '</th>' ;
print '<th class="right" colspan="2"><a href="' . DOL_URL_ROOT . '/holiday/list.php?sortfield=cp.tms&sortorder=DESC">' . $langs -> trans ( " FullList " ) . '</th>' ;
print '</tr>' ;
2021-02-26 18:20:21 +01:00
if ( $num ) {
while ( $i < $num && $i < $max ) {
2020-10-07 15:01:28 +02:00
$obj = $db -> fetch_object ( $result );
$holidaystatic -> id = $obj -> rowid ;
$holidaystatic -> ref = $obj -> ref ;
$holidaystatic -> statut = $obj -> status ;
2021-12-03 01:39:16 +01:00
$holidaystatic -> date_debut = $db -> jdate ( $obj -> date_start );
2020-10-07 15:01:28 +02:00
$userstatic -> id = $obj -> uid ;
$userstatic -> lastname = $obj -> lastname ;
$userstatic -> firstname = $obj -> firstname ;
$userstatic -> login = $obj -> login ;
$userstatic -> photo = $obj -> photo ;
$userstatic -> email = $obj -> email ;
$userstatic -> statut = $obj -> user_status ;
print '<tr class="oddeven">' ;
print '<td class="nowraponall">' . $holidaystatic -> getNomUrl ( 1 ) . '</td>' ;
2022-04-07 18:16:06 +02:00
print '<td class="tdoverflowmax100">' . $userstatic -> getNomUrl ( - 1 , 'leave' ) . '</td>' ;
2022-04-08 00:14:29 +02:00
$leavecode = empty ( $typeleaves [ $obj -> fk_type ]) ? 'Undefined' : $typeleaves [ $obj -> fk_type ][ 'code' ];
print '<td class="tdoverflowmax100" title="' . dol_escape_htmltag ( $langs -> trans ( $leavecode )) . '">' . dol_escape_htmltag ( $langs -> trans ( $leavecode )) . '</td>' ;
2020-10-07 15:01:28 +02:00
$starthalfday = ( $obj -> halfday == - 1 || $obj -> halfday == 2 ) ? 'afternoon' : 'morning' ;
$endhalfday = ( $obj -> halfday == 1 || $obj -> halfday == 2 ) ? 'morning' : 'afternoon' ;
2021-05-17 06:57:21 +02:00
print '<td>' . dol_print_date ( $db -> jdate ( $obj -> date_start ), 'day' ) . ' <span class="opacitymedium">' . $langs -> trans ( $listhalfday [ $starthalfday ]) . '</span>' ;
print '<td>' . dol_print_date ( $db -> jdate ( $obj -> date_end ), 'day' ) . ' <span class="opacitymedium">' . $langs -> trans ( $listhalfday [ $endhalfday ]) . '</span>' ;
2020-10-07 15:01:28 +02:00
print '<td class="right">' . dol_print_date ( $db -> jdate ( $obj -> dm ), 'day' ) . '</td>' ;
2021-12-03 01:39:16 +01:00
print '<td class="right nowrap" width="16">' . $holidaystatic -> LibStatut ( $obj -> status , 3 , $holidaystatic -> date_debut ) . '</td>' ;
2020-10-07 15:01:28 +02:00
print '</tr>' ;
$i ++ ;
}
} else {
print '<tr class="oddeven"><td colspan="7" class="opacitymedium">' . $langs -> trans ( " None " ) . '</td></tr>' ;
}
print '</table>' ;
print '</div>' ;
print '<br>' ;
2021-02-26 18:20:21 +01:00
} else {
dol_print_error ( $db );
}
2015-12-24 12:37:38 +01:00
}
2019-11-01 12:11:29 +01:00
// Latest expense report
2021-02-26 18:20:21 +01:00
if ( ! empty ( $conf -> expensereport -> enabled ) && $user -> rights -> expensereport -> lire ) {
2020-10-02 12:54:56 +02:00
$sql = " SELECT u.rowid as uid, u.lastname, u.firstname, u.login, u.email, u.statut as user_status, u.photo, " ;
$sql .= " x.rowid, x.ref, x.date_debut as date, x.tms as dm, x.total_ttc, x.fk_statut as status " ;
2020-04-10 10:59:32 +02:00
$sql .= " FROM " . MAIN_DB_PREFIX . " expensereport as x, " . MAIN_DB_PREFIX . " user as u " ;
2021-10-22 22:15:59 +02:00
//if (empty($user->rights->societe->client->voir) && !$user->socid) $sql.= ", ".MAIN_DB_PREFIX."societe as s, ".MAIN_DB_PREFIX."societe_commerciaux as sc";
2020-04-10 10:59:32 +02:00
$sql .= " WHERE u.rowid = x.fk_user_author " ;
$sql .= " AND x.entity = " . $conf -> entity ;
2021-02-26 18:20:21 +01:00
if ( empty ( $user -> rights -> expensereport -> readall ) && empty ( $user -> rights -> expensereport -> lire_tous )) {
2021-03-22 12:47:23 +01:00
$sql .= ' AND x.fk_user_author IN (' . $db -> sanitize ( join ( ',' , $childids )) . ')' ;
2021-02-26 18:20:21 +01:00
}
2021-10-22 22:15:59 +02:00
//if (empty($user->rights->societe->client->voir) && !$user->socid) $sql.= " AND x.fk_soc = s. rowid AND s.rowid = sc.fk_soc AND sc.fk_user = ".((int) $user->id);
2021-06-09 15:36:47 +02:00
//if (!empty($socid)) $sql.= " AND x.fk_soc = ".((int) $socid);
2020-04-10 10:59:32 +02:00
$sql .= $db -> order ( " x.tms " , " DESC " );
$sql .= $db -> plimit ( $max , 0 );
2015-02-28 08:46:40 +01:00
$result = $db -> query ( $sql );
2021-02-26 18:20:21 +01:00
if ( $result ) {
2015-02-28 08:46:40 +01:00
$num = $db -> num_rows ( $result );
$i = 0 ;
2019-10-03 18:32:31 +02:00
print '<div class="div-table-responsive-no-min">' ;
print '<table class="noborder centpercent">' ;
2015-02-28 08:46:40 +01:00
print '<tr class="liste_titre">' ;
2019-01-27 11:55:16 +01:00
print '<th colspan="2">' . $langs -> trans ( " BoxTitleLastModifiedExpenses " , min ( $max , $num )) . '</th>' ;
2019-03-10 09:32:19 +01:00
print '<th class="right">' . $langs -> trans ( " TotalTTC " ) . '</th>' ;
2020-10-02 12:54:56 +02:00
print '<th class="right" colspan="2"><a href="' . DOL_URL_ROOT . '/expensereport/list.php?sortfield=d.tms&sortorder=DESC">' . $langs -> trans ( " FullList " ) . '</th>' ;
2015-02-28 08:46:40 +01:00
print '</tr>' ;
2021-02-26 18:20:21 +01:00
if ( $num ) {
2015-02-28 08:46:40 +01:00
$total_ttc = $totalam = $total = 0 ;
2019-11-14 12:09:46 +01:00
$expensereportstatic = new ExpenseReport ( $db );
$userstatic = new User ( $db );
2021-02-26 18:20:21 +01:00
while ( $i < $num && $i < $max ) {
2015-02-28 08:46:40 +01:00
$obj = $db -> fetch_object ( $result );
2017-11-11 01:10:17 +01:00
2019-11-14 12:09:46 +01:00
$expensereportstatic -> id = $obj -> rowid ;
$expensereportstatic -> ref = $obj -> ref ;
2020-10-02 12:54:56 +02:00
$expensereportstatic -> statut = $obj -> status ;
2020-11-05 22:25:14 +01:00
$expensereportstatic -> status = $obj -> status ;
2017-11-11 01:10:17 +01:00
2019-11-14 12:09:46 +01:00
$userstatic -> id = $obj -> uid ;
$userstatic -> lastname = $obj -> lastname ;
$userstatic -> firstname = $obj -> firstname ;
2020-10-07 15:01:28 +02:00
$userstatic -> email = $obj -> email ;
2019-11-14 12:09:46 +01:00
$userstatic -> login = $obj -> login ;
2020-10-02 12:54:56 +02:00
$userstatic -> statut = $obj -> user_status ;
2019-11-14 12:09:46 +01:00
$userstatic -> photo = $obj -> photo ;
2017-11-11 01:10:17 +01:00
2017-04-14 11:22:48 +02:00
print '<tr class="oddeven">' ;
2021-07-06 11:18:09 +02:00
print '<td class="tdoverflowmax200">' . $expensereportstatic -> getNomUrl ( 1 ) . '</td>' ;
2019-10-15 04:20:51 +02:00
print '<td class="tdoverflowmax150">' . $userstatic -> getNomUrl ( - 1 ) . '</td>' ;
2021-07-06 11:18:09 +02:00
print '<td class="right amount">' . price ( $obj -> total_ttc ) . '</td>' ;
2019-03-10 09:32:19 +01:00
print '<td class="right">' . dol_print_date ( $db -> jdate ( $obj -> dm ), 'day' ) . '</td>' ;
2021-07-06 11:18:09 +02:00
print '<td class="right nowraponall" width="16">' . $expensereportstatic -> LibStatut ( $obj -> status , 3 ) . '</td>' ;
2015-02-28 08:46:40 +01:00
print '</tr>' ;
2017-06-27 04:25:41 +02:00
2015-02-28 08:46:40 +01:00
$i ++ ;
}
2020-05-21 15:05:19 +02:00
} else {
2017-04-14 13:02:29 +02:00
print '<tr class="oddeven"><td colspan="5" class="opacitymedium">' . $langs -> trans ( " None " ) . '</td></tr>' ;
2015-02-28 08:46:40 +01:00
}
2017-03-15 11:58:13 +01:00
print '</table>' ;
2018-02-15 12:57:04 +01:00
print '</div>' ;
2020-10-02 12:54:56 +02:00
print '<br>' ;
2021-02-26 18:20:21 +01:00
} else {
dol_print_error ( $db );
}
2014-03-17 14:30:55 +01:00
}
2020-10-02 12:54:56 +02:00
// Last modified job position
2021-02-26 18:20:21 +01:00
if ( ! empty ( $conf -> recruitment -> enabled ) && $user -> rights -> recruitment -> recruitmentjobposition -> read ) {
2021-05-16 16:04:19 +02:00
$staticrecruitmentcandidature = new RecruitmentCandidature ( $db );
$staticrecruitmentjobposition = new RecruitmentJobPosition ( $db );
$sql = " SELECT rc.rowid, rc.ref, rc.email, rc.lastname, rc.firstname, rc.date_creation, rc.tms, rc.status, " ;
$sql .= " rp.rowid as jobid, rp.ref as jobref, rp.label " ;
2020-10-02 12:54:56 +02:00
$sql .= " FROM " . MAIN_DB_PREFIX . " recruitment_recruitmentcandidature as rc " ;
2021-05-16 16:04:19 +02:00
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . " recruitment_recruitmentjobposition as rp ON rc.fk_recruitmentjobposition = rp.rowid " ;
2021-10-22 22:15:59 +02:00
if ( $conf -> societe -> enabled && empty ( $user -> rights -> societe -> client -> voir ) && ! $socid ) {
2021-02-26 18:20:21 +01:00
$sql .= " , " . MAIN_DB_PREFIX . " societe_commerciaux as sc " ;
}
2021-05-16 16:04:19 +02:00
$sql .= " WHERE rc.entity IN ( " . getEntity ( $staticrecruitmentcandidature -> element ) . " ) " ;
2021-10-22 22:15:59 +02:00
if ( $conf -> societe -> enabled && empty ( $user -> rights -> societe -> client -> voir ) && ! $socid ) {
2021-08-23 17:41:11 +02:00
$sql .= " AND rp.fk_soc = sc.fk_soc AND sc.fk_user = " . (( int ) $user -> id );
2021-02-26 18:20:21 +01:00
}
if ( $socid ) {
2021-05-16 16:04:19 +02:00
$sql .= " AND rp.fk_soc = $socid " ;
2021-02-26 18:20:21 +01:00
}
2021-05-16 16:04:19 +02:00
$sql .= $db -> order ( " rc.tms " , " DESC " );
2020-10-02 12:54:56 +02:00
$sql .= $db -> plimit ( $max , 0 );
$resql = $db -> query ( $sql );
2021-02-26 18:20:21 +01:00
if ( $resql ) {
2020-10-02 12:54:56 +02:00
$num = $db -> num_rows ( $resql );
$i = 0 ;
print '<div class="div-table-responsive-no-min">' ;
print '<table class="noborder centpercent">' ;
print '<tr class="liste_titre">' ;
2021-05-16 16:04:19 +02:00
print '<th colspan="3">' ;
print $langs -> trans ( " BoxTitleLatestModifiedCandidatures " , min ( $max , $num ));
2020-10-02 12:54:56 +02:00
print '</th>' ;
print '<th class="right" colspan="2"><a href="' . DOL_URL_ROOT . '/recruitment/recruitmentcandidature_list.php?sortfield=t.tms&sortorder=DESC">' . $langs -> trans ( " FullList " ) . '</th>' ;
print '</tr>' ;
2021-02-26 18:20:21 +01:00
if ( $num ) {
while ( $i < $num ) {
2020-10-02 12:54:56 +02:00
$objp = $db -> fetch_object ( $resql );
$staticrecruitmentcandidature -> id = $objp -> rowid ;
$staticrecruitmentcandidature -> ref = $objp -> ref ;
$staticrecruitmentcandidature -> email = $objp -> email ;
$staticrecruitmentcandidature -> status = $objp -> status ;
$staticrecruitmentcandidature -> date_creation = $objp -> date_creation ;
$staticrecruitmentcandidature -> firstname = $objp -> firstname ;
$staticrecruitmentcandidature -> lastname = $objp -> lastname ;
2021-05-16 16:04:19 +02:00
$staticrecruitmentjobposition -> id = $objp -> jobid ;
$staticrecruitmentjobposition -> ref = $objp -> jobref ;
$staticrecruitmentjobposition -> label = $objp -> label ;
2020-10-02 12:54:56 +02:00
print '<tr class="oddeven">' ;
2021-06-23 10:22:51 +02:00
print '<td class="nowraponall">' . $staticrecruitmentcandidature -> getNomUrl ( 1 , '' ) . '</td>' ;
2021-05-16 16:04:19 +02:00
print '<td class="tdoverflowmax150">' . $staticrecruitmentcandidature -> getFullName ( $langs ) . '</td>' ;
2021-06-23 10:22:51 +02:00
print '<td class="nowraponall">' . $staticrecruitmentjobposition -> getNomUrl ( 1 ) . '</td>' ;
2021-05-16 16:04:19 +02:00
print '<td class="right nowrap">' . dol_print_date ( $db -> jdate ( $objp -> tms ), 'day' ) . '</td>' ;
2020-10-02 12:54:56 +02:00
print '<td class="right nowrap" width="16">' ;
print $staticrecruitmentcandidature -> getLibStatut ( 3 );
print " </td> " ;
print '</tr>' ;
$i ++ ;
}
$db -> free ( $resql );
} else {
print '<tr class="oddeven"><td colspan="4" class="opacitymedium">' . $langs -> trans ( " None " ) . '</td></tr>' ;
}
print " </table> " ;
print " </div> " ;
print " <br> " ;
} else {
dol_print_error ( $db );
}
}
2021-10-24 00:37:37 +02:00
print '</div></div>' ;
2014-03-17 14:30:55 +01:00
2019-06-18 14:07:52 +02:00
// Initialize technical object to manage hooks. Note that conf->hooks_modules contains array
$parameters = array ( 'user' => $user );
$reshook = $hookmanager -> executeHooks ( 'dashboardHRM' , $parameters , $object ); // Note that $action and $object may have been modified by hook
2018-08-13 10:20:21 +02:00
// End of page
2014-03-17 14:30:55 +01:00
llxFooter ();
$db -> close ();