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';
39 $langs->loadLangs(array(
'mrp',
'other'));
45 $action =
GETPOST(
'action',
'aZ09');
46 $confirm =
GETPOST(
'confirm',
'alpha');
47 $cancel =
GETPOST(
'cancel',
'aZ09');
48 $contextpage =
GETPOST(
'contextpage',
'aZ') ?
GETPOST(
'contextpage',
'aZ') :
'mocard';
49 $backtopage =
GETPOST(
'backtopage',
'alpha');
50 $backtopageforcancel =
GETPOST(
'backtopageforcancel',
'alpha');
51 $TBomLineId =
GETPOST(
'bomlineid',
'array');
52 $lineid =
GETPOST(
'lineid',
'int');
53 $socid =
GETPOST(
"socid",
'int');
56 $object =
new Mo($db);
57 $objectbom =
new BOM($db);
60 $diroutputmassaction = $conf->mrp->dir_output.
'/temp/massgeneration/'.$user->id;
61 $hookmanager->initHooks(array(
'mocard',
'globalcard'));
64 $extrafields->fetch_name_optionals_label($object->table_element);
66 $search_array_options = $extrafields->getOptionalsFromPost($object->table_element,
'',
'search_');
69 $search_all =
GETPOST(
"search_all",
'alpha');
71 foreach ($object->fields as $key => $val) {
72 if (
GETPOST(
'search_'.$key,
'alpha')) {
73 $search[$key] =
GETPOST(
'search_'.$key,
'alpha');
77 if (empty($action) && empty($id) && empty($ref)) {
82 include DOL_DOCUMENT_ROOT.
'/core/actions_fetchobject.inc.php';
84 if (
GETPOST(
'fk_bom',
'int') > 0) {
85 $objectbom->fetch(
GETPOST(
'fk_bom',
'int'));
87 if ($action !=
'add') {
89 $_POST[
'fk_product'] = $objectbom->fk_product;
90 $_POST[
'qty'] = $objectbom->qty;
91 $_POST[
'mrptype'] = $objectbom->bomtype;
92 $_POST[
'fk_warehouse'] = $objectbom->fk_warehouse;
93 $_POST[
'note_private'] = $objectbom->note_private;
100 $isdraft = (($object->status == $object::STATUS_DRAFT) ? 1 : 0);
101 $result =
restrictedArea($user,
'mrp', $object->id,
'mrp_mo',
'',
'fk_soc',
'rowid', $isdraft);
104 $permissionnote = $user->rights->mrp->write;
105 $permissiondellink = $user->rights->mrp->write;
106 $permissiontoadd = $user->rights->mrp->write;
107 $permissiontodelete = $user->rights->mrp->delete || ($permissiontoadd && isset($object->status) && $object->status == $object::STATUS_DRAFT);
108 $upload_dir = $conf->mrp->multidir_output[isset($object->entity) ? $object->entity : 1];
115 $parameters = array();
116 $reshook = $hookmanager->executeHooks(
'doActions', $parameters, $object, $action);
121 if (empty($reshook)) {
126 if (empty($backtopage) || ($cancel && empty($id))) {
127 if (empty($backtopage) || ($cancel && strpos($backtopage,
'__ID__'))) {
128 if (empty($id) && (($action !=
'add' && $action !=
'create') || $cancel)) {
129 $backtopage = $backurlforlist;
131 $backtopage = DOL_URL_ROOT.
'/mrp/mo_card.php?id='.($id > 0 ? $id :
'__ID__');
135 if ($cancel && !empty($backtopageforcancel)) {
136 $backtopage = $backtopageforcancel;
138 $triggermodname =
'MO_MODIFY';
141 if ($action ==
'add' && empty($id) && !empty($TBomLineId)) {
143 include DOL_DOCUMENT_ROOT.
'/core/actions_addupdatedelete.inc.php';
145 $mo_parent = $object;
147 $moline =
new MoLine($db);
148 $objectbomchildline =
new BOMLine($db);
150 foreach ($TBomLineId as $id_bom_line) {
151 $object =
new Mo($db);
153 $objectbomchildline->fetch($id_bom_line);
155 $TMoLines = $moline->fetchAll(
'DESC',
'rowid',
'1',
'', array(
'origin_id' => $id_bom_line));
157 foreach ($TMoLines as $tmpmoline) {
158 $_POST[
'fk_bom'] = $objectbomchildline->fk_bom_child;
159 $_POST[
'fk_parent_line'] = $tmpmoline->id;
160 $_POST[
'qty'] = $tmpmoline->qty;
161 $_POST[
'fk_product'] = $tmpmoline->fk_product;
164 include DOL_DOCUMENT_ROOT.
'/core/actions_addupdatedelete.inc.php';
166 $res = $object->add_object_linked(
'mo', $mo_parent->id);
169 header(
"Location: ".
dol_buildpath(
'/mrp/mo_card.php?id='.((
int) $moline->fk_mo), 1));
174 include DOL_DOCUMENT_ROOT.
'/core/actions_addupdatedelete.inc.php';
177 include DOL_DOCUMENT_ROOT.
'/core/actions_dellink.inc.php';
180 include DOL_DOCUMENT_ROOT.
'/core/actions_printing.inc.php';
183 include DOL_DOCUMENT_ROOT.
'/core/actions_builddoc.inc.php';
185 if ($action ==
'set_thirdparty' && $permissiontoadd) {
186 $object->setValueFrom(
'fk_soc',
GETPOST(
'fk_soc',
'int'),
'',
'',
'date',
'', $user, $triggermodname);
188 if ($action ==
'classin' && $permissiontoadd) {
189 $object->setProject(
GETPOST(
'projectid',
'int'));
193 $triggersendname =
'MO_SENTBYMAIL';
194 $autocopy =
'MAIN_MAIL_AUTOCOPY_MO_TO';
195 $trackid =
'mo'.$object->id;
196 include DOL_DOCUMENT_ROOT.
'/core/actions_sendmails.inc.php';
202 if ($action ==
'confirm_produced' && $confirm ==
'yes' && $permissiontoadd) {
203 $result = $object->setStatut($object::STATUS_PRODUCED, 0,
'',
'MRP_MO_PRODUCED');
206 if (empty($conf->global->MAIN_DISABLE_PDF_AUTOUPDATE)) {
207 $outputlangs = $langs;
210 $newlang =
GETPOST(
'lang_id',
'aZ09');
213 $newlang = $object->thirdparty->default_lang;
215 if (!empty($newlang)) {
217 $outputlangs->setDefaultLang($newlang);
219 $model = $object->model_pdf;
220 $ret = $object->fetch($id);
222 $object->generateDocument($model, $outputlangs, 0, 0, 0);
241 $title = $langs->trans(
'ManufacturingOrder').
" - ".$langs->trans(
"Card");
248 if ($action ==
'create') {
249 if (
GETPOST(
'fk_bom',
'int') > 0) {
250 $titlelist = $langs->trans(
"ToConsume");
251 if ($objectbom->bomtype == 1) {
252 $titlelist = $langs->trans(
"ToObtain");
256 print
load_fiche_titre($langs->trans(
"NewObject", $langs->transnoentitiesnoconv(
"Mo")),
'',
'mrp');
258 print
'<form method="POST" action="'.$_SERVER[
"PHP_SELF"].
'">';
259 print
'<input type="hidden" name="token" value="'.newToken().
'">';
260 print
'<input type="hidden" name="action" value="add">';
262 print
'<input type="hidden" name="backtopage" value="'.$backtopage.
'">';
264 if ($backtopageforcancel) {
265 print
'<input type="hidden" name="backtopageforcancel" value="'.$backtopageforcancel.
'">';
270 print
'<table class="border centpercent tableforfieldcreate">'.
"\n";
273 include DOL_DOCUMENT_ROOT.
'/core/tpl/commonfields_add.tpl.php';
276 include DOL_DOCUMENT_ROOT.
'/core/tpl/extrafields_add.tpl.php';
278 print
'</table>'.
"\n";
286 $(document).ready(
function () {
287 jQuery(
'#fk_bom').change(
function() {
288 console.log(
'We change value of BOM with BOM of id '+jQuery(
'#fk_bom').val());
289 if (jQuery(
'#fk_bom').val() > 0)
292 window.location.href =
'<?php echo $_SERVER["PHP_SELF"] ?>?action=create&token=<?php echo newToken(); ?>&fk_bom='+jQuery(
'#fk_bom').val();
321 else if (jQuery(
'#fk_bom').val() < 0) {
323 console.log(jQuery(
'#fk_product').val());
324 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();
342 print
$form->buttonsSaveCancel(
"Create");
344 if ($objectbom->id > 0) {
347 print
'<div class="div-table-responsive-no-min">';
348 print
'<table class="noborder centpercent">';
350 $object->lines = $objectbom->lines;
351 $object->mrptype = $objectbom->bomtype;
352 $object->bom = $objectbom;
354 $object->printOriginLinesList(
'', array());
364 if (($id || $ref) && $action ==
'edit') {
367 print
'<form method="POST" action="'.$_SERVER[
"PHP_SELF"].
'">';
368 print
'<input type="hidden" name="token" value="'.newToken().
'">';
369 print
'<input type="hidden" name="action" value="update">';
370 print
'<input type="hidden" name="id" value="'.$object->id.
'">';
372 print
'<input type="hidden" name="backtopage" value="'.$backtopage.
'">';
374 if ($backtopageforcancel) {
375 print
'<input type="hidden" name="backtopageforcancel" value="'.$backtopageforcancel.
'">';
380 $object->fields[
'fk_bom'][
'disabled'] = 1;
382 print
'<table class="border centpercent tableforfieldedit">'.
"\n";
385 include DOL_DOCUMENT_ROOT.
'/core/tpl/commonfields_edit.tpl.php';
388 include DOL_DOCUMENT_ROOT.
'/core/tpl/extrafields_edit.tpl.php';
394 print
$form->buttonsSaveCancel();
400 if ($object->id > 0 && (empty($action) || ($action !=
'edit' && $action !=
'create'))) {
401 $res = $object->fetch_thirdparty();
405 print
dol_get_fiche_head($head,
'card', $langs->trans(
"ManufacturingOrder"), -1, $object->picto);
410 if ($action ==
'delete') {
411 $formconfirm =
$form->formconfirm($_SERVER[
"PHP_SELF"].
'?id='.$object->id, $langs->trans(
'DeleteMo'), $langs->trans(
'ConfirmDeleteMo'),
'confirm_delete',
'', 0, 1);
414 if ($action ==
'deleteline') {
415 $formconfirm =
$form->formconfirm($_SERVER[
"PHP_SELF"].
'?id='.$object->id.
'&lineid='.$lineid, $langs->trans(
'DeleteLine'), $langs->trans(
'ConfirmDeleteLine'),
'confirm_deleteline',
'', 0, 1);
419 if ($action ==
'validate') {
421 $ref = substr($object->ref, 1, 4);
422 if ($ref ==
'PROV') {
423 $object->fetch_product();
424 $numref = $object->getNextNumRef($object->fk_product);
426 $numref = $object->ref;
429 $text = $langs->trans(
'ConfirmValidateMo', $numref);
438 $formquestion = array();
441 require_once DOL_DOCUMENT_ROOT.
'/product/class/html.formproduct.class.php';
444 if ($conf->browser->name ==
'ie') {
447 $formquestion = array(
454 $formconfirm =
$form->formconfirm($_SERVER[
"PHP_SELF"].
'?id='.$object->id, $langs->trans(
'Validate'), $text,
'confirm_validate', $formquestion, 0, 1, 220);
458 if ($action ==
'clone') {
460 $formquestion = array();
461 $formconfirm =
$form->formconfirm($_SERVER[
"PHP_SELF"].
'?id='.$object->id, $langs->trans(
'ToClone'), $langs->trans(
'ConfirmCloneMo', $object->ref),
'confirm_clone', $formquestion,
'yes', 1);
465 $parameters = array(
'formConfirm' =>
$formconfirm,
'lineid' => $lineid);
466 $reshook = $hookmanager->executeHooks(
'formConfirm', $parameters, $object, $action);
467 if (empty($reshook)) {
469 } elseif ($reshook > 0) {
479 $linkback =
'<a href="'.dol_buildpath(
'/mrp/mo_list.php', 1).
'?restore_lastsearch_values=1'.(!empty($socid) ?
'&socid='.$socid :
'').
'">'.$langs->trans(
"BackToList").
'</a>';
481 $morehtmlref =
'<div class="refidno">';
487 if (is_object($object->thirdparty)) {
488 $morehtmlref .= $object->thirdparty->getNomUrl(1,
'customer');
489 if (empty($conf->global->MAIN_DISABLE_OTHER_LINK) && $object->thirdparty->id > 0) {
490 $morehtmlref .=
' (<a href="'.DOL_URL_ROOT.
'/commande/list.php?socid='.$object->thirdparty->id.
'&search_societe='.urlencode($object->thirdparty->name).
'">'.$langs->trans(
"OtherOrders").
'</a>)';
495 $langs->load(
"projects");
496 if (is_object($object->thirdparty)) {
497 $morehtmlref .=
'<br>';
499 if ($permissiontoadd) {
500 $morehtmlref .=
img_picto($langs->trans(
"Project"),
'project',
'class="pictofixedwidth"');
501 if ($action !=
'classify') {
502 $morehtmlref .=
'<a class="editfielda" href="'.$_SERVER[
'PHP_SELF'].
'?action=classify&token='.
newToken().
'&id='.$object->id.
'">'.
img_edit($langs->transnoentitiesnoconv(
'SetProject')).
'</a> ';
504 $morehtmlref .=
$form->form_project($_SERVER[
'PHP_SELF'].
'?id='.$object->id, $object->socid, $object->fk_project, ($action ==
'classify' ?
'projectid' :
'none'), 0, ($action ==
'classify' ? 1 : 0), 0, 1,
'');
506 if (!empty($object->fk_project)) {
508 $proj->fetch($object->fk_project);
509 $morehtmlref .= $proj->getNomUrl(1);
511 $morehtmlref .=
'<span class="opacitymedium"> - '.dol_escape_htmltag($proj->title).
'</span>';
516 $morehtmlref .=
'</div>';
519 dol_banner_tab($object,
'ref', $linkback, 1,
'ref',
'ref', $morehtmlref);
522 print
'<div class="fichecenter">';
523 print
'<div class="fichehalfleft">';
524 print
'<div class="underbanner clearboth"></div>';
525 print
'<table class="border centpercent tableforfield">'.
"\n";
528 $mo_parent = $object->getMoParent();
529 if (is_object($mo_parent)) {
530 print
'<tr class="field_fk_mo_parent">';
531 print
'<td class="titlefield fieldname_fk_mo_parent">' . $langs->trans(
'ParentMo') .
'</td>';
532 print
'<td class="valuefield fieldname_fk_mo_parent">' .$mo_parent->getNomUrl(1).
'</td>';
537 $keyforbreak =
'fk_warehouse';
538 unset($object->fields[
'fk_project']);
539 unset($object->fields[
'fk_soc']);
540 include DOL_DOCUMENT_ROOT.
'/core/tpl/commonfields_view.tpl.php';
543 include DOL_DOCUMENT_ROOT.
'/core/tpl/extrafields_view.tpl.php';
549 print
'<div class="clearboth"></div>';
558 if (!empty($object->table_element_line)) {
561 $object->fetchLines();
563 print
' <form name="addproduct" id="addproduct" action="'.$_SERVER[
"PHP_SELF"].
'?id='.$object->id.(($action !=
'editline') ?
'' :
'#line_'.
GETPOST(
'lineid',
'int')).
'" method="POST">
564 <input type="hidden" name="token" value="' .
newToken().
'">
565 <input type="hidden" name="action" value="' . (($action !=
'editline') ?
'addline' :
'updateline').
'">
566 <input type="hidden" name="mode" value="">
567 <input type="hidden" name="page_y" value="">
568 <input type="hidden" name="id" value="' . $object->id.
'">
575 if (!empty($object->lines)) {
576 print
'<div class="div-table-responsive-no-min">';
577 print
'<table id="tablelines" class="noborder noshadow" width="100%">';
579 print
'<tr class="liste_titre">';
580 print
'<td class="liste_titre">'.$langs->trans(
"Summary").
'</td>';
584 print
'<tr class="oddeven">';
585 print
'<td>'.$langs->trans(
"ProductsToConsume").
'</td>';
587 if (!empty($object->lines)) {
589 foreach ($object->lines as $line) {
590 if ($line->role ==
'toconsume') {
594 $tmpproduct =
new Product($db);
595 $tmpproduct->fetch($line->fk_product);
596 print $tmpproduct->getNomUrl(1);
604 print
'<tr class="oddeven">';
605 print
'<td>'.$langs->trans(
"ProductsToProduce").
'</td>';
607 if (!empty($object->lines)) {
609 foreach ($object->lines as $line) {
610 if ($line->role ==
'toproduce') {
614 $tmpproduct =
new Product($db);
615 $tmpproduct->fetch($line->fk_product);
616 print $tmpproduct->getNomUrl(1);
634 if ($action !=
'presend' && $action !=
'editline') {
635 print
'<div class="tabsAction">'.
"\n";
636 $parameters = array();
637 $reshook = $hookmanager->executeHooks(
'addMoreActionsButtons', $parameters, $object, $action);
642 if (empty($reshook)) {
649 if ($object->status == $object::STATUS_VALIDATED) {
650 if ($permissiontoadd) {
652 print
'<a class="butAction" href="'.$_SERVER[
'PHP_SELF'].
'?id='.$object->id.
'&action=confirm_setdraft&confirm=yes&token='.
newToken().
'">'.$langs->trans(
"SetToDraft").
'</a>';
657 if ($object->status == $object::STATUS_DRAFT) {
658 if ($permissiontoadd) {
659 print
'<a class="butAction" href="'.$_SERVER[
"PHP_SELF"].
'?id='.$object->id.
'&action=edit&token='.
newToken().
'">'.$langs->trans(
"Modify").
'</a>'.
"\n";
661 print
'<a class="butActionRefused classfortooltip" href="#" title="'.dol_escape_htmltag($langs->trans(
"NotEnoughPermissions")).
'">'.$langs->trans(
'Modify').
'</a>'.
"\n";
666 if ($object->status == $object::STATUS_DRAFT) {
667 if ($permissiontoadd) {
668 if (empty($object->table_element_line) || (is_array($object->lines) && count($object->lines) > 0)) {
669 print
'<a class="butAction" href="'.$_SERVER[
'PHP_SELF'].
'?id='.$object->id.
'&action=validate">'.$langs->trans(
"Validate").
'</a>';
671 $langs->load(
"errors");
672 print
'<a class="butActionRefused" href="" title="'.$langs->trans(
"ErrorAddAtLeastOneLineFirst").
'">'.$langs->trans(
"Validate").
'</a>';
678 if ($permissiontoadd) {
679 print
dolGetButtonAction($langs->trans(
"ToClone"),
'',
'default', $_SERVER[
'PHP_SELF'].
'?id='.$object->id.(!empty($object->socid) ?
'&socid='.$object->socid :
"").
'&action=clone&object=mo',
'clone', $permissiontoadd);
683 if ($permissiontoadd) {
684 if ($object->status == $object::STATUS_VALIDATED || $object->status == $object::STATUS_INPROGRESS) {
685 $arrayproduced = $object->fetchLinesLinked(
'produced', 0);
687 foreach ($arrayproduced as $lineproduced) {
688 $nbProduced += $lineproduced[
'qty'];
690 if ($nbProduced > 0) {
691 print
'<a class="butAction" href="'.$_SERVER[
"PHP_SELF"].
'?id='.$object->id.
'&action=confirm_produced&confirm=yes&token='.
newToken().
'">'.$langs->trans(
"Close").
'</a>'.
"\n";
693 print
'<a class="butActionRefused" href="#" title="'.$langs->trans(
"GoOnTabProductionToProduceFirst", $langs->transnoentitiesnoconv(
"Production")).
'">'.$langs->trans(
"Close").
'</a>'.
"\n";
696 print
'<a class="butActionDelete" href="'.$_SERVER[
"PHP_SELF"].
'?id='.$object->id.
'&action=confirm_close&confirm=yes&token='.
newToken().
'">'.$langs->trans(
"Cancel").
'</a>'.
"\n";
699 if ($object->status == $object::STATUS_PRODUCED || $object->status == $object::STATUS_CANCELED) {
700 print
'<a class="butAction" href="'.$_SERVER[
"PHP_SELF"].
'?id='.$object->id.
'&action=confirm_reopen&confirm=yes&token='.
newToken().
'">'.$langs->trans(
"ReOpen").
'</a>'.
"\n";
705 print
dolGetButtonAction($langs->trans(
"Delete"),
'',
'delete', $_SERVER[
"PHP_SELF"].
'?id='.$object->id.
'&action=delete&token='.
newToken(),
'delete', $permissiontodelete);
712 if (
GETPOST(
'modelselected')) {
716 if ($action !=
'presend') {
717 print
'<div class="fichecenter"><div class="fichehalfleft">';
718 print
'<a name="builddoc"></a>';
722 $relativepath = $objref.
'/'.$objref.
'.pdf';
723 $filedir = $conf->mrp->dir_output.
'/'.$objref;
724 $urlsource = $_SERVER[
"PHP_SELF"].
"?id=".$object->id;
725 $genallowed = $user->rights->mrp->read;
726 $delallowed = $user->hasRight(
"mrp",
"creer");
727 print $formfile->showdocuments(
'mrp:mo', $objref, $filedir, $urlsource, $genallowed, $delallowed, $object->model_pdf, 1, 0, 0, 28, 0,
'',
'',
'', $mysoc->default_lang);
730 $linktoelem =
$form->showLinkToObjectBlock($object,
null, array(
'mo'));
731 $somethingshown =
$form->showLinkedObjectBlock($object, $linktoelem,
false);
734 print
'</div><div class="fichehalfright">';
738 $morehtmlcenter =
dolGetButtonTitle($langs->trans(
'SeeAll'),
'',
'fa fa-bars imgforviewmode', DOL_URL_ROOT.
'/mrp/mo_agenda.php?id='.$object->id);
741 include_once DOL_DOCUMENT_ROOT.
'/core/class/html.formactions.class.php';
743 $somethingshown =
$formactions->showactions($object, $object->element, $socid, 1,
'', $MAXEVENT,
'', $morehtmlcenter);
745 print
'</div></div>';
749 if (
GETPOST(
'modelselected')) {
755 $defaulttopic =
'InformationMessage';
756 $diroutput = $conf->mrp->dir_output;
757 $trackid =
'mo'.$object->id;
759 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='')
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.
setEventMessages($mesg, $mesgs, $style='mesgs', $messagekey='')
Set event messages in dol_events session object.
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.
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.