<commit_before><div class="container">
  <section id="users">
    <div class="row">
      <div class="page-header">
        <h1><i class="icon-user-large"></i> {{user.firstName}} {{user.lastName}}</h1>
      </div>
    </div>
    <div class="row">
      <div class="span3">
        <div class="well sidebar-nav">
          <ul class="nav nav-list">
            <li ng-class="activeClass('profile')">
              <a href="#/users/{{user.id | escape}}?tab=profile">Profile</a>
            </li>
            <li ng-class="activeClass('account')" ng-show="availableOperations.update">
              <a href="#/users/{{user.id | escape}}?tab=account">Account</a>
            </li>
            <li ng-class="activeClass('groups')">
              <a href="#/users/{{user.id | escape}}?tab=groups">Groups</a>
            </li>
          </ul>
        </div>
      </div>

      <div class="span9">

        <div ng-show="show('profile')">
          <div class="box">
            <p ng-if="!profile">
              <i class="icon-loading"></i> loading profile...
            </p>
            <form class="form-horizontal" name="editProfileForm" ng-if="profile">

              <legend>Profile</legend>

              <div>

                <div class="control-group">
                  <label class="control-label" for="inputFirstname">Firstname*</label>
                  <div class="controls">
                    <input id="inputFirstname" name="firstname" type="text" ng-model="profile.firstName" novalidate required ng-disabled="!availableOperations.update"></input>
                    <p class="help-block" ng-show="editProfileForm.firstname.$error.required">Firstname is required.</p>
                  </div>
                </div>

                <div class="control-group">
                  <label class="control-label" for="inputLastname">Lastname*</label>
                  <div class="controls">
                    <input id="inputLastname" type="text" ng-model="profile.lastName" novalidate required ng-disabled="!availableOperations.update"></input>
                    <p class="help-block" ng-show="editProfileForm.firstname.$error.required">Lastname is required.</p>
                  </div>
                </div>

                <div class="control-group">
                  <label class="control-label" for="inputEmail">Email</label>
                  <div class="controls">
                    <input id="inputEmail" name="email" type="text" ng-model="profile.email" data-email ng-disabled="!availableOperations.update"></input>
                    <p class="help-block" ng-show="editProfileForm.email.$error.email">Not a valid email address</p>
                  </div>
                </div>

                <div class="control-group" ng-show="availableOperations.update">
                  <div class="controls">
                    <button type="submit" class="btn"  data-ng-disabled="!canSubmit(editProfileForm, 'profile')" data-ng-click="updateProfile()">Update Profile</button>
                  </div>
                </div>

              </div>

            </form>
          </div>
        </div>

        <div ng-show="show('account')" ng-show="availableOperations.update">
          <div class="box">
            <form class="form-horizontal" name="updateCredentialsForm">

              <legend>Change Password</legend>

              <p>Type a new password to change the existing account password.</p>

              <div class="control-group">
                <label class="control-label" for="inputAuthenticationUserPassword" ng-if="userId === authenticatedUser">Old Password*:</label>
                <label class="control-label" for="inputAuthenticationUserPassword" ng-if="userId !== authenticatedUser">My Password*:</label>
                <div class="controls">
                  <input id="inputAuthenticationUserPassword" name="inputAuthenticationUserPassword" type="password" ng-model="credentials.authenticatedUserPassword" required>
                </div>
              </div>

              <div class="control-group">
                <label class="control-label" for="inputPassword">New Password*:</label>
                <div class="controls">
                  <input id="inputPassword" name="inputPassword" type="password" ng-model="credentials.password" data-password></input>
                  <p class="text-error" ng-show="updateCredentialsForm.inputPassword.$error.password">Password must have at least 8 characters.</p>
                </div>
              </div>

              <div class="control-group">
                <label class="control-label" for="inputPasswordRepeat">New Password (repeat)*:</label>
                <div class="controls">
                  <input id="inputPasswordRepeat" name="inputPasswordRepeat" type="password" ng-model="credentials.password2" data-password-repeat="<PASSWORD>"></input>
                  <p class="text-error" ng-show="updateCredentialsForm.inputPasswordRepeat.$error.passwordRepeat">Passwords must match.</p>
                </div>
              </div>

              <div class="control-group">
                <div class="controls">
                  <button type="submit" class="btn" data-ng-click="updateCredentials()" data-ng-disabled="!canSubmit(updateCredentialsForm)">Change Password</button>
                </div>
              </div>

            </form>
          </div>
          <div class="box" ng-show="availableOperations.delete">
            <form class="form-horizontal">

              <legend>Delete User</legend>
              <div class="alert alert-error">
                <strong>Warning:</strong> deleting a user account cannot be undone.
              </div>

              <button type="submit" class="btn btn-danger" data-ng-click="deleteUser()">Delete User</button>

            </form>
          </div>
        </div>

        <div ng-show="show('groups')">
          <div class="box">

            <form class="form-horizontal" name="updateGroupMemberships">

              <legend>{{user.firstName}} {{user.lastName}}&#39;s Groups</legend>

              <div show-if-authorized auth-permission="CREATE" auth-resource-name="group membership">
                <a class="btn pull-right" data-ng-click="openCreateGroupMembershipDialog()"><i class="icon-plus"></i> Add</a>
              </div>

              <table class="table" ng-hide="groupList.length == 0">
                <thead>
                  <tr>
                    <th><!-- icons --></th>
                    <th>Group Id</th>
                    <th>Group Name</th>
                    <th>Group Type</th>
                    <th ng-show="availableOperations.removeGroup"><!-- actions --></th>
                  </tr>
                </thead>
                <tbody>
                  <tr ng-repeat="group in groupList">
                    <td>
                      <!-- add group icon here -->
                    </td>
                    <td>
                      <a href="#/groups/{{group.id | escape}}?tab=group">{{group.id}}</a>
                    </td>
                    <td>
                      {{group.name}}
                    </td>
                    <td>
                      {{group.type}}
                    </td>
                    <td ng-show="availableOperations.removeGroup">
                      <a class="btn btn-small" data-ng-click="removeGroup(group.id)">Remove</a>
                    </td>
                  </tr>
                </tbody>
              </table>

              <p ng-show="groupList.length == 0">User {{user.firstName}} {{user.lastName}} is currently not member of any groups</p>

            </form>
          </div>
        </div>

      </div>
    </div>
  </section>
</div>
<commit_msg>fix(user/edit/password): set password input field as required<commit_after><div class="container">
  <section id="users">
    <div class="row">
      <div class="page-header">
        <h1><i class="icon-user-large"></i> {{user.firstName}} {{user.lastName}}</h1>
      </div>
    </div>
    <div class="row">
      <div class="span3">
        <div class="well sidebar-nav">
          <ul class="nav nav-list">
            <li ng-class="activeClass('profile')">
              <a href="#/users/{{user.id | escape}}?tab=profile">Profile</a>
            </li>
            <li ng-class="activeClass('account')" ng-show="availableOperations.update">
              <a href="#/users/{{user.id | escape}}?tab=account">Account</a>
            </li>
            <li ng-class="activeClass('groups')">
              <a href="#/users/{{user.id | escape}}?tab=groups">Groups</a>
            </li>
          </ul>
        </div>
      </div>

      <div class="span9">

        <div ng-show="show('profile')">
          <div class="box">
            <p ng-if="!profile">
              <i class="icon-loading"></i> loading profile...
            </p>
            <form class="form-horizontal" name="editProfileForm" ng-if="profile">

              <legend>Profile</legend>

              <div>

                <div class="control-group">
                  <label class="control-label" for="inputFirstname">Firstname*</label>
                  <div class="controls">
                    <input id="inputFirstname" name="firstname" type="text" ng-model="profile.firstName" novalidate required ng-disabled="!availableOperations.update"></input>
                    <p class="help-block" ng-show="editProfileForm.firstname.$error.required">Firstname is required.</p>
                  </div>
                </div>

                <div class="control-group">
                  <label class="control-label" for="inputLastname">Lastname*</label>
                  <div class="controls">
                    <input id="inputLastname" type="text" ng-model="profile.lastName" novalidate required ng-disabled="!availableOperations.update"></input>
                    <p class="help-block" ng-show="editProfileForm.firstname.$error.required">Lastname is required.</p>
                  </div>
                </div>

                <div class="control-group">
                  <label class="control-label" for="inputEmail">Email</label>
                  <div class="controls">
                    <input id="inputEmail" name="email" type="text" ng-model="profile.email" data-email ng-disabled="!availableOperations.update"></input>
                    <p class="help-block" ng-show="editProfileForm.email.$error.email">Not a valid email address</p>
                  </div>
                </div>

                <div class="control-group" ng-show="availableOperations.update">
                  <div class="controls">
                    <button type="submit" class="btn"  data-ng-disabled="!canSubmit(editProfileForm, 'profile')" data-ng-click="updateProfile()">Update Profile</button>
                  </div>
                </div>

              </div>

            </form>
          </div>
        </div>

        <div ng-show="show('account')" ng-show="availableOperations.update">
          <div class="box">
            <form class="form-horizontal" name="updateCredentialsForm">

              <legend>Change Password</legend>

              <p>Type a new password to change the existing account password.</p>

              <div class="control-group">
                <label class="control-label" for="inputAuthenticationUserPassword" ng-if="userId === authenticatedUser">Old Password*:</label>
                <label class="control-label" for="inputAuthenticationUserPassword" ng-if="userId !== authenticatedUser">My Password*:</label>
                <div class="controls">
                  <input id="inputAuthenticationUserPassword" name="inputAuthenticationUserPassword" type="password" ng-model="credentials.authenticatedUserPassword" required>
                </div>
              </div>

              <div class="control-group">
                <label class="control-label" for="inputPassword">New Password*:</label>
                <div class="controls">
                  <input id="inputPassword" name="inputPassword" type="password" ng-model="credentials.password" data-password required></input>
                  <p class="text-error" ng-show="updateCredentialsForm.inputPassword.$error.password">Password must have at least 8 characters.</p>
                </div>
              </div>

              <div class="control-group">
                <label class="control-label" for="inputPasswordRepeat">New Password (repeat)*:</label>
                <div class="controls">
                  <input id="inputPasswordRepeat" name="inputPasswordRepeat" type="password" ng-model="credentials.password2" data-password-repeat="<PASSWORD>"></input>
                  <p class="text-error" ng-show="updateCredentialsForm.inputPasswordRepeat.$error.passwordRepeat">Passwords must match.</p>
                </div>
              </div>

              <div class="control-group">
                <div class="controls">
                  <button type="submit" class="btn" data-ng-click="updateCredentials()" data-ng-disabled="!canSubmit(updateCredentialsForm)">Change Password</button>
                </div>
              </div>

            </form>
          </div>
          <div class="box" ng-show="availableOperations.delete">
            <form class="form-horizontal">

              <legend>Delete User</legend>
              <div class="alert alert-error">
                <strong>Warning:</strong> deleting a user account cannot be undone.
              </div>

              <button type="submit" class="btn btn-danger" data-ng-click="deleteUser()">Delete User</button>

            </form>
          </div>
        </div>

        <div ng-show="show('groups')">
          <div class="box">

            <form class="form-horizontal" name="updateGroupMemberships">

              <legend>{{user.firstName}} {{user.lastName}}&#39;s Groups</legend>

              <div show-if-authorized auth-permission="CREATE" auth-resource-name="group membership">
                <a class="btn pull-right" data-ng-click="openCreateGroupMembershipDialog()"><i class="icon-plus"></i> Add</a>
              </div>

              <table class="table" ng-hide="groupList.length == 0">
                <thead>
                  <tr>
                    <th><!-- icons --></th>
                    <th>Group Id</th>
                    <th>Group Name</th>
                    <th>Group Type</th>
                    <th ng-show="availableOperations.removeGroup"><!-- actions --></th>
                  </tr>
                </thead>
                <tbody>
                  <tr ng-repeat="group in groupList">
                    <td>
                      <!-- add group icon here -->
                    </td>
                    <td>
                      <a href="#/groups/{{group.id | escape}}?tab=group">{{group.id}}</a>
                    </td>
                    <td>
                      {{group.name}}
                    </td>
                    <td>
                      {{group.type}}
                    </td>
                    <td ng-show="availableOperations.removeGroup">
                      <a class="btn btn-small" data-ng-click="removeGroup(group.id)">Remove</a>
                    </td>
                  </tr>
                </tbody>
              </table>

              <p ng-show="groupList.length == 0">User {{user.firstName}} {{user.lastName}} is currently not member of any groups</p>

            </form>
          </div>
        </div>

      </div>
    </div>
  </section>
</div>

{'fraction_non_alphanumeric': 0.1545039542210506, 'fraction_numerical': 0.0012859255449109497, 'mean_word_length': 1.7538951841359773, 'pattern_counts': {'":': 0, '<': 393, '<?xml version=': 0, '>': 393, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5375972', 'n_tokens_mistral': 4221, 'n_tokens_neox': 3964, 'n_words': 761}