Showing 1 changed files with 52 additions and 0 deletions
+52
templates/issue.html.ep
... ...
@@ -7,12 +7,64 @@
7 7
   my $project_id = param('project');
8 8
   my $issue_number = param('number');
9 9
 
10
+  # Issue
11
+  my $issue = app->dbi->model('issue')->select(
12
+    [
13
+      {__MY__ => '*'},
14
+      {open_user => ['id']}
15
+    ],
16
+    where => {
17
+      'project.id' => $project_id,
18
+      'issue.number' => $issue_number
19
+    }
20
+  )->one;
21
+
22
+  # Issue message
23
+  my $issue_messages = app->dbi->model('issue_message')->select(
24
+    [
25
+      {__MY__ => '*'},
26
+      {user => ['id']}
27
+    ],
28
+    where => {issue => $issue->{row_id}},
29
+    append => 'order by number'
30
+  )->all;
31
+
32
+  my $issue_messages_count = app->dbi->model('issue_message')->select(
33
+    'count(*)',
34
+    where => {issue => $issue->{row_id}},
35
+  )->value;
36
+  
10 37
   layout 'common', title => "Issue - $user_id/$project_id #$issue_number";
11 38
 %>
12 39
 
13 40
 %= include '/include/header';
14 41
 
15 42
 <div class="container">
43
+  <div>
44
+    <div>
45
+      <%= $issue->{title} %> #<%= $issue->{number} %>
46
+    </div>
47
+    <div>
48
+     % if ($issue->{open}) {
49
+       Open
50
+     % } else {
51
+       Close
52
+     % }
53
+     <%= $issue->{'open_user.id'} %> opened this issue <%= $api->age_string($issue->{open_time}) %> / <%= $issue_messages_count %> comment
54
+    </div>
55
+  </div>
56
+  <div>
57
+    % for my $issue_message (@$issue_messages) {
58
+      <div>
59
+        <div>
60
+          <%= $issue_message->{'user.id'} %> commented <%= $api->age_string($issue_message->{create_time}) %>
61
+        </div>
62
+        <div>
63
+          <%= $issue_message->{message} %>
64
+        </div>
65
+      </div>
66
+    % }
67
+  </div>
16 68
 </div>
17 69
 
18 70
 %= include '/include/footer';