From b4ed66fda03d83fd281ca9cbeae0a1c7785489e4 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Fri, 09 May 2014 09:55:19 -0400 Subject: [PATCH] Move delete repository function into the edit page --- src/main/java/com/gitblit/wicket/panels/ProjectRepositoryPanel.java | 50 ++------------------------------------------------ 1 files changed, 2 insertions(+), 48 deletions(-) diff --git a/src/main/java/com/gitblit/wicket/panels/ProjectRepositoryPanel.java b/src/main/java/com/gitblit/wicket/panels/ProjectRepositoryPanel.java index 2c84ac0..8630d20 100644 --- a/src/main/java/com/gitblit/wicket/panels/ProjectRepositoryPanel.java +++ b/src/main/java/com/gitblit/wicket/panels/ProjectRepositoryPanel.java @@ -15,7 +15,6 @@ */ package com.gitblit.wicket.panels; -import java.text.MessageFormat; import java.util.Map; import org.apache.wicket.Component; @@ -24,7 +23,6 @@ import org.apache.wicket.markup.html.basic.Label; import org.apache.wicket.markup.html.link.BookmarkablePageLink; import org.apache.wicket.markup.html.link.ExternalLink; -import org.apache.wicket.markup.html.link.Link; import org.apache.wicket.markup.html.panel.Fragment; import com.gitblit.Constants.AccessRestrictionType; @@ -129,54 +127,10 @@ user = UserModel.ANONYMOUS; } Fragment repositoryLinks; - boolean showOwner = entry.isOwner(user.username); - // owner of personal repository gets admin powers - boolean showAdmin = isAdmin || entry.isUsersPersonalRepository(user.username); - - if (showAdmin || showOwner) { - repositoryLinks = new Fragment("repositoryLinks", showAdmin ? "repositoryAdminLinks" - : "repositoryOwnerLinks", this); + if (user.canAdmin(entry)) { + repositoryLinks = new Fragment("repositoryLinks", "repositoryOwnerLinks", this); repositoryLinks.add(new BookmarkablePageLink<Void>("editRepository", EditRepositoryPage.class, WicketUtils.newRepositoryParameter(entry.name))); - if (showAdmin) { - Link<Void> deleteLink = new Link<Void>("deleteRepository") { - - private static final long serialVersionUID = 1L; - - @Override - public void onClick() { - // refresh the model - RepositoryModel model = app().repositories().getRepositoryModel(entry.name); - if (isDeleteAllowed(model) && - app().repositories().deleteRepositoryModel(model)) { - // redirect to the owning page - if (model.isPersonalRepository()) { - setResponsePage(getPage().getClass(), WicketUtils.newUsernameParameter(model.projectPath.substring(1))); - } else { - setResponsePage(getPage().getClass(), WicketUtils.newProjectParameter(model.projectPath)); - } - } else { - error(MessageFormat.format(getString("gb.repositoryDeleteFailed"), model)); - } - } - - @Override - public boolean isEnabled() { - return isDeleteAllowed(entry); - } - - private boolean isDeleteAllowed( - final RepositoryModel model) { - return app().settings().getBoolean(Keys.web.allowDeletingNonEmptyRepositories, true) - || !model.hasCommits; - } - }; - if (deleteLink.isEnabled()) { - deleteLink.add(new JavascriptEventConfirmation("onclick", MessageFormat.format( - localizer.getString("gb.deleteRepository", parent), entry))); - } - repositoryLinks.add(deleteLink); - } } else { repositoryLinks = new Fragment("repositoryLinks", "repositoryUserLinks", this); } -- Gitblit v1.9.1