summaryrefslogtreecommitdiffstats
path: root/src/com/gitblit/wicket/RepositoryPage.java
diff options
context:
space:
mode:
authorJames Moger <james.moger@gitblit.com>2011-05-24 17:17:51 -0400
committerJames Moger <james.moger@gitblit.com>2011-05-24 17:17:51 -0400
commit8a2e9c363346ef5bf48c8eba09cb8afa46fabeeb (patch)
tree1408a042f9f20c4bcb627555c0d2867ee3e7ab31 /src/com/gitblit/wicket/RepositoryPage.java
parenta4d2498b7f94012cfdf481fcf151f8cfd7537a42 (diff)
downloadgitblit-8a2e9c363346ef5bf48c8eba09cb8afa46fabeeb.tar.gz
gitblit-8a2e9c363346ef5bf48c8eba09cb8afa46fabeeb.zip
Delete/Rename repos & user. Edit link. Dropped crypt. Other git urls.
Diffstat (limited to 'src/com/gitblit/wicket/RepositoryPage.java')
-rw-r--r--src/com/gitblit/wicket/RepositoryPage.java22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/com/gitblit/wicket/RepositoryPage.java b/src/com/gitblit/wicket/RepositoryPage.java
index e3ae6352..7b447bc0 100644
--- a/src/com/gitblit/wicket/RepositoryPage.java
+++ b/src/com/gitblit/wicket/RepositoryPage.java
@@ -35,6 +35,7 @@ import com.gitblit.utils.StringUtils;
import com.gitblit.wicket.models.RepositoryModel;
import com.gitblit.wicket.pages.BranchesPage;
import com.gitblit.wicket.pages.DocsPage;
+import com.gitblit.wicket.pages.EditRepositoryPage;
import com.gitblit.wicket.pages.LogPage;
import com.gitblit.wicket.pages.SearchPage;
import com.gitblit.wicket.pages.SummaryPage;
@@ -65,6 +66,7 @@ public abstract class RepositoryPage extends BasePage {
put("tags", "gb.tags");
put("tree", "gb.tree");
put("tickets", "gb.tickets");
+ put("edit", "gb.edit");
}
};
@@ -90,16 +92,29 @@ public abstract class RepositoryPage extends BasePage {
// per-repository extra page links
List<String> extraPageLinks = new ArrayList<String>();
- // Conditionally add tickets page
+ // Conditionally add tickets link
if (model.useTickets && JGitUtils.getTicketsBranch(r) != null) {
extraPageLinks.add("tickets");
}
- // Conditionally add docs page
+ // Conditionally add docs link
if (model.useDocs) {
extraPageLinks.add("docs");
}
+ final boolean showAdmin;
+ if (GitBlit.self().settings().getBoolean(Keys.web.authenticateAdminPages, true)) {
+ boolean allowAdmin = GitBlit.self().settings().getBoolean(Keys.web.allowAdministration, false);
+ showAdmin = allowAdmin && GitBlitWebSession.get().canAdmin();
+ } else {
+ showAdmin = GitBlit.self().settings().getBoolean(Keys.web.allowAdministration, false);
+ }
+
+ // Conditionally add edit link
+ if (showAdmin || GitBlitWebSession.get().isLoggedIn() && (model.owner != null && model.owner.equalsIgnoreCase(GitBlitWebSession.get().getUser().getUsername()))) {
+ extraPageLinks.add("edit");
+ }
+
ListDataProvider<String> extrasDp = new ListDataProvider<String>(extraPageLinks);
DataView<String> extrasView = new DataView<String>("extra", extrasDp) {
private static final long serialVersionUID = 1L;
@@ -112,6 +127,9 @@ public abstract class RepositoryPage extends BasePage {
} else if (extra.equals("docs")) {
item.add(new Label("extraSeparator", " | "));
item.add(new LinkPanel("extraLink", null, getString("gb.docs"), DocsPage.class, WicketUtils.newRepositoryParameter(repositoryName)));
+ } else if (extra.equals("edit")) {
+ item.add(new Label("extraSeparator", " | "));
+ item.add(new LinkPanel("extraLink", null, getString("gb.edit"), EditRepositoryPage.class, WicketUtils.newRepositoryParameter(repositoryName)));
}
}
};