Showing 4 changed files with 82 additions and 14 deletions
+8 -1
lib/Gitprep.pm
... ...
@@ -209,8 +209,15 @@ sub startup {
209 209
       # Fork
210 210
       $r->any('/fork')->name('fork');
211 211
 
212
-      # Fork
212
+      # Network
213 213
       $r->get('/network')->name('network');
214
+
215
+      # Network Branches
216
+      $r->get('/network/branches/:member_id/:member_project')->name('network_branches');
217
+
218
+      # Network Graph
219
+      $r->get('/network/graph')->name('network_graph');
220
+
214 221
     }
215 222
   }
216 223
 
+43 -13
templates/network.html.ep
... ...
@@ -1,11 +1,20 @@
1 1
 <%
2
-  my $state;
3
-
4 2
   # API
5 3
   my $api = gitprep_api;
6 4
   
5
+  # Branches
6
+  my $branches = [map { $_->{name} } @{app->git->branches($user, $project)}];
7
+  
7 8
   # Members
8 9
   my $members = app->manager->members($user, $project);
10
+  
11
+  # Members branches
12
+  for my $member (@$members) {
13
+    my $branches = [
14
+      map { $_->{name} } @{app->git->branches($member->{id}, $member->{project})}
15
+    ];
16
+    $member->{branches} = $branches;
17
+  }
9 18
 %>
10 19
 
11 20
 % layout 'common';
... ...
@@ -14,18 +23,39 @@
14 23
   
15 24
   <div class="container" style="min-heigth:500px">
16 25
     <h3>Members of the <%= $project %> Network</h3>
17
-    <ul class="unstyled">
26
+    <table class="table" style="font-size:130%">
18 27
       % for my $member (@$members) {
19
-        <li>
20
-          <a href="<%= url_for("/$member->{id}") %>">
21
-            <%= $member->{id} %>
22
-          </a>
23
-          /
24
-          <a href="<%= url_for("/$member->{id}/$member->{project}") %>">
25
-            <%= $member->{project} %>
26
-          </a>
27
-        </li>
28
+        <form action="<%= url_for("/$user/$project/network/graph") %>" method="get">
29
+          % my $mid = $member->{id};
30
+          % my $mproject = $member->{project};
31
+          % my $mbranches = $member->{branches};
32
+          <tr>
33
+            <td>
34
+              <a href="<%= url_for("/$mid") %>">
35
+                <%= $mid %>
36
+              </a>
37
+              <span>/</span>
38
+              <a href="<%= url_for("/$mid/$mproject") %>">
39
+                <%= $mproject %>
40
+              </a>
41
+              <span>/</span>
42
+              %= select_field 'remote_branch' => $mbranches, style => 'margin-top:5px;margin-bottom:7px;width:150px';
43
+              <span>
44
+                <i class="icon-resize-horizontal" style="margin-left:10px;margin-right:10px"></i>
45
+                my
46
+                %= select_field 'branch' => $branches, style => 'margin-top:5px;width:150px';
47
+              </span>
48
+            </td>
49
+            <td style="text-align:right">
50
+              <input class="btn" type="submit" value="Graph" style="margin-top:5px">
51
+            </td>
52
+          </tr>
53
+          %= hidden_field user => $user;
54
+          %= hidden_field project => $project;
55
+          %= hidden_field remote_user => $mid;
56
+          %= hidden_field remote_project => $mproject;
57
+        </form>
28 58
       % }
29
-    </ul>
59
+    </table>
30 60
   </div>
31 61
   %= include '/include/footer';
+30
templates/network_branches.html.ep
... ...
@@ -0,0 +1,30 @@
1
+<%
2
+  # API
3
+  my $api = gitprep_api;
4
+  
5
+  # Members
6
+  my $branches = app->git->branches($user, $project);
7
+%>
8
+
9
+% layout 'common';
10
+
11
+  %= include '/include/header';
12
+  
13
+  <div class="container" style="min-heigth:500px">
14
+    <h3><%= $member_id %> / <%= $member_project %> Branches</h3>
15
+    <table class="table" style="font-size:130%">
16
+      % for my $branch (@$branches) {
17
+        <tr>
18
+          <td>
19
+            <a href="<%= url_for("/$member_id/$member_project/tree/$branch->{name}") %>">
20
+              <%= $branch->{name} %>
21
+            </a>
22
+          </td>
23
+          <td style="text-align:right">
24
+            <a class="btn" href="#">Branches</a>
25
+          </td>
26
+        </tr>
27
+      % }
28
+    </table>
29
+  </div>
30
+  %= include '/include/footer';
+1
templates/network_graph.html.ep
... ...
@@ -0,0 +1 @@
1
+aaaa