From e791288cd03d7cb22917cd6371e5aa798e1ebdbe Mon Sep 17 00:00:00 2001 From: Mark Crane Date: Sat, 7 Mar 2015 21:35:18 +0000 Subject: [PATCH] Add device show all which allows a domain administrator the option to see all devices on the entire system. --- app/destinations/destinations.php | 4 +- app/devices/app_config.php | 3 ++ app/devices/app_languages.php | 6 ++- app/devices/devices.php | 61 ++++++++++++++++++++++++------- 4 files changed, 56 insertions(+), 18 deletions(-) diff --git a/app/destinations/destinations.php b/app/destinations/destinations.php index 3717320bfb..de63f3440a 100644 --- a/app/destinations/destinations.php +++ b/app/destinations/destinations.php @@ -53,11 +53,9 @@ else { echo " ".$text['header-destinations']."\n"; echo "
\n"; echo " \n"; - //SCJB if (permission_exists('destination_show_all')) { echo " \n"; } - //ECJB echo " "; echo " "; echo " \n"; @@ -168,7 +166,7 @@ else { echo "\n"; if ($_GET['showall'] && permission_exists('destination_show_all')) { echo " ".$row['domain_name']."\n"; - } + } echo " ".ucwords($row['destination_type'])."\n"; echo " ".$row['destination_number']."\n"; echo " ".$row['destination_context']."\n"; diff --git a/app/devices/app_config.php b/app/devices/app_config.php index 924351b576..fd6ee546da 100644 --- a/app/devices/app_config.php +++ b/app/devices/app_config.php @@ -120,6 +120,9 @@ $y++; $apps[$x]['permissions'][$y]['name'] = 'device_profile_domain'; $apps[$x]['permissions'][$y]['groups'][] = 'superadmin'; + $y++; + $apps[$x]['permissions'][$y]['name'] = 'device_show_all'; + $apps[$x]['permissions'][$y]['groups'][] = 'superadmin'; //schema details $y = 0; //table array index diff --git a/app/devices/app_languages.php b/app/devices/app_languages.php index d9c972e1a0..3e08a46b3f 100644 --- a/app/devices/app_languages.php +++ b/app/devices/app_languages.php @@ -970,4 +970,8 @@ $text['description-description']['pt-pt'] = "Introduza uma descrição, caso queira."; $text['description-description']['fr-fr'] = "Entrez une description, si vous le souhaitez."; -?> + $text['label-domain-name']['en-us'] = "Domain Name"; + $text['label-domain-name']['es-cl'] = "Nombre de Dominio"; + $text['label-domain-name']['pt-pt'] = "Nome de Domínio"; + $text['label-domain-name']['fr-fr'] = "Nom de Domaine"; +?> \ No newline at end of file diff --git a/app/devices/devices.php b/app/devices/devices.php index 0b8f87bed0..856a31dad6 100644 --- a/app/devices/devices.php +++ b/app/devices/devices.php @@ -58,6 +58,9 @@ else { echo " \n"; echo " \n"; echo " \n"; + if (permission_exists('destination_show_all')) { + echo " \n"; + } if (permission_exists('device_profile_view')) { echo "     "; } @@ -71,15 +74,27 @@ else { //prepare to page the results $sql = "select count(*) as num_rows from v_devices "; - $sql .= "where (domain_uuid = '$domain_uuid' or domain_uuid is null) "; + if ($_GET['showall'] && permission_exists('device_show_all')) { + if (strlen($search) > 0) { + $sql .= "where "; + } + } else { + $sql .= "where ("; + $sql .= " domain_uuid = '$domain_uuid' "; + if (permission_exists('device_show_all')) { + $sql .= " or domain_uuid is null "; + } + $sql .= ") "; + $sql .= "and "; + } if (strlen($search) > 0) { - $sql .= "and ("; + $sql .= "("; $sql .= " device_mac_address like '%".$search."%' "; - $sql .= " or device_label like '%".$search."%' "; - $sql .= " or device_vendor like '%".$search."%' "; - $sql .= " or device_provision_enable like '%".$search."%' "; - $sql .= " or device_template like '%".$search."%' "; - $sql .= " or device_description like '%".$search."%' "; + $sql .= " or device_label like '%".$search."%' "; + $sql .= " or device_vendor like '%".$search."%' "; + $sql .= " or device_provision_enable like '%".$search."%' "; + $sql .= " or device_template like '%".$search."%' "; + $sql .= " or device_description like '%".$search."%' "; $sql .= ") "; } $prep_statement = $db->prepare($sql); @@ -104,15 +119,27 @@ else { //get the list $sql = "select * from v_devices "; - $sql .= "where (domain_uuid = '$domain_uuid' or domain_uuid is null) "; + if ($_GET['showall'] && permission_exists('device_show_all')) { + if (strlen($search) > 0) { + $sql .= "where "; + } + } else { + $sql .= "where ("; + $sql .= " domain_uuid = '$domain_uuid' "; + if (permission_exists('device_show_all')) { + $sql .= " or domain_uuid is null "; + } + $sql .= ") "; + $sql .= "and "; + } if (strlen($search) > 0) { - $sql .= "and ("; + $sql .= "("; $sql .= " device_mac_address like '%".$search."%' "; - $sql .= " or device_label like '%".$search."%' "; - $sql .= " or device_vendor like '%".$search."%' "; - $sql .= " or device_provision_enable like '%".$search."%' "; - $sql .= " or device_template like '%".$search."%' "; - $sql .= " or device_description like '%".$search."%' "; + $sql .= " or device_label like '%".$search."%' "; + $sql .= " or device_vendor like '%".$search."%' "; + $sql .= " or device_provision_enable like '%".$search."%' "; + $sql .= " or device_template like '%".$search."%' "; + $sql .= " or device_description like '%".$search."%' "; $sql .= ") "; } if (strlen($order_by) == 0) { @@ -135,6 +162,9 @@ else { echo "\n"; echo "\n"; echo th_order_by('device_mac_address', $text['label-device_mac_address'], $order_by, $order); + if ($_GET['showall'] && permission_exists('device_show_all')) { + echo th_order_by('domain_name', $text['label-domain-name'], $order_by, $order, $param); + } echo th_order_by('device_label', $text['label-device_label'], $order_by, $order); echo th_order_by('device_vendor', $text['label-device_vendor'], $order_by, $order); echo th_order_by('device_provision_enable', $text['label-device_provision_enable'], $order_by, $order); @@ -154,6 +184,9 @@ else { foreach($result as $row) { $tr_link = (permission_exists('device_edit')) ? "href='device_edit.php?id=".$row['device_uuid']."'" : null; echo "\n"; + if ($_GET['showall'] && permission_exists('device_show_all')) { + echo " \n"; + } echo "
".$row['domain_uuid'].""; $device_mac_address = substr($row['device_mac_address'], 0,2).'-'.substr($row['device_mac_address'], 2,2).'-'.substr($row['device_mac_address'], 4,2).'-'.substr($row['device_mac_address'], 6,2).'-'.substr($row['device_mac_address'], 8,2).'-'.substr($row['device_mac_address'], 10,2); echo (permission_exists('device_edit')) ? "".$device_mac_address."" : $device_mac_address;