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;
 }
Exemple #3
0
 /**
  * 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));
 }