mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-02-20 13:46:52 +01:00
# Qual: Fix phan notices Fix phan notices mostly in relation with supplier invoices, Fix phan notices in relation with formquestion (phpdoc update, casts).
505 lines
19 KiB
PHP
505 lines
19 KiB
PHP
<?php
|
|
|
|
/* Copyright (C) 2017 Laurent Destailleur <eldy@users.sourceforge.net>
|
|
* Copyright (C) 2024 Frédéric France <frederic.france@free.fr>
|
|
* Copyright (C) 2025 MDW <mdeweerd@users.noreply.github.com>
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 3 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
|
*/
|
|
|
|
/**
|
|
* \file htdocs/workstation/workstation_card.php
|
|
* \ingroup workstation
|
|
* \brief Page to create/edit/view workstation
|
|
*/
|
|
|
|
// Load Dolibarr environment
|
|
require '../main.inc.php';
|
|
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php';
|
|
require_once DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php';
|
|
require_once DOL_DOCUMENT_ROOT.'/resource/class/html.formresource.class.php';
|
|
require_once DOL_DOCUMENT_ROOT.'/resource/class/dolresource.class.php';
|
|
require_once DOL_DOCUMENT_ROOT.'/workstation/class/workstation.class.php';
|
|
require_once DOL_DOCUMENT_ROOT.'/workstation/class/workstationusergroup.class.php';
|
|
require_once DOL_DOCUMENT_ROOT.'/workstation/lib/workstation_workstation.lib.php';
|
|
|
|
/**
|
|
* @var Conf $conf
|
|
* @var DoliDB $db
|
|
* @var HookManager $hookmanager
|
|
* @var Translate $langs
|
|
* @var User $user
|
|
*/
|
|
|
|
// Load translation files required by the page
|
|
$langs->loadLangs(array('mrp', 'other'));
|
|
|
|
// Get parameters
|
|
$id = GETPOSTINT('id');
|
|
$ref = GETPOST('ref', 'alpha');
|
|
$action = GETPOST('action', 'aZ09');
|
|
$confirm = GETPOST('confirm', 'alpha');
|
|
$cancel = GETPOST('cancel', 'aZ09');
|
|
$contextpage = GETPOST('contextpage', 'aZ') ? GETPOST('contextpage', 'aZ') : str_replace('_', '', basename(dirname(__FILE__)).basename(__FILE__, '.php')); // To manage different context of search
|
|
$backtopage = GETPOST('backtopage', 'alpha');
|
|
$backtopageforcancel = GETPOST('backtopageforcancel', 'alpha');
|
|
$backtopagejsfields = GETPOST('backtopagejsfields', 'alpha');
|
|
$dol_openinpopup = GETPOST('dol_openinpopup', 'aZ09');
|
|
|
|
if (!empty($backtopagejsfields)) {
|
|
$tmpbacktopagejsfields = explode(':', $backtopagejsfields);
|
|
$dol_openinpopup = preg_replace('/[^a-z0-9_]/i', '', $tmpbacktopagejsfields[0]);
|
|
}
|
|
|
|
$groups = GETPOST('groups', 'array:int');
|
|
$resources = GETPOST('resources', 'array:int');
|
|
//$lineid = GETPOST('lineid', 'int');
|
|
|
|
// Initialize a technical objects
|
|
$object = new Workstation($db);
|
|
|
|
//$extrafields = new ExtraFields($db);
|
|
$diroutputmassaction = $conf->workstation->dir_output.'/temp/massgeneration/'.$user->id;
|
|
$hookmanager->initHooks(array($object->element.'card', 'globalcard')); // Note that conf->hooks_modules contains array
|
|
|
|
// Fetch optionals attributes and labels
|
|
$extrafields->fetch_name_optionals_label($object->table_element);
|
|
|
|
$search_array_options = $extrafields->getOptionalsFromPost($object->table_element, '', 'search_');
|
|
|
|
// Initialize array of search criteria
|
|
$search_all = trim(GETPOST("search_all", 'alpha'));
|
|
$search = array();
|
|
foreach ($object->fields as $key => $val) {
|
|
if (GETPOST('search_'.$key, 'alpha')) {
|
|
$search[$key] = GETPOST('search_'.$key, 'alpha');
|
|
}
|
|
}
|
|
|
|
if (empty($action) && empty($id) && empty($ref)) {
|
|
$action = 'view';
|
|
}
|
|
|
|
// Load object
|
|
include DOL_DOCUMENT_ROOT.'/core/actions_fetchobject.inc.php'; // Must be 'include', not 'include_once'.
|
|
|
|
// Permissions
|
|
$permissiontoread = $user->hasRight('workstation', 'workstation', 'read');
|
|
$permissiontoadd = $user->hasRight('workstation', 'workstation', 'write'); // Used by the include of actions_addupdatedelete.inc.php and actions_lineupdown.inc.php
|
|
$permissiontodelete = $user->hasRight('workstation', 'workstation', 'delete') || ($permissiontoadd && isset($object->status) && $object->status == $object::STATUS_DISABLED);
|
|
$permissionnote = $user->hasRight('workstation', 'workstation', 'write'); // Used by the include of actions_setnotes.inc.php
|
|
$permissiondellink = $user->hasRight('workstation', 'workstation', 'write'); // Used by the include of actions_dellink.inc.php
|
|
|
|
$upload_dir = rtrim(getMultidirOutput($object, '', 1), '/');
|
|
|
|
// Security check
|
|
$isdraft = 0;
|
|
restrictedArea($user, $object->element, $object->id, $object->table_element, 'workstation', 'fk_soc', 'rowid', $isdraft);
|
|
|
|
|
|
/*
|
|
* Actions
|
|
*/
|
|
|
|
$parameters = array();
|
|
$reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks
|
|
if ($reshook < 0) {
|
|
setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
|
}
|
|
|
|
if (empty($reshook)) {
|
|
$error = 0;
|
|
|
|
$backurlforlist = dol_buildpath('/workstation/workstation_list.php', 1);
|
|
|
|
if (empty($backtopage) || ($cancel && empty($id))) {
|
|
if (empty($backtopage) || ($cancel && strpos($backtopage, '__ID__'))) {
|
|
if (empty($id) && (($action != 'add' && $action != 'create') || $cancel)) {
|
|
$backtopage = $backurlforlist;
|
|
} else {
|
|
$backtopage = dol_buildpath('/workstation/workstation_card.php', 1).'?id='.($id > 0 ? $id : '__ID__');
|
|
}
|
|
}
|
|
}
|
|
|
|
$triggermodname = 'WORKSTATION_WORKSTATION_MODIFY'; // Name of trigger action code to execute when we modify record
|
|
|
|
// Actions cancel, add, update, update_extras, confirm_validate, confirm_delete, confirm_deleteline, confirm_clone, confirm_close, confirm_setdraft, confirm_reopen
|
|
include DOL_DOCUMENT_ROOT.'/core/actions_addupdatedelete.inc.php';
|
|
|
|
// Actions when linking object each other
|
|
include DOL_DOCUMENT_ROOT.'/core/actions_dellink.inc.php';
|
|
|
|
// Actions when printing a doc from card
|
|
include DOL_DOCUMENT_ROOT.'/core/actions_printing.inc.php';
|
|
|
|
// Action to move up and down lines of object
|
|
//include DOL_DOCUMENT_ROOT.'/core/actions_lineupdown.inc.php';
|
|
|
|
// Action to build doc
|
|
include DOL_DOCUMENT_ROOT.'/core/actions_builddoc.inc.php';
|
|
|
|
if ($action == 'confirm_enable' && $confirm == "yes" && $permissiontoadd) {
|
|
if (!empty($object->id)) {
|
|
$object->setStatus(1);
|
|
}
|
|
} elseif ($action == 'confirm_disable' && $confirm == "yes" && $permissiontoadd) {
|
|
if (!empty($object->id)) {
|
|
$object->setStatus(0);
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
/*
|
|
* View
|
|
*/
|
|
|
|
$form = new Form($db);
|
|
$formfile = new FormFile($db);
|
|
$formresource = new FormResource($db);
|
|
|
|
$title = $langs->trans("Workstation")." - ".$langs->trans('Card');
|
|
if ($action == 'create') {
|
|
$title = $langs->trans("NewObject", $langs->transnoentitiesnoconv("Workstation"));
|
|
}
|
|
$help_url = 'EN:Module_Workstation';
|
|
|
|
llxHeader('', $title, $help_url, '', 0, 0, '', '', '', 'mod-workstation page-workstation_card');
|
|
|
|
// jquery code
|
|
?>
|
|
<script>
|
|
|
|
jQuery(document).ready(function() {
|
|
jQuery("#type").change(function() {
|
|
if($(this).val() === 'MACHINE') {
|
|
$('#usergroups').hide();
|
|
$('#nb_operators_required').parent('td').parent('tr').hide();
|
|
$('#wsresources').show();
|
|
} else if($(this).val() === 'HUMAN') {
|
|
$('#wsresources').hide();
|
|
$('#nb_operators_required').parent('td').parent('tr').show();
|
|
$('#usergroups').show();
|
|
}
|
|
else {
|
|
$('#usergroups').show();
|
|
$('#wsresources').show();
|
|
$('#nb_operators_required').parent('td').parent('tr').show();
|
|
}
|
|
});
|
|
jQuery("#type").trigger('change');
|
|
});
|
|
|
|
</script>
|
|
<?php
|
|
|
|
// Part to create
|
|
if ($action == 'create') {
|
|
if (empty($permissiontoadd)) {
|
|
accessforbidden('NotEnoughPermissions', 0, 1);
|
|
}
|
|
|
|
// Set default value of the property ref
|
|
$object->fields['ref']['default'] = $object->getNextNumRef();
|
|
|
|
print load_fiche_titre($title, '', 'object_'.$object->picto);
|
|
|
|
print '<form method="POST" action="'.$_SERVER["PHP_SELF"].'">';
|
|
print '<input type="hidden" name="token" value="'.newToken().'">';
|
|
print '<input type="hidden" name="action" value="add">';
|
|
if ($backtopage) {
|
|
print '<input type="hidden" name="backtopage" value="'.$backtopage.'">';
|
|
}
|
|
if ($backtopageforcancel) {
|
|
print '<input type="hidden" name="backtopageforcancel" value="'.$backtopageforcancel.'">';
|
|
}
|
|
|
|
print dol_get_fiche_head(array(), '');
|
|
|
|
print '<table class="border centpercent tableforfieldcreate">'."\n";
|
|
|
|
// Common attributes
|
|
include DOL_DOCUMENT_ROOT.'/core/tpl/commonfields_add.tpl.php';
|
|
|
|
print '<tr id="usergroups">';
|
|
print '<td>';
|
|
print $langs->trans('UserGroups');
|
|
print '</td>';
|
|
print '<td>';
|
|
print img_picto('', 'group');
|
|
print $form->select_dolgroups($groups, 'groups', 1, '', 0, '', '', $object->entity, true, 'quatrevingtpercent widthcentpercentminusx');
|
|
print '</td></tr>';
|
|
|
|
print '<tr id="wsresources"><td>';
|
|
print $langs->trans('Machines');
|
|
print '</td>';
|
|
print '<td>';
|
|
print img_picto('', 'resource');
|
|
print $formresource->select_resource_list($resources, 'resources', [], '', 0, '', '', $object->entity, true, 0, 'quatrevingtpercent widthcentpercentminusx', true);
|
|
print '</td></tr>';
|
|
|
|
// Other attributes
|
|
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_add.tpl.php';
|
|
|
|
print '</table>'."\n";
|
|
|
|
print dol_get_fiche_end();
|
|
|
|
print $form->buttonsSaveCancel("Create");
|
|
|
|
print '</form>';
|
|
|
|
//dol_set_focus('input[name="ref"]');
|
|
}
|
|
|
|
// Part to edit record
|
|
if (($id || $ref) && $action == 'edit') {
|
|
print load_fiche_titre($langs->trans("Workstation"), '', 'object_'.$object->picto);
|
|
|
|
print '<form method="POST" action="'.$_SERVER["PHP_SELF"].'">';
|
|
print '<input type="hidden" name="token" value="'.newToken().'">';
|
|
print '<input type="hidden" name="action" value="update">';
|
|
print '<input type="hidden" name="id" value="'.$object->id.'">';
|
|
if ($backtopage) {
|
|
print '<input type="hidden" name="backtopage" value="'.$backtopage.'">';
|
|
}
|
|
if ($backtopageforcancel) {
|
|
print '<input type="hidden" name="backtopageforcancel" value="'.$backtopageforcancel.'">';
|
|
}
|
|
|
|
print dol_get_fiche_head();
|
|
|
|
print '<table class="border centpercent tableforfieldedit">'."\n";
|
|
|
|
// Common attributes
|
|
include DOL_DOCUMENT_ROOT.'/core/tpl/commonfields_edit.tpl.php';
|
|
|
|
print '<tr id="usergroups"';
|
|
print '><td>';
|
|
print $langs->trans('UserGroups');
|
|
print '</td>';
|
|
print '<td>';
|
|
print img_picto('', 'group');
|
|
print $form->select_dolgroups(empty($groups) ? $object->usergroups : $groups, 'groups', 1, '', 0, '', '', $object->entity, true, 'quatrevingtpercent widthcentpercentminusx');
|
|
print '</td></tr>';
|
|
|
|
print '<tr id="wsresources"><td>';
|
|
print $langs->trans('Machines');
|
|
print '</td>';
|
|
print '<td>';
|
|
print img_picto('', 'resource');
|
|
print $formresource->select_resource_list(empty($resources) ? $object->resources : $resources, 'resources', [], '', 0, '', '', $object->entity, true, 0, 'quatrevingtpercent widthcentpercentminusx', true);
|
|
print '</td></tr>';
|
|
|
|
// Other attributes
|
|
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_edit.tpl.php';
|
|
|
|
print '</table>';
|
|
|
|
print dol_get_fiche_end();
|
|
|
|
print $form->buttonsSaveCancel();
|
|
|
|
print '</form>';
|
|
}
|
|
|
|
// Part to show record
|
|
if ($object->id > 0 && (empty($action) || ($action != 'edit' && $action != 'create'))) {
|
|
$head = workstationPrepareHead($object);
|
|
|
|
print dol_get_fiche_head($head, 'card', $langs->trans("Workstation"), -1, $object->picto);
|
|
|
|
$formconfirm = '';
|
|
|
|
// Confirmation to delete (using preloaded confirm popup)
|
|
if ($action == 'delete' || ($conf->use_javascript_ajax && empty($conf->dol_use_jmobile))) {
|
|
$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('DeleteWorkstation'), $langs->trans('ConfirmDeleteObject'), 'confirm_delete', '', 0, 'action-delete');
|
|
}
|
|
$formquestion = array();
|
|
// Clone confirmation
|
|
if ($action == 'clone') {
|
|
// Create an array for form
|
|
$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('ToClone'), $langs->trans('ConfirmCloneAsk', $object->ref), 'confirm_clone', $formquestion, 'yes', 1);
|
|
}
|
|
|
|
// Confirmation of action xxxx
|
|
if ($action == 'enable') {
|
|
$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('EnableAWorkstation'), $langs->trans("ConfirmEnableWorkstation", $object->ref), 'confirm_enable', $formquestion, 0, 1, 220);
|
|
} elseif ($action == 'disable') {
|
|
$formconfirm = $form->formconfirm($_SERVER["PHP_SELF"].'?id='.$object->id, $langs->trans('DisableAWorkstation'), $langs->trans("ConfirmDisableWorkstation", $object->ref), 'confirm_disable', $formquestion, 0, 1, 220);
|
|
}
|
|
|
|
// Call Hook formConfirm
|
|
$parameters = array(
|
|
'formConfirm' => $formconfirm,
|
|
// 'lineid' => $lineid,
|
|
);
|
|
$reshook = $hookmanager->executeHooks('formConfirm', $parameters, $object, $action); // Note that $action and $object may have been modified by hook
|
|
if (empty($reshook)) {
|
|
$formconfirm .= $hookmanager->resPrint;
|
|
} elseif ($reshook > 0) {
|
|
$formconfirm = $hookmanager->resPrint;
|
|
}
|
|
|
|
// Print form confirm
|
|
print $formconfirm;
|
|
|
|
|
|
// Object card
|
|
// ------------------------------------------------------------
|
|
$linkback = '<a href="'.dol_buildpath('/workstation/workstation_list.php', 1).'?restore_lastsearch_values=1">'.$langs->trans("BackToList").'</a>';
|
|
|
|
$morehtmlref = '<div class="refidno">';
|
|
/*
|
|
// Ref customer
|
|
$morehtmlref .= $form->editfieldkey("RefCustomer", 'ref_client', $object->ref_client, $object, 0, 'string', '', 0, 1);
|
|
$morehtmlref .= $form->editfieldval("RefCustomer", 'ref_client', $object->ref_client, $object, 0, 'string', '', null, null, '', 1);
|
|
// Thirdparty
|
|
$morehtmlref .= '<br>'.$langs->trans('ThirdParty') . ' : ' . (is_object($object->thirdparty) ? $object->thirdparty->getNomUrl(1) : '');
|
|
// Project
|
|
if (isModEnabled('project')) {
|
|
$langs->load("projects");
|
|
$morehtmlref .= '<br>';
|
|
if ($permissiontoadd) {
|
|
$morehtmlref .= img_picto($langs->trans("Project"), 'project', 'class="pictofixedwidth"');
|
|
if ($action != 'classify') {
|
|
$morehtmlref .= '<a class="editfielda" href="'.$_SERVER['PHP_SELF'].'?action=classify&token='.newToken().'&id='.$object->id.'">'.img_edit($langs->transnoentitiesnoconv('SetProject')).'</a> ';
|
|
}
|
|
$morehtmlref .= $form->form_project($_SERVER['PHP_SELF'].'?id='.$object->id, $object->socid, $object->fk_project, ($action == 'classify' ? 'projectid' : 'none'), 0, 0, 0, 1, '', 'maxwidth300');
|
|
} else {
|
|
if (!empty($object->fk_project)) {
|
|
$proj = new Project($db);
|
|
$proj->fetch($object->fk_project);
|
|
$morehtmlref .= $proj->getNomUrl(1);
|
|
if ($proj->title) {
|
|
$morehtmlref .= '<span class="opacitymedium"> - '.dol_escape_htmltag($proj->title).'</span>';
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
*/
|
|
$morehtmlref .= '</div>';
|
|
|
|
|
|
dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', $morehtmlref);
|
|
|
|
|
|
print '<div class="fichecenter">';
|
|
print '<div class="fichehalfleft">';
|
|
print '<div class="underbanner clearboth"></div>';
|
|
print '<table class="border centpercent tableforfield">'."\n";
|
|
|
|
// Common attributes
|
|
//$keyforbreak='fieldkeytoswitchonsecondcolumn'; // We change column just before this field
|
|
//unset($object->fields['fk_project']); // Hide field already shown in banner
|
|
//unset($object->fields['fk_soc']); // Hide field already shown in banner
|
|
if ($object->type === 'MACHINE') {
|
|
$object->fields['nb_operators_required']['visible'] = 0;
|
|
}
|
|
|
|
// Common attributes
|
|
//$keyforbreak='fieldkeytoswitchonsecondcolumn'; // We change column just before this field
|
|
//unset($object->fields['fk_project']); // Hide field already shown in banner
|
|
//unset($object->fields['fk_soc']); // Hide field already shown in banner
|
|
include DOL_DOCUMENT_ROOT.'/core/tpl/commonfields_view.tpl.php';
|
|
|
|
// Groups
|
|
if ($object->type !== 'MACHINE') {
|
|
$toprint = array();
|
|
$g = new UserGroup($db);
|
|
foreach ($object->usergroups as $id_group) {
|
|
$g->fetch($id_group);
|
|
$toprint[] = '<li class="select2-search-choice-dolibarr noborderoncategories" style="background: #bbb">' . $g->getNomUrl(1, '', 0, 'categtextwhite') . '</li>';
|
|
}
|
|
|
|
print '<tr><td>' . $langs->trans('Groups') . '</td><td>';
|
|
print '<div class="select2-container-multi-dolibarr"><ul class="select2-choices-dolibarr">' . implode(' ', $toprint) . '</ul></div>';
|
|
print '</td></tr>';
|
|
}
|
|
|
|
// Resources
|
|
if ($object->type !== 'HUMAN') {
|
|
$toprint = array();
|
|
$r = new Dolresource($db);
|
|
foreach ($object->resources as $id_resource) {
|
|
$r->fetch($id_resource);
|
|
$toprint[] = '<li class="select2-search-choice-dolibarr noborderoncategories" style="background: #bbb">' . $r->getNomUrl(1, '', '', 0, 'categtextwhite') . '</li>';
|
|
}
|
|
|
|
print '<tr><td>' . $langs->trans('Machines') . '</td><td>';
|
|
print '<div class="select2-container-multi-dolibarr"><ul class="select2-choices-dolibarr">' . implode(' ', $toprint) . '</ul></div>';
|
|
print '</td></tr>';
|
|
}
|
|
|
|
// Other attributes. Fields from hook formObjectOptions and Extrafields.
|
|
include DOL_DOCUMENT_ROOT.'/core/tpl/extrafields_view.tpl.php';
|
|
|
|
print '</table>';
|
|
print '</div>';
|
|
print '</div>';
|
|
|
|
print '<div class="clearboth"></div>';
|
|
|
|
print dol_get_fiche_end();
|
|
|
|
|
|
// Buttons for actions
|
|
|
|
if ($action != 'presend' && $action != 'editline') {
|
|
print '<div class="tabsAction">'."\n";
|
|
$parameters = array();
|
|
$reshook = $hookmanager->executeHooks('addMoreActionsButtons', $parameters, $object, $action); // Note that $action and $object may have been modified by hook
|
|
if ($reshook < 0) {
|
|
setEventMessages($hookmanager->error, $hookmanager->errors, 'errors');
|
|
}
|
|
|
|
if (empty($reshook)) {
|
|
// Modify
|
|
print dolGetButtonAction('', $langs->trans('Modify'), 'default', $_SERVER["PHP_SELF"].'?id='.$object->id.'&action=edit&token='.newToken(), '', $permissiontoadd);
|
|
|
|
// Clone
|
|
if ($permissiontoadd) {
|
|
print dolGetButtonAction('', $langs->trans('ToClone'), 'default', $_SERVER['PHP_SELF'].'?id='.$object->id.(!empty($object->socid) ? '&socid='.$object->socid : '').'&action=clone&token='.newToken(), '', $permissiontoadd);
|
|
}
|
|
|
|
// Disable / Enable
|
|
if ($permissiontoadd) {
|
|
if ($object->status == $object::STATUS_ENABLED) {
|
|
print dolGetButtonAction('', $langs->trans('Disable'), 'default', $_SERVER['PHP_SELF'].'?id='.$object->id.'&action=disable&token='.newToken(), '', $permissiontoadd);
|
|
} else {
|
|
print dolGetButtonAction('', $langs->trans('Enable'), 'default', $_SERVER['PHP_SELF'].'?id='.$object->id.'&action=enable&token='.newToken(), '', $permissiontoadd);
|
|
}
|
|
}
|
|
|
|
// Delete (with preloaded confirm popup)
|
|
$deleteUrl = $_SERVER["PHP_SELF"].'?id='.$object->id.'&action=delete&token='.newToken();
|
|
$buttonId = 'action-delete-no-ajax';
|
|
if ($conf->use_javascript_ajax && empty($conf->dol_use_jmobile)) { // We can use preloaded confirm if not jmobile
|
|
$deleteUrl = '';
|
|
$buttonId = 'action-delete';
|
|
}
|
|
$params = array();
|
|
print dolGetButtonAction('', $langs->trans("Delete"), 'delete', $deleteUrl, $buttonId, $permissiontodelete, $params);
|
|
}
|
|
print '</div>'."\n";
|
|
}
|
|
}
|
|
|
|
// End of page
|
|
llxFooter();
|
|
$db->close();
|