From abd3cc2d610981493b5e9333108d271ae37f7726 Mon Sep 17 00:00:00 2001 From: James Moger <james.moger@gitblit.com> Date: Sat, 12 Jan 2013 19:51:42 -0500 Subject: [PATCH] Refresh authenticated user model for each page request (issue-186) --- src/com/gitblit/wicket/panels/ProjectRepositoryPanel.java | 19 ++++++++++++++++--- 1 files changed, 16 insertions(+), 3 deletions(-) diff --git a/src/com/gitblit/wicket/panels/ProjectRepositoryPanel.java b/src/com/gitblit/wicket/panels/ProjectRepositoryPanel.java index c66fa60..3c9bf7f 100644 --- a/src/com/gitblit/wicket/panels/ProjectRepositoryPanel.java +++ b/src/com/gitblit/wicket/panels/ProjectRepositoryPanel.java @@ -87,6 +87,12 @@ add(forkFrag); } + if (entry.isSparkleshared()) { + add(WicketUtils.newImage("sparkleshareIcon", "star_16x16.png", localizer.getString("gb.isSparkleshared", parent))); + } else { + add(WicketUtils.newClearPixel("sparkleshareIcon").setVisible(false)); + } + add(new BookmarkablePageLink<Void>("tickets", TicketsPage.class, pp).setVisible(entry.useTickets)); add(new BookmarkablePageLink<Void>("docs", DocsPage.class, pp).setVisible(entry.useDocs)); @@ -134,8 +140,11 @@ } UserModel user = GitBlitWebSession.get().getUser(); + if (user == null) { + user = UserModel.ANONYMOUS; + } Fragment repositoryLinks; - boolean showOwner = user != null && user.username.equalsIgnoreCase(entry.owner); + boolean showOwner = entry.isOwner(user.username); // owner of personal repository gets admin powers boolean showAdmin = isAdmin || entry.isUsersPersonalRepository(user.username); @@ -152,8 +161,12 @@ @Override public void onClick() { if (GitBlit.self().deleteRepositoryModel(entry)) { - info(MessageFormat.format(getString("gb.repositoryDeleted"), entry)); - // TODO dp.remove(entry); + // redirect to the owning page + if (entry.isPersonalRepository()) { + setResponsePage(getPage().getClass(), WicketUtils.newUsernameParameter(entry.projectPath.substring(1))); + } else { + setResponsePage(getPage().getClass(), WicketUtils.newProjectParameter(entry.projectPath)); + } } else { error(MessageFormat.format(getString("gb.repositoryDeleteFailed"), entry)); } -- Gitblit v1.9.1