gitprep / templates / pulls.html.ep /
Newer Older
102 lines | 3.362kb
add pulls page
Yuki Kimoto authored on 2016-04-12
1
<%
2
  # API
create pull request list
Yuki Kimoto authored on 2016-04-20
3
  my $api = gitprep_api;
add pulls page
Yuki Kimoto authored on 2016-04-12
4

            
5
  # Parameters
don't show pull request on n...
Yuki Kimoto authored on 2016-04-27
6
  my $user_id = param('user');
7
  my $project_id = param('project');
8
  
9
  my $is = param('is');
10
  
11
  my $open = $is eq 'closed' ? 0 : 1;
add pulls page
Yuki Kimoto authored on 2016-04-12
12
  
13
  # Git
14
  my $git = $self->app->git;
15
  
fix pulls page
Yuki Kimoto authored on 2016-06-09
16
  # Issues which have pull request
17
  my $issues = app->dbi->model('issue')->select(
add pulls description
Yuki Kimoto authored on 2016-04-20
18
    [
19
      {__MY__ => '*'},
remove table __ prefix
Yuki Kimoto authored on 2016-06-11
20
      {open_user => ['id']},
21
      {pull_request => ['target_branch']}
add pulls description
Yuki Kimoto authored on 2016-04-20
22
    ],
fix pulls page
Yuki Kimoto authored on 2016-06-09
23
    where => [
issue belong to project
Yuki Kimoto authored on 2016-06-11
24
      ['and', ':issue.open{=}', ':pull_request{<>}', ':project.id{=}'],
25
      {'issue.open' => $open, pull_request => 0, 'project.id' => $project_id}
fix pulls page
Yuki Kimoto authored on 2016-06-09
26
    ]
add pulls description
Yuki Kimoto authored on 2016-04-20
27
  )->all;
create pull request list
Yuki Kimoto authored on 2016-04-20
28
  
29
  # Open count
fix pulls page
Yuki Kimoto authored on 2016-06-09
30
  my $open_count = app->dbi->model('issue')->select(
31
    'count(*)',
32
    where => [
issue belong to project
Yuki Kimoto authored on 2016-06-11
33
      ['and', ':issue.open{=}', ':pull_request{<>}', ':project.id{=}'],
34
      {'issue.open' => 1, pull_request => 0, 'project.id' => $project_id}
fix pulls page
Yuki Kimoto authored on 2016-06-09
35
    ]
36
  )->value;
create pull request list
Yuki Kimoto authored on 2016-04-20
37
  
38
  # Close count
fix pulls page
Yuki Kimoto authored on 2016-06-09
39
  my $close_count = app->dbi->model('issue')->select(
40
    'count(*)',
41
    where => [
issue belong to project
Yuki Kimoto authored on 2016-06-11
42
      ['and', ':issue.open{=}', ':pull_request{<>}', ':project.id{=}'],
43
      {'issue.open' => 0, pull_request => 0, 'project.id' => $project_id}
fix pulls page
Yuki Kimoto authored on 2016-06-09
44
    ]
45
  )->value;
add pulls page
Yuki Kimoto authored on 2016-04-12
46
%>
47

            
don't show pull request on n...
Yuki Kimoto authored on 2016-04-27
48
% layout 'common', title => "Pull Requests Tags \x{30fb} $user_id/$project_id";
add pulls page
Yuki Kimoto authored on 2016-04-12
49
  
50
  %= include '/include/header';
51
  
52
  <div class="container">
53
    <div class="pulls-button-container">
don't show pull request on n...
Yuki Kimoto authored on 2016-04-27
54
      <a href="<%= url_for("/$user_id/$project_id/compare") %>" class="btn btn-success">New pull request</a>
add pulls page
Yuki Kimoto authored on 2016-04-12
55
    </div>
56
    <div class="pulls">
57
      <div class="pulls-header">
don't show pull request on n...
Yuki Kimoto authored on 2016-04-27
58
        % if ($open) {
59
          <b><%= $open_count %> Open</b>
60
          <a href="<%= url_with->query([is => 'closed']) %>" style="margin-left:5px;color:#767676"><%= "\x{2714}" %><%= $close_count %> Closed</a>
61
        % } else {
62
          <a  style="margin-left:5px;color:#767676" href="<%= url_with->query([is => undef]) %>"><%= $open_count %> Open</a>
63
          <b>
64
            <span style="margin-left:5px;color:#767676"><%= "\x{2714}" %><%= $close_count %> Closed</span>
65
          </b>
66
        % }
add pulls page
Yuki Kimoto authored on 2016-04-12
67
      </div>
68
      <div class="pulls-body">
fix pulls page
Yuki Kimoto authored on 2016-06-09
69
        % if (@$issues) {
create pull request list
Yuki Kimoto authored on 2016-04-20
70
          <ul>
fix pulls page
Yuki Kimoto authored on 2016-06-09
71
            % for my $issue (@$issues) {
add pulls description
Yuki Kimoto authored on 2016-04-20
72
              <%
remove table __ prefix
Yuki Kimoto authored on 2016-06-11
73
                my $target_branch = $issue->{'pull_request.target_branch'};
cleanup join table
Yuki Kimoto authored on 2016-04-28
74
                my $commit = app->git->get_commit(app->rep_info($user_id, $project_id), $target_branch);
fix pulls page
Yuki Kimoto authored on 2016-06-09
75
                my $open_time = $issue->{open_time};
cleanup
Yuki Kimoto authored on 2016-04-20
76
                my $open_time_age = Time::Moment->now->epoch - $open_time;
add pulls description
Yuki Kimoto authored on 2016-04-20
77
                my $open_time_age_string = $self->app->git->_age_string($open_time_age);
78
              %>
create pull request list
Yuki Kimoto authored on 2016-04-20
79
              <li>
80
                <div class="pulls-title">
fix pulls page
Yuki Kimoto authored on 2016-06-09
81
                  <a href="<%= "/$user_id/$project_id/pull/$issue->{row_id}" %>">
82
                    <b><%= $issue->{title} %></b>
improve pull page design
Yuki Kimoto authored on 2016-04-21
83
                  </a>
create pull request list
Yuki Kimoto authored on 2016-04-20
84
                </div>
85
                <div class="pulls-description">
fix pulls page
Yuki Kimoto authored on 2016-06-09
86
                  #<%= $issue->{row_id} %> <%= $issue->{open} ? 'opened' : 'closed' %>
add pulls description
Yuki Kimoto authored on 2016-04-20
87
                  <%= $open_time_age_string %>
remove table __ prefix
Yuki Kimoto authored on 2016-06-11
88
                  by <%= $issue->{'open_user.id'} %>
create pull request list
Yuki Kimoto authored on 2016-04-20
89
                </div>
90
              </li>
91
            % }
92
          </ul>
93
        % } else {
94
          <div class="pulls-no-request">
95
            <div style="font-size:18px"><b>There aren’t any open pull requests.</b></div>
96
          </div>
97
        % }
add pulls page
Yuki Kimoto authored on 2016-04-12
98
      </div>
99
    </div>
100
  </div>
101
  
102
  %= include '/include/footer';