James Moger
2014-05-12 eb61292adce83ee88561fb7df3fb2ddf2d34a282
Allow ticket responsible selection when anonymous push is enabled
2 files modified
20 ■■■■■ changed files
src/main/java/com/gitblit/wicket/pages/EditTicketPage.java 8 ●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/wicket/pages/NewTicketPage.java 12 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/wicket/pages/EditTicketPage.java
@@ -163,16 +163,22 @@
            // responsible
            Set<String> userlist = new TreeSet<String>(ticket.getParticipants());
            if (UserModel.ANONYMOUS.canPush(getRepositoryModel())) {
                // anonymous push
                userlist.addAll(app().users().getAllUsernames());
            } else {
                // authenticated push
            for (RegistrantAccessPermission rp : app().repositories().getUserAccessPermissions(getRepositoryModel())) {
                if (rp.permission.atLeast(AccessPermission.PUSH) && !rp.isTeam()) {
                    userlist.add(rp.registrant);
                    }
                }
            }
            List<TicketResponsible> responsibles = new ArrayList<TicketResponsible>();
            for (String username : userlist) {
                UserModel user = app().users().getUserModel(username);
                if (user != null) {
                if (user != null && !user.disabled) {
                    TicketResponsible responsible = new TicketResponsible(user);
                    responsibles.add(responsible);
                    if (user.username.equals(ticket.responsible)) {
src/main/java/com/gitblit/wicket/pages/NewTicketPage.java
@@ -116,14 +116,24 @@
        if (currentUser.canAdmin(null, getRepositoryModel())) {
            // responsible
            List<TicketResponsible> responsibles = new ArrayList<TicketResponsible>();
            if (UserModel.ANONYMOUS.canPush(getRepositoryModel())) {
                // anonymous push allowed
                for (UserModel user : app().users().getAllUsers()) {
                    if (!user.disabled) {
                        responsibles.add(new TicketResponsible(user));
                    }
                }
            } else {
                // authenticated push
            for (RegistrantAccessPermission rp : app().repositories().getUserAccessPermissions(getRepositoryModel())) {
                if (rp.permission.atLeast(AccessPermission.PUSH) && !rp.isTeam()) {
                    UserModel user = app().users().getUserModel(rp.registrant);
                    if (user != null) {
                        if (user != null && !user.disabled) {
                        responsibles.add(new TicketResponsible(user));
                    }
                }
            }
            }
            Collections.sort(responsibles);
            Fragment responsible = new Fragment("responsible", "responsibleFragment", this);
            responsible.add(new DropDownChoice<TicketResponsible>("responsible", responsibleModel, responsibles));