Allow non-admin users to see the organisations list (required for easier "Join" and "Register" requests). Filter the list to approved or memberOf organisations only.

This commit is contained in:
2022-02-10 17:19:47 +00:00
parent c3e7c24e6d
commit 4d57f6d33e
2 changed files with 10 additions and 0 deletions

View File

@@ -646,7 +646,16 @@ class OrganisationController extends SimpleController
/** @var \UserFrosting\Sprinkle\Core\Util\ClassMapper $classMapper */ /** @var \UserFrosting\Sprinkle\Core\Util\ClassMapper $classMapper */
$classMapper = $this->ci->classMapper; $classMapper = $this->ci->classMapper;
$params['ci'] = $this->ci;
$sprunje = $classMapper->createInstance('organisation_sprunje', $classMapper, $params); $sprunje = $classMapper->createInstance('organisation_sprunje', $classMapper, $params);
if (!$currentUser->isMaster() && $currentUser->roles()->where('slug', 'organisations-admin')->count() == 0) {
$sprunje->extendQuery(function ($query) use ($currentUser) {
return $query->where('flag_approved', true)
->withUser($currentUser->id)
->orWhereNotNull('is_member');
});
}
// Be careful how you consume this data - it has not been escaped and contains untrusted user-supplied content. // Be careful how you consume this data - it has not been escaped and contains untrusted user-supplied content.
// For example, if you plan to insert it into an HTML DOM, you must escape it on the client side (or use client-side templating). // For example, if you plan to insert it into an HTML DOM, you must escape it on the client side (or use client-side templating).

View File

@@ -203,6 +203,7 @@ class OrganisationPermissions extends BaseSeed
$roleUser = Role::where('slug', 'user')->first(); $roleUser = Role::where('slug', 'user')->first();
if ($roleUser) { if ($roleUser) {
$roleUser->permissions()->syncWithoutDetaching([ $roleUser->permissions()->syncWithoutDetaching([
$permissions['uri_organisations']->id,
$permissions['uri_organisation_own']->id, $permissions['uri_organisation_own']->id,
$permissions['view_organisation_field_own']->id, $permissions['view_organisation_field_own']->id,
$permissions['leave_organisation']->id, $permissions['leave_organisation']->id,