Admin Users require role

These changes make the role field required in the User model. Changes to
the Admin user edit view were added to provide validation for the role
field.

As an added enhancement, the user's roles are displayed in the Admin
user list view.
This commit is contained in:
mleanos
2015-08-28 17:41:13 -07:00
parent 85d2a1a943
commit bbbe8772f2
3 changed files with 10 additions and 5 deletions

View File

@@ -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">

View File

@@ -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>

View File

@@ -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