* Copyright (C) 2004-2015 Laurent Destailleur * Copyright (C) 2005-2012 Regis Houssin * Copyright (C) 2015 Jean-François Ferry * * 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 . */ /** * \file settlements/settlementsindex.php * \ingroup settlements * \brief Home page of settlements top menu */ // Load Dolibarr environment $res = 0; // Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined) if (!$res && !empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) { $res = @include $_SERVER["CONTEXT_DOCUMENT_ROOT"] . "/main.inc.php"; } // Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME $tmp = empty($_SERVER['SCRIPT_FILENAME']) ? '' : $_SERVER['SCRIPT_FILENAME']; $tmp2 = realpath(__FILE__); $i = strlen($tmp) - 1; $j = strlen($tmp2) - 1; while ($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) { $i--; $j--; } if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1)) . "/main.inc.php")) { $res = @include substr($tmp, 0, ($i + 1)) . "/main.inc.php"; } if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1))) . "/main.inc.php")) { $res = @include dirname(substr($tmp, 0, ($i + 1))) . "/main.inc.php"; } // Try main.inc.php using relative path if (!$res && file_exists("../main.inc.php")) { $res = @include "../main.inc.php"; } if (!$res && file_exists("../../main.inc.php")) { $res = @include "../../main.inc.php"; } if (!$res && file_exists("../../../main.inc.php")) { $res = @include "../../../main.inc.php"; } if (!$res) { die("Include of main fails"); } use Luracast\Restler\RestException; require_once DOL_DOCUMENT_ROOT . '/core/class/html.formfile.class.php'; require_once DOL_DOCUMENT_ROOT . '/user/class/usergroup.class.php'; require_once DOL_DOCUMENT_ROOT . '/custom/settlements/class/groupusers.class.php'; require_once DOL_DOCUMENT_ROOT . '/custom/settlements/class/usernaplo.class.php'; require_once DOL_DOCUMENT_ROOT . '/custom/settlements/class/helper.class.php'; require_once DOL_DOCUMENT_ROOT . '/custom/settlements/class/grouptoolstools.class.php'; require_once DOL_DOCUMENT_ROOT . '/custom/settlements/class/toolnaplo.class.php'; require_once DOL_DOCUMENT_ROOT . '/custom/settlements/class/packagetool.class.php'; // Include the main TCPDF library (search for installation path). require_once DOL_DOCUMENT_ROOT . '/includes/tecnickcom/tcpdf/examples/tcpdf_include.php'; require_once DOL_DOCUMENT_ROOT . '/includes/tecnickcom/tcpdf/tcpdf.php'; // create new PDF document // Load translation files required by the page $langs->loadLangs(array("settlements@settlements")); $massaction = GETPOST('massaction', 'alpha'); // The bulk action (combo box choice into lists) $massactionadd = GETPOST('massactionadd', 'alpha'); // The bulk action (combo box choice into lists) $action = GETPOST('action', 'aZ09'); $cancel = GETPOST('cancel', 'int'); $id = GETPOST('id', 'int'); $idmenu = GETPOST('idmenu', 'int'); $toselect = GETPOST('toselect', 'array'); // Array of ids of elements selected into a list $toselectnewtool = GETPOST('toselectnewtool', 'array'); // Array of ids of elements selected into a list $reduction = GETPOST('reduction', 'array'); // Array of ids of elements selected into a list $search_title = GETPOST('search_title', 'alpha'); $confirmbutton = GETPOST('confirmbutton', 'int'); $printbutton = GETPOST('printbutton', 'int'); $confirm = GETPOST('confirm', 'alpha'); $confirmtools = GETPOST('confirmtools', 'alpha'); $delete = GETPOST('delete', 'int'); $toolclearall = GETPOST('toolclearall', 'int'); $confirmmassaction = GETPOST('confirmmassaction', 'alpha'); $socid = GETPOST('socid', 'int'); if (isset($user->socid) && $user->socid > 0) { $action = ''; $socid = $user->socid; } $max = 5; $now = dol_now(); $form = new Form($db); $formfile = new FormFile($db); $toolNaplo = new ToolNaplo($db); $helper = new Helper($db); $entities = $helper->getAllEntities(); $entitiesArray = []; $selectedEntities = ''; //$entitiesArrayIsEmpty = true; foreach ($entities as $key => $value) { $val = GETPOST('entity_' . $key, 'int'); $entitiesArray[$key] = $val; /*if ($val != '') { $entitiesArrayIsEmpty = false; }*/ } if(empty(array_filter($entitiesArray))){ $entitiesArray[1] = 1; } $selectedEntities = $helper->getEntities($entitiesArrayIsEmpty, $entities, $entitiesArray); $packages = $helper->getPackagesFromPackageClass($db, $selectedEntities); if (empty($id) || $id == 0) { foreach ($packages as $package) { $keys[] = $package['rowid']; } unset($_SESSION['devices_array']); $id = $keys[0]; } if ($delete == 1) { unset($_SESSION['devices_array']); } # # Massactions # if ($confirm == 'delete') { $assignedDeviceObj = new Inventory($db); $packageTools = new PackageTool($db); foreach ($toselect as $toolid) { $moredata = explode('_', $toolid); $assignedDeviceObj->fetch($moredata[1]); $packageTools->deleteLine($user, $moredata[0]); $data = $helper->createDataToolArray($id, $confirm, $moredata[1]); $toolNaplo->createToolsNaplo($user, $data); if (isset($assignedDeviceObj->array_options['options_assigned_device'])) { $packageTools->deleteLineByPackage_idAndDeviceId($user, $id, $assignedDeviceObj->array_options['options_assigned_device']); $data = $helper->createDataToolArray($id, $confirm, $assignedDeviceObj->array_options['options_assigned_device']); $toolNaplo->createToolsNaplo($user, $data); } dol_syslog("A {$toolid} szamu eszkoz torlesre kerult.", LOG_DEBUG | LOG_INFO | LOG_WARNING | LOG_ERR); } unset($_SESSION['devices_array']); setEventMessage($langs->trans("toolsdeleted"), 'errors'); } if ($massactionadd == 'add' && $confirmmassaction != '') { if ((!isset($toselectnewtool) || empty($toselectnewtool)) && isset($_SESSION['devices_array'])) { $toselectnewtool = array_filter($_SESSION['devices_array'], function ($elem) { return !empty($elem); }); } if (!empty($toselectnewtool)) { $assignedDeviceObj = new Inventory($db); $packageTools = new PackageTool($db); foreach ($_SESSION['devices_array'] as $newtool) { $assignedDeviceObj->fetch($newtool); $helper->saveToolsData($packageTools, $id, $newtool, $langs, $massactionadd); if (isset($assignedDeviceObj->array_options['options_assigned_device'])) { $helper->saveToolsData($packageTools, $id, $assignedDeviceObj->array_options['options_assigned_device'], $langs, $massactionadd); } } unset($_SESSION['devices_array']); $massactionadd = 0; $confirmmassaction = 0; setEventMessage($langs->trans("tooladded")); } } if ($confirmtools == 'confirm') { foreach ($toselect as $selected) { $moredata = explode('_', $selected); $data = $helper->createDataToolArray($id, 'add', $moredata[1]); $toolNaplo->createToolsNaplo($user, $data); } $url = $_SERVER["PHP_SELF"] . '?id=' . $id; header("Location: " . $url); } if (!empty($id)) { $devicesArray = $helper->getToolsById($db, $id); $allTools = $helper->getAllToolsFromSelectedEntity($db, $id); $confirmButtonDisplay = empty($helper->getToolsFromNaploToday($db, $id)) && !empty($devicesArray) ? "display:block;" : "display:none;"; //$PrintButtonDisplay = !empty($helper->getToolsFromNaploToday($db, $id)) && !empty($devicesArray) ? "display:block;" : "display:none;"; //$buttonContent = $helper->createButtonContent($db, $id, $devicesArray, $confirmButtonDisplay, $PrintButtonDisplay); $PrintButtonDisplay = !empty($devicesArray) ? "display:block;" : "display:none;"; $buttonContent = ''; } if ($printbutton) { $html = $helper->createHTML($devicesArray, $id); include DOL_DOCUMENT_ROOT . '/custom/settlements/core/tpl/printPDF.tpl.php'; } $permissiontoclearall = $user->hasRight('settlements', 'settlementsgroup', 'clearall'); llxHeader('', $title, $help_url, '', 0, 0, $morejs, $morecss, '', 'classforhorizontalscrolloftabs'); include DOL_DOCUMENT_ROOT . '/custom/settlements/core/actions_addupdatedelete.inc.php'; $url = $_SERVER["PHP_SELF"] . '?idmenu=' . $idmenu . '&mainmenu=settlements&leftmenu=&id=' . $id; print '
' . "\n"; print ''; print ''; print ''; print ''; /*print ''; print ''; print ''; print '';*/ print ''; if ($permissiontoclearall) { if ($helper->toolGroupsAreEmpty()) { print '
' . $langs->trans('EmptyToolsGroup') . '
'; } else { include DOL_DOCUMENT_ROOT . '/custom/settlements/core/tpl/toolclearall.tpl.php'; } } print load_fiche_titre($langs->trans("PackagesTools"), '', 'settlements.png@settlements'); if ($massaction == 'delete') { print $helper->massactionDelete(); } if ($confirmbutton) { print $helper->confirmButtonConfirmeText(); } include DOL_DOCUMENT_ROOT . '/custom/settlements/core/tpl/toolcheckboxes.tpl.php'; print '
'; $columnWidth = 100 / count($entities); foreach ($entities as $key => $value) { if (!$entitiesArrayIsEmpty) { $checked = $entitiesArray[$key] == $key ? 'checked' : ''; } else { $checked = 'checked'; } print '
'; } print '
'; print '
'; print ''; print ''; if (!empty($packages)) { foreach ($packages as $package) { $coloredLine = $id == $package['rowid'] ? ' background-color: #b0c4de' : ''; print ''; } } else { print ''; } print '
' . $langs->trans("PackageName") . '
' . $langs->trans('nogroup') . '
'; //--------------------------------------------- #2 //--------------------------------------------- $isClosed = $helper->isClosed($id); $disabledCheckbox = $isClosed ? '' : 'disabled'; $packageName = $helper->getPackageName($packages, $id); print '
'; print ''; print ''; if (!empty($devicesArray)) { print ''; foreach ($devicesArray as $tool) { $status2 = $tool['status'] != 115 ? '' : ''; $selected = in_array($tool['rowid'] . '_' . $tool['device_id'], $toselect) ? 'checked' : ''; $url = '/custom/rollerstorage/card.php?id=' . $tool['device_id'] . '&inventory_id=' . $tool['assigned_device_data']['warehouse'] . '&backtopage=/custom/rollerstorage/rollerstorageinventoryindex.php?inventory_id=' . $tool['assigned_device_data']['warehouse'] . '&idmenu=1599&leftmenu='; if ($tool['device_type'] == 1) { print ''; $urlAssigned_device = '/custom/rollerstorage/card.php?id=' . $tool['assigned_device_data']['rowid'] . '&inventory_id=' . $tool['assigned_device_data']['warehouse'] . '&backtopage=/custom/rollerstorage/rollerstorageinventoryindex.php?inventory_id=' . $tool['assigned_device_data']['warehouse'] . '&idmenu=1599&leftmenu='; $statusAssigned2 = $tool['assigned_device_data']['status'] != 115 ? '' : ''; print ''; } elseif ($tool['device_type'] == 0 || $tool['device_type'] == 3 || $tool['device_type'] == 4 || $tool['device_type'] == 5) { //} else { print ''; } } } else { print ''; } print '
' . $langs->trans("devicesofgroup", $packageName) . '
' . $langs->trans('selectAll') . '
' . $tool['ref'] . ' ' . $status2 . ' ' . $tool['title'] . '

IMEI: ' . $tool['unique_identifier'] . '

     ' . $tool['assigned_device_data']['ref'] . ' ' . $statusAssigned2 . ' ' . $tool['assigned_device_data']['title'] . '
' . $tool['ref'] . ' ' . $status2 . ' ' . $tool['title'] . '
' . $langs->trans('nodeviceassigned') . '
'; //--------------------------------------------- #3 //--------------------------------------------- print '
'; print ''; print ''; print ''; if ($isClosed) { if (is_array($allTools['freeTools']) && !empty($packages)) { print ''; } } else { print ''; } print ''; print '' . "\n"; // End of page llxFooter(); $db->close(); ?>
' . $langs->trans("freedevices") . '
'; foreach ($allTools['freeTools'] as $freeTool) { $status3 = $freeTool['status'] != 115 ? '' : ''; $url_3 = '/custom/rollerstorage/card.php?id=' . $freeTool['rowid'] . '&inventory_id=' . $freeTool['fk_warehouse'] . '&backtopage=/custom/rollerstorage/rollerstorageinventoryindex.php?inventory_id=' . $freeTool['fk_warehouse'] . '&idmenu=1599&leftmenu='; if ($freeTool['device_type'] == 1) { $disabled = !isset($freeTool['assigned_device_data']) ? 'disabled' : ''; print ' '; $statusAssigned3 = $freeTool['assigned_device_data']['status'] != 115 ? '' : ''; print ' '; $url_3 = '/custom/rollerstorage/card.php?id=' . $freeTool['assigned_device_data']['rowid'] . '&inventory_id=' . $freeTool['fk_warehouse'] . '&backtopage=/custom/rollerstorage/rollerstorageinventoryindex.php?inventory_id=' . $freeTool['fk_warehouse'] . '&idmenu=1599&leftmenu='; print ''; if (!isset($freeTool['assigned_device_data'])) { print ''; } else { print ''; } print ''; } elseif ($freeTool['device_type'] == 0 || $freeTool['device_type'] == 3 || $freeTool['device_type'] == 4 || $freeTool['device_type'] == 5) { print ' '; } } print '
' . $freeTool['ref'] . ' - ' . $freeTool['title'] . ' ' . $status . '
    ' . $langs->trans('NoCardreadder') . '     ' . $freeTool['assigned_device_data']['ref'] . ' - ' . $freeTool['assigned_device_data']['title'] . ' ' . $statusAssigned3 . '
' . $freeTool['ref'] . ' - ' . $freeTool['title'] . ' ' . $status3 . '
'; print $helper->addedToolsDiv($allTools); print '
' . $langs->trans('ClosedPackage') . '