User Edit: Fix Contact filtering.

This commit is contained in:
Nate
2019-03-06 20:50:17 -07:00
parent 06a0fa7235
commit 6d7f8da882

View File

@@ -730,13 +730,33 @@
echo " <tr>";
echo " <td class='vncell' valign='top'>".$text['label-contact']."</td>";
echo " <td class='vtable'>\n";
$sql = "select contact_uuid, contact_organization, contact_name_given, contact_name_family, contact_nickname from v_contacts ";
$sql .= "where domain_uuid = '".escape($domain_uuid)."' ";
$sql .= "and ( ";
$sql .= " contact_uuid = '".escape($contact_uuid)."' or ";
$sql .= " contact_uuid not in (select contact_uuid from v_users where domain_uuid = '".escape($domain_uuid)."') ";
$sql = "select ";
$sql .= "c.contact_uuid, ";
$sql .= "c.contact_organization, ";
$sql .= "c.contact_name_given, ";
$sql .= "c.contact_name_family, ";
$sql .= "c.contact_nickname ";
$sql .= "from ";
$sql .= "v_contacts as c ";
$sql .= "where ";
$sql .= "c.domain_uuid = '".escape($domain_uuid)."' ";
$sql .= "and not exists ( ";
$sql .= " select ";
$sql .= " contact_uuid ";
$sql .= " from ";
$sql .= " v_users as u ";
$sql .= " where ";
$sql .= " u.domain_uuid = '".escape($domain_uuid)."' ";
if (is_uuid($contact_uuid)) { //don't exclude currently assigned contact
$sql .= "and u.contact_uuid <> '".escape($contact_uuid)."' ";
}
$sql .= " and u.contact_uuid = c.contact_uuid ";
$sql .= ") ";
$sql .= "order by contact_organization desc, contact_name_family asc, contact_name_given asc, contact_nickname asc ";
$sql .= "order by ";
$sql .= "lower(c.contact_organization) asc, ";
$sql .= "lower(c.contact_name_family) asc, ";
$sql .= "lower(c.contact_name_given) asc, ";
$sql .= "lower(c.contact_nickname) asc ";
$prep_statement = $db->prepare(check_sql($sql));
$prep_statement->execute();
$result = $prep_statement->fetchAll(PDO::FETCH_NAMED);