From 5e3521f8496511db4df45f011ea72f25623ad90f Mon Sep 17 00:00:00 2001
From: James Moger <james.moger@gitblit.com>
Date: Mon, 03 Mar 2014 21:34:32 -0500
Subject: [PATCH] Ticket tracker with patchset contributions

---
 src/main/java/com/gitblit/wicket/pages/TicketsPage.html |  209 ++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 200 insertions(+), 9 deletions(-)

diff --git a/src/main/java/com/gitblit/wicket/pages/TicketsPage.html b/src/main/java/com/gitblit/wicket/pages/TicketsPage.html
index e1f5f9a..9054490 100644
--- a/src/main/java/com/gitblit/wicket/pages/TicketsPage.html
+++ b/src/main/java/com/gitblit/wicket/pages/TicketsPage.html
@@ -7,17 +7,208 @@
 <body>
 <wicket:extend>
 
-	<!-- tickets -->	
-	<table class="pretty">
-		<tbody>
+	<!-- search tickets form -->
+	<div class="hidden-phone pull-right">
+		<form class="form-search" style="margin: 0px;" wicket:id="ticketSearchForm">
+			<div class="input-append">
+				<input type="text" class="search-query" style="width: 170px;border-radius: 14px 0 0 14px; padding-left: 14px;" id="ticketSearchBox" wicket:id="ticketSearchBox" value=""/>
+				<button class="btn" style="border-radius: 0 14px 14px 0px;margin-left:-5px;" type="submit"><i class="icon-search"></i></button>
+			</div>
+		</form>
+	</div>
+
+	<ul class="nav nav-tabs">
+		<li class="active"><a data-toggle="tab" href="#tickets"><i style="color:#888;"class="fa fa-ticket"></i> <wicket:message key="gb.tickets"></wicket:message></a></li>
+		<li><a data-toggle="tab" href="#milestones"><i style="color:#888;"class="fa fa-bullseye"></i> <wicket:message key="gb.milestones"></wicket:message></a></li>
+	</ul>
+	<div class="tab-content">
+	<div class="tab-pane active" id="tickets">
+	<div class="row" style="min-height:400px;" >
+	
+		<!-- query controls -->
+		<div class="span3">
+			<div wicket:id="milestonePanel"></div>
+			<div class="hidden-phone">
+				<ul class="nav nav-list">
+  					<li class="nav-header"><wicket:message key="gb.queries"></wicket:message></li>
+  					<li><a wicket:id="changesQuery"><i class="fa fa-code-fork"></i> <wicket:message key="gb.proposalTickets"></wicket:message></a></li>
+					<li><a wicket:id="bugsQuery"><i class="fa fa-bug"></i> <wicket:message key="gb.bugTickets"></wicket:message></a></li>
+					<li><a wicket:id="enhancementsQuery"><i class="fa fa-magic"></i> <wicket:message key="gb.enhancementTickets"></wicket:message></a></li>
+					<li><a wicket:id="tasksQuery"><i class="fa fa-ticket"></i> <wicket:message key="gb.taskTickets"></wicket:message></a></li>
+					<li><a wicket:id="questionsQuery"><i class="fa fa-question"></i> <wicket:message key="gb.questionTickets"></wicket:message></a></li>
+  					<li wicket:id="userDivider" class="divider"></li>
+  					<li><a wicket:id="createdQuery"><i class="fa fa-user"></i> <wicket:message key="gb.yourCreatedTickets"></wicket:message></a></li>
+  					<li><a wicket:id="watchedQuery"><i class="fa fa-eye"></i> <wicket:message key="gb.yourWatchedTickets"></wicket:message></a></li>
+  					<li><a wicket:id="mentionsQuery"><i class="fa fa-comment"></i> <wicket:message key="gb.mentionsMeTickets"></wicket:message></a></li>
+  					<li class="divider"></li>
+  					<li><a wicket:id="resetQuery"><i class="fa fa-bolt"></i> <wicket:message key="gb.reset"></wicket:message></a></li>
+				</ul>
+			</div>			
+			<div wicket:id="dynamicQueries" class="hidden-phone"></div>
+		</div>
+	
+		<!-- tickets -->
+		<div class="span9">
+			<div class="btn-toolbar" style="margin-top: 0px;">
+				<div class="btn-group">
+  					<a class="btn dropdown-toggle" data-toggle="dropdown" href="#"><wicket:message key="gb.status"></wicket:message>: <span style="font-weight:bold;" wicket:id="selectedStatii"></span> <span class="caret"></span></a>
+  					<ul class="dropdown-menu">
+    					<li><a wicket:id="openTickets">open</a></li>
+    					<li><a wicket:id="closedTickets">closed</a></li>
+    					<li><a wicket:id="allTickets">all</a></li>
+    					<li class="divider"></li>
+    					<li wicket:id="statii"><span wicket:id="statusLink"></span></li>
+  					</ul>
+				</div>
+
+				<div class="btn-group hidden-phone">				
+  					<a class="btn dropdown-toggle" data-toggle="dropdown" href="#"><i class="fa fa-user"></i> <wicket:message key="gb.responsible"></wicket:message>: <span style="font-weight:bold;" wicket:id="currentResponsible"></span> <span class="caret"></span></a>
+  					<ul class="dropdown-menu">
+    					<li wicket:id="responsible"><span wicket:id="responsibleLink"></span></li>
+    					<li class="divider"></li>
+    					<li><a wicket:id="resetResponsible"><i class="fa fa-bolt"></i> <wicket:message key="gb.reset"></wicket:message></a></li>
+  					</ul>
+				</div>
+
+				<div class="btn-group">
+  					<a class="btn dropdown-toggle" data-toggle="dropdown" href="#"><i class="fa fa-sort"></i> <wicket:message key="gb.sort"></wicket:message>: <span style="font-weight:bold;" wicket:id="currentSort"></span> <span class="caret"></span></a>
+  					<ul class="dropdown-menu">
+    					<li wicket:id="sort"><span wicket:id="sortLink"></span></li>
+  					</ul>
+				</div>
+			
+				<div class="btn-group pull-right">
+					<div class="pagination pagination-right pagination-small">
+  						<ul>
+  							<li><a wicket:id="prevLink"><i class="fa fa-angle-double-left"></i></a></li>
+    						<li wicket:id="pageLink"><span wicket:id="page"></span></li>
+    						<li><a wicket:id="nextLink"><i class="fa fa-angle-double-right"></i></a></li>
+  						</ul>
+					</div>
+				</div>
+			</div>
+		
+		
+			<table class="table tickets">			
+			<tbody>
        		<tr wicket:id="ticket">
-         		<td style="padding:0; margin:0;"><div wicket:id="ticketState">[ticket state]</div></td>
-         		<td class="date"><span wicket:id="ticketDate">[ticket date]</span></td>
-         		<td class="author"><div wicket:id="ticketHandler">[ticket handler]</div></td>
-         		<td><div wicket:id="ticketTitle">[ticket title]</div></td>
+       			<td class="ticket-list-icon">
+       				<i wicket:id="state"></i>
+       			</td>
+        		<td>
+        			<span wicket:id="title">[title]</span> <span wicket:id="labels" style="font-weight: normal;color:white;"><span class="label" wicket:id="label"></span></span>
+        			<div class="ticket-list-details">
+        				<span style="padding-right: 10px;" class="hidden-phone">
+        					<wicket:message key="gb.createdBy"></wicket:message>
+        					<span style="padding: 0px 2px" wicket:id="createdBy">[createdBy]</span> <span class="date" wicket:id="createDate">[create date]</span>
+        				</span>
+        				<span wicket:id="indicators" style="white-space:nowrap;"><i wicket:id="icon"></i> <span style="padding-right:10px;" wicket:id="count"></span></span>
+        			</div>
+        			<div class="hidden-phone" wicket:id="updated"></div>
+        		</td>
+        		<td class="ticket-list-state">
+       				<span class="badge badge-info" wicket:id="votes"></span>
+        		</td>
+        		<td class="hidden-phone ticket-list-state">
+       				<i wicket:message="title:gb.watching" style="color:#888;" class="fa fa-eye" wicket:id="watching"></i>
+        		</td>
+        		<td class="ticket-list-state">
+       				<div wicket:id="status"></div>
+        		</td>
+        		<td class="indicators">
+        			<div>        	 		        	 		
+        	 			<b>#<span wicket:id="id">[id]</span></b>
+        	 		</div>
+        			<div wicket:id="responsible"></div>
+        		</td>
        		</tr>
-    	</tbody>
-	</table>	
+    		</tbody>
+			</table>
+		
+			<div class="btn-group pull-right">
+					<div class="pagination pagination-right pagination-small">
+  						<ul>
+  							<li><a wicket:id="prevLink"><i class="fa fa-angle-double-left"></i></a></li>
+    						<li wicket:id="pageLink"><span wicket:id="page"></span></li>
+    						<li><a wicket:id="nextLink"><i class="fa fa-angle-double-right"></i></a></li>
+  						</ul>
+					</div>
+				</div>
+			</div>
+		</div>
+	</div>
+	<div class="tab-pane" id="milestones">
+		<div class="row">
+			<div class="span9" wicket:id="milestoneList">
+				<h3><span wicket:id="milestoneName"></span> <small><span wicket:id="milestoneState"></span></small></h3>
+				<span wicket:id="milestoneDue"></span>
+			</div>
+		</div>
+	</div>
+</div>
+
+<wicket:fragment wicket:id="noMilestoneFragment">
+<table style="width: 100%;padding-bottom: 5px;">
+<tbody>
+<tr>
+	<td style="color:#888;"><wicket:message key="gb.noMilestoneSelected"></wicket:message></td>
+	<td><div wicket:id="milestoneDropdown"></div></td>
+</tr>
+</tbody>
+</table>
+</wicket:fragment>
+
+<wicket:fragment wicket:id="milestoneProgressFragment">
+<table style="width: 100%;padding-bottom: 5px;">
+<tbody>
+<tr>
+	<td style="color:#888;">
+		<div><i style="color:#888;"class="fa fa-bullseye"></i> <span style="font-weight:bold;" wicket:id="currentMilestone"></span></div>
+		<div><i style="color:#888;"class="fa fa-calendar"></i> <span style="font-weight:bold;" wicket:id="currentDueDate"></span></div>
+	</td>
+	<td>
+		<div wicket:id="milestoneDropdown"></div>
+	</td>
+</tr>
+</tbody>
+</table>
+<div style="clear:both;padding-bottom: 10px;">
+	<div style="margin-bottom: 5px;" class="progress progress-success">
+		<div class="bar" wicket:id="progress"></div>
+	</div>
+	<div class="milestoneOverview">
+		<span wicket:id="openTickets" />,
+		<span wicket:id="closedTickets" />,
+		<span wicket:id="totalTickets" />
+	</div>
+</div>
+</wicket:fragment>
+
+<wicket:fragment wicket:id="milestoneDropdownFragment">
+<div class="btn-group pull-right">
+	<a class="btn dropdown-toggle" data-toggle="dropdown" href="#"><i class="fa fa-gear"></i> <span class="caret"></span></a>
+	<ul class="dropdown-menu">
+		<li wicket:id="milestone"><span wicket:id="milestoneLink">[milestone]</span></li>
+		<li class="divider"></li>
+		<li><a wicket:id="resetMilestone"><i class="fa fa-bolt"></i> <wicket:message key="gb.reset"></wicket:message></a></li>
+	</ul>
+</div>
+</wicket:fragment>
+
+<wicket:fragment wicket:id="dynamicQueriesFragment">
+	<hr/>
+	<ul class="nav nav-list">
+		<li class="nav-header"><wicket:message key="gb.topicsAndLabels"></wicket:message></li>
+		<li class="dynamicQuery" wicket:id="dynamicQuery"><span><span wicket:id="swatch"></span> <span wicket:id="link"></span></span><span class="pull-right"><i style="font-size: 18px;" wicket:id="checked"></i></span></li>
+	</ul>
+</wicket:fragment>
+
+<wicket:fragment wicket:id="updatedFragment">
+	<div class="ticket-list-details">
+		<wicket:message key="gb.updatedBy"></wicket:message>
+		<span style="padding: 0px 2px" wicket:id="updatedBy">[updatedBy]</span> <span class="date" wicket:id="updateDate">[update date]</span>
+	</div>
+</wicket:fragment>
 
 </wicket:extend>
 </body>

--
Gitblit v1.9.1