Private GIT

Skip to content
Snippets Groups Projects
Commit 3e9d7859 authored by Jean-Baptiste's avatar Jean-Baptiste Committed by Loic Laurent
Browse files

Add views - Filter And Sort (#6054)

* Fix filter bug in adding views and sorting views.
parent 7a680e03
No related branches found
No related tags found
No related merge requests found
......@@ -52,36 +52,41 @@ class CentreonHomeCustomview extends CentreonWebService
public function getListSharedViews()
{
global $centreon;
$views = array();
$q = array();
if (isset($this->arguments['q']) && $this->arguments['q'] != '') {
$q[] = '%' . $this->arguments['q'] . '%';
}
$query = 'SELECT custom_view_id, name FROM ('
. 'SELECT cv.custom_view_id, cv.name FROM custom_views cv '
. 'INNER JOIN custom_view_user_relation cvur ON cv.custom_view_id = cvur.custom_view_id '
. 'WHERE (cvur.user_id = ' . $centreon->user->user_id . ' '
. 'OR cvur.usergroup_id IN ( '
. 'SELECT contactgroup_cg_id '
. 'FROM contactgroup_contact_relation '
. 'WHERE contact_contact_id = ' . $centreon->user->user_id . ' '
. ') '
. ') '
. 'UNION '
. 'SELECT cv2.custom_view_id, cv2.name FROM custom_views cv2 '
. 'WHERE cv2.public = 1 ) as d '
. 'WHERE d.custom_view_id NOT IN ('
. 'SELECT cvur2.custom_view_id FROM custom_view_user_relation cvur2 '
. 'WHERE cvur2.user_id = ' . $centreon->user->user_id . ' '
. 'AND cvur2.is_consumed = 1) ';
$dbResult = $this->pearDB->query($query);
while ($row = $dbResult->fetchRow()) {
$query = 'SELECT custom_view_id, name FROM (' .
'SELECT cv.custom_view_id, cv.name FROM custom_views cv ' .
'INNER JOIN custom_view_user_relation cvur ON cv.custom_view_id = cvur.custom_view_id ' .
'WHERE (cvur.user_id = ' . $centreon->user->user_id . ' ' .
'OR cvur.usergroup_id IN ( ' .
'SELECT contactgroup_cg_id ' .
'FROM contactgroup_contact_relation ' .
'WHERE contact_contact_id = ' . $centreon->user->user_id . ' ' .
') ' .
') ' .
'UNION ' .
'SELECT cv2.custom_view_id, cv2.name FROM custom_views cv2 ' .
'WHERE cv2.public = 1 ) as d ' .
'WHERE d.custom_view_id NOT IN (' .
'SELECT cvur2.custom_view_id FROM custom_view_user_relation cvur2 ' .
'WHERE cvur2.user_id = ' . $centreon->user->user_id . ' ' .
'AND cvur2.is_consumed = 1) ' .
(count($q) > 0 ? 'AND d.name like ? ' : '') .
') tmp ORDER BY tmp.name';
$stmt = $this->pearDB->prepare($query);
$dbResult = $this->pearDB->execute($stmt, $q);
while ($row = $dbResult->fetch()) {
$views[] = array(
'id' => $row['custom_view_id'],
'text' => $row['name']
);
}
return array(
'items' => $views,
'total' => count($views)
......@@ -153,7 +158,6 @@ class CentreonHomeCustomview extends CentreonWebService
'nbCols' => $tab['layout']
);
}
return array(
'current' => $viewObj->getCurrentView(),
'tabs' => $tabs
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment