Fix twig functions (master overrides permission)
This commit is contained in:
@@ -9,6 +9,7 @@
|
||||
|
||||
namespace UserFrosting\Sprinkle\Organisations\Twig;
|
||||
|
||||
use Illuminate\Database\Capsule\Manager as Capsule;
|
||||
use Psr\Container\ContainerInterface;
|
||||
use Twig\Extension\AbstractExtension;
|
||||
use Twig\Extension\GlobalsInterface;
|
||||
@@ -51,16 +52,21 @@ class OrganisationsExtension extends AbstractExtension implements GlobalsInterfa
|
||||
return [
|
||||
// Add Twig function for checking permissions during dynamic menu rendering
|
||||
new TwigFunction('isOrganisationMember', function ($organisation) {
|
||||
$authorizer = $this->services->authorizer;
|
||||
$currentUser = $this->services->currentUser;
|
||||
|
||||
return $authorizer->runCallback($currentUser, 'is_organisation_member', $currentUser->id, $organisation->id);
|
||||
return Capsule::table('organisation_members')
|
||||
->where('user_id', $currentUser->id)
|
||||
->where('organisation_id', $organisation->id)
|
||||
->count() > 0;
|
||||
}),
|
||||
new TwigFunction('isOrganisationAdmin', function ($organisation) {
|
||||
$authorizer = $this->services->authorizer;
|
||||
$currentUser = $this->services->currentUser;
|
||||
|
||||
return $authorizer->runCallback($currentUser, 'is_organisation_admin', $currentUser->id, $organisation->id);
|
||||
return Capsule::table('organisation_members')
|
||||
->where('user_id', $currentUser->id)
|
||||
->where('organisation_id', $organisation->id)
|
||||
->where('flag_admin', true)
|
||||
->count() > 0;
|
||||
}),
|
||||
new TwigFunction('hasRole', function ($roleSlug) {
|
||||
$currentUser = $this->services->currentUser;
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% if checkAccess('leave_organisation') and (isOrganisationMember(organisation)) %}
|
||||
{% if checkAccess('leave_organisation') and isOrganisationMember(organisation) %}
|
||||
<li>
|
||||
<a href="#" class="js-organisation-leave" data-slug="{{organisation.slug}}">
|
||||
<i class="fas fa-door-open fa-fw"></i> {{translate('ORGANISATION.LEAVE')}}
|
||||
|
||||
Reference in New Issue
Block a user