diff --git a/htdocs/admin/dict.php b/htdocs/admin/dict.php
index 0a812f5d6e2..224d321a0cf 100644
--- a/htdocs/admin/dict.php
+++ b/htdocs/admin/dict.php
@@ -1571,7 +1571,6 @@ if ($id > 0) {
unset($fieldlist[2]); // Remove field ??? if dictionary Regions
}
-
if (empty($reshook)) {
fieldList($fieldlist, $obj, $tabname[$id], 'add');
}
@@ -2531,7 +2530,7 @@ function fieldList($fieldlist, $obj = '', $tabname = '', $context = '')
$classtd = 'right'; $class = 'maxwidth50 right';
}
if (in_array($fieldlist[$field], array('pos', 'position'))) {
- $classtd = 'center'; $class = 'maxwidth50 center';
+ $classtd = 'right'; $class = 'maxwidth50 right';
}
if (in_array($fieldlist[$field], array('dayrule', 'day', 'month', 'year', 'use_default', 'affect', 'delay', 'public', 'sortorder', 'sens', 'category_type', 'fk_parent'))) {
$class = 'maxwidth50 center';
diff --git a/htdocs/core/ajax/fetchKnowledgeRecord.php b/htdocs/core/ajax/fetchKnowledgeRecord.php
index 1816217cdef..61ed0f6f98e 100644
--- a/htdocs/core/ajax/fetchKnowledgeRecord.php
+++ b/htdocs/core/ajax/fetchKnowledgeRecord.php
@@ -36,8 +36,10 @@ if (!defined('NOREQUIREMENU')) {
define('NOREQUIREMENU', '1');
}
// If there is no need to load and show top and left menu
-if (!defined("NOLOGIN")) {
- define("NOLOGIN", '1');
+if (!empty($_GET['public'])) {
+ if (!defined("NOLOGIN")) {
+ define("NOLOGIN", '1');
+ }
}
if (!defined('NOIPCHECK')) {
define('NOIPCHECK', '1'); // Do not check IP defined into conf $dolibarr_main_restrict_ip
@@ -52,6 +54,7 @@ $idticketgroup = GETPOST('idticketgroup', 'aZ09');
$idticketgroup = GETPOST('idticketgroup', 'aZ09');
$lang = GETPOST('lang', 'aZ09');
+
/*
* Actions
*/
@@ -71,8 +74,13 @@ if ($action == "getKnowledgeRecord") {
$sql .= " FROM ".MAIN_DB_PREFIX."knowledgemanagement_knowledgerecord as kr ";
$sql .= " JOIN ".MAIN_DB_PREFIX."c_ticket_category as ctc ON ctc.rowid = kr.fk_c_ticket_category";
$sql .= " WHERE ctc.code = '".$db->escape($idticketgroup)."'";
- $sql .= " AND ctc.active = 1 AND ctc.public = 1 AND (kr.lang = '".$db->escape($lang)."' OR kr.lang = 0 OR kr.lang IS NULL)";
+ $sql .= " AND ctc.active = 1";
+ if (defined("NOLOGIN")) {
+ $sql .= " AND ctc.public = 1";
+ }
+ $sql .= " AND (kr.lang = '".$db->escape($lang)."' OR kr.lang = 0 OR kr.lang IS NULL)";
$sql .= " AND kr.status = 1 AND (kr.answer IS NOT NULL AND kr.answer <> '')";
+
$resql = $db->query($sql);
if ($resql) {
$num = $db->num_rows($resql);
diff --git a/htdocs/core/class/html.formticket.class.php b/htdocs/core/class/html.formticket.class.php
index fd83d4fbd45..4f3ae4bc5e6 100644
--- a/htdocs/core/class/html.formticket.class.php
+++ b/htdocs/core/class/html.formticket.class.php
@@ -340,26 +340,9 @@ class FormTicket
$this->selectSeveritiesTickets((GETPOST('severity_code') ? GETPOST('severity_code') : $this->severity_code), 'severity_code', '', 2, 1);
print '';
- // Subject
- if ($this->withtitletopic) {
- print '
| ';
- // Answer to a ticket : display of the thread title in readonly
- if ($this->withtopicreadonly) {
- print $langs->trans('SubjectAnswerToTicket').' '.$this->topic_title;
- } else {
- if (isset($this->withreadid) && $this->withreadid > 0) {
- $subject = $langs->trans('SubjectAnswerToTicket').' '.$this->withreadid.' : '.$this->topic_title.'';
- } else {
- $subject = GETPOST('subject', 'alpha');
- }
- print '';
- }
- print ' |
';
- }
-
if (!empty($conf->knowledgemanagement->enabled)) {
// KM Articles
- print '
';
+ print ' |
';
print '
'."\n";
}
+ // Subject
+ if ($this->withtitletopic) {
+ print ' | ';
+ // Answer to a ticket : display of the thread title in readonly
+ if ($this->withtopicreadonly) {
+ print $langs->trans('SubjectAnswerToTicket').' '.$this->topic_title;
+ } else {
+ if (isset($this->withreadid) && $this->withreadid > 0) {
+ $subject = $langs->trans('SubjectAnswerToTicket').' '.$this->withreadid.' : '.$this->topic_title.'';
+ } else {
+ $subject = GETPOST('subject', 'alpha');
+ }
+ print 'withemail)?' autofocus':'').' />';
+ }
+ print ' |
';
+ }
+
// MESSAGE
$msg = GETPOSTISSET('message') ? GETPOST('message', 'restricthtml') : '';
print ' | ';
@@ -846,6 +851,8 @@ class FormTicket
print ' selected="selected"';
} elseif ($arraycategories['use_default'] == "1" && !$selected && !$empty) {
print ' selected="selected"';
+ } elseif (count($ticketstat->cache_category_tickets) == 1) {
+ print ' selected="selected"';
}
print '>';
diff --git a/htdocs/core/triggers/interface_50_modTicket_TicketEmail.class.php b/htdocs/core/triggers/interface_50_modTicket_TicketEmail.class.php
index 089629234d6..99b8210644c 100644
--- a/htdocs/core/triggers/interface_50_modTicket_TicketEmail.class.php
+++ b/htdocs/core/triggers/interface_50_modTicket_TicketEmail.class.php
@@ -274,7 +274,7 @@ class InterfaceTicketEmail extends DolibarrTriggers
$message_admin = $langs->transnoentities($body, $object->track_id).' ';
$message_admin .= '- '.$langs->trans('Title').' : '.$object->subject.'
';
$message_admin .= '- '.$langs->trans('Type').' : '.$langs->getLabelFromKey($this->db, 'TicketTypeShort'.$object->type_code, 'c_ticket_type', 'code', 'label', $object->type_code).'
';
- $message_admin .= '- '.$langs->trans('Category').' : '.$langs->getLabelFromKey($this->db, 'TicketCategoryShort'.$object->category_code, 'c_ticket_category', 'code', 'label', $object->category_code).'
';
+ $message_admin .= '- '.$langs->trans('TicketCategory').' : '.$langs->getLabelFromKey($this->db, 'TicketCategoryShort'.$object->category_code, 'c_ticket_category', 'code', 'label', $object->category_code).'
';
$message_admin .= '- '.$langs->trans('Severity').' : '.$langs->getLabelFromKey($this->db, 'TicketSeverityShort'.$object->severity_code, 'c_ticket_severity', 'code', 'label', $object->severity_code).'
';
$message_admin .= '- '.$langs->trans('From').' : '.($object->email_from ? $object->email_from : ($object->fk_user_create > 0 ? $langs->trans('Internal') : '')).'
';
// Extrafields
@@ -343,7 +343,7 @@ class InterfaceTicketEmail extends DolibarrTriggers
$message_customer = $langs->transnoentities($body, $object->track_id).' ';
$message_customer .= '- '.$langs->trans('Title').' : '.$object->subject.'
';
$message_customer .= '- '.$langs->trans('Type').' : '.$langs->getLabelFromKey($this->db, 'TicketTypeShort'.$object->type_code, 'c_ticket_type', 'code', 'label', $object->type_code).'
';
- $message_customer .= '- '.$langs->trans('Category').' : '.$langs->getLabelFromKey($this->db, 'TicketCategoryShort'.$object->category_code, 'c_ticket_category', 'code', 'label', $object->category_code).'
';
+ $message_customer .= '- '.$langs->trans('TicketCategory').' : '.$langs->getLabelFromKey($this->db, 'TicketCategoryShort'.$object->category_code, 'c_ticket_category', 'code', 'label', $object->category_code).'
';
$message_customer .= '- '.$langs->trans('Severity').' : '.$langs->getLabelFromKey($this->db, 'TicketSeverityShort'.$object->severity_code, 'c_ticket_severity', 'code', 'label', $object->severity_code).'
';
// Extrafields
diff --git a/htdocs/langs/en_US/ticket.lang b/htdocs/langs/en_US/ticket.lang
index ea560012afc..7cb36b3bd0c 100644
--- a/htdocs/langs/en_US/ticket.lang
+++ b/htdocs/langs/en_US/ticket.lang
@@ -183,7 +183,7 @@ CreatedBy=Created by
NewTicket=New Ticket
SubjectAnswerToTicket=Ticket answer
TicketTypeRequest=Request type
-TicketCategory=Ticket categorization
+TicketCategory=Ticket group
SeeTicket=See ticket
TicketMarkedAsRead=Ticket has been marked as read
TicketReadOn=Read on
diff --git a/htdocs/theme/eldy/global.inc.php b/htdocs/theme/eldy/global.inc.php
index aca2828da3b..5c99c56c1d0 100644
--- a/htdocs/theme/eldy/global.inc.php
+++ b/htdocs/theme/eldy/global.inc.php
@@ -5215,7 +5215,7 @@ div.visible {
display: block;
}
-div.hidden, header.hidden, td.hidden, img.hidden, span.hidden, div.showifmore {
+div.hidden, header.hidden, tr.hidden, td.hidden, img.hidden, span.hidden, div.showifmore {
display: none;
}
.unvisible {
diff --git a/htdocs/theme/md/style.css.php b/htdocs/theme/md/style.css.php
index 7a0f9749be8..93b501885fe 100644
--- a/htdocs/theme/md/style.css.php
+++ b/htdocs/theme/md/style.css.php
@@ -5211,7 +5211,7 @@ div.visible {
display: block;
}
-div.hidden, header.hidden, td.hidden, img.hidden, span.hidden, div.showifmore {
+div.hidden, header.hidden, tr.hidden, td.hidden, img.hidden, span.hidden, div.showifmore {
display: none;
}
diff --git a/htdocs/ticket/card.php b/htdocs/ticket/card.php
index 7cbb23c75c4..d46a787f983 100755
--- a/htdocs/ticket/card.php
+++ b/htdocs/ticket/card.php
@@ -726,7 +726,7 @@ if ($action == 'create' || $action == 'presend') {
print load_fiche_titre($langs->trans('NewTicket'), '', 'ticket');
- $formticket->trackid = ''; // TODO Use a unique key to avoid conflict in upload file feature
+ $formticket->trackid = ''; // TODO Use a unique key 'tic' to avoid conflict in upload file feature
$formticket->withfromsocid = $socid ? $socid : $user->socid;
$formticket->withfromcontactid = $contactid ? $contactid : '';
$formticket->withtitletopic = 1;
@@ -737,7 +737,6 @@ if ($action == 'create' || $action == 'presend') {
$formticket->withfile = 2;
$formticket->withextrafields = 1;
$formticket->param = array('origin' => GETPOST('origin'), 'originid' => GETPOST('originid'));
- $formticket->trackid = 'tic'.$object->id;
$formticket->withcancel = 1;
|