| 42 <div id="tool-area"> |
42 <div id="tool-area"> |
| 43 <a href="./projects/edit" class="button"><fmt:message key="button.create"/></a> |
43 <a href="./projects/edit" class="button"><fmt:message key="button.create"/></a> |
| 44 </div> |
44 </div> |
| 45 |
45 |
| 46 <c:if test="${not empty projects}"> |
46 <c:if test="${not empty projects}"> |
| 47 <table id="project-list" class="datatable medskip fullwidth"> |
47 <table id="project-list" class="datatable medskip"> |
| 48 <colgroup> |
48 <colgroup> |
| 49 <col> |
49 <col> |
| 50 <col style="width: 10%"> |
50 <col width="20%"> |
| 51 <col style="width: 35%"> |
51 <col width="50%"> |
| 52 <col style="width: 30%"> |
52 <col width="10%"> |
| 53 <col style="width: 25%"> |
53 <col width="10%"> |
| |
54 <col width="10%"> |
| 54 </colgroup> |
55 </colgroup> |
| 55 <thead> |
56 <thead> |
| 56 <tr> |
57 <tr> |
| 57 <th></th> |
58 <th></th> |
| 58 <th><fmt:message key="thead.name"/></th> |
59 <th><fmt:message key="thead.name"/></th> |
| 59 <th><fmt:message key="thead.description"/></th> |
|
| 60 <th><fmt:message key="thead.repoUrl"/></th> |
60 <th><fmt:message key="thead.repoUrl"/></th> |
| 61 <th><fmt:message key="thead.owner"/></th> |
61 <th><fmt:message key="thead.issues.open"/></th> |
| |
62 <th><fmt:message key="thead.issues.active"/></th> |
| |
63 <th><fmt:message key="thead.issues.done"/></th> |
| 62 </tr> |
64 </tr> |
| 63 </thead> |
65 </thead> |
| 64 <tbody> |
66 <tbody> |
| 65 <c:forEach var="project" items="${projects}"> |
67 <c:forEach var="project" items="${projects}"> |
| 66 <tr class="nowrap"> |
68 <tr class="nowrap"> |
| 67 <td style="width: 2em;"><a href="./projects/edit?id=${project.id}">✎</a></td> |
69 <td style="width: 2em;"><a href="./projects/edit?id=${project.id}">✎</a></td> |
| 68 <td><a href="./projects/view?pid=${project.id}"><c:out value="${project.name}"/></a> |
70 <td><a href="./projects/view?pid=${project.id}"><c:out value="${project.name}"/></a> |
| 69 </td> |
71 </td> |
| 70 <td><c:out value="${project.description}"/></td> |
|
| 71 <td> |
72 <td> |
| 72 <c:if test="${not empty project.repoUrl}"> |
73 <c:if test="${not empty project.repoUrl}"> |
| 73 <a target="_blank" href="<c:out value="${project.repoUrl}"/>"><c:out |
74 <a target="_blank" href="<c:out value="${project.repoUrl}"/>"><c:out |
| 74 value="${project.repoUrl}"/></a> |
75 value="${project.repoUrl}"/></a> |
| 75 </c:if> |
76 </c:if> |
| 76 </td> |
77 </td> |
| 77 <td> |
78 <td>${project.openIssues}</td> |
| 78 <c:if test="${not empty project.owner}"><c:out value="${project.owner.displayname}"/></c:if> |
79 <td>${project.activeIssues}</td> |
| 79 <c:if test="${empty project.owner}"><fmt:message key="placeholder.null-owner"/></c:if> |
80 <td>${project.doneIssues}</td> |
| 80 </td> |
|
| 81 </tr> |
81 </tr> |
| 82 </c:forEach> |
82 </c:forEach> |
| 83 </tbody> |
83 </tbody> |
| 84 </table> |
84 </table> |
| 85 </c:if> |
85 </c:if> |