| | |
| | |
|
| | | import com.gitblit.models.TeamModel;
|
| | | import com.gitblit.models.UserModel;
|
| | | import com.gitblit.utils.ArrayUtils;
|
| | | import com.gitblit.utils.DeepCopier;
|
| | | import com.gitblit.utils.StringUtils;
|
| | |
|
| | |
| | | continue;
|
| | | }
|
| | | list.add(user);
|
| | | }
|
| | | Collections.sort(list);
|
| | | return list;
|
| | | }
|
| | |
|
| | | /**
|
| | | * Returns the list of all users available to the login service.
|
| | | * |
| | | * @return list of all usernames
|
| | | */
|
| | | @Override
|
| | | public List<UserModel> getAllUsers() {
|
| | | read();
|
| | | List<UserModel> list = new ArrayList<UserModel>();
|
| | | for (String username : getAllUsernames()) {
|
| | | list.add(getUserModel(username));
|
| | | }
|
| | | Collections.sort(list);
|
| | | return list;
|
| | |
| | | }
|
| | |
|
| | | /**
|
| | | * Returns the list of all teams available to the login service.
|
| | | * |
| | | * @return list of all teams
|
| | | * @since 0.8.0
|
| | | */
|
| | | @Override
|
| | | public List<TeamModel> getAllTeams() {
|
| | | List<TeamModel> list = new ArrayList<TeamModel>(teams.values());
|
| | | list = DeepCopier.copy(list);
|
| | | Collections.sort(list);
|
| | | return list;
|
| | | }
|
| | |
|
| | | /**
|
| | | * Returns the list of all teams who are allowed to bypass the access
|
| | | * restriction placed on the specified repository.
|
| | | *
|
| | |
| | | // remove role from team
|
| | | for (String name : needsRemoveRole) {
|
| | | String team = "@" + name;
|
| | | String[] values = allUsers.getProperty(team).split(","); |
| | | String[] values = allUsers.getProperty(team).split(",");
|
| | | StringBuilder sb = new StringBuilder();
|
| | | for (int i = 0; i < values.length; i++) {
|
| | | String value = values[i];
|
| | |
| | |
|
| | | private void updateTeamCache(Properties allUsers, String teamname, TeamModel model) {
|
| | | StringBuilder sb = new StringBuilder();
|
| | | for (String repository : model.repositories) {
|
| | | sb.append(repository);
|
| | | sb.append(',');
|
| | | if (!ArrayUtils.isEmpty(model.repositories)) {
|
| | | for (String repository : model.repositories) {
|
| | | sb.append(repository);
|
| | | sb.append(',');
|
| | | }
|
| | | }
|
| | | for (String user : model.users) {
|
| | | sb.append('!');
|
| | | sb.append(user);
|
| | | sb.append(',');
|
| | | if (!ArrayUtils.isEmpty(model.users)) {
|
| | | for (String user : model.users) {
|
| | | sb.append('!');
|
| | | sb.append(user);
|
| | | sb.append(',');
|
| | | }
|
| | | }
|
| | | for (String address : model.mailingLists) {
|
| | | sb.append('&');
|
| | | sb.append(address);
|
| | | sb.append(',');
|
| | | if (!ArrayUtils.isEmpty(model.mailingLists)) {
|
| | | for (String address : model.mailingLists) {
|
| | | sb.append('&');
|
| | | sb.append(address);
|
| | | sb.append(',');
|
| | | }
|
| | | }
|
| | | for (String script : model.preReceiveScripts) {
|
| | | sb.append('^');
|
| | | sb.append(script);
|
| | | sb.append(',');
|
| | | if (!ArrayUtils.isEmpty(model.preReceiveScripts)) {
|
| | | for (String script : model.preReceiveScripts) {
|
| | | sb.append('^');
|
| | | sb.append(script);
|
| | | sb.append(',');
|
| | | }
|
| | | }
|
| | | for (String script : model.postReceiveScripts) {
|
| | | sb.append('%');
|
| | | sb.append(script);
|
| | | sb.append(',');
|
| | | if (!ArrayUtils.isEmpty(model.postReceiveScripts)) {
|
| | | for (String script : model.postReceiveScripts) {
|
| | | sb.append('%');
|
| | | sb.append(script);
|
| | | sb.append(',');
|
| | | }
|
| | | }
|
| | | // trim trailing comma
|
| | | sb.setLength(sb.length() - 1);
|