mirror of
https://github.com/Dolibarr/dolibarr.git
synced 2025-12-06 01:28:19 +01:00
Fix : KM articles in public/ticket/create_ticket.php
This commit is contained in:
@@ -54,7 +54,6 @@ $action = GETPOST('action', 'aZ09');
|
|||||||
$idticketgroup = GETPOST('idticketgroup', 'aZ09');
|
$idticketgroup = GETPOST('idticketgroup', 'aZ09');
|
||||||
$idticketgroup = GETPOST('idticketgroup', 'aZ09');
|
$idticketgroup = GETPOST('idticketgroup', 'aZ09');
|
||||||
$lang = GETPOST('lang', 'aZ09');
|
$lang = GETPOST('lang', 'aZ09');
|
||||||
$popupurl = GETPOST('popupurl', 'bool');
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Actions
|
* Actions
|
||||||
@@ -69,13 +68,12 @@ $popupurl = GETPOST('popupurl', 'bool');
|
|||||||
|
|
||||||
if ($action == "getKnowledgeRecord") {
|
if ($action == "getKnowledgeRecord") {
|
||||||
$response = '';
|
$response = '';
|
||||||
$sql = "SELECT kr.rowid, kr.ref, kr.question, kr.answer,l.url,ctc.code";
|
$sql = "SELECT kr.rowid, kr.ref, kr.question, kr.answer,kr.url,ctc.code";
|
||||||
$sql .= " FROM ".MAIN_DB_PREFIX."links as l";
|
$sql .= " FROM ".MAIN_DB_PREFIX."knowledgemanagement_knowledgerecord as kr ";
|
||||||
$sql .= " INNER JOIN ".MAIN_DB_PREFIX."knowledgemanagement_knowledgerecord as kr ON kr.rowid = l.objectid";
|
$sql .= " JOIN ".MAIN_DB_PREFIX."c_ticket_category as ctc ON ctc.rowid = kr.fk_c_ticket_category";
|
||||||
$sql .= " INNER 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 .= " 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)";
|
$sql .= " AND ctc.active = 1 AND ctc.public = 1 AND (kr.lang = '".$db->escape($lang)."' OR kr.lang = 0 OR kr.lang = NULL)";
|
||||||
$sql .= " AND kr.status = 1";
|
$sql .= " AND kr.status = 1 AND (kr.answer != 0 OR kr.answer != NULL OR kr.answer != \"\")";
|
||||||
$resql = $db->query($sql);
|
$resql = $db->query($sql);
|
||||||
if ($resql) {
|
if ($resql) {
|
||||||
$num = $db->num_rows($resql);
|
$num = $db->num_rows($resql);
|
||||||
@@ -83,33 +81,7 @@ if ($action == "getKnowledgeRecord") {
|
|||||||
$response = array();
|
$response = array();
|
||||||
while ($i < $num) {
|
while ($i < $num) {
|
||||||
$obj = $db->fetch_object($resql);
|
$obj = $db->fetch_object($resql);
|
||||||
if ($popupurl == "false") {
|
$response[] = array('title'=>$obj->question,'ref'=>$obj->ref,'answer'=>dol_escape_htmltag(preg_replace('/\\r|\\r\\n|\\n/', "", $obj->answer)),'url'=>$obj->url);
|
||||||
$url = "<a href=\"".$obj->url. "\" target=\"_blank\">".$obj->url."</a></li>";
|
|
||||||
$response[] = array('title'=>$obj->question,'ref'=>$obj->url,'answer'=>$obj->answer,'url'=>$url);
|
|
||||||
} else {
|
|
||||||
$name = $obj->ref;
|
|
||||||
$buttonstring = $obj->url;
|
|
||||||
$url = $obj->url;
|
|
||||||
$urltoprint = '<a class="button_'.$name.'" style="cursor:pointer">'.$buttonstring.'</a>';
|
|
||||||
$urltoprint .= '<!-- Add js code to open dialog popup on dialog -->';
|
|
||||||
$urltoprint .= '<script language="javascript">
|
|
||||||
jQuery(document).ready(function () {
|
|
||||||
jQuery(".button_'.$name.'").click(function () {
|
|
||||||
console.log("Open popup with jQuery(...).dialog() on URL '.dol_escape_js($url).'")
|
|
||||||
var $dialog = $(\'<div></div>\').html(\'<iframe class="iframedialog" style="border: 0px;" src="'.$url.'" width="100%" height="98%"></iframe>\')
|
|
||||||
.dialog({
|
|
||||||
autoOpen: false,
|
|
||||||
modal: true,
|
|
||||||
height: (window.innerHeight - 150),
|
|
||||||
width: \'80%\',
|
|
||||||
title: "'.dol_escape_js($label).'"
|
|
||||||
});
|
|
||||||
$dialog.dialog(\'open\');
|
|
||||||
});
|
|
||||||
});
|
|
||||||
</script>';
|
|
||||||
$response[] = array('title'=>$obj->question,'ref'=>$obj->url,'answer'=>$obj->answer,'url'=>$urltoprint);
|
|
||||||
}
|
|
||||||
$i++;
|
$i++;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -258,43 +258,41 @@ class FormTicket
|
|||||||
|
|
||||||
if (idgroupticket != "") {
|
if (idgroupticket != "") {
|
||||||
$.ajax({ url: \''.DOL_URL_ROOT.'/core/ajax/fetchKnowledgeRecord.php\',
|
$.ajax({ url: \''.DOL_URL_ROOT.'/core/ajax/fetchKnowledgeRecord.php\',
|
||||||
data: { action: \'getKnowledgeRecord\', idticketgroup: idgroupticket, token: \''.newToken().'\', lang:\''.$langs->defaultlang.'\', popupurl:false},
|
data: { action: \'getKnowledgeRecord\', idticketgroup: idgroupticket, token: \''.newToken().'\', lang:\''.$langs->defaultlang.'\'},
|
||||||
type: \'GET\',
|
type: \'GET\',
|
||||||
success: function(response) {
|
success: function(response) {
|
||||||
var urllist = \'\';
|
var urllist = \'\';
|
||||||
console.log("We received response "+response);
|
console.log("We received response "+response);
|
||||||
response = JSON.parse(response)
|
response = JSON.parse(response)
|
||||||
for (key in response) {
|
for (key in response) {
|
||||||
console.log(response[key])
|
answer = response[key].answer;
|
||||||
urllist += "<li>" + response[key].title + ": " +response[key].url+"</li>";
|
urllist += \'<li><a href="#" title="\'+response[key].title+\'" class="button_KMpopup" data-html="\'+answer+\'">\' +response[key].title+\'</a></li>\';
|
||||||
}
|
}
|
||||||
if (urllist != "") {
|
if (urllist != "") {
|
||||||
console.log(urllist)
|
$("#KWwithajax").html(\'<td>'.$langs->trans("KMFoundForTicketGroup").'</td><td><ul>\'+urllist+\'</ul></td>\');
|
||||||
$("#KWwithajax").html(\'<td>'.$langs->trans("KMFoundForTicketGroup").'</td><td><ul style="list-style:none;padding-left: 0;">\'+urllist+\'</ul></td>\');
|
|
||||||
$("#KWwithajax").show();
|
$("#KWwithajax").show();
|
||||||
|
$(".button_KMpopup").on("click",function(){
|
||||||
|
console.log("Open popup with jQuery(...).dialog() with KM article")
|
||||||
|
var $dialog = $("<div></div>").html($(this).attr("data-html"))
|
||||||
|
.dialog({
|
||||||
|
autoOpen: false,
|
||||||
|
modal: true,
|
||||||
|
height: (window.innerHeight - 150),
|
||||||
|
width: "80%",
|
||||||
|
title: $(this).attr("title"),
|
||||||
|
});
|
||||||
|
$dialog.dialog("open");
|
||||||
|
console.log($dialog);
|
||||||
|
})
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
error : function(output) {
|
error : function(output) {
|
||||||
console.log("error");
|
console.error("Error on Fetch of KM articles");
|
||||||
},
|
},
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
$("#selectcategory_code").bind("change",function() { groupticketchange(); });
|
$("#selectcategory_code").on("change",function() { groupticketchange(); });
|
||||||
MutationObserver = window.MutationObserver || window.WebKitMutationObserver;
|
|
||||||
var trackChange = function(element) {
|
|
||||||
var observer = new MutationObserver(function(mutations, observer) {
|
|
||||||
if (mutations[0].attributeName == "value") {
|
|
||||||
$(element).trigger("change");
|
|
||||||
}
|
|
||||||
});
|
|
||||||
observer.observe(element, {
|
|
||||||
attributes: true
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
trackChange($("#selectcategory_code")[0]);
|
|
||||||
|
|
||||||
if ($("#selectcategory_code").val() != "") {
|
if ($("#selectcategory_code").val() != "") {
|
||||||
groupticketchange();
|
groupticketchange();
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user