diff --git a/public/assets/js/app.js b/public/assets/js/app.js index 07b820d8..d2bde2c3 100644 --- a/public/assets/js/app.js +++ b/public/assets/js/app.js @@ -38,7 +38,7 @@ var PHPCensor = { getProjectBuilds: function () { $.ajax({ - url: APP_URL + 'project/ajax-builds/' + PROJECT_ID + '?branch=' + PROJECT_BRANCH + '&environment=' + PROJECT_ENVIRONMENT + '&per_page=' + PER_PAGE, + url: APP_URL + 'project/ajax-builds/' + PROJECT_ID + '?branch=' + PROJECT_BRANCH + '&environment=' + PROJECT_ENVIRONMENT + '&per_page=' + PER_PAGE + '&page=' + PAGE, success: function (data) { $('#latest-builds').html(data); diff --git a/src/PHPCensor/Controller/ProjectController.php b/src/PHPCensor/Controller/ProjectController.php index 604c63dd..f05ba7d6 100644 --- a/src/PHPCensor/Controller/ProjectController.php +++ b/src/PHPCensor/Controller/ProjectController.php @@ -52,6 +52,25 @@ class ProjectController extends PHPCensor\Controller $this->buildService = new BuildService($this->buildStore); } + /** + * @param int $projectId + * + * @return b8\Http\Response + */ + public function ajaxBuilds($projectId) + { + $branch = $this->getParam('branch', ''); + $environment = $this->getParam('environment', ''); + $page = (integer)$this->getParam('page', 1); + $perPage = (integer)$this->getParam('per_page', 10); + $builds = $this->getLatestBuildsHtml($projectId, $environment, $branch, (($page - 1) * $perPage), $perPage); + + $this->response->disableLayout(); + $this->response->setContent($builds[0]); + + return $this->response; + } + /** * View a specific project. * @@ -65,20 +84,21 @@ class ProjectController extends PHPCensor\Controller { $branch = $this->getParam('branch', ''); $environment = $this->getParam('environment', ''); + $page = (integer)$this->getParam('page', 1); $project = $this->projectStore->getById($projectId); if (empty($project)) { throw new NotFoundException(Lang::get('project_x_not_found', $projectId)); } - $perPage = $_SESSION['php-censor-user']->getFinalPerPage(); - $page = $this->getParam('p', 1); - $builds = $this->getLatestBuildsHtml($projectId, urldecode($environment), urlencode($branch), (($page - 1) * $perPage), $perPage); + $perPage = $_SESSION['php-censor-user']->getFinalPerPage(); + $builds = $this->getLatestBuildsHtml($projectId, $environment, $branch, (($page - 1) * $perPage), $perPage); $pages = $builds[1] == 0 ? 1 : ceil($builds[1] / $perPage); if ($page > $pages) { $response = new b8\Http\Response\RedirectResponse(); - $response->setHeader('Location', APP_URL.'project/view/'.$projectId); + $response->setHeader('Location', APP_URL . 'project/view/' . $projectId); + return $response; } @@ -109,16 +129,18 @@ class ProjectController extends PHPCensor\Controller * Create a new pending build for a project. * * @param integer $projectId - * @param string $type Build type: 'environment'|'branch' - * @param string $id Build type id: environment name or branch name * * @throws NotFoundException * * @return b8\Http\Response\RedirectResponse * */ - public function build($projectId, $type = null, $id = null) + public function build($projectId) { + $type = $this->getParam('type', 'branch'); + $id = $this->getParam('id', 'master'); + $debug = (boolean)$this->getParam('debug', false); + /* @var \PHPCensor\Model\Project $project */ $project = $this->projectStore->getById($projectId); $environment = null; @@ -141,7 +163,6 @@ class ProjectController extends PHPCensor\Controller $branch = $project->getBranch(); } - $debug = (boolean)$this->getParam('debug', false); $extra = null; if ($debug && $this->currentUserIsAdmin()) { @@ -155,7 +176,7 @@ class ProjectController extends PHPCensor\Controller $project, $environment, null, - urldecode($branch), + $branch, null, $email, null, @@ -524,24 +545,6 @@ class ProjectController extends PHPCensor\Controller }; } - /** - * @param int $projectId - * - * @return b8\Http\Response - */ - public function ajaxBuilds($projectId) - { - $branch = $this->getParam('branch', ''); - $environment = $this->getParam('environment', ''); - $perPage = (integer)$this->getParam('per_page', 10); - $builds = $this->getLatestBuildsHtml($projectId, urldecode($environment), urldecode($branch), 0, $perPage); - - $this->response->disableLayout(); - $this->response->setContent($builds[0]); - - return $this->response; - } - /** * @param int $projectId * diff --git a/src/PHPCensor/View/Build/view.phtml b/src/PHPCensor/View/Build/view.phtml index 9e972182..60ba7d30 100644 --- a/src/PHPCensor/View/Build/view.phtml +++ b/src/PHPCensor/View/Build/view.phtml @@ -14,9 +14,9 @@ - - - getProject()->getTitle(); ?> + + + getProject()->getTitle(); ?> diff --git a/src/PHPCensor/View/Home/ajax-dashboard-project.phtml b/src/PHPCensor/View/Home/ajax-dashboard-project.phtml index ff5cafee..3daec637 100644 --- a/src/PHPCensor/View/Home/ajax-dashboard-project.phtml +++ b/src/PHPCensor/View/Home/ajax-dashboard-project.phtml @@ -80,12 +80,12 @@ if ($buildCount > 0) { ?> -
+

- - getTitle(); ?> + + getTitle(); ?>

@@ -97,7 +97,7 @@ if ($buildCount > 0) {
- +
getAllowPublicStatus()): ?> @@ -105,7 +105,7 @@ if ($buildCount > 0) {
- () + ()

- - getProject()->getTitle(); ?> + + getProject()->getTitle(); ?> - + — - - Build #getId(); ?> + + Build #getId(); ?> diff --git a/src/PHPCensor/View/Home/dashboard-projects.phtml b/src/PHPCensor/View/Home/dashboard-projects.phtml index ca3718a6..b884c679 100644 --- a/src/PHPCensor/View/Home/dashboard-projects.phtml +++ b/src/PHPCensor/View/Home/dashboard-projects.phtml @@ -80,25 +80,25 @@ foreach($projects as $project): } ?> -
-
+
+
- +
getAllowPublicStatus()): ?> diff --git a/src/PHPCensor/View/Home/index.phtml b/src/PHPCensor/View/Home/index.phtml index e85a800a..cc5b9abc 100644 --- a/src/PHPCensor/View/Home/index.phtml +++ b/src/PHPCensor/View/Home/index.phtml @@ -96,16 +96,16 @@ use PHPCensor\Model\Build; ?>

- - getProject()->getTitle(); ?> + + getProject()->getTitle(); ?> - + — - - Build #getId(); ?> + + Build #getId(); ?> — - +

diff --git a/src/PHPCensor/View/Project/view.phtml b/src/PHPCensor/View/Project/view.phtml index 2f6a8419..a0843b4c 100644 --- a/src/PHPCensor/View/Project/view.phtml +++ b/src/PHPCensor/View/Project/view.phtml @@ -4,6 +4,7 @@ var PROJECT_ENVIRONMENT = ''; var PROJECT_BRANCH = ''; var PER_PAGE = ; + var PAGE = ;
@@ -15,34 +16,37 @@ + getId(); + ?>
getArchived()): ?> User()->getIsAdmin()): ?> - + - + - + - + - + - + @@ -115,10 +119,19 @@ print '
    '; - $project_url = APP_URL . 'project/view/' . $project->getId() . ((!empty($branch)) ? '/' . urlencode($branch) : ''); + $project_url = APP_URL . 'project/view/' . $project->getId(); + $params = []; + + if (!empty($branch)) { + $params['branch'] = $branch; + } + + if (!empty($environment)) { + $params['environment'] = $environment; + } if ($page > 1) { - print '
  • '.Lang::get('prev_link').'
  • '; + print '
  • ' . Lang::get('prev_link') . '
  • '; } if ($pages > 1) { @@ -136,27 +149,29 @@ } if ($start > 1) { - print '
  • 1...
  • '; + print '
  • 1...
  • '; } for($i = $start; $i <= $end; $i++) { - if ($pages > $end && $i == $pages) continue; + if ($pages > $end && $i == $pages) { + continue; + } if ($i == $page) { print '
  • ' . $i . '
  • '; } else { - print '
  • ' . $i . '
  • '; + print '
  • ' . $i . '
  • '; } } if ($pages > $end) { - print '
  • ...'.$pages.'
  • '; + print '
  • ...' . $pages . '
  • '; } } - if ($page < $pages - 1) { - print '
  • '.Lang::get('next_link').'
  • '; + if ($page < ($pages - 1)) { + print '
  • ' . Lang::get('next_link') . '
  • '; } print '
'; diff --git a/src/PHPCensor/View/layout.phtml b/src/PHPCensor/View/layout.phtml index 664e54bd..29b1dec8 100644 --- a/src/PHPCensor/View/layout.phtml +++ b/src/PHPCensor/View/layout.phtml @@ -173,7 +173,7 @@