<% # API my $api = gitprep_api; # Parameters my $user_id = param('user'); my $project_id = param('project'); my $is = param('is') // ''; my $open = $is eq 'closed' ? 0 : 1; # Git my $git = $self->app->git; # Project row id my $project_row_id = $api->get_project_row_id($user_id, $project_id); # Issues(which don't have pull request) my $issues = app->dbi->model('issue')->select( [ {__MY__ => '*'}, {open_user => ['id']}, ], where => [ ['and', ':issue.open{=}', 'pull_request = 0', ':project{=}'], {'issue.open' => $open, project => $project_row_id} ] )->all; # Open count my $open_count = $api->get_open_issue_count($user_id, $project_id); # Close count my $close_count = $api->get_close_issue_count($user_id, $project_id); # Initialize labels if there are no labels my $labels_count = app->dbi->model('label')->select( 'count(*)', where => {project => $project_row_id} )->value; if ($labels_count == 0) { my @labels = ( {id => 'bug', color => '#fc2929'}, {id => 'duplicate', color => '#cccccc'}, {id => 'enhancement', color => '#84b6eb'}, {id => 'invalid', color => '#e6e6e6'}, {id => 'question', color => '#cc317c'}, {id => 'wontfix', color => '#ffffff'} ); for my $label (@labels) { my $project_row_id = app->dbi->model('project')->select( 'project.row_id', where => {'user.id' => $user_id, 'project.id' => $project_id} )->value; $label->{project} = $project_row_id; app->dbi->model('label')->insert($label); } } layout 'common', title => "Issues - $user_id/$project_id"; %> %= include '/include/header';
% if ($api->logined) { " class="btn btn-green btn-new">New issue % }
% if ($open) { <%= $open_count %> Open <%= "\x{2714}" %><%= $close_count %> Closed % } else { <%= $open_count %> Open <%= "\x{2714}" %><%= $close_count %> Closed % }
% if (@$issues) {
    % for my $issue (@$issues) { <% my $issue_labels = app->dbi->model('issue_label')->select( {label => ['id', 'color']}, where => {issue => $issue->{row_id}} )->all; %> <% my $open_time = $issue->{open_time}; my $open_time_age = Time::Moment->now->epoch - $open_time; my $open_time_age_string = $self->app->git->_age_string($open_time_age); %>
  • {number}") %>"> <%= $issue->{title} %>
      % for my $issue_label (@$issue_labels) {
    • <%= $issue_label->{'label.id'} %>
    • % }
    #<%= $issue->{number} %> <%= $issue->{open} ? 'opened' : 'closed' %> <%= $open_time_age_string %> by <%= $issue->{'open_user.id'} %>
  • % }
% } else {
There aren’t any issues.
% }
%= include '/include/footer';