Adds ability for domains to be marked as sensitive and only be allowed to be issued by an admin closes #5
This commit is contained in:
8
lemur/static/app/angular/domains/services.js
vendored
8
lemur/static/app/angular/domains/services.js
vendored
@ -12,4 +12,12 @@ angular.module('lemur')
|
||||
return domains;
|
||||
});
|
||||
};
|
||||
|
||||
DomainService.updateSensitive = function (domain) {
|
||||
return domain.put();
|
||||
};
|
||||
|
||||
DomainService.create = function (domain) {
|
||||
return DomainApi.post(domain);
|
||||
};
|
||||
});
|
||||
|
36
lemur/static/app/angular/domains/view/view.js
vendored
36
lemur/static/app/angular/domains/view/view.js
vendored
@ -10,7 +10,7 @@ angular.module('lemur')
|
||||
});
|
||||
})
|
||||
|
||||
.controller('DomainsViewController', function ($scope, DomainApi, ngTableParams) {
|
||||
.controller('DomainsViewController', function ($scope, $modal, DomainApi, DomainService, ngTableParams, toaster) {
|
||||
$scope.filter = {};
|
||||
$scope.domainsTable = new ngTableParams({
|
||||
page: 1, // show first page
|
||||
@ -29,6 +29,40 @@ angular.module('lemur')
|
||||
}
|
||||
});
|
||||
|
||||
$scope.updateSensitive = function (domain) {
|
||||
DomainService.updateSensitive(domain).then(
|
||||
function () {
|
||||
toaster.pop({
|
||||
type: 'success',
|
||||
title: domain.name,
|
||||
body: 'Updated!'
|
||||
});
|
||||
},
|
||||
function (response) {
|
||||
toaster.pop({
|
||||
type: 'error',
|
||||
title: domain.name,
|
||||
body: 'Unable to update! ' + response.data.message,
|
||||
timeout: 100000
|
||||
});
|
||||
domain.sensitive = domain.sensitive ? false : true;
|
||||
});
|
||||
};
|
||||
|
||||
$scope.create = function () {
|
||||
var modalInstance = $modal.open({
|
||||
animation: true,
|
||||
controller: 'DomainsCreateController',
|
||||
templateUrl: '/angular/domains/domain/domain.tpl.html',
|
||||
size: 'lg'
|
||||
});
|
||||
|
||||
modalInstance.result.then(function () {
|
||||
$scope.domainsTable.reload();
|
||||
});
|
||||
|
||||
};
|
||||
|
||||
$scope.toggleFilter = function (params) {
|
||||
params.settings().$scope.show_filter = !params.settings().$scope.show_filter;
|
||||
};
|
||||
|
@ -4,6 +4,9 @@
|
||||
<span class="text-muted"><small>Zone transfers as scary</small></span></h2>
|
||||
<div class="panel panel-default">
|
||||
<div class="panel-heading">
|
||||
<div class="btn-group pull-right">
|
||||
<button ng-click="create()" class="btn btn-primary">Create</button>
|
||||
</div>
|
||||
<div class="btn-group">
|
||||
<button ng-click="toggleFilter(domainsTable)" class="btn btn-default">Filter</button>
|
||||
</div>
|
||||
@ -16,6 +19,12 @@
|
||||
<td data-title="'Name'" sortable="'name'" filter="{ 'name': 'text' }">
|
||||
{{ domain.name }}
|
||||
</td>
|
||||
<td data-title="'Sensitive'">
|
||||
<form>
|
||||
<switch ng-change="updateSensitive(domain)" id="status" name="status"
|
||||
ng-model="domain.sensitive" class="green small"></switch>
|
||||
</form>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
Reference in New Issue
Block a user