Added the agents

This commit is contained in:
mdtrooper 2014-12-18 17:51:02 +01:00
parent a9eb533a9b
commit 51c51e4fb2
3 changed files with 57 additions and 20 deletions

View File

@ -68,6 +68,7 @@ class Tree {
private function getRecursiveGroup($parent, $limit = null) { private function getRecursiveGroup($parent, $limit = null) {
$filter = array(); $filter = array();
$filter['parent'] = $parent; $filter['parent'] = $parent;
if (!empty($this->filter['search'])) { if (!empty($this->filter['search'])) {
@ -81,12 +82,15 @@ class Tree {
if (empty($groups)) if (empty($groups))
$groups = array(); $groups = array();
// Filter by status // Filter by status
$filter_status = AGENT_STATUS_ALL; $filter_status = AGENT_STATUS_ALL;
if (!empty($this->filter['status'])) { if (!empty($this->filter['status'])) {
$filter_status = $this->filter['status']; $filter_status = $this->filter['status'];
} }
foreach ($groups as $iterator => $group) { foreach ($groups as $iterator => $group) {
$groups[$iterator]['counters'] = array(); $groups[$iterator]['counters'] = array();
$groups[$iterator]['counters']['ok'] = $groups[$iterator]['counters']['ok'] =
@ -129,6 +133,7 @@ class Tree {
$remove_group = false; $remove_group = false;
break; break;
} }
if ($remove_group) if ($remove_group)
unset($groups[$iterator]); unset($groups[$iterator]);
} }
@ -145,7 +150,16 @@ class Tree {
} }
} }
return $groups; if ($parent == 0) {
$agents = array();
}
else {
$agents = $this->getDataAgents('group', $parent);
}
$data = array_merge($groups, $agents);
return $data;
} }
public function getDataGroup() { public function getDataGroup() {
@ -157,19 +171,19 @@ class Tree {
$parent = 0; $parent = 0;
} }
$groups = $this->getRecursiveGroup($parent, 1); $data = $this->getRecursiveGroup($parent, 1);
switch ($this->childrenMethod) { switch ($this->childrenMethod) {
case 'on_demand': case 'on_demand':
foreach ($groups as $iterator => $group) { foreach ($data as $iterator => $item) {
if (!empty($group['children'])) { if (!empty($item['children'])) {
$groups[$iterator]['searchChildren'] = 1; $data[$iterator]['searchChildren'] = 1;
// I hate myself // I hate myself
unset($groups[$iterator]['children']); unset($data[$iterator]['children']);
} }
else { else {
$groups[$iterator]['searchChildren'] = 0; $data[$iterator]['searchChildren'] = 0;
// I hate myself // I hate myself
unset($groups[$iterator]['children']); unset($data[$iterator]['children']);
} }
} }
break; break;
@ -195,18 +209,40 @@ class Tree {
// Make the data // Make the data
$this->tree = array(); $this->tree = array();
foreach ($groups as $group) { foreach ($data as $item) {
$data = array(); $temp = array();
$data['id'] = $group['id_grupo']; $temp['id'] = $item['id_grupo'];
$data['type'] = 'group'; $temp['type'] = 'group';
$data['name'] = $group['nombre']; $temp['name'] = $item['nombre'];
$data['searchChildren'] = $group['searchChildren']; $temp['searchChildren'] = $item['searchChildren'];
$data['searchCounters'] = $group['searchCounters']; $temp['searchCounters'] = $item['searchCounters'];
$this->tree[] = $data; $this->tree[] = $temp;
} }
} }
public function getDataAgents($type, $id) {
switch ($type) {
case 'group':
$filter = array(
'id_grupo' => $id,
'status' => $this->filter['status'],
'nombre' => "%" . $this->filter['search'] . "%"
);
$agents = agents_get_agents($filter);
if (empty($agents)) {
$agents = array();
}
break;
}
foreach ($agents as $iterator => $agent) {
$agents[$iterator]['type'] = 'agent';
}
return $agents;
}
public function getDataModuleGroup() { public function getDataModuleGroup() {
} }

View File

@ -367,7 +367,8 @@ function agents_get_agents ($filter = false, $fields = false, $access = 'AR', $o
$where = db_format_array_where_clause_sql ($filter, 'AND', ''); $where = db_format_array_where_clause_sql ($filter, 'AND', '');
$where_nogroup = db_format_array_where_clause_sql ($filter_nogroup, 'AND', ''); $where_nogroup = db_format_array_where_clause_sql(
$filter_nogroup, 'AND', '');
if ($where_nogroup == '') { if ($where_nogroup == '') {
$where_nogroup = '1 = 1'; $where_nogroup = '1 = 1';

View File

@ -159,7 +159,7 @@ echo "</div>";
$.ajax({ $.ajax({
type: "POST", type: "POST",
url: "<?php echo $config['homeurl']; ?>/ajax.php", url: "<?php echo $config['homeurl']; ?>ajax.php",
data: parameters, data: parameters,
success: function(data) { success: function(data) {
if (data.success) { if (data.success) {
@ -170,8 +170,8 @@ echo "</div>";
detailRecipient: $("div#tree-controller-detail-recipient"), detailRecipient: $("div#tree-controller-detail-recipient"),
page: page, page: page,
tree: data.tree, tree: data.tree,
baseURL: "<?php echo $config['homeurl']; ?>/", baseURL: "<?php echo $config['homeurl']; ?>",
ajaxURL: "<?php echo $config['homeurl']; ?>/ajax.php", ajaxURL: "<?php echo $config['homeurl']; ?>ajax.php",
filter: { filter: {
search: parameters['filter']['search'], search: parameters['filter']['search'],
status: parameters['filter']['status'] status: parameters['filter']['status']