199d199f3SIftekharul Islam<div>
299d199f3SIftekharul Islam  <div class="row">
399d199f3SIftekharul Islam    <div class="columns large-6">
4859f502dSRyan Arnell      <img src="../../assets/images/logo.svg" class="login__logo" alt="OpenBMC logo"/>
5859f502dSRyan Arnell      <h1 class="login__desc">OpenBMC</h1>
699d199f3SIftekharul Islam    </div>
7*a09cc2daSbeccabroek    <div class="columns large-6">
8*a09cc2daSbeccabroek      <form id="login__form" name="login__form" action="" ng-class="{'submitted' : submitted}">
9*a09cc2daSbeccabroek        <fieldset ng-disabled="dataService.loading">
10*a09cc2daSbeccabroek          <div class="alert alert-danger" role="alert" ng-if="invalidCredentials">
11*a09cc2daSbeccabroek            <b>Invalid username or password.</b>
12*a09cc2daSbeccabroek            <br>Please try again.
13*a09cc2daSbeccabroek          </div>
14*a09cc2daSbeccabroek          <label for="host">BMC Host or BMC IP Address</label>
15*a09cc2daSbeccabroek          <input type="text" id="host" name="host" class="validate-input" ng-model="host" has-error="serverUnreachable && login__form.host.$pristine" required  autofocus ng-keydown="tryLogin(host, username, password, $event)">
16*a09cc2daSbeccabroek          <div ng-messages="login__form.host.$error" class="form-error" ng-class="{'visible' : login__form.host.$touched || submitted}">
17*a09cc2daSbeccabroek            <p ng-message="required">Field is required</p>
18*a09cc2daSbeccabroek            <p ng-message="hasError">Server unreachable</p>
19*a09cc2daSbeccabroek          </div>
201acb412dSIftekharul Islam
2199d199f3SIftekharul Islam          <label for="username">Username</label>
22*a09cc2daSbeccabroek          <input type="text" id="username" name="username" has-error="invalidCredentials && login__form.$pristine" required ng-model="username" ng-keydown="tryLogin(host, username, password, $event)" autocomplete="off">
23*a09cc2daSbeccabroek          <div ng-messages="login__form.username.$error" class="form-error" ng-class="{'visible' : login__form.username.$touched || submitted}">
24*a09cc2daSbeccabroek            <p ng-message="required">Field is required</p>
25*a09cc2daSbeccabroek          </div>
2699d199f3SIftekharul Islam
2799d199f3SIftekharul Islam          <label for="password">Password</label>
28*a09cc2daSbeccabroek          <input type="password" id="password" name="password" has-error="invalidCredentials && login__form.$pristine" required  ng-model="password" ng-keydown="tryLogin(host, username, password, $event)" autocomplete="off">
29*a09cc2daSbeccabroek          <div ng-messages="login__form.password.$error" class="form-error" ng-class="{'visible': login__form.password.$touched || submitted}">
30*a09cc2daSbeccabroek            <p ng-message="required">Field is required</p>
31*a09cc2daSbeccabroek          </div>
3299d199f3SIftekharul Islam
33*a09cc2daSbeccabroek          <input id="login__submit" class="btn-primary submit" type="button" value="Log in" role="button" ng-click="login(host, username, password); submitted = true; login__form.$setPristine()" ng-class="{error: error}" ng-disabled="dataService.loading">
34*a09cc2daSbeccabroek        </fieldset>
3599d199f3SIftekharul Islam      </form>
3699d199f3SIftekharul Islam    </div>
3799d199f3SIftekharul Islam  </div>
3899d199f3SIftekharul Islam</div>
39