27 require
'../main.inc.php';
28 require_once DOL_DOCUMENT_ROOT.
'/recruitment/class/recruitmentjobposition.class.php';
29 require_once DOL_DOCUMENT_ROOT.
'/recruitment/class/recruitmentcandidature.class.php';
30 require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formfile.class.php';
33 $langs->loadLangs(array(
"recruitment",
"boxes"));
35 $action =
GETPOST(
'action',
'aZ09');
40 $socid =
GETPOST(
'socid',
'int');
41 if (isset($user->socid) && $user->socid > 0)
44 $socid = $user->socid;
62 $form =
new Form($db);
67 llxHeader(
"", $langs->trans(
"RecruitmentArea"));
71 print '<div class="fichecenter"><div class="fichethirdleft">';
78 if ($conf->use_javascript_ajax)
80 $sql =
"SELECT COUNT(t.rowid) as nb, status";
81 $sql .=
" FROM ".MAIN_DB_PREFIX.
"recruitment_recruitmentjobposition as t";
82 $sql .=
" GROUP BY t.status";
83 $sql .=
" ORDER BY t.status ASC";
88 $num = $db->num_rows(
$resql);
92 $dataseries = array();
93 $colorseries = array();
96 include_once DOL_DOCUMENT_ROOT.
'/theme/'.$conf->theme.
'/theme_vars.inc.php';
100 $obj = $db->fetch_object(
$resql);
103 $vals[$obj->status] = $obj->nb;
105 $totalnb += $obj->nb;
111 print
'<div class="div-table-responsive-no-min">';
112 print
'<table class="noborder nohover centpercent">';
113 print
'<tr class="liste_titre"><th colspan="2">'.$langs->trans(
"Statistics").
' - '.$langs->trans(
"JobPositions").
'</th></tr>'.
"\n";
114 $listofstatus = array(0, 1, 3, 9);
115 foreach ($listofstatus as $status)
117 $dataseries[] = array(
dol_html_entity_decode($staticrecruitmentjobposition->LibStatut($status, 1), ENT_QUOTES | ENT_HTML5), (isset($vals[$status]) ? (int) $vals[$status] : 0));
118 if ($status == RecruitmentJobPosition::STATUS_DRAFT) $colorseries[$status] =
'-'.$badgeStatus0;
119 if ($status == RecruitmentJobPosition::STATUS_VALIDATED) $colorseries[$status] = $badgeStatus4;
120 if ($status == RecruitmentJobPosition::STATUS_RECRUITED) $colorseries[$status] = $badgeStatus6;
121 if ($status == RecruitmentJobPosition::STATUS_CANCELED) $colorseries[$status] = $badgeStatus9;
123 if (empty($conf->use_javascript_ajax))
125 print
'<tr class="oddeven">';
126 print
'<td>'.$staticrecruitmentjobposition->LibStatut($status, 0).
'</td>';
127 print
'<td class="right"><a href="list.php?statut='.$status.
'">'.(isset($vals[$status]) ? $vals[$status] : 0).
'</a></td>';
131 if ($conf->use_javascript_ajax)
133 print
'<tr><td class="center" colspan="2">';
135 include_once DOL_DOCUMENT_ROOT.
'/core/class/dolgraph.class.php';
137 $dolgraph->SetData($dataseries);
138 $dolgraph->SetDataColor(array_values($colorseries));
139 $dolgraph->setShowLegend(2);
140 $dolgraph->setShowPercent(1);
141 $dolgraph->SetType(array(
'pie'));
142 $dolgraph->SetHeight(
'200');
143 $dolgraph->draw(
'idgraphstatus');
144 print $dolgraph->show($totalnb ? 0 : 1);
156 $sql =
"SELECT COUNT(t.rowid) as nb, status";
157 $sql .=
" FROM ".MAIN_DB_PREFIX.
"recruitment_recruitmentcandidature as t";
158 $sql .=
" GROUP BY t.status";
159 $sql .=
" ORDER BY t.status ASC";
160 $resql = $db->query($sql);
164 $num = $db->num_rows(
$resql);
168 $dataseries = array();
169 $colorseries = array();
172 include_once DOL_DOCUMENT_ROOT.
'/theme/'.$conf->theme.
'/theme_vars.inc.php';
176 $obj = $db->fetch_object(
$resql);
179 $vals[$obj->status] = $obj->nb;
181 $totalnb += $obj->nb;
187 print
'<div class="div-table-responsive-no-min">';
188 print
'<table class="noborder nohover centpercent">';
189 print
'<tr class="liste_titre"><th colspan="2">'.$langs->trans(
"Statistics").
' - '.$langs->trans(
"Candidatures").
'</th></tr>'.
"\n";
190 $listofstatus = array(0, 1, 3, 5, 8, 9);
191 foreach ($listofstatus as $status)
193 $dataseries[] = array(
dol_html_entity_decode($staticrecruitmentcandidature->LibStatut($status, 1), ENT_QUOTES | ENT_HTML5), (isset($vals[$status]) ? (int) $vals[$status] : 0));
194 if ($status == RecruitmentCandidature::STATUS_DRAFT) $colorseries[$status] =
'-'.$badgeStatus0;
195 if ($status == RecruitmentCandidature::STATUS_VALIDATED) $colorseries[$status] = $badgeStatus1;
196 if ($status == RecruitmentCandidature::STATUS_CONTRACT_PROPOSED) $colorseries[$status] = $badgeStatus4;
197 if ($status == RecruitmentCandidature::STATUS_CONTRACT_SIGNED) $colorseries[$status] = $badgeStatus5;
198 if ($status == RecruitmentCandidature::STATUS_REFUSED) $colorseries[$status] = $badgeStatus9;
199 if ($status == RecruitmentCandidature::STATUS_CANCELED) $colorseries[$status] = $badgeStatus9;
201 if (empty($conf->use_javascript_ajax))
203 print
'<tr class="oddeven">';
204 print
'<td>'.$staticrecruitmentcandidature->LibStatut($status, 0).
'</td>';
205 print
'<td class="right"><a href="list.php?statut='.$status.
'">'.(isset($vals[$status]) ? $vals[$status] : 0).
'</a></td>';
209 if ($conf->use_javascript_ajax)
211 print
'<tr><td class="center" colspan="2">';
213 include_once DOL_DOCUMENT_ROOT.
'/core/class/dolgraph.class.php';
215 $dolgraph->SetData($dataseries);
216 $dolgraph->SetDataColor(array_values($colorseries));
217 $dolgraph->setShowLegend(2);
218 $dolgraph->setShowPercent(1);
219 $dolgraph->SetType(array(
'pie'));
220 $dolgraph->SetHeight(
'200');
221 $dolgraph->draw(
'idgraphstatuscandidature');
222 print $dolgraph->show($totalnb ? 0 : 1);
317 print
'</div><div class="fichetwothirdright"><div class="ficheaddleft">';
320 $NBMAX = $conf->global->MAIN_SIZE_SHORTLIST_LIMIT;
321 $max = $conf->global->MAIN_SIZE_SHORTLIST_LIMIT;
324 if (!empty($conf->recruitment->enabled) && $user->rights->recruitment->recruitmentjobposition->read)
326 $sql =
"SELECT s.rowid, s.ref, s.label, s.date_creation, s.tms, s.status, COUNT(rc.rowid) as nbapplications";
327 $sql .=
" FROM ".MAIN_DB_PREFIX.
"recruitment_recruitmentjobposition as s";
328 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"recruitment_recruitmentcandidature as rc ON rc.fk_recruitmentjobposition = s.rowid";
329 if (!$user->rights->societe->client->voir && !$socid) $sql .=
", ".MAIN_DB_PREFIX.
"societe_commerciaux as sc";
330 $sql .=
" WHERE s.entity IN (".getEntity($staticrecruitmentjobposition->element).
")";
331 if (!$user->rights->societe->client->voir && !$socid) $sql .=
" AND s.fk_soc = sc.fk_soc AND sc.fk_user = ".$user->id;
332 if ($socid) $sql .=
" AND s.fk_soc = $socid";
333 $sql .=
" GROUP BY s.rowid, s.ref, s.label, s.date_creation, s.tms, s.status";
334 $sql .=
" ORDER BY s.tms DESC";
335 $sql .= $db->plimit($max, 0);
337 $resql = $db->query($sql);
340 $num = $db->num_rows(
$resql);
343 print
'<div class="div-table-responsive-no-min">';
344 print
'<table class="noborder centpercent">';
345 print
'<tr class="liste_titre">';
346 print
'<th colspan="2">';
347 print $langs->trans(
"BoxTitleLatestModifiedJobPositions", $max);
349 print
'<th class="right">';
350 print $langs->trans(
"Applications");
352 print
'<th class="right" colspan="2"><a href="'.DOL_URL_ROOT.
'/recruitment/recruitmentjobposition_list.php?sortfield=t.tms&sortorder=DESC">'.$langs->trans(
"FullList").
'</th>';
358 $objp = $db->fetch_object(
$resql);
359 $staticrecruitmentjobposition->id = $objp->rowid;
360 $staticrecruitmentjobposition->ref = $objp->ref;
361 $staticrecruitmentjobposition->label = $objp->label;
362 $staticrecruitmentjobposition->status = $objp->status;
363 $staticrecruitmentjobposition->date_creation = $objp->date_creation;
365 print
'<tr class="oddeven">';
366 print
'<td class="nowrap">'.$staticrecruitmentjobposition->getNomUrl(1,
'').
'</td>';
367 print
'<td class="right nowrap">';
369 print
'<td class="right">';
370 print $objp->nbapplications;
372 print
'<td class="right nowrap">'.dol_print_date($db->jdate($objp->tms),
'day').
"</td>";
373 print
'<td class="right nowrap" width="16">';
374 print $staticrecruitmentjobposition->getLibStatut(3);
382 print
'<tr class="oddeven"><td colspan="4" class="opacitymedium">'.$langs->trans(
"None").
'</td></tr>';
393 if (!empty($conf->recruitment->enabled) && $user->rights->recruitment->recruitmentjobposition->read)
395 $sql =
"SELECT rc.rowid, rc.ref, rc.email, rc.lastname, rc.firstname, rc.date_creation, rc.tms, rc.status";
396 $sql .=
" FROM ".MAIN_DB_PREFIX.
"recruitment_recruitmentcandidature as rc";
397 $sql .=
" LEFT JOIN ".MAIN_DB_PREFIX.
"recruitment_recruitmentjobposition as s ON rc.fk_recruitmentjobposition = s.rowid";
398 if (!$user->rights->societe->client->voir && !$socid) $sql .=
", ".MAIN_DB_PREFIX.
"societe_commerciaux as sc";
399 $sql .=
" WHERE rc.entity IN (".getEntity($staticrecruitmentjobposition->element).
")";
400 if (!$user->rights->societe->client->voir && !$socid) $sql .=
" AND s.fk_soc = sc.fk_soc AND sc.fk_user = ".$user->id;
401 if ($socid) $sql .=
" AND s.fk_soc = $socid";
402 $sql .=
" ORDER BY rc.tms DESC";
403 $sql .= $db->plimit($max, 0);
405 $resql = $db->query($sql);
408 $num = $db->num_rows(
$resql);
411 print
'<div class="div-table-responsive-no-min">';
412 print
'<table class="noborder centpercent">';
413 print
'<tr class="liste_titre">';
414 print
'<th colspan="2">';
415 print $langs->trans(
"BoxTitleLatestModifiedCandidatures", $max);
417 print
'<th class="right" colspan="2"><a href="'.DOL_URL_ROOT.
'/recruitment/recruitmentcandidature_list.php?sortfield=t.tms&sortorder=DESC">'.$langs->trans(
"FullList").
'</th>';
423 $objp = $db->fetch_object(
$resql);
424 $staticrecruitmentcandidature->id = $objp->rowid;
425 $staticrecruitmentcandidature->ref = $objp->ref;
426 $staticrecruitmentcandidature->email = $objp->email;
427 $staticrecruitmentcandidature->status = $objp->status;
428 $staticrecruitmentcandidature->date_creation = $objp->date_creation;
429 $staticrecruitmentcandidature->firstname = $objp->firstname;
430 $staticrecruitmentcandidature->lastname = $objp->lastname;
432 print
'<tr class="oddeven">';
433 print
'<td class="nowrap">'.$staticrecruitmentcandidature->getNomUrl(1,
'').
'</td>';
434 print
'<td class="right nowrap">';
436 print
'<td class="right nowrap">'.dol_print_date($db->jdate($objp->tms),
'day').
"</td>";
437 print
'<td class="right nowrap" width="16">';
438 print $staticrecruitmentcandidature->getLibStatut(3);
446 print
'<tr class="oddeven"><td colspan="4" class="opacitymedium">'.$langs->trans(
"None").
'</td></tr>';
456 print
'</div></div></div>';
GETPOST($paramname, $check= 'alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
dol_html_entity_decode($a, $b, $c= 'UTF-8', $keepsomeentities=0)
Replace html_entity_decode functions to manage errors.
dol_now($mode= 'auto')
Return date for now.
load_fiche_titre($titre, $morehtmlright= '', $picto= 'generic', $pictoisfullpath=0, $id= '', $morecssontable= '', $morehtmlcenter= '')
Load a title with picto.
Class for RecruitmentJobPosition.
Class for RecruitmentCandidature.
print
Draft customers invoices.
if(!empty($conf->facture->enabled)&&$user->rights->facture->lire) if((!empty($conf->fournisseur->enabled)&&empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)||!empty($conf->supplier_invoice->enabled))&&$user->rights->fournisseur->facture->lire) if(!empty($conf->don->enabled)&&$user->rights->don->lire) if(!empty($conf->tax->enabled)&&$user->rights->tax->charges->lire) if(!empty($conf->facture->enabled)&&!empty($conf->commande->enabled)&&$user->rights->commande->lire &&empty($conf->global->WORKFLOW_DISABLE_CREATE_INVOICE_FROM_ORDER)) if(!empty($conf->facture->enabled)&&$user->rights->facture->lire) if((!empty($conf->fournisseur->enabled)&&empty($conf->global->MAIN_USE_NEW_SUPPLIERMOD)||!empty($conf->supplier_invoice->enabled))&&$user->rights->fournisseur->facture->lire) $resql
Social contributions to pay.
dol_print_error($db= '', $error= '', $errors=null)
Displays error message system with all the information to facilitate the diagnosis and the escalation...