From b5b4026628c50ffdfa3ceeb93badb613cdca18eb Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Tue, 03 May 2011 15:59:20 -0400
Subject: [PATCH] Drop new lines between table rows for Opera.

---
 src/com/gitblit/wicket/pages/RepositoriesPage.java |   76 ++++++++++++++++++++++++++------------
 1 files changed, 52 insertions(+), 24 deletions(-)

diff --git a/src/com/gitblit/wicket/pages/RepositoriesPage.java b/src/com/gitblit/wicket/pages/RepositoriesPage.java
index 4aba988..2edb3e8 100644
--- a/src/com/gitblit/wicket/pages/RepositoriesPage.java
+++ b/src/com/gitblit/wicket/pages/RepositoriesPage.java
@@ -4,7 +4,6 @@
 import java.io.FileReader;
 import java.io.InputStream;
 import java.io.InputStreamReader;
-import java.io.StringWriter;
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.Iterator;
@@ -23,7 +22,6 @@
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
 import org.apache.wicket.resource.ContextRelativeResource;
-import org.tautua.markdownpapers.Markdown;
 
 import com.gitblit.GitBlit;
 import com.gitblit.Keys;
@@ -48,30 +46,32 @@
 		} else {
 			showAdmin = GitBlit.self().settings().getBoolean(Keys.web.allowAdministration, false);
 		}
-		
+
 		Fragment adminLinks = new Fragment("adminPanel", "adminLinks", this);
 		adminLinks.add(new BookmarkablePageLink<Void>("newRepository", EditRepositoryPage.class));
 		adminLinks.add(new BookmarkablePageLink<Void>("newUser", RepositoriesPage.class));
 		add(adminLinks.setVisible(showAdmin));
 
+		// display an error message cached from a redirect
+		String cachedMessage = GitBlitWebSession.get().clearErrorMessage();
+		if (!StringUtils.isEmpty(cachedMessage)) {
+			error(cachedMessage);
+			System.out.println("displayed message");
+		}
+		
 		// Load the markdown welcome message
 		String messageSource = GitBlit.self().settings().getString(Keys.web.repositoriesMessage, "gitblit");
 		String message = "";
 		if (messageSource.equalsIgnoreCase("gitblit")) {
 			// Read default welcome message
 			try {
-				ContextRelativeResource res = new ContextRelativeResource("/com/gitblit/wicket/resources/welcome.mkd");
+				ContextRelativeResource res = WicketUtils.getResource("welcome.mkd");
 				InputStream is = res.getResourceStream().getInputStream();
 				InputStreamReader reader = new InputStreamReader(is);
-				StringWriter writer = new StringWriter();
-				Markdown markdown = new Markdown();
-				markdown.transform(reader, writer);
-				message = writer.toString().trim();
-				reader.close();
-				writer.close();
+				message = StringUtils.transformMarkdown(reader);
 			} catch (Throwable t) {
 				message = "Failed to read default welcome message!";
-				error(message, t);
+				error(message, t, false);
 			}
 		} else {
 			// Read user-supplied welcome message
@@ -80,15 +80,10 @@
 				if (file.exists()) {
 					try {
 						FileReader reader = new FileReader(file);
-						StringWriter writer = new StringWriter();
-						Markdown markdown = new Markdown();
-						markdown.transform(reader, writer);
-						message = writer.toString().trim();
-						reader.close();
-						writer.close();
+						message = StringUtils.transformMarkdown(reader);
 					} catch (Throwable t) {
 						message = "Failed to read " + file;
-						error(message, t);
+						error(message, t, false);
 					}
 				} else {
 					message = messageSource + " is not a valid file.";
@@ -101,7 +96,7 @@
 		}
 		add(repositoriesMessage);
 
-		List<RepositoryModel> rows = GitBlit.self().getRepositories();
+		List<RepositoryModel> rows = GitBlit.self().getRepositoryModels();
 		DataProvider dp = new DataProvider(rows);
 		DataView<RepositoryModel> dataView = new DataView<RepositoryModel>("repository", dp) {
 			private static final long serialVersionUID = 1L;
@@ -109,9 +104,35 @@
 
 			public void populateItem(final Item<RepositoryModel> item) {
 				final RepositoryModel entry = item.getModelObject();
-				PageParameters pp = WicketUtils.newRepositoryParameter(entry.name);
-				item.add(new LinkPanel("repositoryName", "list", entry.name, SummaryPage.class, pp));
-				item.add(new LinkPanel("repositoryDescription", "list", entry.description, SummaryPage.class, pp));
+				if (entry.hasCommits) {
+					// Existing repository
+					PageParameters pp = WicketUtils.newRepositoryParameter(entry.name);
+					item.add(new LinkPanel("repositoryName", "list", entry.name, SummaryPage.class, pp));
+					item.add(new LinkPanel("repositoryDescription", "list", entry.description, SummaryPage.class, pp));
+				} else {
+					// New repository
+					item.add(new Label("repositoryName", entry.name + "<span class='empty'>(empty)</span>").setEscapeModelStrings(false));
+					item.add(new Label("repositoryDescription", entry.description));					
+				}
+				
+				if (entry.useTickets) {
+					item.add(WicketUtils.newImage("ticketsIcon", "bug_16x16.png", getString("gb.tickets")));
+				} else {
+					item.add(WicketUtils.newClearPixel("ticketsIcon"));
+				}
+				
+				if (entry.useDocs) {
+					item.add(WicketUtils.newImage("docsIcon", "book_16x16.png", getString("gb.docs")));
+				} else {
+					item.add(WicketUtils.newClearPixel("docsIcon"));
+				}
+				
+				if (entry.useRestrictedAccess) {
+					item.add(WicketUtils.newImage("restrictedAccessIcon", "lock_16x16.png", getString("gb.restrictedAccess")));
+				} else {
+					item.add(WicketUtils.newClearPixel("restrictedAccessIcon"));
+				}
+				
 				item.add(new Label("repositoryOwner", entry.owner));
 
 				String lastChange = TimeUtils.timeAgo(entry.lastChange);
@@ -119,8 +140,15 @@
 				item.add(lastChangeLabel);
 				WicketUtils.setCssClass(lastChangeLabel, TimeUtils.timeAgoCss(entry.lastChange));
 
-				item.add(new BookmarkablePageLink<Void>("repositoryLinks", EditRepositoryPage.class, WicketUtils.newRepositoryParameter(entry.name)).setVisible(showAdmin));
-				
+				if (showAdmin) {
+					Fragment repositoryLinks = new Fragment("repositoryLinks", "repositoryAdminLinks", this);
+					repositoryLinks.add(new BookmarkablePageLink<Void>("editRepository", EditRepositoryPage.class, WicketUtils.newRepositoryParameter(entry.name)));
+					repositoryLinks.add(new BookmarkablePageLink<Void>("renameRepository", EditRepositoryPage.class, WicketUtils.newRepositoryParameter(entry.name)).setEnabled(false));
+					repositoryLinks.add(new BookmarkablePageLink<Void>("deleteRepository", EditRepositoryPage.class, WicketUtils.newRepositoryParameter(entry.name)).setEnabled(false));
+					item.add(repositoryLinks);
+				} else {
+					item.add(new Label("repositoryLinks"));
+				}
 				WicketUtils.setAlternatingBackground(item, counter);
 				counter++;
 			}

--
Gitblit v1.9.1