groups/all didn't work, also fixed pagination in directory/users, and a convenient delete-button for admins

This commit is contained in:
Hannes Mannerheim 2014-10-20 16:24:53 +02:00
parent a3574bac6c
commit 4d4a0491f1
3 changed files with 54 additions and 0 deletions

View File

@ -79,11 +79,40 @@ class DirectoryPlugin extends Plugin
function onRouterInitialized($m)
{
$m->connect(
'directory/users/:filter/sort_by/:sort/reverse/:reverse',
array('action' => 'userdirectory'),
array('filter' => '[0-9a-zA-Z]|(0-9)'),
array('sort' => '[a-z]+'),
array('reverse' => '[0-9]')
);
$m->connect(
'directory/users/:filter/sort_by/:sort',
array('action' => 'userdirectory'),
array('filter' => '[0-9a-zA-Z]|(0-9)'),
array('sort' => '[a-z]+')
);
$m->connect(
'directory/users/:filter',
array('action' => 'userdirectory'),
array('filter' => '[0-9a-zA-Z]|(0-9)')
);
$m->connect(
'directory/users/sort_by/:sort/reverse/:reverse',
array('action' => 'userdirectory'),
array('sort' => '[a-z]+'),
array('reverse' => '[0-9]')
);
$m->connect(
'directory/users/sort_by/:sort',
array('action' => 'userdirectory'),
array('sort' => '[a-z]+')
);
$m->connect(
'directory/users',
@ -101,6 +130,12 @@ class DirectoryPlugin extends Plugin
array('action' => 'groupdirectory')
);
$m->connect(
'groups/all',
array('action' => 'groupdirectory')
);
return true;
}

View File

@ -233,6 +233,13 @@ class UserdirectoryAction extends Action
} elseif (isset($this->filter) && $this->filter != 'all') {
$args['filter'] = $this->filter;
}
if (isset($this->sort)) {
$args['sort'] = $this->sort;
}
if (!empty($this->reverse)) {
$args['reverse'] = $this->reverse;
}
$this->pagination(
$this->page > 1,

View File

@ -207,6 +207,18 @@ class SortableSubscriptionListItem extends SubscriptionListItem
function endActions()
{
// delete button
$cur = common_current_user();
list($action, $r2args) = $this->out->returnToArgs();
$r2args['action'] = $action;
if ($cur->hasRight(Right::DELETEUSER)) {
$this->out->elementStart('li', 'entity_delete');
$df = new DeleteUserForm($this->out, $this->profile, $r2args);
$df->show();
$this->out->elementEnd('li');
}
$this->out->elementEnd('ul');
$this->out->elementEnd('td');
}