Fixed: Broken directory show all group members

This commit is contained in:
Lucas Bartholemy 2016-02-10 13:23:04 +01:00
parent 1dcc408056
commit cda0bb7a71
4 changed files with 23 additions and 7 deletions

View File

@ -72,13 +72,24 @@ class DirectoryController extends \humhub\modules\directory\components\Controlle
{
$keyword = Yii::$app->request->get('keyword', "");
$page = (int) Yii::$app->request->get('page', 1);
//$_GET['keyword'] = $keyword; // Fix for post var
$groupId = (int) Yii::$app->request->get('groupId', "");
$searchResultSet = Yii::$app->search->find($keyword, [
$group = null;
if ($groupId) {
$group = \humhub\modules\user\models\Group::findOne(['id' => $groupId]);
}
$searchOptions = [
'model' => \humhub\modules\user\models\User::className(),
'page' => $page,
'pageSize' => Setting::Get('paginationSize')
]);
'pageSize' => Setting::Get('paginationSize'),
];
if ($group !== null) {
$searchOptions['filters'] = ['groupId' => $group->id];
}
$searchResultSet = Yii::$app->search->find($keyword, $searchOptions);
$pagination = new \yii\data\Pagination(['totalCount' => $searchResultSet->total, 'pageSize' => $searchResultSet->pageSize]);
@ -89,6 +100,7 @@ class DirectoryController extends \humhub\modules\directory\components\Controlle
return $this->render('members', array(
'keyword' => $keyword,
'group' => $group,
'users' => $searchResultSet->getResultInstances(),
'pagination' => $pagination
));

View File

@ -25,7 +25,7 @@ use humhub\modules\user\models\User;
width="40" alt="40x40" data-src="holder.js/40x40" style="width: 40px; height: 40px;"/></a>
<?php endforeach; ?>
<?php if ($userCount >= 30) : ?>
<?php echo Html::a(Yii::t('DirectoryModule.views_directory_groups', "show all members"), Url::to(['/directory/directory/members', 'keyword' => 'groupId:' . $group->id])); ?>
<?php echo Html::a(Yii::t('DirectoryModule.views_directory_groups', "show all members"), Url::to(['/directory/directory/members', 'keyword' => '', 'groupId' => $group->id])); ?>
<?php endif; ?>
<hr>
<?php endif; ?>

View File

@ -6,13 +6,16 @@ use yii\helpers\Html;
<div class="panel panel-default">
<div class="panel-heading">
<?php echo Yii::t('DirectoryModule.views_directory_members', '<strong>Member</strong> directory'); ?>
<?php if ($group === null) : ?>
<?php echo Yii::t('DirectoryModule.views_directory_members', '<strong>Member</strong> directory'); ?>
<?php else: ?>
<?php echo Yii::t('DirectoryModule.views_directory_members', '<strong>Group</strong> members - {group}', ['{group}' => $group->name]); ?>
<?php endif; ?>
</div>
<div class="panel-body">
<!-- search form -->
<?php echo Html::beginForm(Url::to(['/directory/directory/members']), 'get', array('class' => 'form-search')); ?>
<div class="row">
<div class="col-md-3"></div>

View File

@ -460,6 +460,7 @@ class User extends ContentContainerActiveRecord implements \yii\web\IdentityInte
'firstname' => $this->profile->firstname,
'lastname' => $this->profile->lastname,
'title' => $this->profile->title,
'groupId' => $this->group_id,
);
if (!$this->profile->isNewRecord) {