Fixing issue with creating roles
This commit is contained in:
parent
95ac5245e1
commit
f09f5eb0f1
|
@ -23,9 +23,10 @@ CertificateOwnerNeed = partial(CertificateOwner, 'certificateView')
|
||||||
|
|
||||||
|
|
||||||
class ViewKeyPermission(Permission):
|
class ViewKeyPermission(Permission):
|
||||||
def __init__(self, role_id, certificate_id):
|
def __init__(self, certificate_id, owner_id):
|
||||||
c_need = CertificateCreatorNeed(str(certificate_id))
|
c_need = CertificateCreatorNeed(str(certificate_id))
|
||||||
o_need = CertificateOwnerNeed(str(role_id))
|
o_need = CertificateOwnerNeed(str(owner_id))
|
||||||
|
|
||||||
super(ViewKeyPermission, self).__init__(o_need, c_need, RoleNeed('admin'))
|
super(ViewKeyPermission, self).__init__(o_need, c_need, RoleNeed('admin'))
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -140,7 +140,7 @@ class RolesList(AuthenticatedResource):
|
||||||
self.reqparse.add_argument('description', type=str, location='json')
|
self.reqparse.add_argument('description', type=str, location='json')
|
||||||
self.reqparse.add_argument('username', type=str, location='json')
|
self.reqparse.add_argument('username', type=str, location='json')
|
||||||
self.reqparse.add_argument('password', type=str, location='json')
|
self.reqparse.add_argument('password', type=str, location='json')
|
||||||
self.reqparse.add_argument('users', type=dict, location='json')
|
self.reqparse.add_argument('users', type=list, location='json')
|
||||||
|
|
||||||
args = self.reqparse.parse_args()
|
args = self.reqparse.parse_args()
|
||||||
return service.create(args['name'], args.get('password'), args.get('description'), args.get('username'),
|
return service.create(args['name'], args.get('password'), args.get('description'), args.get('username'),
|
||||||
|
|
|
@ -18,6 +18,12 @@ angular.module('lemur')
|
||||||
$modalInstance.dismiss('cancel');
|
$modalInstance.dismiss('cancel');
|
||||||
};
|
};
|
||||||
|
|
||||||
|
$scope.userPage = 1;
|
||||||
|
$scope.loadMoreRoles = function () {
|
||||||
|
$scope.userPage += 1;
|
||||||
|
RoleService.loadMoreUsers($scope.role, $scope.userPage);
|
||||||
|
};
|
||||||
|
|
||||||
$scope.userService = UserService;
|
$scope.userService = UserService;
|
||||||
$scope.roleService = RoleService;
|
$scope.roleService = RoleService;
|
||||||
})
|
})
|
||||||
|
|
|
@ -27,7 +27,7 @@
|
||||||
Username
|
Username
|
||||||
</label>
|
</label>
|
||||||
<div class="col-sm-10">
|
<div class="col-sm-10">
|
||||||
<input ng-show="!role.fromServer" name="username" ng-model="role.username" placeholder="Username" class="form-control" required/>
|
<input ng-show="!role.fromServer" name="username" ng-model="role.username" placeholder="Username" class="form-control"/>
|
||||||
<div class="well">
|
<div class="well">
|
||||||
<span ng-show="role.password">
|
<span ng-show="role.password">
|
||||||
{{ role.username }}
|
{{ role.username }}
|
||||||
|
@ -43,7 +43,7 @@
|
||||||
Password
|
Password
|
||||||
</label>
|
</label>
|
||||||
<div class="col-sm-10">
|
<div class="col-sm-10">
|
||||||
<input ng-show="!role.fromServer" type="password" name="password" ng-model="role.password" placeholder="hunter2" class="form-control" required/>
|
<input ng-show="!role.fromServer" type="password" name="password" ng-model="role.password" placeholder="hunter2" class="form-control"/>
|
||||||
<p ng-show="createForm.password.$invalid && !createForm.password.$pristine" class="help-block">You must enter an password</p>
|
<p ng-show="createForm.password.$invalid && !createForm.password.$pristine" class="help-block">You must enter an password</p>
|
||||||
<div class="well">
|
<div class="well">
|
||||||
<span ng-show="role.password">
|
<span ng-show="role.password">
|
||||||
|
@ -61,7 +61,7 @@
|
||||||
<input tooltip="You can attach any user to this role, once attached they will have access as defined by this role"
|
<input tooltip="You can attach any user to this role, once attached they will have access as defined by this role"
|
||||||
typeahead="user.username for user in userService.findUserByName($viewValue)" typeahead-loading="loadingUsers"
|
typeahead="user.username for user in userService.findUserByName($viewValue)" typeahead-loading="loadingUsers"
|
||||||
typeahead-min-wait="100" typeahead-on-select="role.addUser($item)"
|
typeahead-min-wait="100" typeahead-on-select="role.addUser($item)"
|
||||||
type="text" name="user" ng-model="role.selectedUser" placeholder="Username..." class="form-control" required/>
|
type="text" name="user" ng-model="role.selectedUser" placeholder="Username..." class="form-control"/>
|
||||||
<table ng-show="role.users" class="table">
|
<table ng-show="role.users" class="table">
|
||||||
<tr ng-repeat="user in role.users track by $index">
|
<tr ng-repeat="user in role.users track by $index">
|
||||||
<td>{{ user.username }}</td>
|
<td>{{ user.username }}</td>
|
||||||
|
@ -69,6 +69,10 @@
|
||||||
<button type="button" ng-click="role.removeUser($index)" class="btn btn-danger btn-sm pull-right">Remove</button>
|
<button type="button" ng-click="role.removeUser($index)" class="btn btn-danger btn-sm pull-right">Remove</button>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td></td>
|
||||||
|
<td><a class="pull-right" ng-click="loadMoreUsers()"><strong>More</strong></a></td>
|
||||||
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -34,11 +34,19 @@ angular.module('lemur')
|
||||||
};
|
};
|
||||||
|
|
||||||
RoleService.getUsers = function (role) {
|
RoleService.getUsers = function (role) {
|
||||||
role.customGET('users').then(function (users) {
|
return role.getList('users').then(function (users) {
|
||||||
role.users = users;
|
role.users = users;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
RoleService.loadMoreUsers = function (role, page) {
|
||||||
|
role.getList('users', {page: page}).then(function (users) {
|
||||||
|
_.each(users, function (user) {
|
||||||
|
role.users.push(user);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
RoleService.create = function (role) {
|
RoleService.create = function (role) {
|
||||||
return RoleApi.post(role).then(
|
return RoleApi.post(role).then(
|
||||||
function () {
|
function () {
|
||||||
|
|
Loading…
Reference in New Issue