summaryrefslogtreecommitdiffstats
path: root/non-puppet/qtmetrics2/index.php
diff options
context:
space:
mode:
authorJuha Sippola <juhasippola@outlook.com>2015-07-01 16:27:38 +0300
committerTony Sarajärvi <tony.sarajarvi@theqtcompany.com>2015-09-16 07:32:13 +0000
commit58ce8abda57dec8843b14273a6261ae52dcfcc04 (patch)
tree604413e6948f0b7cbe8ed9feb58d5464a3fe7545 /non-puppet/qtmetrics2/index.php
parent64a14e09f7d3a73f58758f67fe35a779f56f580b (diff)
Qt Metrics 2 (v0.8): Platform pages
Implemented the platform views into build project page by filtering the confs based on the target os. Buttons indicate the selection and can be used to change between the platforms. Home page buttons activated. Change-Id: Id175ff4279091d886d779307ccdf8dd795ffe456 Reviewed-by: Tony Sarajärvi <tony.sarajarvi@theqtcompany.com>
Diffstat (limited to 'non-puppet/qtmetrics2/index.php')
-rw-r--r--non-puppet/qtmetrics2/index.php149
1 files changed, 127 insertions, 22 deletions
diff --git a/non-puppet/qtmetrics2/index.php b/non-puppet/qtmetrics2/index.php
index 811c126..e183991 100644
--- a/non-puppet/qtmetrics2/index.php
+++ b/non-puppet/qtmetrics2/index.php
@@ -34,8 +34,8 @@
/**
* Qt Metrics API
- * @version 0.7
- * @since 30-06-2015
+ * @version 0.8
+ * @since 01-07-2015
* @author Juha Sippola
*/
@@ -60,17 +60,18 @@ $app = new Slim\Slim(array(
$app->get('/', function() use($app)
{
$ini = Factory::conf();
+ $platformRoute = str_replace('/:targetOs', '', Slim\Slim::getInstance()->urlFor('buildproject_platform'));
$app->render('home.html', array(
'root' => Slim\Slim::getInstance()->urlFor('root'),
- 'overviewRoute' => Slim\Slim::getInstance()->urlFor('root') . 'overview',
- 'branchRoute' => Slim\Slim::getInstance()->urlFor('root') . 'branch',
- 'platformRoute' => Slim\Slim::getInstance()->urlFor('root') . 'platform',
- 'testRoute' => Slim\Slim::getInstance()->urlFor('root') . 'test',
+ 'overviewRoute' => Slim\Slim::getInstance()->urlFor('overview'),
+ 'platformRoute' => $platformRoute,
+ 'topRoute' => Slim\Slim::getInstance()->urlFor('top'),
+ 'flakyRoute' => Slim\Slim::getInstance()->urlFor('flaky'),
'refreshed' => Factory::db()->getDbRefreshed() . ' (GMT)',
'masterProject' => $ini['master_build_project'],
'masterState' => $ini['master_build_state'],
'branches' => Factory::db()->getBranches(),
- 'platforms' => Factory::db()->getTargetPlatforms()
+ 'platforms' => Factory::db()->getTargetPlatformOs()
));
})->name('root');
@@ -84,11 +85,13 @@ $app->get('/overview', function() use($app)
$breadcrumb = array(
array('name' => 'home', 'link' => Slim\Slim::getInstance()->urlFor('root'))
);
+ $buildProjectRoute = Slim\Slim::getInstance()->urlFor('buildproject');
+ $testsetProjectRoute = str_replace('/:project', '', Slim\Slim::getInstance()->urlFor('testsetproject'));
$app->render('overview.html', array(
'root' => Slim\Slim::getInstance()->urlFor('root'),
'breadcrumb' => $breadcrumb,
- 'buildProjectRoute' => Slim\Slim::getInstance()->urlFor('root') . 'buildproject',
- 'testsetProjectRoute' => Slim\Slim::getInstance()->urlFor('root') . 'testsetproject',
+ 'buildProjectRoute' => $buildProjectRoute,
+ 'testsetProjectRoute' => $testsetProjectRoute,
'refreshed' => Factory::db()->getDbRefreshed() . ' (GMT)',
'masterProject' => $ini['master_build_project'],
'masterState' => $ini['master_build_state'],
@@ -99,40 +102,141 @@ $app->get('/overview', function() use($app)
$ini['master_build_project'],
$ini['master_build_state'])
));
-});
+})->name('overview');
/**
* UI route: /buildproject (GET)
*/
-$app->get('/buildproject/:project', function($project) use($app)
+$app->get('/buildproject', function() use($app)
{
- $project = strip_tags($project);
$ini = Factory::conf();
$breadcrumb = array(
- array('name' => 'home', 'link' => Slim\Slim::getInstance()->urlFor('root'))
+ array('name' => 'home', 'link' => Slim\Slim::getInstance()->urlFor('root')),
+ array('name' => 'overview', 'link' => Slim\Slim::getInstance()->urlFor('overview'))
);
+ $platformRoute = str_replace('/:targetOs', '', Slim\Slim::getInstance()->urlFor('buildproject_platform'));
+ $confRoute = str_replace('/:conf', '', Slim\Slim::getInstance()->urlFor('buildproject_conf'));
$app->render('build_project.html', array(
'root' => Slim\Slim::getInstance()->urlFor('root'),
'breadcrumb' => $breadcrumb,
+ 'platformRoute' => $platformRoute,
+ 'confRoute' => $confRoute,
'refreshed' => Factory::db()->getDbRefreshed() . ' (GMT)',
'masterProject' => $ini['master_build_project'],
'masterState' => $ini['master_build_state'],
+ 'platforms' => Factory::db()->getTargetPlatformOs(),
+ 'targetOs' => '',
+ 'conf' => '',
'latestProjectRuns' => Factory::db()->getLatestProjectBranchBuildResults(
- $project,
+ $ini['master_build_project'],
$ini['master_build_state']),
'projectBuilds' => Factory::db()->getProjectBuildsByBranch(
$ini['master_build_project'],
$ini['master_build_state']),
'project' => Factory::createProject(
- $project,
+ $ini['master_build_project'],
$ini['master_build_project'],
$ini['master_build_state']), // managed as object
'confRuns' => Factory::createConfRuns(
$ini['master_build_project'],
- $ini['master_build_state']) // managed as objects
+ $ini['master_build_state'],
+ '',
+ '') // managed as objects
));
-});
+})->name('buildproject');
+
+/**
+ * UI route: /buildproject/:project/platform (GET)
+ * Similar to /buildproject but filtered with os
+ */
+
+$app->get('/buildproject/platform/:targetOs', function($targetOs) use($app)
+{
+ $targetOs = strip_tags($targetOs);
+ $ini = Factory::conf();
+ $buildProjectRoute = str_replace('/:project', '', Slim\Slim::getInstance()->urlFor('buildproject'));
+ $breadcrumb = array(
+ array('name' => 'home', 'link' => Slim\Slim::getInstance()->urlFor('root')),
+ array('name' => 'overview', 'link' => Slim\Slim::getInstance()->urlFor('overview')),
+ array('name' => $ini['master_build_project'], 'link' => $buildProjectRoute)
+ );
+ $platformRoute = str_replace('/:targetOs', '', Slim\Slim::getInstance()->urlFor('buildproject_platform'));
+ $confRoute = str_replace('/:conf', '', Slim\Slim::getInstance()->urlFor('buildproject_conf'));
+ $app->render('build_project.html', array(
+ 'root' => Slim\Slim::getInstance()->urlFor('root'),
+ 'breadcrumb' => $breadcrumb,
+ 'platformRoute' => $platformRoute,
+ 'confRoute' => $confRoute,
+ 'refreshed' => Factory::db()->getDbRefreshed() . ' (GMT)',
+ 'masterProject' => $ini['master_build_project'],
+ 'masterState' => $ini['master_build_state'],
+ 'platforms' => Factory::db()->getTargetPlatformOs(),
+ 'targetOs' => $targetOs,
+ 'conf' => '',
+ 'latestProjectRuns' => Factory::db()->getLatestProjectBranchBuildResults(
+ $ini['master_build_project'],
+ $ini['master_build_state']),
+ 'projectBuilds' => Factory::db()->getProjectBuildsByBranch(
+ $ini['master_build_project'],
+ $ini['master_build_state']),
+ 'project' => Factory::createProject(
+ $ini['master_build_project'],
+ $ini['master_build_project'],
+ $ini['master_build_state']), // managed as object
+ 'confRuns' => Factory::createConfRuns(
+ $ini['master_build_project'],
+ $ini['master_build_state'],
+ $targetOs,
+ '') // managed as objects
+ ));
+})->name('buildproject_platform');
+
+/**
+ * UI route: /buildproject/:project/conf (GET)
+ * Similar to /buildproject but filtered with conf
+ */
+
+$app->get('/buildproject/conf/:conf', function($conf) use($app)
+{
+ $conf = strip_tags($conf);
+ $ini = Factory::conf();
+ $buildProjectRoute = str_replace('/:project', '', Slim\Slim::getInstance()->urlFor('buildproject'));
+ $breadcrumb = array(
+ array('name' => 'home', 'link' => Slim\Slim::getInstance()->urlFor('root')),
+ array('name' => 'overview', 'link' => Slim\Slim::getInstance()->urlFor('overview')),
+ array('name' => $ini['master_build_project'], 'link' => $buildProjectRoute)
+ );
+ $platformRoute = str_replace('/:targetOs', '', Slim\Slim::getInstance()->urlFor('buildproject_platform'));
+ $confRoute = str_replace('/:conf', '', Slim\Slim::getInstance()->urlFor('buildproject_conf'));
+ $app->render('build_project.html', array(
+ 'root' => Slim\Slim::getInstance()->urlFor('root'),
+ 'breadcrumb' => $breadcrumb,
+ 'platformRoute' => $platformRoute,
+ 'confRoute' => $confRoute,
+ 'refreshed' => Factory::db()->getDbRefreshed() . ' (GMT)',
+ 'masterProject' => $ini['master_build_project'],
+ 'masterState' => $ini['master_build_state'],
+ 'platforms' => Factory::db()->getTargetPlatformOs(),
+ 'targetOs' => '',
+ 'conf' => $conf,
+ 'latestProjectRuns' => Factory::db()->getLatestProjectBranchBuildResults(
+ $ini['master_build_project'],
+ $ini['master_build_state']),
+ 'projectBuilds' => Factory::db()->getProjectBuildsByBranch(
+ $ini['master_build_project'],
+ $ini['master_build_state']),
+ 'project' => Factory::createProject(
+ $ini['master_build_project'],
+ $ini['master_build_project'],
+ $ini['master_build_state']), // managed as object
+ 'confRuns' => Factory::createConfRuns(
+ $ini['master_build_project'],
+ $ini['master_build_state'],
+ '',
+ $conf) // managed as objects
+ ));
+})->name('buildproject_conf');
/**
* UI route: /testsetproject (GET)
@@ -143,7 +247,8 @@ $app->get('/testsetproject/:project', function($project) use($app)
$project = strip_tags($project);
$ini = Factory::conf();
$breadcrumb = array(
- array('name' => 'home', 'link' => Slim\Slim::getInstance()->urlFor('root'))
+ array('name' => 'home', 'link' => Slim\Slim::getInstance()->urlFor('root')),
+ array('name' => 'overview', 'link' => Slim\Slim::getInstance()->urlFor('overview'))
);
$app->render('testset_project.html', array(
'root' => Slim\Slim::getInstance()->urlFor('root'),
@@ -164,7 +269,7 @@ $app->get('/testsetproject/:project', function($project) use($app)
$ini['master_build_project'],
$ini['master_build_state'])
));
-});
+})->name('testsetproject');
/**
* UI route: /test/top (GET)
@@ -193,7 +298,7 @@ $app->get('/test/top', function() use($app)
$ini['master_build_project'],
$ini['master_build_state']) // managed as objects
));
-});
+})->name('top');
/**
* UI route: /test/flaky (GET)
@@ -220,7 +325,7 @@ $app->get('/test/flaky', function() use($app)
null,
null) // managed as objects
));
-});
+})->name('flaky');
/**
* UI route: /testset/:testset/:project (GET)
@@ -266,7 +371,7 @@ $app->get('/testset/:testset/:project', function($testset, $project) use($app)
));
$app->response()->status(404);
}
-})->name('testsetProject');
+})->name('testset');
$app->run();