Skip to content

Commit

Permalink
all tests good
Browse files Browse the repository at this point in the history
  • Loading branch information
imorland committed Oct 3, 2023
1 parent b2b35a9 commit e2f0e7b
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 7 deletions.
7 changes: 3 additions & 4 deletions extend.php
Original file line number Diff line number Diff line change
Expand Up @@ -40,8 +40,7 @@
->default('fof-user-directory.disable-global-search-source', false)
->default('fof-user-directory.default-sort', 'default')
->default('fof-user-directory.link-group-mentions', true)
->serializeToForum('userDirectorySmallCards', 'fof-user-directory.use-small-cards')
->serializeToForum('userDirectoryDisableGlobalSearchSource', 'fof-user-directory.disable-global-search-source')
->serializeToForum('userDirectoryDefaultSort', 'fof-user-directory.default-sort')
->serializeToForum('userDirectoryLinkGroupMentions', 'fof-user-directory.link-group-mentions'),
->serializeToForum('userDirectorySmallCards', 'fof-user-directory.use-small-cards', 'boolVal')
->serializeToForum('userDirectoryDisableGlobalSearchSource', 'fof-user-directory.disable-global-search-source', 'boolVal')
->serializeToForum('userDirectoryLinkGroupMentions', 'fof-user-directory.link-group-mentions', 'boolVal'),
];
12 changes: 9 additions & 3 deletions src/Content/UserDirectory.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,12 @@ class UserDirectory
/**
* @var Factory
*/
private $view;
protected $view;

/**
* @var SettingsRepositoryInterface
*/
protected $settings;

/**
* A map of sort query param values to their API sort param.
Expand All @@ -47,10 +52,11 @@ class UserDirectory
'least_discussions' => 'discussionCount',
];

public function __construct(Client $api, Factory $view)
public function __construct(Client $api, Factory $view, SettingsRepositoryInterface $settings)
{
$this->api = $api;
$this->view = $view;
$this->settings = $settings;
}

private function getDocument(User $actor, array $params, Request $request)
Expand All @@ -68,7 +74,7 @@ public function __invoke(Document $document, Request $request): Document
$queryParams = $request->getQueryParams();
$actor = RequestUtil::getActor($request);

$sort = Arr::pull($queryParams, 'sort') ?: resolve(SettingsRepositoryInterface::class)->get('fof-user-directory.default-sort');
$sort = Arr::pull($queryParams, 'sort') ?: $this->settings->get('fof-user-directory.default-sort');
$q = Arr::pull($queryParams, 'q');
$page = Arr::pull($queryParams, 'page', 1);

Expand Down
1 change: 1 addition & 0 deletions src/PermissionBasedForumSettings.php
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ public function __invoke(ForumSerializer $serializer, $model, array $attributes)
{
// The link is visible if the user can access the user directory AND the link was enabled in extension settings
$attributes['canSeeUserDirectoryLink'] = $serializer->getActor()->can('seeUserList') && $this->settings->get('fof-user-directory-link');
$attributes['userDirectoryDefaultSort'] = $this->settings->get('fof-user-directory.default-sort') ?: 'default';

// Only serialize if the actor has permission
if ($permission = $serializer->getActor()->hasPermission('user.suspend')) {
Expand Down
4 changes: 4 additions & 0 deletions tests/integration/api/ForumAttributeTest.php
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,10 @@ protected function guestUserDirectoryPermission()
'permission' => 'fof.user-directory.view',
'group_id' => 2,
],
[
'permission' => 'searchUsers',
'group_id' => 2,
]
],
]);
}
Expand Down

0 comments on commit e2f0e7b

Please sign in to comment.