James Moger
2014-05-07 3b23dcdde4ef55927e45e56596e7023ce2cf9424
Consolidate open tickets page parameters
5 files modified
51 ■■■■ changed files
src/main/java/com/gitblit/wicket/WicketUtils.java 14 ●●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/wicket/pages/EditMilestonePage.java 14 ●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/wicket/pages/NewMilestonePage.java 8 ●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/wicket/pages/RepositoryPage.java 9 ●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/wicket/panels/TicketListPanel.java 6 ●●●● patch | view | raw | blame | history
src/main/java/com/gitblit/wicket/WicketUtils.java
@@ -445,6 +445,20 @@
        return new PageParameters(parameterMap);
    }
    public static PageParameters newTicketsParameters(String repositoryName, String... states) {
        PageParameters tParams = newRepositoryParameter(repositoryName);
        if (states != null) {
            for (String state : states) {
                tParams.add("status", state);
            }
        }
        return tParams;
    }
    public static PageParameters newOpenTicketsParameter(String repositoryName) {
        return newTicketsParameters(repositoryName, TicketsUI.openStatii);
    }
    public static String getProjectName(PageParameters params) {
        return params.getString("p", "");
    }
src/main/java/com/gitblit/wicket/pages/EditMilestonePage.java
@@ -66,7 +66,7 @@
        RepositoryModel model = getRepositoryModel();
        if (!app().tickets().isAcceptingTicketUpdates(model)) {
            // ticket service is read-only
            throw new RestartResponseException(TicketsPage.class, WicketUtils.newRepositoryParameter(repositoryName));
            throw new RestartResponseException(TicketsPage.class, WicketUtils.newOpenTicketsParameter(repositoryName));
        }
        UserModel currentUser = GitBlitWebSession.get().getUser();
@@ -76,19 +76,19 @@
        if (!currentUser.isAuthenticated || !currentUser.canAdmin(model)) {
            // administration prohibited
            throw new RestartResponseException(TicketsPage.class, WicketUtils.newRepositoryParameter(repositoryName));
            throw new RestartResponseException(TicketsPage.class, WicketUtils.newOpenTicketsParameter(repositoryName));
        }
        oldName = WicketUtils.getObject(params);
        if (StringUtils.isEmpty(oldName)) {
            // milestone not specified
            throw new RestartResponseException(TicketsPage.class, WicketUtils.newRepositoryParameter(repositoryName));
            throw new RestartResponseException(TicketsPage.class, WicketUtils.newOpenTicketsParameter(repositoryName));
        }
        TicketMilestone tm = app().tickets().getMilestone(getRepositoryModel(), oldName);
        if (tm == null) {
            // milestone does not exist
            throw new RestartResponseException(TicketsPage.class, WicketUtils.newRepositoryParameter(repositoryName));
            throw new RestartResponseException(TicketsPage.class, WicketUtils.newOpenTicketsParameter(repositoryName));
        }
        setStatelessHint(false);
@@ -140,7 +140,7 @@
                }
                if (success && app().tickets().updateMilestone(getRepositoryModel(), tm, createdBy)) {
                    setResponsePage(TicketsPage.class, WicketUtils.newRepositoryParameter(getRepositoryModel().name));
                    setResponsePage(TicketsPage.class, WicketUtils.newOpenTicketsParameter(repositoryName));
                } else {
                    // TODO error
                }
@@ -151,7 +151,7 @@
            @Override
            public void onSubmit() {
                setResponsePage(TicketsPage.class, WicketUtils.newRepositoryParameter(repositoryName));
                setResponsePage(TicketsPage.class, WicketUtils.newOpenTicketsParameter(repositoryName));
            }
        };
        cancel.setDefaultFormProcessing(false);
@@ -167,7 +167,7 @@
                boolean notify = notificationModel.getObject();
                if (app().tickets().deleteMilestone(getRepositoryModel(), oldName, createdBy, notify)) {
                    setResponsePage(TicketsPage.class, WicketUtils.newRepositoryParameter(repositoryName));
                    setResponsePage(TicketsPage.class, WicketUtils.newOpenTicketsParameter(repositoryName));
                } else {
                    // TODO error processing
                }
src/main/java/com/gitblit/wicket/pages/NewMilestonePage.java
@@ -55,7 +55,7 @@
        RepositoryModel model = getRepositoryModel();
        if (!app().tickets().isAcceptingTicketUpdates(model)) {
            // ticket service is read-only
            throw new RestartResponseException(TicketsPage.class, WicketUtils.newRepositoryParameter(repositoryName));
            throw new RestartResponseException(TicketsPage.class, WicketUtils.newOpenTicketsParameter(repositoryName));
        }
        UserModel currentUser = GitBlitWebSession.get().getUser();
@@ -65,7 +65,7 @@
        if (!currentUser.isAuthenticated || !currentUser.canAdmin(model)) {
            // administration prohibited
            throw new RestartResponseException(TicketsPage.class, WicketUtils.newRepositoryParameter(repositoryName));
            throw new RestartResponseException(TicketsPage.class, WicketUtils.newOpenTicketsParameter(repositoryName));
        }
        setStatelessHint(false);
@@ -108,7 +108,7 @@
                if (milestone != null) {
                    milestone.due = due;
                    app().tickets().updateMilestone(getRepositoryModel(), milestone, createdBy);
                    throw new RestartResponseException(TicketsPage.class, WicketUtils.newRepositoryParameter(getRepositoryModel().name));
                    throw new RestartResponseException(TicketsPage.class, WicketUtils.newOpenTicketsParameter(repositoryName));
                } else {
                    // TODO error
                }
@@ -120,7 +120,7 @@
            @Override
            public void onSubmit() {
                setResponsePage(TicketsPage.class, WicketUtils.newRepositoryParameter(repositoryName));
                setResponsePage(TicketsPage.class, WicketUtils.newOpenTicketsParameter(repositoryName));
            }
        };
        cancel.setDefaultFormProcessing(false);
src/main/java/com/gitblit/wicket/pages/RepositoryPage.java
@@ -60,7 +60,6 @@
import com.gitblit.models.UserRepositoryPreferences;
import com.gitblit.servlet.PagesServlet;
import com.gitblit.servlet.SyndicationServlet;
import com.gitblit.tickets.TicketIndexer.Lucene;
import com.gitblit.utils.ArrayUtils;
import com.gitblit.utils.BugtraqProcessor;
import com.gitblit.utils.DeepCopier;
@@ -70,7 +69,6 @@
import com.gitblit.wicket.CacheControl;
import com.gitblit.wicket.GitBlitWebSession;
import com.gitblit.wicket.SessionlessForm;
import com.gitblit.wicket.TicketsUI;
import com.gitblit.wicket.WicketUtils;
import com.gitblit.wicket.panels.LinkPanel;
import com.gitblit.wicket.panels.NavigationPanel;
@@ -202,11 +200,8 @@
        }
        navLinks.add(new PageNavLink("gb.commits", LogPage.class, params));
        navLinks.add(new PageNavLink("gb.tree", TreePage.class, params));
        if (app().tickets().isReady() && (app().tickets().isAcceptingNewTickets(getRepositoryModel()) || app().tickets().hasTickets(getRepositoryModel()))) {
            PageParameters tParams = new PageParameters(params);
            for (String state : TicketsUI.openStatii) {
                tParams.add(Lucene.status.name(), state);
            }
        if (app().tickets().isReady() && (app().tickets().isAcceptingNewTickets(model) || app().tickets().hasTickets(model))) {
            PageParameters tParams = WicketUtils.newOpenTicketsParameter(repositoryName);
            navLinks.add(new PageNavLink("gb.tickets", TicketsPage.class, tParams));
        }
        navLinks.add(new PageNavLink("gb.docs", DocsPage.class, params, true));
src/main/java/com/gitblit/wicket/panels/TicketListPanel.java
@@ -32,7 +32,6 @@
import com.gitblit.models.RepositoryModel;
import com.gitblit.models.UserModel;
import com.gitblit.tickets.QueryResult;
import com.gitblit.tickets.TicketIndexer.Lucene;
import com.gitblit.tickets.TicketLabel;
import com.gitblit.utils.ArrayUtils;
import com.gitblit.utils.BugtraqProcessor;
@@ -77,10 +76,7 @@
                if (showRepository) {
                    String name = StringUtils.stripDotGit(ticket.repository);
                    PageParameters rp = new PageParameters(WicketUtils.newRepositoryParameter(ticket.repository));
                    for (String state : TicketsUI.openStatii) {
                        rp.add(Lucene.status.name(), state);
                    }
                    PageParameters rp =  WicketUtils.newOpenTicketsParameter(ticket.repository);
                    LinkPanel link = new LinkPanel("ticketsLink", null, name, TicketsPage.class, rp);
                    WicketUtils.setCssBackground(link, name);
                    item.add(link);