public function itReturnsFalseIfCurrentMappingNotEqualsDefaultOneForPrivateProject() { $current_mapping = array(array('group_id' => 104, 'ugroup_id' => 4, 'mw_group_name' => MediawikiUserGroupsMapper::MEDIAWIKI_GROUPS_BOT), array('group_id' => 104, 'ugroup_id' => 4, 'mw_group_name' => MediawikiUserGroupsMapper::MEDIAWIKI_GROUPS_BUREAUCRAT)); stub($this->dao)->getMediawikiUserGroupMapping()->returns($current_mapping); stub($this->project)->isPublic()->returns(false); $is_default = $this->mapper->isDefaultMapping($this->project); $this->assertFalse($is_default); }
private function getSelectedMappingsFromRequest(HTTPRequest $request, Project $project) { if ($this->requestIsRestore($request)) { return $this->mapper->getDefaultMappingsForProject($project); } $list = array(); foreach (MediawikiUserGroupsMapper::$MEDIAWIKI_GROUPS_NAME as $mw_group_name) { $list[$mw_group_name] = array_filter(explode(',', $request->get('hidden_selected_' . $mw_group_name))); } return $list; }
/** * On every page load, the user's permissions are recalculated. They are based * upon the groups to which the user belongs. */ function manageMediawikiGroupsForUser(User $mediawiki_user, PFUser $tuleap_user, Group $group) { $groups_mapper = new MediawikiUserGroupsMapper(new MediawikiDao(), new User_ForgeUserGroupPermissionsDao()); $mediawiki_groups = $groups_mapper->defineUserMediawikiGroups($tuleap_user, $group); foreach ($mediawiki_groups['removed'] as $group_to_remove) { $mediawiki_user->removeGroup($group_to_remove); } foreach ($mediawiki_groups['added'] as $group_to_add) { $mediawiki_user->addGroup($group_to_add); } return $mediawiki_user; }
private function seedUGroupMappingFromTemplate(array $ugroup_mapping) { $template = ProjectManager::instance()->getProject($this->project->getTemplate()); $mapper = new MediawikiUserGroupsMapper(new MediawikiDao(), new User_ForgeUserGroupPermissionsDao()); $template_mapping = $mapper->getCurrentUserGroupMapping($template); $new_mapping = array(); foreach ($template_mapping as $mw_group => $tuleap_groups) { foreach ($tuleap_groups as $grp) { if ($grp < ProjectUGroup::DYNAMIC_UPPER_BOUNDARY) { $new_mapping[$mw_group][] = $grp; } elseif (isset($ugroup_mapping[$grp])) { $new_mapping[$mw_group][] = $ugroup_mapping[$grp]; } } } db_query($this->seedProjectUGroupMappings($this->project->getID(), $new_mapping)); }