* Copyright (C) 2004-2016 Laurent Destailleur * Copyright (C) 2012-2023 Charlene BENKE * Copyright (C) 2024 MDW * Copyright (C) 2024 Alexandre Spangaro * * 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 htdocs/contrat/ticket.php * \ingroup contrat * \brief Page of associated ticket */ require '../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/contract.lib.php'; require_once DOL_DOCUMENT_ROOT.'/contrat/class/contrat.class.php'; if (isModEnabled('project')) { require_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; } require_once DOL_DOCUMENT_ROOT.'/core/class/html.formcompany.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/date.lib.php'; require_once DOL_DOCUMENT_ROOT."/ticket/class/ticket.class.php"; $langs->loadLangs(array('companies', 'contracts', 'tickets')); $socid = GETPOSTINT('socid'); $id = GETPOSTINT('id'); $ref = GETPOST('ref', 'alpha'); $action = GETPOST('action', 'alpha'); if ($id == '' && $ref == '') { dol_print_error(null, 'Bad parameter'); exit; } // Security check $socid = 0; if ($user->socid > 0) { $socid = $user->socid; } $result = restrictedArea($user, 'contrat', $id); /* * View */ $title = $langs->trans("Contract") . ' - ' . $langs->trans("Tickets"); $help_url = 'EN:Module_Contracts|FR:Module_Contrat|ES:Contratos_de_servicio'; llxHeader("", $title, $help_url, '', 0, 0, '', '', '', 'mod-contrat page-card_ticket'); $form = new Form($db); $userstatic = new User($db); $object = new Contrat($db); $result = $object->fetch($id, $ref); $ret = $object->fetch_thirdparty(); $head = contract_prepare_head($object); dol_get_fiche_head($head, 'ticket', $langs->trans("Contract"), -1, 'contract'); $linkback = ''; $linkback .= $langs->trans("BackToList").''; $morehtmlref = ''; $morehtmlref .= $object->ref; $morehtmlref .= '
'; // Ref customer $morehtmlref .= $form->editfieldkey( "RefCustomer", 'ref_customer', $object->ref_customer, $object, 0, 'string', '', 0, 1 ); $morehtmlref .= $form->editfieldval( "RefCustomer", 'ref_customer', $object->ref_customer, $object, 0, 'string', '', null, null, '', 1 ); // Ref supplier $morehtmlref .= '
'; $morehtmlref .= $form->editfieldkey( "RefSupplier", 'ref_supplier', $object->ref_supplier, $object, 0, 'string', '', 0, 1 ); $morehtmlref .= $form->editfieldval( "RefSupplier", 'ref_supplier', $object->ref_supplier, $object, 0, 'string', '', null, null, '', 1 ); // Thirdparty $morehtmlref .= '
'.$langs->trans('ThirdParty') . ' : ' . $object->thirdparty->getNomUrl(1); // Project if (! empty($conf->projet->enabled)) { require_once DOL_DOCUMENT_ROOT.'/projet/class/task.class.php'; $langs->load("projects"); $morehtmlref .= '
'.$langs->trans('Project') . ' : '; if (! empty($object->fk_project)) { $proj = new Project($db); $proj->fetch($object->fk_project); $morehtmlref .= ''; $morehtmlref .= $proj->ref; $morehtmlref .= ''; } else { $morehtmlref .= ''; } } $morehtmlref .= '
'; dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'none', $morehtmlref); print '
'; /* * Referrers types */ $title = $langs->trans("ListTicketsLinkToContract"); print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; // on récupère la totalité des tickets liés au contrat $allticketarray = $object->getTicketsArray(); if (is_array($allticketarray) && count($allticketarray) > 0) { foreach ($allticketarray as $key => $value) { $total_ht = 0; $total_ttc = 0; $element = $value; print ""; // Ref print '\n"; // Information print ''; print ''; print ''; print ''; // Date print ''; print ''; // Duration print ''; // Status print ''; print ''; } } print "
'.$langs->trans("Ref").''.$langs->trans("Subject").''.$langs->trans("Type").''.$langs->trans("TicketCategory").''.$langs->trans("Severity").''.$langs->trans("Date").''.$langs->trans("DateEnd").''.$langs->trans("Progress").''.$langs->trans("Status").'
'; print $element->getNomUrl(1); print "'.$value->subject.''.$value->type_label.''.$value->category_label.''.$value->severity_label.''.dol_print_date($element->datec, 'day').''.dol_print_date($element->date_close, 'day').''; print(isset($element->progress) ? $element->progress.'%' : ''); print ''.$element->getLibStatut(5).'
"; llxFooter(); $db->close();