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")));
 }