27require_once
'../main.inc.php';
28require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formcompany.class.php';
29require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formfile.class.php';
30require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formprojet.class.php';
31require_once DOL_DOCUMENT_ROOT.
'/projet/class/project.class.php';
32require_once DOL_DOCUMENT_ROOT.
'/recruitment/class/recruitmentjobposition.class.php';
33require_once DOL_DOCUMENT_ROOT.
'/recruitment/lib/recruitment_recruitmentjobposition.lib.php';
44$langs->loadLangs(array(
"recruitment",
"other"));
49$action =
GETPOST(
'action',
'aZ09');
50$confirm =
GETPOST(
'confirm',
'alpha');
52$contextpage =
GETPOST(
'contextpage',
'aZ') ?
GETPOST(
'contextpage',
'aZ') :
'recruitmentjobpositioncard';
53$backtopage =
GETPOST(
'backtopage',
'alpha');
54$backtopageforcancel =
GETPOST(
'backtopageforcancel',
'alpha');
61$diroutputmassaction =
$conf->recruitment->dir_output.
'/temp/massgeneration/'.$user->id;
62$hookmanager->initHooks(array(
'recruitmentjobpositioncard',
'globalcard'));
65$extrafields->fetch_name_optionals_label(
$object->table_element);
67$search_array_options = $extrafields->getOptionalsFromPost(
$object->table_element,
'',
'search_');
70$search_all =
GETPOST(
"search_all",
'alpha');
72foreach (
$object->fields as $key => $val) {
73 if (
GETPOST(
'search_'.$key,
'alpha')) {
74 $search[$key] =
GETPOST(
'search_'.$key,
'alpha');
78if (empty($action) && empty($id) && empty($ref)) {
83include DOL_DOCUMENT_ROOT.
'/core/actions_fetchobject.inc.php';
86$permissiontoread = $user->hasRight(
'recruitment',
'recruitmentjobposition',
'read');
87$permissiontoadd = $user->hasRight(
'recruitment',
'recruitmentjobposition',
'write');
88$permissiontodelete = $user->hasRight(
'recruitment',
'recruitmentjobposition',
'delete') || ($permissiontoadd && isset(
$object->status) &&
$object->status == $object::STATUS_DRAFT);
89$permissionnote = $user->hasRight(
'recruitment',
'recruitmentjobposition',
'write');
90$permissiondellink = $user->hasRight(
'recruitment',
'recruitmentjobposition',
'write');
91$upload_dir =
$conf->recruitment->multidir_output[isset(
$object->entity) ?
$object->entity : 1];
96$isdraft = ((
$object->status == $object::STATUS_DRAFT) ? 1 : 0);
97$result =
restrictedArea($user,
'recruitment',
$object->id,
'recruitment_recruitmentjobposition',
'recruitmentjobposition',
'',
'rowid', $isdraft);
104$parameters = array();
105$reshook = $hookmanager->executeHooks(
'doActions', $parameters, $object, $action);
110if (empty($reshook)) {
113 $backurlforlist = DOL_URL_ROOT.
'/recruitment/recruitmentjobposition_list.php';
115 if (empty($backtopage) || ($cancel && empty($id))) {
116 if (empty($backtopage) || ($cancel && strpos($backtopage,
'__ID__'))) {
117 if (empty($id) && (($action !=
'add' && $action !=
'create') || $cancel)) {
118 $backtopage = $backurlforlist;
120 $backtopage = DOL_URL_ROOT.
'/recruitment/recruitmentjobposition_card.php?id='.(
$id > 0 ?
$id :
'__ID__');
124 $triggermodname =
'RECRUITMENT_RECRUITMENTJOBPOSITION_MODIFY';
127 include DOL_DOCUMENT_ROOT.
'/core/actions_addupdatedelete.inc.php';
130 include DOL_DOCUMENT_ROOT.
'/core/actions_dellink.inc.php';
133 include DOL_DOCUMENT_ROOT.
'/core/actions_printing.inc.php';
139 include DOL_DOCUMENT_ROOT.
'/core/actions_builddoc.inc.php';
141 if ($action ==
'set_thirdparty' && $permissiontoadd) {
142 $object->setValueFrom(
'fk_soc',
GETPOSTINT(
'fk_soc'),
'',
null,
'date',
'', $user,
'RECRUITMENTJOBPOSITION_MODIFY');
144 if ($action ==
'classin' && $permissiontoadd) {
149 $triggersendname =
'RECRUITMENTJOBPOSITION_SENTBYMAIL';
150 $autocopy =
'MAIN_MAIL_AUTOCOPY_RECRUITMENTJOBPOSITION_TO';
151 $trackid =
'recruitmentjobposition'.$object->id;
152 include DOL_DOCUMENT_ROOT.
'/core/actions_sendmails.inc.php';
166$title = $langs->trans(
"JobPositionApplications");
171if (
$object->id > 0 && (empty($action) || ($action !=
'edit' && $action !=
'create'))) {
172 $res =
$object->fetch_optionals();
180 if ($action ==
'delete') {
181 $formconfirm = $form->formconfirm($_SERVER[
"PHP_SELF"].
'?id='.
$object->id, $langs->trans(
'DeleteRecruitmentJobPosition'), $langs->trans(
'ConfirmDeleteObject'),
'confirm_delete',
'', 0, 1);
184 if ($action ==
'deleteline') {
185 $formconfirm = $form->formconfirm($_SERVER[
"PHP_SELF"].
'?id='.
$object->id.
'&lineid='.$lineid, $langs->trans(
'DeleteLine'), $langs->trans(
'ConfirmDeleteLine'),
'confirm_deleteline',
'', 0, 1);
188 if ($action ==
'clone') {
190 $formquestion = array();
191 $formconfirm = $form->formconfirm($_SERVER[
"PHP_SELF"].
'?id='.
$object->id, $langs->trans(
'ToClone'), $langs->trans(
'ConfirmCloneAsk',
$object->ref),
'confirm_clone', $formquestion,
'yes', 1);
195 $parameters = array(
'formConfirm' => $formconfirm,
'lineid' => $lineid);
196 $reshook = $hookmanager->executeHooks(
'formConfirm', $parameters, $object, $action);
197 if (empty($reshook)) {
198 $formconfirm .= $hookmanager->resPrint;
199 } elseif ($reshook > 0) {
200 $formconfirm = $hookmanager->resPrint;
209 $linkback =
'<a href="'.dol_buildpath(
'/recruitment/recruitmentjobposition_list.php', 1).
'?restore_lastsearch_values=1'.(!empty($socid) ?
'&socid='.$socid :
'').
'">'.$langs->trans(
"BackToList").
'</a>';
211 $morehtmlref =
'<div class="refidno">';
221 $langs->load(
"projects");
222 $morehtmlref .= $langs->trans(
'Project').
' ';
223 if ($permissiontoadd) {
224 if ($action !=
'classify') {
225 $morehtmlref .=
'<a class="editfielda" href="'.dolBuildUrl($_SERVER[
'PHP_SELF'], [
'action' =>
'classify',
'id' =>
$object->id],
true).
'">'.
img_edit($langs->transnoentitiesnoconv(
'SetProject')).
'</a>';
227 $morehtmlref .=
' : ';
228 if ($action ==
'classify') {
230 $morehtmlref .=
'<form method="post" action="'.$_SERVER[
'PHP_SELF'].
'?id='.
$object->id.
'">';
231 $morehtmlref .=
'<input type="hidden" name="action" value="classin">';
232 $morehtmlref .=
'<input type="hidden" name="token" value="'.newToken().
'">';
233 $morehtmlref .= $formproject->select_projects(
$object->socid, (
string)
$object->fk_project,
'projectid', 0, 0, 1, 0, 1, 0, 0,
'', 1);
234 $morehtmlref .=
'<input type="submit" class="button valignmiddle" value="'.$langs->trans(
"Modify").
'">';
235 $morehtmlref .=
'</form>';
237 $morehtmlref .= $form->form_project($_SERVER[
'PHP_SELF'].
'?id='.
$object->id,
$object->socid, (
string)
$object->fk_project,
'none', 0, 0, 0, 1,
'',
'maxwidth300');
240 if (!empty(
$object->fk_project)) {
242 $proj->fetch(
$object->fk_project);
243 $morehtmlref .=
': '.$proj->getNomUrl();
249 $morehtmlref .=
'</div>';
252 dol_banner_tab($object,
'ref', $linkback, 1,
'ref',
'ref', $morehtmlref);
255 print
'<div class="fichecenter">';
256 print
'<div class="fichehalfleft">';
257 print
'<div class="underbanner clearboth"></div>';
258 print
'<table class="border centpercent tableforfield">'.
"\n";
261 $keyforbreak =
'description';
262 unset(
$object->fields[
'fk_project']);
264 include DOL_DOCUMENT_ROOT.
'/core/tpl/commonfields_view.tpl.php';
267 include DOL_DOCUMENT_ROOT.
'/core/tpl/extrafields_view.tpl.php';
273 print
'<div class="clearboth"></div>';
277 print
'<br>'.$langs->trans(
"FeatureNotYetAvailable");
$id
Support class for third parties, contacts, members, users or resources.
if(! $sortfield) if(! $sortorder) $object
llxFooter($comment='', $zone='private', $disabledoutputofmessages=0)
Empty footer.
if(!defined('NOREQUIRESOC')) if(!defined( 'NOREQUIRETRAN')) if(!defined('NOTOKENRENEWAL')) if(!defined( 'NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined( 'NOREQUIREAJAX')) llxHeader($head='', $title='', $help_url='', $target='', $disablejs=0, $disablehead=0, $arrayofjs='', $arrayofcss='', $morequerystring='', $morecssonbody='', $replacemainareaby='', $disablenofollow=0, $disablenoindex=0)
Empty header.
Class to manage projects.
Class for RecruitmentJobPosition.
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0, $attop=0)
Set event messages in dol_events session object.
GETPOSTINT($paramname, $method=0)
Return the value of a $_GET or $_POST supervariable, converted into integer.
dol_get_fiche_head($links=array(), $active='', $title='', $notab=0, $picto='', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limittoshow=0, $moretabssuffix='', $dragdropfile=0, $morecssdiv='')
Show tabs of a record.
dol_get_fiche_end($notab=0)
Return tab footer of a card.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
isModEnabled($module)
Is Dolibarr module enabled.
img_edit($titlealt='default', $float=0, $other='')
Show logo edit/modify fiche.
recruitmentjobpositionPrepareHead($object)
Prepare array of tabs for RecruitmentJobPosition.
restrictedArea(User $user, $features, $object=0, $tableandshare='', $feature2='', $dbt_keyfield='fk_soc', $dbt_select='rowid', $isdraft=0, $mode=0)
Check permissions of a user to show a page and an object.