mirror of
https://github.com/taobataoma/meanTorrent.git
synced 2026-06-15 21:41:43 +02:00
Merge pull request #858 from mleanos/admin-users-require-role
Admin users require role
This commit is contained in:
@@ -7,22 +7,25 @@
|
||||
<fieldset>
|
||||
<div class="form-group" show-errors>
|
||||
<label for="firstName">First Name</label>
|
||||
<input type="text" id="firstName" name="firstName" class="form-control" ng-model="user.firstName" placeholder="First Name" required>
|
||||
<input type="text" id="firstName" name="firstName" class="form-control" ng-model="user.firstName" placeholder="First Name" required />
|
||||
<div ng-messages="userForm.firstName.$error" role="alert">
|
||||
<p class="help-block error-text" ng-message="required">First name is required.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group" show-errors>
|
||||
<label for="lastName">Last Name</label>
|
||||
<input type="text" id="lastName" name="lastName" class="form-control" ng-model="user.lastName" placeholder="Last Name" required>
|
||||
<input type="text" id="lastName" name="lastName" class="form-control" ng-model="user.lastName" placeholder="Last Name" required />
|
||||
<div ng-messages="userForm.lastName.$error" role="alert">
|
||||
<p class="help-block error-text" ng-message="required">Last name is required.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<div class="form-group" show-errors>
|
||||
<label class="control-label" for="roles">Roles</label>
|
||||
<div class="controls">
|
||||
<input class="form-control" type="text" name="roles" ng-model="user.roles" id="roles" ng-list />
|
||||
<input class="form-control" type="text" name="roles" ng-model="user.roles" id="roles" ng-list required />
|
||||
<div ng-messages="userForm.roles.$error" role="alert">
|
||||
<p class="help-block error-text" ng-message="required">At least one role is required.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
<div class="list-group">
|
||||
<a ng-repeat="user in pagedItems" ui-sref="admin.user({userId: user._id})" class="list-group-item">
|
||||
<h4 class="list-group-item-heading" ng-bind="user.username"></h4>
|
||||
<p class="list-group-item-text pull-right small" ng-bind="user.roles"></p>
|
||||
<p class="list-group-item-text" ng-bind="user.email"></p>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
@@ -85,7 +85,8 @@ var UserSchema = new Schema({
|
||||
type: String,
|
||||
enum: ['user', 'admin']
|
||||
}],
|
||||
default: ['user']
|
||||
default: ['user'],
|
||||
required: 'Please provide at least one role'
|
||||
},
|
||||
updated: {
|
||||
type: Date
|
||||
|
||||
@@ -85,6 +85,54 @@ describe('User Model Unit Tests:', function () {
|
||||
});
|
||||
});
|
||||
|
||||
it('should be able to update an existing user with valid roles without problems', function (done) {
|
||||
var _user = new User(user);
|
||||
|
||||
_user.save(function (err) {
|
||||
should.not.exist(err);
|
||||
_user.roles = ['user', 'admin'];
|
||||
_user.save(function (err) {
|
||||
should.not.exist(err);
|
||||
_user.remove(function (err) {
|
||||
should.not.exist(err);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
it('should be able to show an error when trying to update an existing user without a role', function (done) {
|
||||
var _user = new User(user);
|
||||
|
||||
_user.save(function (err) {
|
||||
should.not.exist(err);
|
||||
_user.roles = [];
|
||||
_user.save(function (err) {
|
||||
should.exist(err);
|
||||
_user.remove(function (err) {
|
||||
should.not.exist(err);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
it('should be able to show an error when trying to update an existing user with a invalid role', function (done) {
|
||||
var _user = new User(user);
|
||||
|
||||
_user.save(function (err) {
|
||||
should.not.exist(err);
|
||||
_user.roles = ['invalid-user-role-enum'];
|
||||
_user.save(function (err) {
|
||||
should.exist(err);
|
||||
_user.remove(function (err) {
|
||||
should.not.exist(err);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
it('should confirm that saving user model doesnt change the password', function (done) {
|
||||
var _user1 = new User(user1);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user