develop_ticket

Conflicts:
	htdocs/public/ticketsup/create_ticket.php
	htdocs/public/ticketsup/list.php
This commit is contained in:
Regis Houssin 2018-04-19 16:42:00 +02:00
commit 8977a9b7aa
3 changed files with 48 additions and 33 deletions

View File

@ -75,7 +75,7 @@ $extralabels = $extrafields->fetch_name_optionals_label($object->table_element);
// Add file in email form
if (GETPOST('addfile') && !GETPOST('add_ticket')) {
////$res = $object->fetch('',GETPOST('track_id'));
////$res = $object->fetch('','',GETPOST('track_id'));
////if($res > 0)
////{
include_once DOL_DOCUMENT_ROOT . '/core/lib/files.lib.php';

View File

@ -60,6 +60,13 @@ if (isset($_SESSION['email_customer'])) {
$object = new ActionsTicketsup($db);
/*
* Actions
*/
if ($action == "view_ticketlist") {
$error = 0;
$display_ticket_list = false;
@ -82,7 +89,8 @@ if ($action == "view_ticketlist") {
}
if (!$error) {
$ret = $object->fetch('', '', $track_id);
$ret = $object->fetch('', '', $track_id);
if ($ret && $object->dao->id > 0) {
// vérifie si l'adresse email est bien dans les contacts du ticket
$contacts = $object->dao->liste_contact(-1, 'external');
@ -118,6 +126,7 @@ if ($action == "view_ticketlist") {
$action = '';
}
}
$object->doActions($action);
@ -143,11 +152,13 @@ if (!$conf->global->TICKETS_ENABLE_PUBLIC_INTERFACE) {
print '<div style="margin: 0 auto; width:60%">';
if ($action == "view_ticketlist") {
if ($action == "view_ticketlist")
{
if ($display_ticket_list) {
// Filters
$search_fk_status = GETPOST("search_fk_status", 'alpha');
$search_subject = GETPOST("search_subject");
$search_subject = GETPOST("search_subject", 'alpha');
$search_type = GETPOST("search_type", 'alpha');
$search_category = GETPOST("search_category", 'alpha');
$search_severity = GETPOST("search_severity", 'alpha');
@ -269,7 +280,7 @@ if ($action == "view_ticketlist") {
$pagenext = $page + 1;
// Request SQL
$sql = "SELECT";
$sql = "SELECT DISTINCT";
$sql .= " t.rowid,";
$sql .= " t.ref,";
$sql .= " t.track_id,";
@ -311,12 +322,12 @@ if ($action == "view_ticketlist") {
$sql .= " LEFT JOIN " . MAIN_DB_PREFIX . "ticketsup_extrafields as ef on (t.rowid = ef.fk_object)";
}
$sql .= " WHERE t.entity IN (" . getEntity('ticketsup') . ")";
$sql .= " AND tc.source = 'external'";
$sql .= " AND tc.element='" . $object->dao->element . "'";
$sql .= " AND tc.active=1";
$sql .= " AND (sp.email='" . $db->escape($_SESSION['email_customer']) . "'";
$sql .= " AND ((tc.source = 'external'";
$sql .= " AND tc.element='" . $db->escape($object->dao->element) . "'";
$sql .= " AND tc.active=1)";
$sql .= " OR (sp.email='" . $db->escape($_SESSION['email_customer']) . "'";
$sql .= " OR s.email='" . $db->escape($_SESSION['email_customer']) . "'";
$sql .= " OR t.origin_email='" . $db->escape($_SESSION['email_customer']) . "')";
$sql .= " OR t.origin_email='" . $db->escape($_SESSION['email_customer']) . "'))";
// Manage filter
if (!empty($filter)) {
foreach ($filter as $key => $value) {
@ -335,7 +346,7 @@ if ($action == "view_ticketlist") {
}
}
}
$sql .= " GROUP BY t.track_id";
//$sql .= " GROUP BY t.track_id";
$sql .= " ORDER BY " . $sortfield . ' ' . $sortorder;
$resql = $db->query($sql);
@ -440,9 +451,9 @@ if ($action == "view_ticketlist") {
// Status
if (!empty($arrayfields['t.fk_statut']['checked'])) {
print '<td>';
print '<td class="liste_titre">';
$selected = ($search_fk_status != "non_closed" ? $search_fk_status : '');
$object->printSelectStatus($selected);
//$object->printSelectStatus($selected);
print '</td>';
}
@ -495,16 +506,15 @@ if ($action == "view_ticketlist") {
}
}
print '<td class="liste_titre" align="right">';
print '<td class="liste_titre nowraponall" align="right">';
print '<input type="image" class="liste_titre" name="button_search" src="' . img_picto($langs->trans("Search"), 'search.png', '', '', 1) . '" value="' . dol_escape_htmltag($langs->trans("Search")) . '" title="' . dol_escape_htmltag($langs->trans("Search")) . '">';
print '<input type="image" class="liste_titre" name="button_removefilter" src="' . img_picto($langs->trans("Search"), 'searchclear.png', '', '', 1) . '" value="' . dol_escape_htmltag($langs->trans("RemoveFilter")) . '" title="' . dol_escape_htmltag($langs->trans("RemoveFilter")) . '">';
print '</td>';
print '</tr>';
$var = true;
while ($obj = $db->fetch_object($resql)) {
$var = !$var;
print "<tr " . $bc[$var] . ">";
while ($obj = $db->fetch_object($resql))
{
print '<tr class="oddeven">';
// Date ticket
if (!empty($arrayfields['t.datec']['checked'])) {
@ -580,11 +590,11 @@ if ($action == "view_ticketlist") {
// Message author
if (!empty($arrayfields['t.fk_user_create']['checked'])) {
print '<td>';
if ($obj->fk_user_create) {
if ($obj->fk_user_create > 0) {
$user_create->firstname = (!empty($obj->user_create_firstname) ? $obj->user_create_firstname : '');
$user_create->name = (!empty($obj->user_create_lastname) ? $obj->user_create_lastname : '');
$user_create->id = (!empty($obj->fk_user_create) ? $obj->fk_user_create : '');
print $user_create->getFullName();
print $user_create->getFullName($langs);
} else {
print $langs->trans('Email');
}
@ -594,11 +604,11 @@ if ($action == "view_ticketlist") {
// Assigned author
if (!empty($arrayfields['t.fk_user_assign']['checked'])) {
print '<td>';
if ($obj->fk_user_assign) {
if ($obj->fk_user_assig > 0) {
$user_assign->firstname = (!empty($obj->user_assign_firstname) ? $obj->user_assign_firstname : '');
$user_assign->lastname = (!empty($obj->user_assign_lastname) ? $obj->user_assign_lastname : '');
$user_assign->id = (!empty($obj->fk_user_assign) ? $obj->fk_user_assign : '');
print $user_assign->getFullName();
print $user_assign->getFullName($langs);
} else {
print $langs->trans('None');
}

View File

@ -40,9 +40,7 @@ require_once DOL_DOCUMENT_ROOT.'/core/class/html.formticketsup.class.php';
require_once DOL_DOCUMENT_ROOT.'/core/lib/ticketsup.lib.php';
// Load traductions files requiredby by page
$langs->load("companies");
$langs->load("other");
$langs->load("ticketsup");
$langs->loadLangs(array("companies","other","ticketsup"));
// Get parameters
$track_id = GETPOST('track_id', 'alpha');
@ -58,6 +56,11 @@ if (isset($_SESSION['email_customer'])) {
$object = new ActionsTicketsup($db);
/*
* Actions
*/
if ($action == "view_ticket" || $action == "add_message" || $action == "close" || $action == "confirm_public_close" || $action == "new_public_message") {
$error = 0;
$display_ticket = false;
@ -116,16 +119,18 @@ if ($action == "view_ticket" || $action == "add_message" || $action == "close" |
}
$object->doActions($action);
/***************************************************
* VIEW
*
****************************************************/
/*
* View
*/
$form = new Form($db);
$formticket = new FormTicketsup($db);
$arrayofjs = array();
$arrayofcss = array('/ticketsup/css/styles.css.php');
llxHeaderTicket($langs->trans("Tickets"), "", 0, 0, $arrayofjs, $arrayofcss);
if (!$conf->global->TICKETS_ENABLE_PUBLIC_INTERFACE) {
@ -151,17 +156,17 @@ if ($action == "view_ticket" || $action == "add_message" || $action == "close" |
print '<table class="border" style="width:100%">';
// Ref
print '<tr><td style="width:40%">' . $langs->trans("Ref") . '</td><td>';
print '<tr><td class="titlefield">' . $langs->trans("Ref") . '</td><td>';
print $object->dao->ref;
print '</td></tr>';
// Tracking ID
print '<tr><td style="width:40%">' . $langs->trans("TicketTrackId") . '</td><td>';
print '<tr><td>' . $langs->trans("TicketTrackId") . '</td><td>';
print $object->dao->track_id;
print '</td></tr>';
// Subject
print '<tr><td><strong>' . $langs->trans("Subject") . '</strong></td><td>';
print '<tr><td>' . $langs->trans("Subject") . '</td><td>';
print $object->dao->subject;
print '</td></tr>';
@ -218,7 +223,7 @@ if ($action == "view_ticket" || $action == "add_message" || $action == "close" |
}
// User assigned
print '<tr><td>' . $langs->trans("UserAssignedTo") . '</td><td>';
print '<tr><td>' . $langs->trans("AssignedTo") . '</td><td>';
if ($object->dao->fk_user_assign > 0) {
$fuser = new User($db);
$fuser->fetch($object->dao->fk_user_assign);