From fee99bd2598f29444b6c25b7237be42f609b595c Mon Sep 17 00:00:00 2001 From: Stepan Strelets Date: Fri, 17 Nov 2017 10:35:25 +0300 Subject: [PATCH] Fix empty build errors - add template and message. --- .../WidgetBuildErrorsController.php | 22 +++++++++++-------- src/PHPCensor/Languages/lang.en.php | 1 + .../View/WidgetBuildErrors/empty.phtml | 5 +++++ 3 files changed, 19 insertions(+), 9 deletions(-) create mode 100644 src/PHPCensor/View/WidgetBuildErrors/empty.phtml diff --git a/src/PHPCensor/Controller/WidgetBuildErrorsController.php b/src/PHPCensor/Controller/WidgetBuildErrorsController.php index 8f75dcd0..7bde6c44 100644 --- a/src/PHPCensor/Controller/WidgetBuildErrorsController.php +++ b/src/PHPCensor/Controller/WidgetBuildErrorsController.php @@ -68,18 +68,22 @@ class WidgetBuildErrorsController extends Controller { $builds = $this->buildStore->getAllProjectsLatestBuilds(); - $view->builds = $builds['projects']; - $projects = $this->projectStore->getByIds(array_keys($builds['projects'])); + if (!empty($builds['projects'])) { + $view->builds = $builds['projects']; + $projects = $this->projectStore->getByIds(array_keys($builds['projects'])); - $view_projects = []; - foreach($projects as $id => $project) { - if (!$project->getArchived()) { - $view_projects[$id] = $project; - } else { - unset($builds['projects'][$id]); + $view_projects = []; + foreach($projects as $id => $project) { + if (!$project->getArchived()) { + $view_projects[$id] = $project; + } else { + unset($builds['projects'][$id]); + } } + $view->projects = $view_projects; + } else { + $view = new View('WidgetBuildErrors/empty'); } - $view->projects = $view_projects; return $view->render(); } diff --git a/src/PHPCensor/Languages/lang.en.php b/src/PHPCensor/Languages/lang.en.php index 08f3be4d..a8b17bb6 100644 --- a/src/PHPCensor/Languages/lang.en.php +++ b/src/PHPCensor/Languages/lang.en.php @@ -78,6 +78,7 @@ PHP Censor', 'never_failed_build' => ' This project has never failed a build.', 'view_project' => 'View Project', 'projects_with_build_errors' => 'Build errors', + 'no_build_errors' => 'No build errors', // Timeline: 'latest_builds' => 'Latest Builds', diff --git a/src/PHPCensor/View/WidgetBuildErrors/empty.phtml b/src/PHPCensor/View/WidgetBuildErrors/empty.phtml new file mode 100644 index 00000000..cc08ea4d --- /dev/null +++ b/src/PHPCensor/View/WidgetBuildErrors/empty.phtml @@ -0,0 +1,5 @@ +
\ No newline at end of file