Merge pull request #457 from corpsee/pagination-fix

Project builds pagination improvements
This commit is contained in:
Dan Cryer 2014-06-13 13:50:47 +01:00
commit 3459e86e92
3 changed files with 36 additions and 11 deletions

View file

@ -56,13 +56,20 @@ class ProjectController extends \PHPCI\Controller
throw new NotFoundException('Project with id: ' . $projectId . ' not found');
}
$page = $this->getParam('p', 1);
$builds = $this->getLatestBuildsHtml($projectId, (($page - 1) * 10));
$per_page = 10;
$page = $this->getParam('p', 1);
$builds = $this->getLatestBuildsHtml($projectId, (($page - 1) * $per_page));
$pages = ceil($builds[1] / $per_page);
$this->view->builds = $builds[0];
$this->view->total = $builds[1];
if ($page > $pages) {
throw new NotFoundException('Page with number: ' . $page . ' not found');
}
$this->view->builds = $builds[0];
$this->view->total = $builds[1];
$this->view->project = $project;
$this->view->page = $page;
$this->view->page = $page;
$this->view->pages = $pages;
$this->config->set('page_title', $project->getTitle());

View file

@ -82,16 +82,20 @@
<?php
print '<div><ul class="pagination">';
$pages = ceil($total / 10);
$pages = $pages == 0 ? 1 : $pages;
if ($page > 1) {
print '<li><a href="' . PHPCI_URL . 'project/view/'.$project->getId().'?p='.($page == 1 ? '1' : $page - 1).'">&laquo; Prev</a></li>';
}
for($i = 1; $i <= $pages; $i++)
{
print '<li><a href="' . PHPCI_URL . 'project/view/' . $project->getId() . '?p=' . $i . '">' . $i . '</a></li>';
if ($pages > 1) {
for($i = 1; $i <= $pages; $i++)
{
if ($i == $page) {
print '<li><span>' . $i . '</span></li>';
} else {
print '<li><a href="' . PHPCI_URL . 'project/view/' . $project->getId() . '?p=' . $i . '">' . $i . '</a></li>';
}
}
}
if ($page < $pages) {

View file

@ -84,4 +84,18 @@ h1 {
.word-wrap {
word-wrap: break-word;
}
}
ul.pagination {
}
ul.pagination > li > span {
color: #333;
}
ul.pagination > li > span:hover,
ul.pagination > li > span:focus {
color: #333;
background-color: #fff;
}