function testUserCanHasChangePermissionWhenHasAdminPermission() { $extensionManager = new \ExtensionManager($this->app); $extensionCore = new \ExtensionCore($this->app); $permission = $extensionCore->getUserPermission("CALENDAR_ADMINISTRATE"); $user = new \models\UserAccountModel(); $user->setIsEditor(true); // With include child permissions $userPermissionList = new UserPermissionsList($extensionManager, array($permission), $user, false, true); $this->assertTrue($userPermissionList->hasPermission("org.openacalendar", "CALENDAR_CHANGE")); $this->assertTrue($userPermissionList->hasPermission("org.openacalendar", "CALENDAR_ADMINISTRATE")); // With not includeing child permissions $userPermissionList = new UserPermissionsList($extensionManager, array($permission), $user, false, false); $this->assertFalse($userPermissionList->hasPermission("org.openacalendar", "CALENDAR_CHANGE")); $this->assertTrue($userPermissionList->hasPermission("org.openacalendar", "CALENDAR_ADMINISTRATE")); }
function __construct(\models\SiteModel $siteModel, UserPermissionsList $permissionsList) { $this->actions = array('org.openacalendar' => array('eventNew' => $permissionsList->hasPermission("org.openacalendar", "EVENTS_CHANGE"), 'groupNew' => $permissionsList->hasPermission("org.openacalendar", "GROUPS_CHANGE") && $siteModel->getIsFeatureGroup(), 'venueNew' => $permissionsList->hasPermission("org.openacalendar", "VENUES_CHANGE") && $siteModel->getIsFeaturePhysicalEvents(), 'areaNew' => $permissionsList->hasPermission("org.openacalendar", "AREAS_CHANGE") && $siteModel->getIsFeaturePhysicalEvents(), 'curatedListNew' => $permissionsList->hasPermission("org.openacalendar", "CALENDAR_CHANGE") && $siteModel->getIsFeatureCuratedList(), 'curatedListGeneralEdit' => $permissionsList->hasPermission("org.openacalendar", "CALENDAR_CHANGE") && $siteModel->getIsFeatureCuratedList(), 'admin' => $permissionsList->hasPermission("org.openacalendar", "CALENDAR_ADMINISTRATE"))); }