mirror of https://github.com/MISP/MISP
fix: Moved lookup function from controller to model and fixed some other issues
- That function has no reason not to be in a model - Removed invalid contain - Simple lookup against the users table is more efficientpull/1436/head
parent
1d5b7185ff
commit
c94140bc9a
|
@ -42,7 +42,7 @@ class OrganisationsController extends AppController {
|
|||
'conditions' => $conditions,
|
||||
'recursive' => -1,
|
||||
);
|
||||
$usersPerOrg = $this->getMembersCount();
|
||||
$usersPerOrg = $this->User->getMembersCount();
|
||||
$orgs = $this->paginate();
|
||||
if ($this->_isSiteAdmin()) {
|
||||
$this->loadModel('User');
|
||||
|
@ -238,23 +238,4 @@ class OrganisationsController extends AppController {
|
|||
$this->render('ajax/merge');
|
||||
}
|
||||
}
|
||||
|
||||
public function getMembersCount() {
|
||||
// for Organizations List
|
||||
$fields = array('org_id', 'count(User.id) as `num_members`');
|
||||
$params = array(
|
||||
'fields' => $fields,
|
||||
'recursive' => -1,
|
||||
'contain' => array('Users'),
|
||||
'group' => array('org_id'),
|
||||
'order' => array('org_id'),
|
||||
);
|
||||
|
||||
$orgs = $this->User->find('all', $params);
|
||||
$usersPerOrg = [];
|
||||
foreach ($orgs as $key => $value){
|
||||
$usersPerOrg[$value['User']['org_id']] = $value[0]['num_members'];
|
||||
}
|
||||
return $usersPerOrg;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -915,4 +915,21 @@ class User extends AppModel {
|
|||
}
|
||||
return $fields;
|
||||
}
|
||||
|
||||
public function getMembersCount() {
|
||||
// for Organizations List
|
||||
$fields = array('org_id', 'count(User.id) as `num_members`');
|
||||
$params = array(
|
||||
'fields' => $fields,
|
||||
'recursive' => -1,
|
||||
'group' => array('org_id'),
|
||||
'order' => array('org_id'),
|
||||
);
|
||||
$orgs = $this->find('all', $params);
|
||||
$usersPerOrg = [];
|
||||
foreach ($orgs as $key => $value){
|
||||
$usersPerOrg[$value['User']['org_id']] = $value[0]['num_members'];
|
||||
}
|
||||
return $usersPerOrg;
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue