2015-02-26 22:45:28 +00:00
|
|
|
(function() {
|
|
|
|
/**
|
|
|
|
* Build view page. Displays the view of a particular build for a repository.
|
|
|
|
*/
|
|
|
|
angular.module('quayPages').config(['pages', function(pages) {
|
|
|
|
pages.create('build-view', 'build-view.html', BuildViewCtrl, {
|
|
|
|
newLayout: true
|
|
|
|
});
|
|
|
|
}]);
|
|
|
|
|
2015-02-27 21:00:32 +00:00
|
|
|
function BuildViewCtrl($scope, ApiService, $routeParams, AngularPollChannel, CookieService) {
|
2015-02-26 22:45:28 +00:00
|
|
|
$scope.namespace = $routeParams.namespace;
|
|
|
|
$scope.name = $routeParams.name;
|
|
|
|
$scope.build_uuid = $routeParams.buildid;
|
|
|
|
|
2015-02-27 21:00:32 +00:00
|
|
|
$scope.showLogTimestamps = CookieService.get('quay.showBuildLogTimestamps') == 'true';
|
|
|
|
|
2015-02-26 22:45:28 +00:00
|
|
|
var loadBuild = function() {
|
|
|
|
var params = {
|
|
|
|
'repository': $scope.namespace + '/' + $scope.name,
|
|
|
|
'build_uuid': $scope.build_uuid
|
|
|
|
};
|
|
|
|
|
|
|
|
$scope.buildResource = ApiService.getRepoBuildAsResource(params).get(function(build) {
|
|
|
|
$scope.build = build;
|
|
|
|
$scope.originalBuild = build;
|
|
|
|
});
|
|
|
|
};
|
|
|
|
|
|
|
|
var loadRepository = function() {
|
|
|
|
var params = {
|
|
|
|
'repository': $scope.namespace + '/' + $scope.name
|
|
|
|
};
|
|
|
|
|
|
|
|
$scope.repoResource = ApiService.getRepoAsResource(params).get(function(repo) {
|
|
|
|
$scope.repo = repo;
|
|
|
|
}, ApiService.errorDisplay('Cannot load repository'));
|
|
|
|
};
|
|
|
|
|
|
|
|
// Page startup:
|
|
|
|
loadRepository();
|
|
|
|
loadBuild();
|
|
|
|
|
2015-02-27 21:00:32 +00:00
|
|
|
$scope.askCancelBuild = function(build) {
|
|
|
|
bootbox.confirm('Are you sure you want to cancel this build?', function(r) {
|
|
|
|
if (r) {
|
|
|
|
var params = {
|
|
|
|
'repository': $scope.namespace + '/' + $scope.name,
|
|
|
|
'build_uuid': build.id
|
|
|
|
};
|
|
|
|
|
|
|
|
ApiService.cancelRepoBuild(null, params).then(function() {
|
|
|
|
document.location = '/repository/' + $scope.namespace + '/' + $scope.name;
|
|
|
|
}, ApiService.errorDisplay('Cannot cancel build'));
|
|
|
|
}
|
|
|
|
});
|
|
|
|
};
|
|
|
|
|
|
|
|
$scope.toggleTimestamps = function() {
|
|
|
|
$scope.showLogTimestamps = !$scope.showLogTimestamps;
|
|
|
|
CookieService.putPermanent('quay.showBuildLogTimestamps', $scope.showLogTimestamps);
|
|
|
|
};
|
|
|
|
|
2015-02-26 22:45:28 +00:00
|
|
|
$scope.setUpdatedBuild = function(build) {
|
|
|
|
$scope.build = build;
|
|
|
|
};
|
|
|
|
|
|
|
|
$scope.isBuilding = function(build) {
|
|
|
|
if (!build) { return true; }
|
|
|
|
return build.phase != 'complete' && build.phase != 'error';
|
|
|
|
};
|
|
|
|
}
|
|
|
|
})();
|