mirror of
https://github.com/fusionpbx/fusionpbx.git
synced 2026-01-26 10:39:17 +00:00
Call Center Active: Add agent status filter (#7702)
* Call Center Active: Add agent status filter dropdown * Update call_center_active_inc.php * Update app_languages.php * Update call_center_active.php
This commit is contained in:
@@ -1188,4 +1188,137 @@ $text['description-active_call_center']['zh-cn'] = "从下面的列表中选择
|
||||
$text['description-active_call_center']['ja-jp'] = "以下のリストからコール センター キューを選択して、そのアクティビティを表示します。";
|
||||
$text['description-active_call_center']['ko-kr'] = "활동을 보려면 아래 목록에서 콜 센터 대기열을 선택하십시오.";
|
||||
|
||||
?>
|
||||
$text['label-available']['en-us'] = "Available";
|
||||
$text['label-available']['en-gb'] = "Available";
|
||||
$text['label-available']['ar-eg'] = "متوفر";
|
||||
$text['label-available']['de-at'] = "Verfügbar";
|
||||
$text['label-available']['de-ch'] = "Verfügbar";
|
||||
$text['label-available']['de-de'] = "Verfügbar";
|
||||
$text['label-available']['el-gr'] = "Διαθέσιμο";
|
||||
$text['label-available']['es-cl'] = "Disponible";
|
||||
$text['label-available']['es-mx'] = "Disponible";
|
||||
$text['label-available']['fr-ca'] = "Disponible";
|
||||
$text['label-available']['fr-fr'] = "Disponible";
|
||||
$text['label-available']['he-il'] = "זמין";
|
||||
$text['label-available']['it-it'] = "Disponibile";
|
||||
$text['label-available']['ka-ge'] = "ხელმានია";
|
||||
$text['label-available']['nl-nl'] = "Beschikbaar";
|
||||
$text['label-available']['pl-pl'] = "Dostępny";
|
||||
$text['label-available']['pt-br'] = "Disponível";
|
||||
$text['label-available']['pt-pt'] = "Disponível";
|
||||
$text['label-available']['ro-ro'] = "Disponibil";
|
||||
$text['label-available']['ru-ru'] = "Доступно";
|
||||
$text['label-available']['sv-se'] = "Tillgänglig";
|
||||
$text['label-available']['uk-ua'] = "Доступний";
|
||||
$text['label-available']['tr-tr'] = "Kullanılabilir";
|
||||
$text['label-available']['zh-cn'] = "可用";
|
||||
$text['label-available']['ja-jp'] = "利用可能";
|
||||
$text['label-available']['ko-kr'] = "사용 가능";
|
||||
|
||||
$text['label-available_on_demand']['en-us'] = "Available (On Demand)";
|
||||
$text['label-available_on_demand']['en-gb'] = "Available (On Demand)";
|
||||
$text['label-available_on_demand']['ar-eg'] = "متوفر (عند الطلب)";
|
||||
$text['label-available_on_demand']['de-at'] = "Verfügbar (auf Anfrage)";
|
||||
$text['label-available_on_demand']['de-ch'] = "Verfügbar (auf Anfrage)";
|
||||
$text['label-available_on_demand']['de-de'] = "Verfügbar (auf Anfrage)";
|
||||
$text['label-available_on_demand']['el-gr'] = "Διαθέσιμο (κατά πρότυπο)";
|
||||
$text['label-available_on_demand']['es-cl'] = "Disponible (A petición)";
|
||||
$text['label-available_on_demand']['es-mx'] = "Disponible (A petición)";
|
||||
$text['label-available_on_demand']['fr-ca'] = "Disponible (À la demande)";
|
||||
$text['label-available_on_demand']['fr-fr'] = "Disponible (À la demande)";
|
||||
$text['label-available_on_demand']['he-il'] = "זמין (לפי בקשה)";
|
||||
$text['label-available_on_demand']['it-it'] = "Disponibile (su richiesta)";
|
||||
$text['label-available_on_demand']['ka-ge'] = "ხელმასնიანი (შეკვეთის ფუძის)" ;
|
||||
$text['label-available_on_demand']['nl-nl'] = "Beschikbaar (op aanvraag)";
|
||||
$text['label-available_on_demand']['pl-pl'] = "Dostępny (na żądanie)";
|
||||
$text['label-available_on_demand']['pt-br'] = "Disponível (Sob Demanda)";
|
||||
$text['label-available_on_demand']['pt-pt'] = "Disponível (Por Pedido)";
|
||||
$text['label-available_on_demand']['ro-ro'] = "Disponibil (Pe Cerere)";
|
||||
$text['label-available_on_demand']['ru-ru'] = "Доступно (по запросу)";
|
||||
$text['label-available_on_demand']['sv-se'] = "Tillgänglig (på begäran)";
|
||||
$text['label-available_on_demand']['uk-ua'] = "Доступний (за запитом)";
|
||||
$text['label-available_on_demand']['tr-tr'] = "İsteğe Göre Kullanılabilir";
|
||||
$text['label-available_on_demand']['zh-cn'] = "按需可用";
|
||||
$text['label-available_on_demand']['ja-jp'] = "需要時に利用可能";
|
||||
$text['label-available_on_demand']['ko-kr'] = "요청 시 사용 가능";
|
||||
|
||||
$text['label-not_available']['en-us'] = "Not Available";
|
||||
$text['label-not_available']['en-gb'] = "Not Available";
|
||||
$text['label-not_available']['ar-eg'] = "غير متاح";
|
||||
$text['label-not_available']['de-at'] = "Nicht verfügbar";
|
||||
$text['label-not_available']['de-ch'] = "Nicht verfügbar";
|
||||
$text['label-not_available']['de-de'] = "Nicht verfügbar";
|
||||
$text['label-not_available']['el-gr'] = "Μη Διαθέσιμο";
|
||||
$text['label-not_available']['es-cl'] = "No disponible";
|
||||
$text['label-not_available']['es-mx'] = "No disponible";
|
||||
$text['label-not_available']['fr-ca'] = "Non disponible";
|
||||
$text['label-not_available']['fr-fr'] = "Non disponible";
|
||||
$text['label-not_available']['he-il'] = "לא זמין";
|
||||
$text['label-not_available']['it-it'] = "Non disponibile";
|
||||
$text['label-not_available']['ka-ge'] = "უხელმასწავლებელი";
|
||||
$text['label-not_available']['nl-nl'] = "Niet beschikbaar";
|
||||
$text['label-not_available']['pl-pl'] = "Niedostępny";
|
||||
$text['label-not_available']['pt-br'] = "Indisponível";
|
||||
$text['label-not_available']['pt-pt'] = "Indisponível";
|
||||
$text['label-not_available']['ro-ro'] = "Indisponibil";
|
||||
$text['label-not_available']['ru-ru'] = "Недоступно";
|
||||
$text['label-not_available']['sv-se'] = "Inte tillgänglig";
|
||||
$text['label-not_available']['uk-ua'] = "Недоступний";
|
||||
$text['label-not_available']['tr-tr'] = "Kullanılamıyor";
|
||||
$text['label-not_available']['zh-cn'] = "不可用";
|
||||
$text['label-not_available']['ja-jp'] = "利用できません";
|
||||
$text['label-not_available']['ko-kr'] = "사용 불가";
|
||||
|
||||
$text['label-on_break']['en-us'] = "On Break";
|
||||
$text['label-on_break']['en-gb'] = "On Break";
|
||||
$text['label-on_break']['ar-eg'] = "في الإسترخاء";
|
||||
$text['label-on_break']['de-at'] = "Pausa";
|
||||
$text['label-on_break']['de-ch'] = "Pause";
|
||||
$text['label-on_break']['de-de'] = "Pause";
|
||||
$text['label-on_break']['el-gr'] = "Παύση";
|
||||
$text['label-on_break']['es-cl'] = "En pausa";
|
||||
$text['label-on_break']['es-mx'] = "En pausa";
|
||||
$text['label-on_break']['fr-ca'] = "Pause";
|
||||
$text['label-on_break']['fr-fr'] = "Pause";
|
||||
$text['label-on_break']['he-il'] = "במנוחה";
|
||||
$text['label-on_break']['it-it'] = "In pausa";
|
||||
$text['label-on_break']['ka-ge'] = "კავშირება პაუზაში";
|
||||
$text['label-on_break']['nl-nl'] = "Pauze";
|
||||
$text['label-on_break']['pl-pl'] = "Na przerwie";
|
||||
$text['label-on_break']['pt-br'] = "Em pausa";
|
||||
$text['label-on_break']['pt-pt'] = "Em pausa";
|
||||
$text['label-on_break']['ro-ro'] = "În pauză";
|
||||
$text['label-on_break']['ru-ru'] = "Перерыв";
|
||||
$text['label-on_break']['sv-se'] = "Paus";
|
||||
$text['label-on_break']['uk-ua'] = "В паузі";
|
||||
$text['label-on_break']['tr-tr'] = "Mola";
|
||||
$text['label-on_break']['zh-cn'] = "休息中";
|
||||
$text['label-on_break']['ja-jp'] = "休憩中";
|
||||
$text['label-on_break']['ko-kr'] = "쉬는 시간";
|
||||
|
||||
$text['label-logged_out']['en-us'] = "Logged Out";
|
||||
$text['label-logged_out']['en-gb'] = "Logged Out";
|
||||
$text['label-logged_out']['ar-eg'] = "تسجيل خروج";
|
||||
$text['label-logged_out']['de-at'] = "Abgemeldet";
|
||||
$text['label-logged_out']['de-ch'] = "Abgemeldet";
|
||||
$text['label-logged_out']['de-de'] = "Abgemeldet";
|
||||
$text['label-logged_out']['el-gr'] = "Αποσυνδεδεμένος";
|
||||
$text['label-logged_out']['es-cl'] = "Desconectado";
|
||||
$text['label-logged_out']['es-mx'] = "Desconectado";
|
||||
$text['label-logged_out']['fr-ca'] = "Déconnecté";
|
||||
$text['label-logged_out']['fr-fr'] = "Déconnecté";
|
||||
$text['label-logged_out']['he-il'] = "התנתק";
|
||||
$text['label-logged_out']['it-it'] = "Disconnesso";
|
||||
$text['label-logged_out']['ka-ge'] = "გამოსვლილი";
|
||||
$text['label-logged_out']['nl-nl'] = "Afgemeld";
|
||||
$text['label-logged_out']['pl-pl'] = "Wylogowany";
|
||||
$text['label-logged_out']['pt-br'] = "Desconectado";
|
||||
$text['label-logged_out']['pt-pt'] = "Desconectado";
|
||||
$text['label-logged_out']['ro-ro'] = "Deconectat";
|
||||
$text['label-logged_out']['ru-ru'] = "Вышел из системы";
|
||||
$text['label-logged_out']['sv-se'] = "Utloggad";
|
||||
$text['label-logged_out']['uk-ua'] = "Вийшов з системи";
|
||||
$text['label-logged_out']['tr-tr'] = "Çıkış Yapıldı";
|
||||
$text['label-logged_out']['zh-cn'] = "已注销";
|
||||
$text['label-logged_out']['ja-jp'] = "ログアウト";
|
||||
$text['label-logged_out']['ko-kr'] = "로그아웃됨";
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
The Initial Developer of the Original Code is
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
Portions created by the Initial Developer are Copyright (C) 2008-2023
|
||||
Portions created by the Initial Developer are Copyright (C) 2008-2026
|
||||
the Initial Developer. All Rights Reserved.
|
||||
|
||||
Contributor(s):
|
||||
@@ -106,10 +106,31 @@
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
//filter agent list based on status
|
||||
document.querySelectorAll('tr[data-agent-status]').forEach(table_row => {
|
||||
const filter = '<?php echo isset($_GET['agent_status']) ? $_GET['agent_status'] : null; ?>';
|
||||
|
||||
if (filter === 'available' && !table_row.getAttribute('data-agent-status').includes('Available')) {
|
||||
table_row.style.display = 'none';
|
||||
}
|
||||
// else if (filter === 'on_demand' && !table_row.getAttribute('data-agent-status').includes('On Demand')) {
|
||||
// table_row.style.display = 'none';
|
||||
// }
|
||||
else if (filter === 'not_available' && table_row.getAttribute('data-agent-status').includes('Available')) {
|
||||
table_row.style.display = 'none';
|
||||
}
|
||||
else if (filter === 'on_break' && !table_row.getAttribute('data-agent-status').includes('On Break')) {
|
||||
table_row.style.display = 'none';
|
||||
}
|
||||
else if (filter === 'logged_out' && !table_row.getAttribute('data-agent-status').includes('Logged Out')) {
|
||||
table_row.style.display = 'none';
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
var requestTime = function() {
|
||||
var url = 'call_center_active_inc.php?queue_name=<?php echo escape($queue_name); ?>&name=<?php echo urlencode(escape($name)); ?>';
|
||||
var url = 'call_center_active_inc.php?queue_name=<?php echo escape($queue_name); ?>&name=<?php echo urlencode(escape($name)); ?>&agent_status=<?php echo escape($_GET['agent_status']); ?>';
|
||||
new loadXmlHttp(url, 'ajax_response');
|
||||
<?php
|
||||
|
||||
@@ -155,11 +176,32 @@
|
||||
|
||||
<?php
|
||||
|
||||
//show the response
|
||||
//show the content
|
||||
$agent_status = $_GET['agent_status'] ?? '';
|
||||
echo "<div class='action_bar' id='action_bar'>\n";
|
||||
echo " <div class='heading'><b>".$text['header-agents']."</b></div>\n";
|
||||
echo " <div class='actions'>\n";
|
||||
echo " <form id='frm' name='frm' method='GET'>\n";
|
||||
echo " <input type='hidden' name='queue_name' value='".escape($queue_name)."'>\n";
|
||||
echo " <input type='hidden' name='name' value='".urlencode(escape($_GET['name']))."'>\n";
|
||||
echo " <select class='formfld' name='agent_status' id='agent_status' onchange=\"document.getElementById('frm').submit();\">\n";
|
||||
echo " <option value='' selected disabled hidden>".$text['label-status']."...</option>";
|
||||
echo " <option value=''></option>\n";
|
||||
echo " <option value='available' ".($agent_status === 'available' ? 'selected' : null).">".$text['label-available']."</option>\n";
|
||||
//echo " <option value='on_demand' ".($agent_status === 'on_demand' ? 'selected' : null).">".$text['label-available_on_demand']."</option>\n";
|
||||
echo " <option value='not_available' ".($agent_status === 'not_available' ? 'selected' : null).">".$text['label-not_available']."</option>\n";
|
||||
echo " <option value='on_break' ".($agent_status === 'on_break' ? 'selected' : null).">".$text['label-on_break']."</option>\n";
|
||||
echo " <option value='logged_out' ".($agent_status === 'logged_out' ? 'selected' : null).">".$text['label-logged_out']."</option>\n";
|
||||
echo " </select>\n";
|
||||
echo " </form>\n";
|
||||
echo " </div>\n";
|
||||
echo " <div style='clear: both;'></div>\n";
|
||||
echo "</div>\n";
|
||||
echo $text['description-agents']."<br /><br />\n";
|
||||
|
||||
//show the response
|
||||
echo "<div id='ajax_response'></div>\n";
|
||||
echo "<br><br>";
|
||||
|
||||
//include the footer
|
||||
require_once "resources/footer.php";
|
||||
|
||||
?>
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
The Initial Developer of the Original Code is
|
||||
Mark J Crane <markjcrane@fusionpbx.com>
|
||||
Portions created by the Initial Developer are Copyright (C) 2008-2023
|
||||
Portions created by the Initial Developer are Copyright (C) 2008-2026
|
||||
the Initial Developer. All Rights Reserved.
|
||||
|
||||
Contributor(s):
|
||||
@@ -41,6 +41,7 @@
|
||||
|
||||
//get the queue uuid and set it as a variable
|
||||
$queue_uuid = $_GET['queue_name'];
|
||||
$name = $_GET['name'] ?? null;
|
||||
|
||||
//get the queues from the database
|
||||
if (empty($_SESSION['queues']) || !is_array($_SESSION['queues'])) {
|
||||
@@ -115,10 +116,6 @@
|
||||
|
||||
//get the agent list
|
||||
|
||||
//show the title
|
||||
echo "<b>".$text['header-agents']."</b><br />\n";
|
||||
echo $text['description-agents']."<br /><br />\n";
|
||||
|
||||
//send the event socket command and get the response
|
||||
//callcenter_config queue list tiers [queue_name] |
|
||||
$switch_command = 'callcenter_config queue list tiers '.$queue_extension."@".$_SESSION["domain_name"];
|
||||
@@ -224,7 +221,7 @@
|
||||
$talk_time = $agent_row['talk_time'];
|
||||
$ready_time = $agent_row['ready_time'];
|
||||
|
||||
//calcudate the length since status change and bridge end
|
||||
//calcudate the length since status change and bridge end
|
||||
$last_status_change_length = time() - $last_status_change;
|
||||
$last_bridge_end_length = time() - $last_bridge_end;
|
||||
|
||||
@@ -241,7 +238,7 @@
|
||||
$list_row_url = "../call_centers/call_center_agent_edit.php?id=".$agent_uuid;
|
||||
}
|
||||
|
||||
echo "<tr class='list-row' href='".$list_row_url."'>\n";
|
||||
echo "<tr class='list-row' href='".$list_row_url."' data-agent-status='".escape($status)."'>\n";
|
||||
echo "<td>";
|
||||
if (permission_exists('call_center_agent_edit')) {
|
||||
echo "<a href='".$list_row_url."'>".escape($agent_name)."</a>";
|
||||
@@ -400,5 +397,3 @@
|
||||
echo "</div>\n";
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user