From bf68143bda275e31dd22ee2268621bb0e0541a72 Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Mon, 08 Sep 2014 16:15:30 -0400
Subject: [PATCH] Fix potential NPE in TicketListPanel due to missing repository

---
 src/main/java/com/gitblit/wicket/panels/RepositoryUrlPanel.html |  114 ++++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 105 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/gitblit/wicket/panels/RepositoryUrlPanel.html b/src/main/java/com/gitblit/wicket/panels/RepositoryUrlPanel.html
index c32d9d8..a537277 100644
--- a/src/main/java/com/gitblit/wicket/panels/RepositoryUrlPanel.html
+++ b/src/main/java/com/gitblit/wicket/panels/RepositoryUrlPanel.html
@@ -5,14 +5,110 @@
       lang="en"> 
 
 <wicket:panel>
-	<div wicket:id="repositoryPrimaryUrl">[repository primary url]</div>
-	<div style="padding-top: 2px;">
-		<span class="link" wicket:id="appCloneLink">
-			<span wicket:id="icon"></span>
-			<span wicket:id="link"></span>
-			<span wicket:id="separator" style="padding: 0px 5px 0px 5px;"></span>
-		</span>
-	</div>	
-	<div wicket:id="repositoryGitDaemonUrl">[repository git daemon url]</div>
+
+	<div wicket:id="repositoryUrlPanel"></div>
+	<div wicket:id="applicationMenusPanel"></div>
+	<div wicket:id="repositoryIndicators"></div>
+	
+	<wicket:fragment wicket:id="repositoryUrlFragment">
+		<div class="btn-toolbar" style="margin: 0px;">
+			<div class="btn-group repositoryUrlContainer">
+				<img style="vertical-align: middle;padding: 0px 0px 1px 3px;" wicket:id="accessRestrictionIcon"></img>
+				<span wicket:id="menu"></span>
+   				<div class="repositoryUrl">
+   					<span wicket:id="primaryUrl">[repository primary url]</span>
+   					<span class="hidden-phone hidden-tablet" wicket:id="copyFunction"></span>
+   				</div>
+   				<span class="hidden-phone hidden-tablet repositoryUrlRightCap" wicket:id="primaryUrlPermission">[repository primary url permission]</span>
+   			</div>
+		</div>
+	</wicket:fragment>
+	
+	<wicket:fragment wicket:id="indicatorsFragment">
+		<div>
+	   		<div wicket:id="workingCopyIndicator"></div>
+			<div wicket:id="forksProhibitedIndicator"></div>
+		</div>
+	</wicket:fragment>
+	
+	<wicket:fragment wicket:id="applicationMenusFragment">
+		<div class="btn-toolbar" style="margin: 4px 0px 0px 0px;">
+			<div class="btn-group" wicket:id="appMenus">
+				<span wicket:id="appMenu"></span>
+   			</div>
+		</div>
+	</wicket:fragment>
+	
+	<wicket:fragment wicket:id="appMenuFragment">
+		<a class="btn btn-mini btn-appmenu" data-toggle="dropdown" href="#">   				
+	    	<span wicket:id="applicationName"></span>
+    		<span class="caret"></span>
+   		</a>
+   		<ul class="dropdown-menu applicationMenu">
+   			<li>
+   				<div class="applicationHeaderMenuItem">
+   					<div style="float:right">
+   						<img style="padding-right: 5px;vertical-align: middle;" wicket:id="applicationIcon"></img>
+   					</div>
+   					<span class="applicationTitle" wicket:id="applicationTitle"></span>
+   				</div>
+   			</li>
+	   		<li><div class="applicationHeaderMenuItem"><span wicket:id="applicationDescription"></span></div></li>
+   			<li><div class="applicationLegalMenuItem"><span wicket:id="applicationLegal"></span></div></li>
+   			
+   			<li class="divider" style="margin: 5px 1px 0px 1px;clear:both;" ></li>
+   		
+   			<li class="action" wicket:id="actionItems">
+   				<span wicket:id="actionItem"></span>
+   			</li>
+   		</ul>
+	</wicket:fragment>
+	
+	<wicket:fragment wicket:id="urlProtocolMenuFragment">
+		<a class="" data-toggle="dropdown" href="#">   				
+    		<span class="repositoryUrlLeftCap" wicket:id="menuText">URLs</span>
+	   		<span class="caret" style="vertical-align: middle;"></span>
+   		</a>
+   		<ul class="dropdown-menu urlMenu">
+   			<li class="url" wicket:id="repoUrls"><span wicket:id="repoUrl"></span></li>
+	   	</ul>
+	</wicket:fragment>
+	
+	<wicket:fragment wicket:id="actionFragment">
+		<span wicket:id="permission" style="margin: 0px 10px 0px 5px;"></span><span wicket:id="content"></span><span class="hidden-phone hidden-tablet" wicket:id="copyFunction"></span>
+	</wicket:fragment>
+
+    <!-- Plain JavaScript manual copy & paste -->
+    <wicket:fragment wicket:id="jsPanel">
+    	<span style="vertical-align:baseline;">
+    		<img wicket:id="copyIcon" wicket:message="title:gb.copyToClipboard"></img>
+    	</span>
+    </wicket:fragment>
+    
+    <!-- flash-based button-press copy & paste -->
+    <wicket:fragment wicket:id="clippyPanel">
+   		<object wicket:message="title:gb.copyToClipboard" style="vertical-align:middle;"
+   			wicket:id="clippy"
+   			width="14" 
+   			height="14"
+   			bgcolor="#ffffff" 
+       		quality="high"
+       		wmode="transparent"
+       		scale="noscale"
+       		allowScriptAccess="sameDomain"></object>
+	</wicket:fragment>
+
+	<wicket:fragment wicket:id="workingCopyFragment">
+		<div class="repositoryIndicator">
+			<span class="alert alert-info"><i class="icon-exclamation-sign"></i>&nbsp;<span class="hidden-phone" wicket:id="workingCopy">[working copy]</span></span>
+		</div>
+	</wicket:fragment>
+
+	<wicket:fragment wicket:id="forksProhibitedFragment">
+		<div class="repositoryIndicator">
+			<span class="alert alert-error"><i class="icon-ban-circle"></i>&nbsp;<span class="hidden-phone" wicket:id="forksProhibited">[forks prohibited]</span></span>
+		</div>
+	</wicket:fragment>
+			
 </wicket:panel>
 </html>
\ No newline at end of file

--
Gitblit v1.9.1