mirror of https://github.com/MISP/MISP
chg: [decaying:index] Added quick filter buttons
parent
0e00413259
commit
d31f34fed0
|
@ -94,6 +94,40 @@ class DecayingModelController extends AppController
|
|||
$this->set('decaying_model', $decaying_model);
|
||||
}
|
||||
|
||||
private function __setIndexFilterConditions($passedArgs)
|
||||
{
|
||||
$white_list_url_parameters = array('sort', 'direction');
|
||||
$passedArgsArray = array();
|
||||
foreach ($passedArgs as $k => $v) {
|
||||
switch ($k) {
|
||||
case 'my_models':
|
||||
$passedArgsArray[$k] = $v;
|
||||
if ($v) {
|
||||
$this->paginate['conditions']['AND'] = array('DecayingModel.org_id' => $this->Auth->user('Organisation')['id']);
|
||||
}
|
||||
break;
|
||||
case 'default_models':
|
||||
$passedArgsArray[$k] = $v;
|
||||
if ($v) {
|
||||
$this->paginate['conditions']['AND'] = array('not' => array('DecayingModel.uuid' => null));
|
||||
}
|
||||
break;
|
||||
case 'all_orgs':
|
||||
$passedArgsArray[$k] = $v;
|
||||
if ($v) {
|
||||
$this->paginate['conditions']['AND'] = array('DecayingModel.all_orgs' => $v);
|
||||
}
|
||||
break;
|
||||
default:
|
||||
if (in_array($k, $white_list_url_parameters)) {
|
||||
$passedArgsArray[$k] = $v;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
return $passedArgsArray;
|
||||
}
|
||||
|
||||
public function index()
|
||||
{
|
||||
$conditions = array();
|
||||
|
@ -102,9 +136,11 @@ class DecayingModelController extends AppController
|
|||
}
|
||||
if (!$this->_isSiteAdmin()) {
|
||||
$this->paginate = Set::merge($this->paginate, array(
|
||||
'conditions' => $conditions
|
||||
'conditions' => $conditions
|
||||
));
|
||||
}
|
||||
$passedArgsArray = $this->__setIndexFilterConditions($this->passedArgs);
|
||||
$this->set('passedArgsArray', $passedArgsArray);
|
||||
$this->set('decayingModel', $this->paginate());
|
||||
}
|
||||
|
||||
|
|
|
@ -16,6 +16,55 @@
|
|||
?>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
$data = array(
|
||||
'children' => array(
|
||||
array(
|
||||
'children' => array(
|
||||
array(
|
||||
'title' => __('My models only'),
|
||||
'text' => __('My Models'),
|
||||
'url' => sprintf('%s/%s/%s/%s',
|
||||
$baseurl . '/decayingModel/index',
|
||||
isset($passedArgsArray['sort']) ? 'sort:' . $passedArgsArray['sort'] : '',
|
||||
isset($passedArgsArray['direction']) ? 'direction:' . $passedArgsArray['direction'] : '',
|
||||
'my_models:' . (!isset($passedArgsArray['my_models']) || !$passedArgsArray['my_models'] ? '1' : '0')
|
||||
),
|
||||
'class' => 'searchFilterButton',
|
||||
'active' => isset($passedArgsArray['my_models']) && $passedArgsArray['my_models']
|
||||
),
|
||||
array(
|
||||
'title' => __('Models available to everyone'),
|
||||
'text' => __('Shared Models'),
|
||||
'url' => sprintf('%s/%s/%s/%s',
|
||||
$baseurl . '/decayingModel/index',
|
||||
isset($passedArgsArray['sort']) ? 'sort:' . $passedArgsArray['sort'] : '',
|
||||
isset($passedArgsArray['direction']) ? 'direction:' . $passedArgsArray['direction'] : '',
|
||||
'all_orgs:' . (!isset($passedArgsArray['all_orgs']) || !$passedArgsArray['all_orgs'] ? '1' : '0')
|
||||
),
|
||||
'class' => 'searchFilterButton',
|
||||
'active' => isset($passedArgsArray['all_orgs']) && $passedArgsArray['all_orgs']
|
||||
),
|
||||
array(
|
||||
'title' => __('Default models only'),
|
||||
'text' => __('Default Models'),
|
||||
'url' => sprintf('%s/%s/%s/%s',
|
||||
$baseurl . '/decayingModel/index',
|
||||
isset($passedArgsArray['sort']) ? 'sort:' . $passedArgsArray['sort'] : '',
|
||||
isset($passedArgsArray['direction']) ? 'direction:' . $passedArgsArray['direction'] : '',
|
||||
'default_models:' . (!isset($passedArgsArray['default_models']) || !$passedArgsArray['default_models'] ? '1' : '0')
|
||||
),
|
||||
'class' => 'searchFilterButton',
|
||||
'active' => isset($passedArgsArray['default_models']) && $passedArgsArray['default_models']
|
||||
),
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
echo $this->element('/genericElements/ListTopBar/scaffold', array('data' => $data));
|
||||
?>
|
||||
|
||||
<table class="table table-striped table-hover table-condensed">
|
||||
<tr>
|
||||
<th><?php echo $this->Paginator->sort('id');?></th>
|
||||
|
|
Loading…
Reference in New Issue