eHealthAfrica/direct-delivery-dashboard

View on GitHub
src/app/users/form/form.html

Summary

Maintainability
Test Coverage
<div class="panel panel-default">
  <div class="panel-heading">
    <h3 class="panel-title" ng-bind="::usersFormCtrl.title"></h3>
  </div>
  <div class="panel-body">
    <form name="userForm" ng-submit="usersFormCtrl.save(userForm)" novalidate>
      <div class="form-group" ng-class="{'has-error': userForm.email.$invalid && usersFormCtrl.submitted}">
        <label for="email">Email *</label>
        <input id="email" name="email" type="email" class="form-control" ng-model="usersFormCtrl.user.profile.email"
          ng-model-options="{debounce: 500}" ng-disabled="usersFormCtrl.type == 'update'" user-email="usersFormCtrl.type == 'create'" required>
        <div ng-if="usersFormCtrl.submitted" ng-messages="userForm.email.$error">
          <div class="help-block" ng-message="required">Required</div>
          <div class="help-block" ng-message="email">Invalid email</div>
          <div class="help-block" ng-message="userEmail">Email used</div>
        </div>
      </div>
      <div class="form-group" ng-class="{'has-error': userForm.forename.$invalid && usersFormCtrl.submitted}">
        <label for="forename">Forename *</label>
        <input id="forename" name="forename" type="text" class="form-control" ng-model="usersFormCtrl.user.profile.forename" required>
        <div ng-if="usersFormCtrl.submitted" ng-messages="userForm.forename.$error">
          <div class="help-block" ng-message="required">Required</div>
        </div>
      </div>
      <div class="form-group" ng-class="{'has-error': userForm.surname.$invalid && usersFormCtrl.submitted}">
        <label for="surname">Surname *</label>
        <input id="surname" name="surname" type="text" class="form-control" ng-model="usersFormCtrl.user.profile.surname" required>
        <div ng-if="usersFormCtrl.submitted" ng-messages="userForm.surname.$error">
          <div class="help-block" ng-message="required">Required</div>
        </div>
      </div>
      <div class="form-group">
        <label for="phone">Phone</label>
        <input id="phone" name="phone" type="text" class="form-control" ng-model="usersFormCtrl.user.profile.phone">
      </div>
      <div class="form-group">
        <label for="state">State</label>
        <select id="state" name="state" class="form-control" ng-model="usersFormCtrl.user.profile.state">
          <option
            ng-repeat="state in usersFormCtrl.states"
            value="{{ state._id }}"
            ng-bind="state.name"></option>
        </select>
      </div>
      <div class="checkbox">
        <label>
          <input type="checkbox" ng-model="usersFormCtrl.user.enabled"> Enabled
        </label>
      </div>
      <div ng-if="usersFormCtrl.user.enabled" class="form-group" ng-class="{'has-error': userForm.password.$invalid && usersFormCtrl.submitted}">
        <label for="password">Password *</label>
        <input id="password" name="password" type="password" class="form-control" ng-model="usersFormCtrl.user.account.password"
          ng-required="!usersFormCtrl.user.account._rev">
        <div ng-if="usersFormCtrl.user.account._rev" class="help-block">Leave blank to preserve current password.</div>
        <div ng-if="usersFormCtrl.submitted" ng-messages="userForm.password.$error">
          <div class="help-block" ng-message="required">Required</div>
        </div>
      </div>
      <button type="submit" class="btn btn-primary" ng-bind="::usersFormCtrl.submitLabel"></button>
      <a class="btn btn-default" ui-sref="users.all">Cancel</a>
    </form>
  </div>
</div>