... | ... |
@@ -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 |
|
... | ... |
@@ -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'; |
... | ... |
@@ -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'; |
... | ... |
@@ -0,0 +1 @@ |
1 |
+aaaa |