mirror of https://github.com/MISP/MISP
fix: use new approach for pagination settings
parent
e17a8266dd
commit
dcaef7d35c
|
@ -18,30 +18,30 @@ class GalaxyClustersController extends AppController
|
|||
{
|
||||
use LocatorAwareTrait;
|
||||
|
||||
protected $conditions = [];
|
||||
protected $contain = [
|
||||
'Tag' => [
|
||||
'fields' => ['Tag.id'],
|
||||
/*
|
||||
'EventTag' => array(
|
||||
'fields' => array('EventTag.event_id')
|
||||
),
|
||||
'AttributeTag' => array(
|
||||
'fields' => array('AttributeTag.event_id', 'AttributeTag.attribute_id')
|
||||
)
|
||||
*/
|
||||
],
|
||||
'GalaxyElement' => [
|
||||
'conditions' => ['GalaxyElement.key' => 'synonyms'],
|
||||
'fields' => ['value']
|
||||
],
|
||||
];
|
||||
public $paginate = [
|
||||
'limit' => 60,
|
||||
'recursive' => -1,
|
||||
'order' => [
|
||||
'GalaxyClusters.version' => 'DESC',
|
||||
'GalaxyClusters.value' => 'ASC'
|
||||
],
|
||||
'contain' => [
|
||||
'Tag' => [
|
||||
'fields' => ['Tag.id'],
|
||||
/*
|
||||
'EventTag' => array(
|
||||
'fields' => array('EventTag.event_id')
|
||||
),
|
||||
'AttributeTag' => array(
|
||||
'fields' => array('AttributeTag.event_id', 'AttributeTag.attribute_id')
|
||||
)
|
||||
*/
|
||||
],
|
||||
'GalaxyElement' => [
|
||||
'conditions' => ['GalaxyElement.key' => 'synonyms'],
|
||||
'fields' => ['value']
|
||||
],
|
||||
]
|
||||
];
|
||||
|
||||
public function initialize(): void
|
||||
|
@ -124,11 +124,19 @@ class GalaxyClustersController extends AppController
|
|||
return $this->RestResponse->viewData($clusters, $this->response->getType());
|
||||
}
|
||||
|
||||
$this->paginate['conditions']['AND'][] = $contextConditions;
|
||||
$this->paginate['conditions']['AND'][] = $searchConditions;
|
||||
$this->paginate['conditions']['AND'][] = $aclConditions;
|
||||
$this->paginate['contain'] = array_merge($this->paginate['contain'], ['Org', 'Orgc', 'SharingGroup', 'GalaxyClusterRelation', 'TargetingClusterRelation']);
|
||||
$clusters = $this->paginate();
|
||||
$this->conditions['AND'][] = $contextConditions;
|
||||
$this->conditions['AND'][] = $searchConditions;
|
||||
$this->conditions['AND'][] = $aclConditions;
|
||||
$this->contain = array_merge($this->contain, ['Org', 'Orgc', 'SharingGroup', 'GalaxyClusterRelation', 'TargetingClusterRelation']);
|
||||
|
||||
$query = $this->GalaxyClusters->find(
|
||||
'all',
|
||||
[
|
||||
'conditions' => $this->conditions,
|
||||
'contain' => $this->contain
|
||||
]
|
||||
);
|
||||
$clusters = $this->paginate($query);
|
||||
|
||||
$this->GalaxyClusters->attachExtendByInfo($this->ACL->getUser()->toArray(), $clusters);
|
||||
|
||||
|
|
|
@ -10,7 +10,6 @@ class GalaxyElementsController extends AppController
|
|||
{
|
||||
public $paginate = [
|
||||
'limit' => 20,
|
||||
'recursive' => -1,
|
||||
'order' => [
|
||||
'GalaxyElement.key' => 'ASC'
|
||||
]
|
||||
|
|
|
@ -15,17 +15,17 @@ class JobsController extends AppController
|
|||
{
|
||||
use LocatorAwareTrait;
|
||||
|
||||
protected $conditions = [];
|
||||
protected $contain = [
|
||||
'Organisations' => [
|
||||
'fields' => ['id', 'name', 'uuid'],
|
||||
],
|
||||
];
|
||||
public $paginate = [
|
||||
'limit' => 20,
|
||||
'recursive' => 0,
|
||||
'order' => [
|
||||
'Job.id' => 'DESC'
|
||||
],
|
||||
'contain' => [
|
||||
'Organisations' => [
|
||||
'fields' => ['id', 'name', 'uuid'],
|
||||
],
|
||||
]
|
||||
];
|
||||
|
||||
public function beforeFilter(EventInterface $event)
|
||||
|
@ -46,9 +46,16 @@ class JobsController extends AppController
|
|||
$workers = $ServerTable->workerDiagnostics($issueCount);
|
||||
$queues = ['email', 'default', 'cache', 'prio', 'update'];
|
||||
if ($queue && in_array($queue, $queues, true)) {
|
||||
$this->paginate['conditions'] = ['Job.worker' => $queue];
|
||||
$this->conditions = ['Job.worker' => $queue];
|
||||
}
|
||||
$jobs = $this->paginate()->toArray();
|
||||
$query = $this->Jobs->find(
|
||||
'all',
|
||||
[
|
||||
'conditions' => $this->conditions,
|
||||
'contain' => $this->contain,
|
||||
]
|
||||
);
|
||||
$jobs = $this->paginate($query)->toArray();
|
||||
foreach ($jobs as &$job) {
|
||||
if (!empty($job['process_id'])) {
|
||||
$job['job_status'] = $this->getJobStatus($job['process_id']);
|
||||
|
|
|
@ -6,17 +6,16 @@ use App\Controller\AppController;
|
|||
|
||||
class ObjectTemplateElementsController extends AppController
|
||||
{
|
||||
public $paginate = array(
|
||||
public $paginate = [
|
||||
'limit' => 60,
|
||||
'order' => array(
|
||||
'order' => [
|
||||
'ObjectTemplateElement.id' => 'desc'
|
||||
),
|
||||
'recursive' => -1
|
||||
);
|
||||
],
|
||||
];
|
||||
|
||||
public function viewElements($id, $context = 'all')
|
||||
{
|
||||
$this->paginate['conditions'] = array('ObjectTemplateElements.object_template_id' => $id);
|
||||
$this->paginate['conditions'] = ['ObjectTemplateElements.object_template_id' => $id];
|
||||
$elements = $this->paginate();
|
||||
$this->set('list', $elements);
|
||||
$this->layout = false;
|
||||
|
|
|
@ -13,14 +13,16 @@ class TaxonomiesController extends AppController
|
|||
{
|
||||
use LocatorAwareTrait;
|
||||
|
||||
protected $conditions = [];
|
||||
protected $contain = [
|
||||
'TaxonomyPredicates' => [
|
||||
'fields' => ['TaxonomyPredicates.id', 'TaxonomyPredicates.taxonomy_id', 'TaxonomyPredicates.value'],
|
||||
'TaxonomyEntries' => ['fields' => ['TaxonomyEntries.id', 'TaxonomyEntries.taxonomy_predicate_id', 'TaxonomyEntries.value']]
|
||||
]
|
||||
];
|
||||
protected $fields = [];
|
||||
public $paginate = [
|
||||
'limit' => 60,
|
||||
'contain' => [
|
||||
'TaxonomyPredicates' => [
|
||||
'fields' => ['TaxonomyPredicates.id', 'TaxonomyPredicates.taxonomy_id', 'TaxonomyPredicates.value'],
|
||||
'TaxonomyEntries' => ['fields' => ['TaxonomyEntries.id', 'TaxonomyEntries.taxonomy_predicate_id', 'TaxonomyEntries.value']]
|
||||
]
|
||||
],
|
||||
'order' => [
|
||||
'Taxonomies.id' => 'DESC'
|
||||
],
|
||||
|
@ -31,24 +33,26 @@ class TaxonomiesController extends AppController
|
|||
$this->paginate['recursive'] = -1;
|
||||
|
||||
if (!empty($this->request->getQueryParams()['value'])) {
|
||||
$this->paginate['conditions']['id'] = $this->__search($this->request->getQueryParams()['value']);
|
||||
$this->conditions['id'] = $this->__search($this->request->getQueryParams()['value']);
|
||||
}
|
||||
|
||||
if (isset($this->request->getQueryParams()['enabled'])) {
|
||||
$this->paginate['conditions']['enabled'] = $this->request->getQueryParams()['enabled'] ? 1 : 0;
|
||||
$this->conditions['enabled'] = $this->request->getQueryParams()['enabled'] ? 1 : 0;
|
||||
}
|
||||
|
||||
$query = $this->Taxonomies->find(
|
||||
'all',
|
||||
[
|
||||
'conditions' => $this->conditions,
|
||||
'contain' => $this->contain,
|
||||
'fields' => $this->fields
|
||||
]
|
||||
);
|
||||
|
||||
if ($this->ParamHandler->isRest()) {
|
||||
$keepFields = ['conditions', 'contain', 'recursive', 'sort'];
|
||||
$searchParams = [];
|
||||
foreach ($keepFields as $field) {
|
||||
if (!empty($this->paginate[$field])) {
|
||||
$searchParams[$field] = $this->paginate[$field];
|
||||
}
|
||||
}
|
||||
$taxonomies = $this->Taxonomies->find('all', $searchParams);
|
||||
$taxonomies = $query;
|
||||
} else {
|
||||
$taxonomies = $this->paginate();
|
||||
$taxonomies = $this->paginate($query);
|
||||
}
|
||||
|
||||
$taxonomies = $this->__tagCount($taxonomies->toArray());
|
||||
|
|
Loading…
Reference in New Issue