Operator Panel: Extension icon now indicates Status (Available, On Break, etc).
This commit is contained in:
parent
b3b6dcfb61
commit
12e7b163a8
|
|
@ -20,4 +20,34 @@
|
|||
$text['label-no_extensions_found']['pt-pt'] = "Sem extensões encontrado.";
|
||||
$text['label-no_extensions_found']['fr-fr'] = "Aucun extensions trouvés.";
|
||||
|
||||
$text['label-status_available']['en-us'] = "Available";
|
||||
$text['label-status_available']['es-cl'] = "Disponible";
|
||||
$text['label-status_available']['pt-pt'] = "Disponível";
|
||||
$text['label-status_available']['fr-fr'] = "Disponible";
|
||||
|
||||
$text['label-status_available_on_demand']['en-us'] = "Available (On Demand)";
|
||||
$text['label-status_available_on_demand']['es-cl'] = "Disponible (A Pedido)";
|
||||
$text['label-status_available_on_demand']['pt-pt'] = "Disponível (A Pedido)";
|
||||
$text['label-status_available_on_demand']['fr-fr'] = "Disponble (sur demande)";
|
||||
|
||||
$text['label-status_logged_out']['en-us'] = "Logged Out";
|
||||
$text['label-status_logged_out']['es-cl'] = "Desconectado";
|
||||
$text['label-status_logged_out']['pt-pt'] = "Desligado";
|
||||
$text['label-status_logged_out']['fr-fr'] = "Déconnexion";
|
||||
|
||||
$text['label-status_logged_out_or_unknown']['en-us'] = "Logged Out / Unknown";
|
||||
$text['label-status_logged_out_or_unknown']['es-cl'] = "Desconectado / Desconocido";
|
||||
$text['label-status_logged_out_or_unknown']['pt-pt'] = "Desligado / Unknown";
|
||||
$text['label-status_logged_out_or_unknown']['fr-fr'] = "Déconnexion / Unknown";
|
||||
|
||||
$text['label-status_on_break']['en-us'] = "On Break";
|
||||
$text['label-status_on_break']['es-cl'] = "En Pausa";
|
||||
$text['label-status_on_break']['pt-pt'] = "Em Pausa";
|
||||
$text['label-status_on_break']['fr-fr'] = "En Pause";
|
||||
|
||||
$text['label-status_do_not_disturb']['en-us'] = "Do Not Disturb";
|
||||
$text['label-status_do_not_disturb']['es-cl'] = "No molestar";
|
||||
$text['label-status_do_not_disturb']['pt-pt'] = "Não Perturbar";
|
||||
$text['label-status_do_not_disturb']['fr-fr'] = "Ne pas déranger";
|
||||
|
||||
?>
|
||||
|
|
@ -144,8 +144,8 @@ foreach ($activity as $extension => $ext) {
|
|||
//determine extension draggable state
|
||||
if (!in_array($extension, $_SESSION['user']['extensions'])) {
|
||||
if ($ext_state == "ringing") {
|
||||
if ($_GET['vd_ext_from'] == '') {
|
||||
$draggable = true; // selectable - is ringing so can transfer away the call (can set as vd_ext_from)
|
||||
if ($_GET['vd_ext_from'] == '' && $dir_icon == 'inbound') {
|
||||
$draggable = true; // selectable - is ringing and not outbound so can transfer away the call (can set as vd_ext_from)
|
||||
}
|
||||
else {
|
||||
$draggable = false; // unselectable - is ringing so can't send a call to the ext (can't set as vd_ext_to)
|
||||
|
|
@ -176,12 +176,35 @@ foreach ($activity as $extension => $ext) {
|
|||
$draggable = true;
|
||||
}
|
||||
|
||||
//determine extension (user) status
|
||||
switch ($ext['user_status']) {
|
||||
case "Available" :
|
||||
$status_icon = "available";
|
||||
$status_hover = $text['label-status_available'];
|
||||
break;
|
||||
case "Available (On Demand)" :
|
||||
$status_icon = "available_on_demand";
|
||||
$status_hover = $text['label-status_available_on_demand'];
|
||||
break;
|
||||
case "On Break" :
|
||||
$status_icon = "on_break";
|
||||
$status_hover = $text['label-status_on_break'];
|
||||
break;
|
||||
case "Do Not Disturb" :
|
||||
$status_icon = "do_not_disturb";
|
||||
$status_hover = $text['label-status_do_not_disturb'];
|
||||
break;
|
||||
default :
|
||||
$status_icon = "logged_out";
|
||||
$status_hover = $text['label-status_logged_out_or_unknown'];
|
||||
}
|
||||
|
||||
$block .= "<div id='".$extension."' class='ext ".$style."' ".(($_GET['vd_ext_from'] == $extension || $_GET['vd_ext_to'] == $extension) ? "style='border-style: dotted;'" : null)." ".(($ext_state != 'active' && $ext_state != 'ringing') ? "ondrop='drop(event, this.id);' ondragover='allowDrop(event, this.id);' ondragleave='discardDrop(event, this.id);'" : null).">"; // DRAG TO
|
||||
$block .= "<table class='ext ".$style."'>";
|
||||
$block .= " <tr>";
|
||||
$block .= " <td class='ext_icon'>";
|
||||
$block .= " <span name='".$extension."'>"; // DRAG FROM
|
||||
$block .= "<img id='".$call_identifier."' class='ext_icon' src='resources/images/person.png' ".(($draggable) ? "draggable='true' ondragstart=\"drag(event, this.parentNode.getAttribute('name'));\" onclick=\"virtual_drag('".$call_identifier."', '".$extension."');\"" : "onfocus='this.blur();' draggable='false' style='cursor: not-allowed;'").">";
|
||||
$block .= "<img id='".$call_identifier."' class='ext_icon' src='resources/images/status_".$status_icon.".png' title='".$status_hover."' ".(($draggable) ? "draggable='true' ondragstart=\"drag(event, this.parentNode.getAttribute('name'));\" onclick=\"virtual_drag('".$call_identifier."', '".$extension."');\"" : "onfocus='this.blur();' draggable='false' style='cursor: not-allowed;'").">";
|
||||
$block .= "</span>";
|
||||
$block .= " </td>";
|
||||
$block .= " <td class='ext_info ".$style."'>";
|
||||
|
|
|
|||
|
|
@ -2,10 +2,23 @@
|
|||
function get_call_activity() {
|
||||
global $db;
|
||||
|
||||
//get the extensions
|
||||
$sql = "select extension, number_alias, effective_caller_id_name, effective_caller_id_number, call_group, description from v_extensions ";
|
||||
$sql .= "where domain_uuid = '".$_SESSION['domain_uuid']."' ";
|
||||
$sql .= "order by extension asc ";
|
||||
//get the extensions and their user status
|
||||
$sql = "select ";
|
||||
$sql .= "e.extension, ";
|
||||
$sql .= "e.number_alias, ";
|
||||
$sql .= "e.effective_caller_id_name, ";
|
||||
$sql .= "e.effective_caller_id_number, ";
|
||||
$sql .= "e.call_group, ";
|
||||
$sql .= "e.description, ";
|
||||
$sql .= "u.user_status ";
|
||||
$sql .= "from ";
|
||||
$sql .= "v_extensions as e ";
|
||||
$sql .= "left outer join v_extension_users as eu on ( eu.extension_uuid = e.extension_uuid and eu.domain_uuid = '".$_SESSION['domain_uuid']."' ) ";
|
||||
$sql .= "left outer join v_users as u on ( u.user_uuid = eu.user_uuid and u.domain_uuid = '".$_SESSION['domain_uuid']."' ) ";
|
||||
$sql .= "where ";
|
||||
$sql .= "e.domain_uuid = '".$_SESSION['domain_uuid']."' ";
|
||||
$sql .= "order by ";
|
||||
$sql .= "e.extension asc ";
|
||||
$prep_statement = $db->prepare($sql);
|
||||
$prep_statement->execute();
|
||||
$extensions = $prep_statement->fetchAll(PDO::FETCH_NAMED);
|
||||
|
|
|
|||
Binary file not shown.
|
After Width: | Height: | Size: 1.8 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.9 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 1.8 KiB |
Loading…
Reference in New Issue