Package com.gitblit.models

Examples of com.gitblit.models.TeamModel


      users.put(model.username.toLowerCase(), model);
      // null check on "final" teams because JSON-sourced UserModel
      // can have a null teams object
      if (model.teams != null) {
        for (TeamModel team : model.teams) {
          TeamModel t = teams.get(team.name.toLowerCase());
          if (t == null) {
            // new team
            team.addUser(username);
            teams.put(team.name.toLowerCase(), team);
          } else {
            // do not clobber existing team definition
            // maybe because this is a federated user
            t.removeUser(username);
            t.addUser(model.username);
          }
        }

        // check for implicit team removal
        if (originalUser != null) {
View Full Code Here


        // user does not exist
        return false;
      }
      // remove user from team
      for (TeamModel team : model.teams) {
        TeamModel t = teams.get(team.name);
        if (t == null) {
          // new team
          team.removeUser(username);
          teams.put(team.name.toLowerCase(), team);
        } else {
          // existing team
          t.removeUser(username);
        }
      }
      write();
      return true;
    } catch (Throwable t) {
View Full Code Here

  public synchronized List<String> getTeamNamesForRepositoryRole(String role) {
    List<String> list = new ArrayList<String>();
    try {
      read();
      for (Map.Entry<String, TeamModel> entry : teams.entrySet()) {
        TeamModel model = entry.getValue();
        if (model.hasRepositoryPermission(role)) {
          list.add(model.name);
        }
      }
    } catch (Throwable t) {
      logger.error(MessageFormat.format("Failed to get teamnames for role {0}!", role), t);
View Full Code Here

   * @since 0.8.0
   */
  @Override
  public synchronized TeamModel getTeamModel(String teamname) {
    read();
    TeamModel model = teams.get(teamname.toLowerCase());
    if (model != null) {
      // clone the model, otherwise all changes to this object are
      // live and unpersisted
      model = DeepCopier.copy(model);
    }
View Full Code Here

   * @return true if update is successful
   * @since 0.8.0
   */
  @Override
  public synchronized boolean updateTeamModel(String teamname, TeamModel model) {
    TeamModel original = null;
    try {
      read();
      original = teams.remove(teamname.toLowerCase());
      teams.put(model.name.toLowerCase(), model);
      write();
View Full Code Here

        }

        // load the teams
        Set<String> teamnames = config.getSubsections(TEAM);
        for (String teamname : teamnames) {
          TeamModel team = new TeamModel(teamname);
          Set<String> roles = new HashSet<String>(Arrays.asList(config.getStringList(
              TEAM, teamname, ROLE)));
          team.canAdmin = roles.contains(Constants.ADMIN_ROLE);
          team.canFork = roles.contains(Constants.FORK_ROLE);
          team.canCreate = roles.contains(Constants.CREATE_ROLE);
          team.accountType = AccountType.fromString(config.getString(TEAM, teamname, ACCOUNTTYPE));

          if (!team.canAdmin) {
            // non-admin team, read permissions
            team.addRepositoryPermissions(Arrays.asList(config.getStringList(TEAM, teamname,
                REPOSITORY)));
          }
          team.addUsers(Arrays.asList(config.getStringList(TEAM, teamname, USER)));
          team.addMailingLists(Arrays.asList(config.getStringList(TEAM, teamname,
              MAILINGLIST)));
          team.preReceiveScripts.addAll(Arrays.asList(config.getStringList(TEAM,
              teamname, PRERECEIVE)));
          team.postReceiveScripts.addAll(Arrays.asList(config.getStringList(TEAM,
              teamname, POSTRECEIVE)));
View Full Code Here

    RepositoryModel repo = new RepositoryModel("somerepo.git", null, null, new Date());
    repo.authorizationControl = AuthorizationControl.NAMED;
    repo.accessRestriction = AccessRestrictionType.NONE;

    UserModel user = new UserModel("test");
    TeamModel team = new TeamModel("team");

    assertEquals("user has wrong permission!", AccessPermission.REWIND, user.getRepositoryPermission(repo).permission);
    assertEquals("team has wrong permission!", AccessPermission.REWIND, team.getRepositoryPermission(repo).permission);

    // set repo to have a working copy, pushes prohibited
    repo.isBare = false;
    assertEquals("user has wrong permission!", AccessPermission.CLONE, user.getRepositoryPermission(repo).permission);
    assertEquals("team has wrong permission!", AccessPermission.CLONE, team.getRepositoryPermission(repo).permission);
  }
View Full Code Here

    RepositoryModel repo = new RepositoryModel("somerepo.git", null, null, new Date());
    repo.authorizationControl = AuthorizationControl.NAMED;
    repo.accessRestriction = AccessRestrictionType.NONE;

    UserModel user = new UserModel("test");
    TeamModel team = new TeamModel("team");

    assertEquals("user has wrong permission!", AccessPermission.REWIND, user.getRepositoryPermission(repo).permission);
    assertEquals("team has wrong permission!", AccessPermission.REWIND, team.getRepositoryPermission(repo).permission);

    // set repo to be a mirror, pushes prohibited
    repo.isMirror = true;
    assertEquals("user has wrong permission!", AccessPermission.CLONE, user.getRepositoryPermission(repo).permission);
    assertEquals("team has wrong permission!", AccessPermission.CLONE, team.getRepositoryPermission(repo).permission);
  }
View Full Code Here

      if (!gitblit.deleteUser(model.username)) {
        response.setStatus(failureCode);
      }
    } else if (RpcRequest.CREATE_TEAM.equals(reqType)) {
      // create team
      TeamModel model = deserialize(request, response, TeamModel.class);
      try {
        gitblit.addTeam(model);
      } catch (GitBlitException e) {
        response.setStatus(failureCode);
      }
    } else if (RpcRequest.EDIT_TEAM.equals(reqType)) {
      // edit team
      TeamModel model = deserialize(request, response, TeamModel.class);
      // name parameter specifies original team name in event of rename
      String teamname = objectName;
      if (teamname == null) {
        teamname = model.name;
      }
      try {
        gitblit.reviseTeam(teamname, model);
      } catch (GitBlitException e) {
        response.setStatus(failureCode);
      }
    } else if (RpcRequest.DELETE_TEAM.equals(reqType)) {
      // delete team
      TeamModel model = deserialize(request, response, TeamModel.class);
      if (!gitblit.deleteTeam(model.name)) {
        response.setStatus(failureCode);
      }
    } else if (RpcRequest.LIST_REPOSITORY_MEMBERS.equals(reqType)) {
      // get repository members
View Full Code Here

  public void testTeam_PUSH_VIEW() throws Exception {
    RepositoryModel repository = new RepositoryModel("myrepo.git", null, null, new Date());
    repository.authorizationControl = AuthorizationControl.NAMED;
    repository.accessRestriction = AccessRestrictionType.PUSH;

    TeamModel team = new TeamModel("test");
    team.setRepositoryPermission(repository.name, AccessPermission.VIEW);

    assertTrue("team CAN NOT view!", team.canView(repository));
    assertTrue("team CAN NOT clone!", team.canClone(repository));
    assertFalse("team CAN push!", team.canPush(repository));

    assertFalse("team CAN create ref!", team.canCreateRef(repository));
    assertFalse("team CAN delete ref!", team.canDeleteRef(repository));
    assertFalse("team CAN rewind ref!", team.canRewindRef(repository));

    assertEquals("team has wrong permission!", AccessPermission.CLONE, team.getRepositoryPermission(repository).permission);
  }
View Full Code Here

TOP

Related Classes of com.gitblit.models.TeamModel

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.