30 require
'../main.inc.php';
32 require_once DOL_DOCUMENT_ROOT .
'/core/class/html.formcompany.class.php';
33 require_once DOL_DOCUMENT_ROOT .
'/core/class/html.formfile.class.php';
34 require_once DOL_DOCUMENT_ROOT .
'/core/class/html.formprojet.class.php';
35 require_once DOL_DOCUMENT_ROOT .
'/hrm/class/position.class.php';
36 require_once DOL_DOCUMENT_ROOT .
'/hrm/class/job.class.php';
37 require_once DOL_DOCUMENT_ROOT .
'/hrm/lib/hrm_position.lib.php';
40 $action =
GETPOST(
'action',
'aZ09') ?
GETPOST(
'action',
'aZ09') :
'view';
41 $backtopage =
GETPOST(
'backtopage',
'alpha');
42 $backtopageforcancel =
GETPOST(
'backtopageforcancel',
'alpha');
48 $res = $object->fetch($id);
53 $permissiontoread = $user->rights->hrm->all->read;
54 $permissiontoadd = $user->rights->hrm->all->write;
55 $permissiontodelete = $user->rights->hrm->all->delete;
56 $permissiondellink = $user->rights->hrm->all->write;
57 $upload_dir = $conf->hrm->multidir_output[isset($object->entity) ? $object->entity : 1] .
'/position';
65 if (!$permissiontoread || ($action ===
'create' && !$permissiontoadd))
accessforbidden();
67 $langs->loadLangs(array(
"hrm",
"other"));
73 $fk_job =
GETPOST(
'fk_job',
'int');
76 $action =
GETPOST(
'action',
'aZ09');
77 $confirm =
GETPOST(
'confirm',
'alpha');
78 $cancel =
GETPOST(
'cancel',
'aZ09');
79 $contextpage =
GETPOST(
'contextpage',
'aZ') ?
GETPOST(
'contextpage',
'aZ') :
'positioncard';
80 $backtopage =
GETPOST(
'backtopage',
'alpha');
81 $backtopageforcancel =
GETPOST(
'backtopageforcancel',
'alpha');
93 $diroutputmassaction = $conf->hrm->dir_output .
'/temp/massgeneration/' . $user->id;
94 $hookmanager->initHooks(array(
'positioncard',
'globalcard'));
97 $extrafields->fetch_name_optionals_label($object->table_element);
99 $search_array_options = $extrafields->getOptionalsFromPost($object->table_element,
'',
'search_');
102 $search_all =
GETPOST(
"search_all",
'alpha');
104 foreach ($object->fields as $key => $val) {
105 if (
GETPOST(
'search_' . $key,
'alpha')) {
106 $search[$key] =
GETPOST(
'search_' . $key,
'alpha');
110 if (empty($action) && empty($id) && empty($ref)) {
115 include DOL_DOCUMENT_ROOT .
'/core/actions_fetchobject.inc.php';
122 $parameters = array();
123 $reshook = $hookmanager->executeHooks(
'doActions', $parameters, $object, $action);
128 if (empty($reshook)) {
131 $backurlforlist =
dol_buildpath(
'/hrm/position_list.php', 1);
133 if (empty($backtopage) || ($cancel && empty($fk_job))) {
134 if (empty($backtopage) || ($cancel && strpos($backtopage,
'__ID__'))) {
135 if (empty($id) && (($action !=
'add' && $action !=
'create') || $cancel)) {
136 $backtopage = $backurlforlist;
138 $backtopage =
dol_buildpath(
'/hrm/position_card.php', 1) .
'?id=' . ($id > 0 ? $id :
'__ID__');
143 $triggermodname =
'hrm_POSITION_MODIFY';
146 include DOL_DOCUMENT_ROOT .
'/core/actions_addupdatedelete.inc.php';
149 include DOL_DOCUMENT_ROOT .
'/core/actions_dellink.inc.php';
152 include DOL_DOCUMENT_ROOT .
'/core/actions_printing.inc.php';
158 include DOL_DOCUMENT_ROOT .
'/core/actions_builddoc.inc.php';
160 if ($action ==
'set_thirdparty' && $permissiontoadd) {
161 $object->setValueFrom(
'fk_soc',
GETPOST(
'fk_soc',
'int'),
'',
'',
'date',
'', $user, $triggermodname);
163 if ($action ==
'classin' && $permissiontoadd) {
164 $object->setProject(
GETPOST(
'projectid',
'int'));
168 $triggersendname =
'hrm_POSITION_SENTBYMAIL';
169 $autocopy =
'MAIN_MAIL_AUTOCOPY_POSITION_TO';
170 $trackid =
'position' . $object->id;
171 include DOL_DOCUMENT_ROOT .
'/core/actions_sendmails.inc.php';
186 global $user, $langs, $db, $conf, $extrafields, $hookmanager, $action, $permissiontoadd, $permissiontodelete;
200 $title = $langs->trans(
"Position");
206 if (($id || $ref) && $action ==
'edit') {
207 print
load_fiche_titre($langs->trans(
"Position"),
'',
'object_' . $object->picto);
209 print
'<form method="POST" action="' . $_SERVER[
"PHP_SELF"] .
'?id=' . $object->id .
'">';
210 print
'<input type="hidden" name="token" value="' .
newToken() .
'">';
211 print
'<input type="hidden" name="action" value="update">';
212 print
'<input type="hidden" name="id" value="' . $object->id .
'">';
215 print
'<input type="hidden" name="backtopage" value="' . $backtopage .
'">';
217 if ($backtopageforcancel) {
218 print
'<input type="hidden" name="backtopageforcancel" value="' . $backtopageforcancel .
'">';
223 print
'<table class="border centpercent tableforfieldedit">' .
"\n";
226 include DOL_DOCUMENT_ROOT .
'/core/tpl/commonfields_edit.tpl.php';
229 include DOL_DOCUMENT_ROOT .
'/core/tpl/extrafields_edit.tpl.php';
235 print
'<div class="center"><input type="submit" class="button button-save" name="save" value="' . $langs->trans(
"Save") .
'">';
236 print
' <input type="submit" class="button button-cancel" name="cancel" value="' . $langs->trans(
"Cancel") .
'">';
244 if ($object->id > 0 && (empty($action) || ($action !=
'edit' && $action !=
'create'))) {
245 $res = $object->fetch_optionals();
249 print
dol_get_fiche_head($head,
'position', $langs->trans(
"Workstation"), -1, $object->picto);
254 if ($action ==
'delete') {
255 $formconfirm =
$form->formconfirm($_SERVER[
"PHP_SELF"] .
'?id=' . $object->id, $langs->trans(
'DeletePosition'), $langs->trans(
'ConfirmDeleteObject'),
'confirm_delete',
'', 0, 1);
260 $reshook = $hookmanager->executeHooks(
'formConfirm', $parameters, $object, $action);
261 if (empty($reshook)) {
263 } elseif ($reshook > 0) {
274 $linkback =
'<a href="' .
dol_buildpath(
'/hrm/position_list.php', 1) .
'">' . $langs->trans(
"BackToList") .
'</a>';
276 $morehtmlref =
'<div class="refidno">';
277 $u_position =
new User(($db));
278 $u_position->fetch($object->fk_user);
279 $morehtmlref .= $langs->trans(
'Employee').
' : '.($u_position->id > 0 ? $u_position->getNomUrl(1) :
'');
281 $job->fetch($object->fk_job);
282 $morehtmlref .=
'<br>'.$langs->trans(
'Job').
' : '.$job->getNomUrl(1);
283 $morehtmlref .=
'</div>';
285 dol_banner_tab($object,
'id', $linkback, 1,
'rowid',
'rowid', $morehtmlref);
288 print
'<div class="fichecenter">';
289 print
'<div class="fichehalfleft">';
290 print
'<div class="underbanner clearboth"></div>';
291 print
'<table class="border centpercent tableforfield">' .
"\n";
297 $object->fields[
'fk_user'][
'visible']=0;
298 $object->fields[
'fk_job'][
'visible']=0;
299 include DOL_DOCUMENT_ROOT .
'/core/tpl/commonfields_view.tpl.php';
302 include DOL_DOCUMENT_ROOT .
'/core/tpl/extrafields_view.tpl.php';
308 print
'<div class="clearboth"></div>';
315 print
'<div class="tabsAction">';
317 $parameters = array();
318 $reshook = $hookmanager->executeHooks(
'addMoreActionsButtons', $parameters, $object, $action);
321 print
dolGetButtonAction($langs->trans(
'Modify'),
'',
'default', $_SERVER[
"PHP_SELF"] .
'?id=' . $object->id .
'&action=edit&token=' .
newToken(),
'', $permissiontoadd);
324 print
dolGetButtonAction($langs->trans(
'Delete'),
'',
'delete', $_SERVER[
'PHP_SELF'] .
'?id=' . $object->id .
'&action=delete&token=' .
newToken(),
'', $permissiontodelete);
362 print
'</table>' .
"\n";
363 print
'</div>' .
"\n";
365 print
'</form>' .
"\n";
368 if ($action !==
'edit' && $action !==
'create') {
369 print
'<div class="fichecenter"><div class="fichehalfleft">';
372 $linktoelem =
$form->showLinkToObjectBlock($object,
null, array(
'position'));
373 $somethingshown =
$form->showLinkedObjectBlock($object, $linktoelem);
376 print
'</div><div class="fichehalfright">';
380 $morehtmlcenter =
dolGetButtonTitle($langs->trans(
'SeeAll'),
'',
'fa fa-bars imgforviewmode', DOL_URL_ROOT.
'/hrm/position_agenda.php?id='.$object->id);
383 include_once DOL_DOCUMENT_ROOT .
'/core/class/html.formactions.class.php';
385 $somethingshown =
$formactions->showactions($object, $object->element .
'@' . $object->module, (is_object($object->thirdparty) ? $object->thirdparty->id : 0), 1,
'', $MAXEVENT,
'', $morehtmlcenter);
387 print
'</div></div>';