26 require
'../main.inc.php';
28 require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formcompany.class.php';
29 require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formfile.class.php';
30 require_once DOL_DOCUMENT_ROOT.
'/core/class/html.formprojet.class.php';
31 require_once DOL_DOCUMENT_ROOT.
'/projet/class/project.class.php';
32 require_once DOL_DOCUMENT_ROOT.
'/mrp/class/mo.class.php';
33 require_once DOL_DOCUMENT_ROOT.
'/mrp/lib/mrp_mo.lib.php';
34 require_once DOL_DOCUMENT_ROOT.
'/bom/class/bom.class.php';
35 require_once DOL_DOCUMENT_ROOT.
'/bom/lib/bom.lib.php';
38 require_once DOL_DOCUMENT_ROOT.
'/workstation/class/workstation.class.php';
43 $langs->loadLangs(array(
'mrp',
'other'));
49 $action =
GETPOST(
'action',
'aZ09');
50 $confirm =
GETPOST(
'confirm',
'alpha');
51 $cancel =
GETPOST(
'cancel',
'aZ09');
52 $contextpage =
GETPOST(
'contextpage',
'aZ') ?
GETPOST(
'contextpage',
'aZ') :
'mocard';
53 $backtopage =
GETPOST(
'backtopage',
'alpha');
54 $backtopageforcancel =
GETPOST(
'backtopageforcancel',
'alpha');
55 $TBomLineId =
GETPOST(
'bomlineid',
'array');
56 $lineid =
GETPOST(
'lineid',
'int');
57 $socid =
GETPOST(
"socid",
'int');
60 $object =
new Mo($db);
61 $objectbom =
new BOM($db);
64 $diroutputmassaction = $conf->mrp->dir_output.
'/temp/massgeneration/'.$user->id;
65 $hookmanager->initHooks(array(
'mocard',
'globalcard'));
68 $extrafields->fetch_name_optionals_label($object->table_element);
70 $search_array_options = $extrafields->getOptionalsFromPost($object->table_element,
'',
'search_');
73 $search_all =
GETPOST(
"search_all",
'alpha');
75 foreach ($object->fields as $key => $val) {
76 if (
GETPOST(
'search_'.$key,
'alpha')) {
77 $search[$key] =
GETPOST(
'search_'.$key,
'alpha');
81 if (empty($action) && empty($id) && empty($ref)) {
86 include DOL_DOCUMENT_ROOT.
'/core/actions_fetchobject.inc.php';
88 if (
GETPOST(
'fk_bom',
'int') > 0) {
89 $objectbom->fetch(
GETPOST(
'fk_bom',
'int'));
91 if ($action !=
'add') {
93 $_POST[
'fk_product'] = $objectbom->fk_product;
94 $_POST[
'qty'] = $objectbom->qty;
95 $_POST[
'mrptype'] = $objectbom->bomtype;
96 $_POST[
'fk_warehouse'] = $objectbom->fk_warehouse;
97 $_POST[
'note_private'] = $objectbom->note_private;
104 $isdraft = (($object->status == $object::STATUS_DRAFT) ? 1 : 0);
105 $result =
restrictedArea($user,
'mrp', $object->id,
'mrp_mo',
'',
'fk_soc',
'rowid', $isdraft);
108 $permissionnote = $user->rights->mrp->write;
109 $permissiondellink = $user->rights->mrp->write;
110 $permissiontoadd = $user->rights->mrp->write;
111 $permissiontodelete = $user->rights->mrp->delete || ($permissiontoadd && isset($object->status) && $object->status == $object::STATUS_DRAFT);
112 $upload_dir = $conf->mrp->multidir_output[isset($object->entity) ? $object->entity : 1];
119 $parameters = array();
120 $reshook = $hookmanager->executeHooks(
'doActions', $parameters, $object, $action);
125 if (empty($reshook)) {
130 $object->oldQty = $object->qty;
132 if (empty($backtopage) || ($cancel && empty($id))) {
133 if (empty($backtopage) || ($cancel && strpos($backtopage,
'__ID__'))) {
134 if (empty($id) && (($action !=
'add' && $action !=
'create') || $cancel)) {
135 $backtopage = $backurlforlist;
137 $backtopage = DOL_URL_ROOT.
'/mrp/mo_card.php?id='.($id > 0 ? $id :
'__ID__');
141 if ($cancel && !empty($backtopageforcancel)) {
142 $backtopage = $backtopageforcancel;
144 $triggermodname =
'MO_MODIFY';
147 if ($action ==
'add' && empty($id) && !empty($TBomLineId)) {
149 include DOL_DOCUMENT_ROOT.
'/core/actions_addupdatedelete.inc.php';
151 $mo_parent = $object;
153 $moline =
new MoLine($db);
154 $objectbomchildline =
new BOMLine($db);
156 foreach ($TBomLineId as $id_bom_line) {
157 $object =
new Mo($db);
159 $objectbomchildline->fetch($id_bom_line);
161 $TMoLines = $moline->fetchAll(
'DESC',
'rowid',
'1',
'', array(
'origin_id' => $id_bom_line));
163 foreach ($TMoLines as $tmpmoline) {
164 $_POST[
'fk_bom'] = $objectbomchildline->fk_bom_child;
165 $_POST[
'fk_parent_line'] = $tmpmoline->id;
166 $_POST[
'qty'] = $tmpmoline->qty;
167 $_POST[
'fk_product'] = $tmpmoline->fk_product;
170 include DOL_DOCUMENT_ROOT.
'/core/actions_addupdatedelete.inc.php';
172 $res = $object->add_object_linked(
'mo', $mo_parent->id);
175 header(
"Location: ".
dol_buildpath(
'/mrp/mo_card.php?id='.((
int) $moline->fk_mo), 1));
180 include DOL_DOCUMENT_ROOT.
'/core/actions_addupdatedelete.inc.php';
183 include DOL_DOCUMENT_ROOT.
'/core/actions_dellink.inc.php';
186 include DOL_DOCUMENT_ROOT.
'/core/actions_printing.inc.php';
189 include DOL_DOCUMENT_ROOT.
'/core/actions_builddoc.inc.php';
191 if ($action ==
'set_thirdparty' && $permissiontoadd) {
192 $object->setValueFrom(
'fk_soc',
GETPOST(
'fk_soc',
'int'),
'',
'',
'date',
'', $user, $triggermodname);
194 if ($action ==
'classin' && $permissiontoadd) {
195 $object->setProject(
GETPOST(
'projectid',
'int'));
199 $triggersendname =
'MO_SENTBYMAIL';
200 $autocopy =
'MAIN_MAIL_AUTOCOPY_MO_TO';
201 $trackid =
'mo'.$object->id;
202 include DOL_DOCUMENT_ROOT.
'/core/actions_sendmails.inc.php';
208 if ($action ==
'confirm_produced' && $confirm ==
'yes' && $permissiontoadd) {
209 $result = $object->setStatut($object::STATUS_PRODUCED, 0,
'',
'MRP_MO_PRODUCED');
212 if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) {
213 $outputlangs = $langs;
216 $newlang =
GETPOST(
'lang_id',
'aZ09');
219 $newlang = $object->thirdparty->default_lang;
221 if (!empty($newlang)) {
223 $outputlangs->setDefaultLang($newlang);
225 $model = $object->model_pdf;
226 $ret = $object->fetch($id);
228 $object->generateDocument($model, $outputlangs, 0, 0, 0);
247 $title = $langs->trans(
'ManufacturingOrder').
" - ".$langs->trans(
"Card");
254 if ($action ==
'create') {
255 if (
GETPOST(
'fk_bom',
'int') > 0) {
256 $titlelist = $langs->trans(
"ToConsume");
257 if ($objectbom->bomtype == 1) {
258 $titlelist = $langs->trans(
"ToObtain");
262 print
load_fiche_titre($langs->trans(
"NewObject", $langs->transnoentitiesnoconv(
"Mo")),
'',
'mrp');
264 print
'<form method="POST" action="'.$_SERVER[
"PHP_SELF"].
'">';
265 print
'<input type="hidden" name="token" value="'.newToken().
'">';
266 print
'<input type="hidden" name="action" value="add">';
268 print
'<input type="hidden" name="backtopage" value="'.$backtopage.
'">';
270 if ($backtopageforcancel) {
271 print
'<input type="hidden" name="backtopageforcancel" value="'.$backtopageforcancel.
'">';
276 print
'<table class="border centpercent tableforfieldcreate">'.
"\n";
279 include DOL_DOCUMENT_ROOT.
'/core/tpl/commonfields_add.tpl.php';
282 include DOL_DOCUMENT_ROOT.
'/core/tpl/extrafields_add.tpl.php';
284 print
'</table>'.
"\n";
292 $(document).ready(
function () {
293 jQuery(
'#fk_bom').change(
function() {
294 console.log(
'We change value of BOM with BOM of id '+jQuery(
'#fk_bom').val());
295 if (jQuery(
'#fk_bom').val() > 0)
298 window.location.href =
'<?php echo $_SERVER["PHP_SELF"] ?>?action=create&token=<?php echo newToken(); ?>&fk_bom='+jQuery(
'#fk_bom').val();
327 else if (jQuery(
'#fk_bom').val() < 0) {
329 console.log(jQuery(
'#fk_product').val());
330 window.location.href =
'<?php echo $_SERVER["PHP_SELF"] ?>?action=create&token=<?php echo newToken(); ?>&qty='+jQuery(
'#qty').val()+
'&mrptype='+jQuery(
'#mrptype').val()+
'&fk_product='+jQuery(
'#fk_product').val()+
'&label='+jQuery(
'#label').val()+
'&fk_project='+jQuery(
'#fk_project').val()+
'&fk_warehouse='+jQuery(
'#fk_warehouse').val();
348 print
$form->buttonsSaveCancel(
"Create");
350 if ($objectbom->id > 0) {
353 print
'<div class="div-table-responsive-no-min">';
354 print
'<table class="noborder centpercent">';
356 $object->lines = $objectbom->lines;
357 $object->mrptype = $objectbom->bomtype;
358 $object->bom = $objectbom;
360 $object->printOriginLinesList(
'', array());
370 if (($id || $ref) && $action ==
'edit') {
373 print
'<form method="POST" action="'.$_SERVER[
"PHP_SELF"].
'">';
374 print
'<input type="hidden" name="token" value="'.newToken().
'">';
375 print
'<input type="hidden" name="action" value="update">';
376 print
'<input type="hidden" name="id" value="'.$object->id.
'">';
378 print
'<input type="hidden" name="backtopage" value="'.$backtopage.
'">';
380 if ($backtopageforcancel) {
381 print
'<input type="hidden" name="backtopageforcancel" value="'.$backtopageforcancel.
'">';
386 $object->fields[
'fk_bom'][
'disabled'] = 1;
388 print
'<table class="border centpercent tableforfieldedit">'.
"\n";
391 include DOL_DOCUMENT_ROOT.
'/core/tpl/commonfields_edit.tpl.php';
394 include DOL_DOCUMENT_ROOT.
'/core/tpl/extrafields_edit.tpl.php';
400 print
$form->buttonsSaveCancel();
406 if ($object->id > 0 && (empty($action) || ($action !=
'edit' && $action !=
'create'))) {
407 $res = $object->fetch_thirdparty();
411 print
dol_get_fiche_head($head,
'card', $langs->trans(
"ManufacturingOrder"), -1, $object->picto);
416 if ($action ==
'delete') {
417 $formconfirm =
$form->formconfirm($_SERVER[
"PHP_SELF"].
'?id='.$object->id, $langs->trans(
'DeleteMo'), $langs->trans(
'ConfirmDeleteMo'),
'confirm_delete',
'', 0, 1);
420 if ($action ==
'deleteline') {
421 $formconfirm =
$form->formconfirm($_SERVER[
"PHP_SELF"].
'?id='.$object->id.
'&lineid='.$lineid, $langs->trans(
'DeleteLine'), $langs->trans(
'ConfirmDeleteLine'),
'confirm_deleteline',
'', 0, 1);
425 if ($action ==
'validate') {
427 $ref = substr($object->ref, 1, 4);
428 if ($ref ==
'PROV') {
429 $object->fetch_product();
430 $numref = $object->getNextNumRef($object->product);
432 $numref = $object->ref;
435 $text = $langs->trans(
'ConfirmValidateMo', $numref);
444 $formquestion = array();
447 require_once DOL_DOCUMENT_ROOT.
'/product/class/html.formproduct.class.php';
450 if ($conf->browser->name ==
'ie') {
453 $formquestion = array(
460 $formconfirm =
$form->formconfirm($_SERVER[
"PHP_SELF"].
'?id='.$object->id, $langs->trans(
'Validate'), $text,
'confirm_validate', $formquestion, 0, 1, 220);
464 if ($action ==
'clone') {
466 $formquestion = array();
467 $formconfirm =
$form->formconfirm($_SERVER[
"PHP_SELF"].
'?id='.$object->id, $langs->trans(
'ToClone'), $langs->trans(
'ConfirmCloneMo', $object->ref),
'confirm_clone', $formquestion,
'yes', 1);
471 $parameters = array(
'formConfirm' =>
$formconfirm,
'lineid' => $lineid);
472 $reshook = $hookmanager->executeHooks(
'formConfirm', $parameters, $object, $action);
473 if (empty($reshook)) {
475 } elseif ($reshook > 0) {
485 $linkback =
'<a href="'.dol_buildpath(
'/mrp/mo_list.php', 1).
'?restore_lastsearch_values=1'.(!empty($socid) ?
'&socid='.$socid :
'').
'">'.$langs->trans(
"BackToList").
'</a>';
487 $morehtmlref =
'<div class="refidno">';
493 if (is_object($object->thirdparty)) {
494 $morehtmlref .= $object->thirdparty->getNomUrl(1,
'customer');
495 if (empty($conf->global->MAIN_DISABLE_OTHER_LINK) && $object->thirdparty->id > 0) {
496 $morehtmlref .=
' (<a href="'.DOL_URL_ROOT.
'/commande/list.php?socid='.$object->thirdparty->id.
'&search_societe='.urlencode($object->thirdparty->name).
'">'.$langs->trans(
"OtherOrders").
'</a>)';
501 $langs->load(
"projects");
502 if (is_object($object->thirdparty)) {
503 $morehtmlref .=
'<br>';
505 if ($permissiontoadd) {
506 $morehtmlref .=
img_picto($langs->trans(
"Project"),
'project',
'class="pictofixedwidth"');
507 if ($action !=
'classify') {
508 $morehtmlref .=
'<a class="editfielda" href="'.$_SERVER[
'PHP_SELF'].
'?action=classify&token='.
newToken().
'&id='.$object->id.
'">'.
img_edit($langs->transnoentitiesnoconv(
'SetProject')).
'</a> ';
510 $morehtmlref .=
$form->form_project($_SERVER[
'PHP_SELF'].
'?id='.$object->id, $object->socid, $object->fk_project, ($action ==
'classify' ?
'projectid' :
'none'), 0, 0, 0, 1,
'',
'maxwidth300');
512 if (!empty($object->fk_project)) {
514 $proj->fetch($object->fk_project);
515 $morehtmlref .= $proj->getNomUrl(1);
517 $morehtmlref .=
'<span class="opacitymedium"> - '.dol_escape_htmltag($proj->title).
'</span>';
522 $morehtmlref .=
'</div>';
525 dol_banner_tab($object,
'ref', $linkback, 1,
'ref',
'ref', $morehtmlref);
528 print
'<div class="fichecenter">';
529 print
'<div class="fichehalfleft">';
530 print
'<div class="underbanner clearboth"></div>';
531 print
'<table class="border centpercent tableforfield">'.
"\n";
534 $mo_parent = $object->getMoParent();
535 if (is_object($mo_parent)) {
536 print
'<tr class="field_fk_mo_parent">';
537 print
'<td class="titlefield fieldname_fk_mo_parent">' . $langs->trans(
'ParentMo') .
'</td>';
538 print
'<td class="valuefield fieldname_fk_mo_parent">' .$mo_parent->getNomUrl(1).
'</td>';
543 $keyforbreak =
'fk_warehouse';
544 unset($object->fields[
'fk_project']);
545 unset($object->fields[
'fk_soc']);
546 include DOL_DOCUMENT_ROOT.
'/core/tpl/commonfields_view.tpl.php';
549 include DOL_DOCUMENT_ROOT.
'/core/tpl/extrafields_view.tpl.php';
555 print
'<div class="clearboth"></div>';
564 if (!empty($object->table_element_line)) {
567 $object->fetchLines();
569 print
' <form name="addproduct" id="addproduct" action="'.$_SERVER[
"PHP_SELF"].
'?id='.$object->id.(($action !=
'editline') ?
'' :
'#line_'.
GETPOST(
'lineid',
'int')).
'" method="POST">
570 <input type="hidden" name="token" value="' .
newToken().
'">
571 <input type="hidden" name="action" value="' . (($action !=
'editline') ?
'addline' :
'updateline').
'">
572 <input type="hidden" name="mode" value="">
573 <input type="hidden" name="page_y" value="">
574 <input type="hidden" name="id" value="' . $object->id.
'">
581 if (!empty($object->lines)) {
582 print
'<div class="div-table-responsive-no-min">';
583 print
'<table id="tablelines" class="noborder noshadow" width="100%">';
585 print
'<tr class="liste_titre">';
586 print
'<td class="liste_titre">'.$langs->trans(
"Summary").
'</td>';
590 print
'<tr class="oddeven">';
591 print
'<td>'.$langs->trans(
"ProductsToConsume").
'</td>';
593 if (!empty($object->lines)) {
595 foreach ($object->lines as $line) {
596 if ($line->role ==
'toconsume') {
600 $tmpproduct =
new Product($db);
601 $tmpproduct->fetch($line->fk_product);
602 print $tmpproduct->getNomUrl(1);
610 print
'<tr class="oddeven">';
611 print
'<td>'.$langs->trans(
"ProductsToProduce").
'</td>';
613 if (!empty($object->lines)) {
615 foreach ($object->lines as $line) {
616 if ($line->role ==
'toproduce') {
620 $tmpproduct =
new Product($db);
621 $tmpproduct->fetch($line->fk_product);
622 print $tmpproduct->getNomUrl(1);
640 if ($action !=
'presend' && $action !=
'editline') {
641 print
'<div class="tabsAction">'.
"\n";
642 $parameters = array();
643 $reshook = $hookmanager->executeHooks(
'addMoreActionsButtons', $parameters, $object, $action);
648 if (empty($reshook)) {
655 if ($object->status == $object::STATUS_VALIDATED) {
656 if ($permissiontoadd) {
658 print
'<a class="butAction" href="'.$_SERVER[
'PHP_SELF'].
'?id='.$object->id.
'&action=confirm_setdraft&confirm=yes&token='.
newToken().
'">'.$langs->trans(
"SetToDraft").
'</a>';
663 if ($object->status == $object::STATUS_DRAFT) {
664 if ($permissiontoadd) {
665 print
'<a class="butAction" href="'.$_SERVER[
"PHP_SELF"].
'?id='.$object->id.
'&action=edit&token='.
newToken().
'">'.$langs->trans(
"Modify").
'</a>'.
"\n";
667 print
'<a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans(
"NotEnoughPermissions")).
'">'.$langs->trans(
'Modify').
'</a>'.
"\n";
672 if ($object->status == $object::STATUS_DRAFT) {
673 if ($permissiontoadd) {
674 if (empty($object->table_element_line) || (is_array($object->lines) && count($object->lines) > 0)) {
675 print
'<a class="butAction" href="'.$_SERVER[
'PHP_SELF'].
'?id='.$object->id.
'&action=validate">'.$langs->trans(
"Validate").
'</a>';
677 $langs->load(
"errors");
678 print
'<a class="butActionRefused" href="" title="'.$langs->trans(
"ErrorAddAtLeastOneLineFirst").
'">'.$langs->trans(
"Validate").
'</a>';
684 if ($permissiontoadd) {
685 print
dolGetButtonAction($langs->trans(
"ToClone"),
'',
'default', $_SERVER[
'PHP_SELF'].
'?id='.$object->id.(!empty($object->socid) ?
'&socid='.$object->socid :
"").
'&action=clone&object=mo',
'clone', $permissiontoadd);
689 if ($permissiontoadd) {
690 if ($object->status == $object::STATUS_VALIDATED || $object->status == $object::STATUS_INPROGRESS) {
691 $arrayproduced = $object->fetchLinesLinked(
'produced', 0);
693 foreach ($arrayproduced as $lineproduced) {
694 $nbProduced += $lineproduced[
'qty'];
696 if ($nbProduced > 0) {
697 print
'<a class="butAction" href="'.$_SERVER[
"PHP_SELF"].
'?id='.$object->id.
'&action=confirm_produced&confirm=yes&token='.
newToken().
'">'.$langs->trans(
"Close").
'</a>'.
"\n";
699 print
'<a class="butActionRefused" href="#" title="'.$langs->trans(
"GoOnTabProductionToProduceFirst", $langs->transnoentitiesnoconv(
"Production")).
'">'.$langs->trans(
"Close").
'</a>'.
"\n";
702 print
'<a class="butActionDelete" href="'.$_SERVER[
"PHP_SELF"].
'?id='.$object->id.
'&action=confirm_close&confirm=yes&token='.
newToken().
'">'.$langs->trans(
"Cancel").
'</a>'.
"\n";
705 if ($object->status == $object::STATUS_PRODUCED || $object->status == $object::STATUS_CANCELED) {
706 print
'<a class="butAction" href="'.$_SERVER[
"PHP_SELF"].
'?id='.$object->id.
'&action=confirm_reopen&confirm=yes&token='.
newToken().
'">'.$langs->trans(
"ReOpen").
'</a>'.
"\n";
711 print
dolGetButtonAction($langs->trans(
"Delete"),
'',
'delete', $_SERVER[
"PHP_SELF"].
'?id='.$object->id.
'&action=delete&token='.
newToken(),
'delete', $permissiontodelete);
718 if (
GETPOST(
'modelselected')) {
722 if ($action !=
'presend') {
723 print
'<div class="fichecenter"><div class="fichehalfleft">';
724 print
'<a name="builddoc"></a>';
728 $relativepath = $objref.
'/'.$objref.
'.pdf';
729 $filedir = $conf->mrp->dir_output.
'/'.$objref;
730 $urlsource = $_SERVER[
"PHP_SELF"].
"?id=".$object->id;
731 $genallowed = $user->rights->mrp->read;
732 $delallowed = $user->hasRight(
"mrp",
"creer");
733 print $formfile->showdocuments(
'mrp:mo', $objref, $filedir, $urlsource, $genallowed, $delallowed, $object->model_pdf, 1, 0, 0, 28, 0,
'',
'',
'', $mysoc->default_lang);
736 $linktoelem =
$form->showLinkToObjectBlock($object,
null, array(
'mo'));
737 $somethingshown =
$form->showLinkedObjectBlock($object, $linktoelem,
false);
740 print
'</div><div class="fichehalfright">';
744 $morehtmlcenter =
dolGetButtonTitle($langs->trans(
'SeeAll'),
'',
'fa fa-bars imgforviewmode', DOL_URL_ROOT.
'/mrp/mo_agenda.php?id='.$object->id);
747 include_once DOL_DOCUMENT_ROOT.
'/core/class/html.formactions.class.php';
749 $somethingshown =
$formactions->showactions($object, $object->element, $socid, 1,
'', $MAXEVENT,
'', $morehtmlcenter);
751 print
'</div></div>';
755 if (
GETPOST(
'modelselected')) {
761 $defaulttopic =
'InformationMessage';
762 $diroutput = $conf->mrp->dir_output;
763 $trackid =
'mo'.$object->id;
765 include DOL_DOCUMENT_ROOT.
'/core/tpl/card_presend.tpl.php';
if(preg_match('/set_([a-z0-9_\-]+)/i', $action, $reg)) if(preg_match('/del_([a-z0-9_\-]+)/i', $action, $reg)) if($action=='set') elseif($action=='specimen') elseif($action=='setmodel') elseif($action=='del') elseif($action=='setdoc') $formactions
View.
if(!defined('NOREQUIRESOC')) if(!defined('NOREQUIRETRAN')) if(!defined('NOTOKENRENEWAL')) if(!defined('NOREQUIREMENU')) if(!defined('NOREQUIREHTML')) if(!defined('NOREQUIREAJAX')) llxHeader()
Empty header.
mrpCollapseBomManagement()
Manage collapse bom display.
Class to manage products or services.
Class to manage projects.
Class to manage translations.
if($cancel &&! $id) if($action=='add' &&! $cancel) if($action=='delete') if($id) $form
Actions.
dol_banner_tab($object, $paramid, $morehtml='', $shownav=1, $fieldid='rowid', $fieldref='ref', $morehtmlref='', $moreparam='', $nodbprefix=0, $morehtmlleft='', $morehtmlstatus='', $onlybanner=0, $morehtmlright='')
Show tab footer of a card.
load_fiche_titre($titre, $morehtmlright='', $picto='generic', $pictoisfullpath=0, $id='', $morecssontable='', $morehtmlcenter='')
Load a title with picto.
dol_get_fiche_head($links=array(), $active='', $title='', $notab=0, $picto='', $pictoisfullpath=0, $morehtmlright='', $morecss='', $limittoshow=0, $moretabssuffix='', $dragdropfile=0)
Show tabs of a record.
dolGetButtonTitle($label, $helpText='', $iconClass='fa fa-file', $url='', $id='', $status=1, $params=array())
Function dolGetButtonTitle : this kind of buttons are used in title in list.
dol_get_fiche_end($notab=0)
Return tab footer of a card.
getDolGlobalInt($key, $default=0)
Return dolibarr global constant int value.
img_picto($titlealt, $picto, $moreatt='', $pictoisfullpath=false, $srconly=0, $notitle=0, $alt='', $morecss='', $marginleftonlyshort=2)
Show picto whatever it's its name (generic function)
newToken()
Return the value of token currently saved into session with name 'newtoken'.
dolGetButtonAction($label, $text='', $actionType='default', $url='', $id='', $userRight=1, $params=array())
Function dolGetButtonAction.
GETPOST($paramname, $check='alphanohtml', $method=0, $filter=null, $options=null, $noreplace=0)
Return value of a param into GET or POST supervariable.
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='', $noduplicate=0)
Set event messages in dol_events session object.
dol_buildpath($path, $type=0, $returnemptyifnotfound=0)
Return path of url or filesystem.
dol_sanitizeFileName($str, $newstr='_', $unaccent=1)
Clean a string to use it as a file name.
isModEnabled($module)
Is Dolibarr module enabled.
img_edit($titlealt='default', $float=0, $other='')
Show logo editer/modifier fiche.
$formconfirm
if ($action == 'delbookkeepingyear') {
moPrepareHead($object)
Prepare array of tabs for Mo.
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.