2 contributor
<%
# API
my $api = gitprep_api;
# Redirect for project delete
if (my $deleted_project = param('deleted_project')) {
flash('deleted_project', $deleted_project);
$self->redirect_to('current');
return;
}
my $user = param('user');
# Projects
unless (app->manager->exists_user($user)) {
$self->reply->not_found;
return;
}
my $projects = app->manager->projects($user);
my $reps = [];
for my $project (@$projects) {
my $rep = app->git->repository($user, $project->{name}) || {none => 1};
$rep->{name} = $project->{name};
$rep->{private} = $project->{private};
push @$reps, $rep;
}
%>
% layout 'common', title => $user;
%= include '/include/header', title => 'Repositories';
<div class="container">
%= include '/include/message', message => flash('message');
<div class="topic1">Repositories</div>
<ul class="repositories">
% for my $rep (sort { $a->{age} <=> $b->{age} } @$reps) {
% if (!$rep->{private} || $api->can_access_private_project($user, $rep->{name})) {
<li>
% my $pname = $rep->{name};
<div class="repositories-name">
<a href="<%= url_for("/$user/$pname") %>">
<%= $rep->{name} %>
</a>
% if ($rep->{private}) {
<i class="icon icon-lock"></i>
% }
</div>
<div class="repositories-description">
<%= $rep->{description} %>
</div>
<div class="repositories-age">
% my $age = $rep->{age_string};
% if ($rep->{none}) {
<span style="color:red">Repository not exists</span>
<a href="<%= "/$user/$rep->{name}/settings" %>" class="btn btn-mini">Settings</a>
% } else {
<%= $age ? "last updated $age" : 'new repository' %>
% }
</div>
</li>
% }
% }
</ul>
</div>
%= include '/include/footer';