]> git.ipfire.org Git - pbs.git/commitdiff
bootstrap4: port all user sites to bootstrap4
authorJonatan Schlag <jonatan.schlag@ipfire.org>
Thu, 11 Jan 2018 16:20:06 +0000 (17:20 +0100)
committerJonatan Schlag <jonatan.schlag@ipfire.org>
Thu, 11 Jan 2018 16:20:06 +0000 (17:20 +0100)
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
18 files changed:
src/templates/modules/select/locale.html
src/templates/modules/select/timezone.html
src/templates/modules/user-table.html
src/templates/user-delete.html
src/templates/user-forgot-password.html
src/templates/user-impersonation.html
src/templates/user-list.html
src/templates/user-profile-builds.html
src/templates/user-profile-edit-fail.html
src/templates/user-profile-edit.html
src/templates/user-profile-need-activation.html
src/templates/user-profile-passwd-ok.html
src/templates/user-profile-passwd.html
src/templates/user-profile.html
src/templates/user-requested-password-recovery.html
src/templates/user-reset-password-fail.html
src/templates/user-reset-password-success.html
src/templates/user-reset-password.html

index 9281829b0dd52ae71c18897dd4dce092cbdbf61a..33edb67bb2bbc079087186425e04f7d2ded228d5 100644 (file)
@@ -1,4 +1,4 @@
-<select name="{{ name }}" {% if id %}id="{{ id }}"{% end %}>
+<select class="form-control" name="{{ name }}" {% if id %}id="{{ id }}" aria-describedby="{{ id }}Help"{% end %}>
        <option value="">- {{ _("Auto-select") }} -</option>
 
        {% for code, name_en, name_loc in supported_locales %}
index 4b865ba83c94c20624c625b83982567e0fdc6888..a7a8a7b92bc412e48a015774dfc4fbc5f42cb71c 100644 (file)
@@ -1,4 +1,4 @@
-<select name="{{ name }}" {% if id %}id="{{ id }}"{% end %}>
+<select class="form-control" name="{{ name }}" {% if id %}id="{{ id }}" aria-describedby="{{ id }}Help"{% end %}>
        <option value="">- {{ _("Auto-select") }} -</option>
 
        {% for tz in supported_timezones %}
index 652ea00e9ce335d2e499ca7cf409b2c2d4129e69..a671e23c02b282552f2932fa66e8aaa49786387b 100644 (file)
@@ -1,17 +1,19 @@
-<table class="table table-striped table-hover">
-       <tbody>
-               {% for u in users %}
-                       <tr>
-                               <td>
-                                       <img class="pull-right" src="{{ u.gravatar_icon(64) }}" alt="{{ u.realname }}">
+<div class="table-responsive">
+       <table class="table table-striped table-hover">
+               <tbody>
+                       {% for u in users %}
+                               <tr>
+                                       <td>
+                                               <img class="float-right img-fluid" src="{{ u.gravatar_icon(64) }}" alt="{{ u.realname }}">
 
-                                       <a href="/user/{{ u.name }}">{{ u.realname }}</a>
-                                       <br>
-                                       {% if not u.name == u.realname %}
-                                               <span class="muted">{{ u.name }}</span>
-                                       {% end %}
-                               </td>
-                       </tr>
-               {% end %}
-       </tbody>
-</table>
+                                               <a href="/user/{{ u.name }}">{{ u.realname }}</a>
+                                               <br>
+                                               {% if not u.name == u.realname %}
+                                                       <span class="text-muted">{{ u.name }}</span>
+                                               {% end %}
+                                       </td>
+                               </tr>
+                       {% end %}
+               </tbody>
+       </table>
+</div>
\ No newline at end of file
index 926a6fc31f0e7386304180eb0a211a9c87ea8ec4..e8e17336309d2495e2eae3ceb7b4699c897e4f8b 100644 (file)
@@ -1,20 +1,38 @@
 {% extends "base.html" %}
 
 {% block body %}
-       <h1>{{ _("Delete user %s") % user.realname }}</h1>
 
-       <p>
-               {% if current_user == user %}
-                       {{ _("Do you really want to delete your own account?") }}
-                       {{ _("You won't be able to login and use this service any more.") }}
-               {% else %}
-                       {{ _("Do you really want to delete the user %s?") % user.realname }}
-               {% end %}
-       </p>
+       <div class="row justify-content-center">
+               <div class="col-12 col-sm-12 col-md-12 col-lg-8 col-xl-8">
+                       <h2 style="word-wrap: break-word;">
+                               {{ _("Delete user %s") % user.realname }}
+                       </h2>
+               </div>
+       </div>
 
-       <p class="buttons">
-               <a href="/user/delete/{{ user.name }}?confirmed=1">{{ _("Delete %s") % user.realname }}</a>
-               |
-               <a href="/user/{{ user.name }}">{{ _("Back") }}</a>
-       </p>
+       <div class="row justify-content-center">
+               <div class="col-12 col-sm-12 col-md-12 col-lg-8 col-xl-8">
+                       <p>
+                               {% if current_user == user %}
+                                       {{ _("Do you really want to delete your own account?") }}
+                                       {{ _("You won't be able to login and use this service any more.") }}
+                               {% else %}
+                                       {{ _("Do you really want to delete the user %s?") % user.realname }}
+                               {% end %}
+                       </p>
+               </div>
+       </div>
+
+       <div class="row justify-content-center">
+               <div class="col-12 col-sm-12 col-md-12 col-lg-8 col-xl-8">
+                       <div class="d-flex justify-content-end" style="width:100%">
+                               <a class="btn btn-danger mb-2 mr-2" href="/user/delete/{{ user.name }}?confirmed=1">
+                                       {{ _("Delete %s") % user.realname }}
+                               </a>
+                               <a class="btn btn-primary mb-2" href="/user/{{ user.name }}">
+                                       {{ _("Back") }}
+                               </a>
+                       </div>
+               </div>
+       </div>
 {% end block %}
index 3c2180400e0de72b4b2fced58138fa26926f4ade..c0046e037ffff6b5888a641e35527613fe122efb 100644 (file)
@@ -1,24 +1,30 @@
-{% extends "base-form2.html" %}
+{% extends "base.html" %}
 
 {% block title %}{{ _("Forgot password") }}{% end block %}
 
 {% block body %}
-       <ul class="breadcrumb">
-               <li>
-                       <a href="/">{{ _("Home") }}</a>
-                       <span class="divider">/</span>
-               </li>
-               <li class="active">
-                       <a href="/password-recovery">{{ _("Forgot password") }}</a>
-               </li>
-       </ul>
-
-       <div class="page-header">
-               <h1>{{ _("Forgot password") }}</h1>
+
+<div class="row justify-content-center">
+               <div class="col-12 col-sm-12 col-md-12 col-lg-8 col-xl-8">
+                       <nav aria-label="breadcrumb" role="navigation">
+                               <ol class="breadcrumb">
+                                       <li class="breadcrumb-item"><a href="/">{{ _("Home") }}</a></li>
+                                       <li class="breadcrumb-item active"><a href="/password-recovery">{{ _("Forgot password") }}</a></li>
+                               </ol>
+                       </nav>
+               </div>
+       </div>
+
+       <div class="row justify-content-center">
+               <div class="col-12 col-sm-12 col-md-12 col-lg-8 col-xl-8">
+                       <h2>
+                               {{ _("Forgot password") }}
+                       </h2>
+               </div>
        </div>
 
-       <div class="row">
-               <div class="span6">
+       <div class="row justify-content-center">
+               <div class="col-12 col-sm-12 col-md-12 col-lg-8 col-xl-8">
                        <p>
                                {{ _("You have forgotten you password, eh? Shame on you.") }}
                                {{ _("However, we allow to re-activate your account.") }}
                                {{ _("After that, you will receive an email with intructions how to go on.") }}
                        </p>
                        <hr>
+               </div>
+       </div>
+
+       <div class="row justify-content-center">
+               <div class="col-12 col-sm-12 col-md-12 col-lg-8 col-xl-8">
 
                        <form class="form-horizontal" method="POST" action="">
                                {% raw xsrf_form_html() %}
 
                                <fieldset>
-                                       <div class="control-group">
-                                               <label class="control-label" for="name">{{ _("Your username or email address") }}</label>
-                                               <div class="controls">
-                                                       <input type="text" class="input-xlarge" id="name" name="name" />
-                                               </div>
-                                       </div>
-
-                                       <div class="form-actions">
-                                               <button type="submit" class="btn btn-primary">{{ _("Submit") }}</button>
+                                       <div class="form-group">
+                                               <label for="name">{{ _("Your username or email address") }}</label>
+                                               <input type="text" class="form-control" id="name" name="name" aria-describedby="nameHelp" placeholder="{{ _("Username or email address") }}">
                                        </div>
                                </fieldset>
+                               <button type="submit" class="btn btn-primary">{{ _("Submit") }}</button>
                        </form>
                </div>
        </div>
index 84d68a1d4dd9d7b210836cf0669657bf8b1ba55b..a23523acf3ad6386f655fdd3c5d9e00ab77d1965 100644 (file)
@@ -3,16 +3,21 @@
 {% block title %}{{ _("Impersonate user %s") % user.realname }}{% end block %}
 
 {% block body %}
-       <div class="page-header">
-               <h1>{{ _("User impersonation") }}: {{ user.realname }}</h1>
+       <div class="row">
+               <div class="col-12 col-sm-12 col-md-9 col-lg-10 col-xl-10">
+                       <h2 style="word-wrap: break-word;">
+                               {{ _("User impersonation") }}: {{ user.realname }}
+                       </h2>
+               </div>
        </div>
 
        <div class="row">
-               <div class="span2 offset2">
-                       <img src="{{ user.gravatar_icon() }}" alt="{{ user.name }}" />
+               <div class="col-12 col-sm-12 col-md-4 col-lg-3 col-xl-3 mb-2">
+                       <div class="d-flex justify-content-center justify-content-md-start">
+                               <img class="img-fluid" src="{{ user.gravatar_icon(200) }}" alt="{{ user.name }}" />
+                       </div>
                </div>
-
-               <div class="span6">
+               <div class="col-12 col-sm-12 col-md-8 col-lg-9 col-xl-9">
                        <p>
                                {{ _("When impersonating another user, every action you perform will be taking place as if you had logged in as the user whom will be impersonating.") }}
                        </p>
                                <h4 class="alert-heading">{{ _("Use with caution!") }}</h4>
                                {{ _("This is a very powerful feature. You should be very careful while using it.") }}
                        </div>
-
+               </div>
+       </div>
+       <div class="row justify-content-end">
+               <div class="col-12 col-sm-12 col-md-5 col-lg-4 col-xl-3">
                        <form method="POST" action="">
                                {% raw xsrf_form_html() %}
                                <input type="hidden" name="user" value="{{ user.name }}" />
-                               <input class="btn btn-danger pull-right" type="submit" value="{{ _("Impersonate %s") % user.realname }}" />
+                               <button type="submit" class="btn btn-block btn-danger">{{ _("Impersonate %s") % user.realname }}</button>
                        </form>
                </div>
        </div>
index 77e4a17b8ca99d0fe441b343f5a25a0255e46ab4..ae44015ebb5a1a45d43d6d0f85e99ad6866b90a2 100644 (file)
@@ -3,19 +3,34 @@
 {% block title %}{{ _("User list") }}{% end block %}
 
 {% block body %}
-       <ul class="breadcrumb">
-               <li>
-                       <a href="/">{{ _("Home") }}</a>
-                       <span class="divider">/</span>
-               </li>
-               <li class="active">
-                       <a href="/users">{{ _("Users") }}</a>
-               </li>
-       </ul>
 
-       <div class="page-header">
-               <h2>{{ _("Users") }}</h2>
+       <div class="row">
+               <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
+                       <nav aria-label="breadcrumb" role="navigation">
+                               <ol class="breadcrumb">
+                                       <li class="breadcrumb-item"><a href="/">{{ _("Home") }}</a></li>
+                                       <li class="breadcrumb-item active">
+                                               <a href="/users">
+                                                       {{ _("Users") }}
+                                               </a>
+                                       </li>
+                               </ol>
+                       </nav>
+               </div>
+       </div>
+
+       <div class="row">
+               <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
+                       <h2 style="word-wrap: break-word;">
+                               {{ _("Users") }}
+                       </h2>
+               </div>
+       </div>
+
+       <div class="row">
+               <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
+                       {% module UsersTable(users) %}
+               </div>
        </div>
 
-       {% module UsersTable(users) %}
 {% end block %}
index 4fed2d46ead84189d1e52a101a3ad2c5a1ed2943..6e7ba044bfb51dd960b361d3599c0c84e11667ca 100644 (file)
@@ -3,10 +3,18 @@
 {% block title %}{{ _("Builds by %s") % user.realname }}{% end block %}
 
 {% block body %}
-       <div class="page-header">
-               <h2>{{ _("Builds by %s") % user.realname }}</h2>
+       <div class="row">
+               <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
+                       <h2 style="word-wrap: break-word;">
+                               {{ _("Builds by %s") % user.realname }}
+                       </h2>
+               </div>
        </div>
 
-       {% module BuildTable(builds) %}
+       <div class="row">
+               <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
+                       {% module BuildTable(builds) %}
+               </div>
+       </div>
 {% end block %}
 
index d1ec50f827ce50bc490a557f9af7bc7b17ca1c59..485d82b67d219cd825700dc0088bd646f2a0d567 100644 (file)
@@ -1,19 +1,29 @@
 {% extends "base.html" %}
 
 {% block body %}
-       <h1>{{ _("Edit failed") }}</h1>
-       <p>
-               {{ _("We are sorry.") }}
-               {{ _("The user profile cannot be saved.") }}
-       </p>
 
-       <ul>
-               {% for msg in messages %}
-                       <li>{{ msg }}</li>
-               {% end %}
-       </ul>
+       <div class="row">
+               <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
+                       <div class="alert alert-danger" role="alert">
+                               <h2 style="word-wrap: break-word;" class="alert-heading">
+                                       {{ _("Edit failed") }}
+                               </h2>
+                               <p>
+                                               {{ _("We are sorry.") }}
+                                               {{ _("The user profile cannot be saved.") }}
+                                       </p>
+
+                                       <ul>
+                                               {% for msg in messages %}
+                                                       <li>{{ msg }}</li>
+                                               {% end %}
+                                       </ul>
+
+                                       <p>
+                                               {{ _("Use the back button on your web browser to go back to the previous page and correct your submission.") }}
+                                       </p>
+                       </div>
+               </div>
+       </div>
 
-       <p>
-               {{ _("Use the back button on your web browser to go back to the previous page and correct your submission.") }}
-       </p>
 {% end %}
index 7e3448075ec5d81ba471f3a80a44a884cc815fc2..0548234961ff9126954060799b9c2ad2479a1a00 100644 (file)
 {% block title %}{{ _("Edit user profile: %s") % user.realname }}{% end block %}
 
 {% block body %}
-       <ul class="breadcrumb">
-               <li>
-                       <a href="/">{{ _("Home") }}</a>
-                       <span class="divider">/</span>
-               </li>
-               <li>
-                       <a href="/users">{{ _("Users") }}</a>
-                       <span class="divider">/</span>
-               </li>
-               <li>
-                       <a href="/user/{{ user.name }}">{{ user.realname }}</a>
-                       <span class="divider">/</span>
-               </li>
-               <li class="active">
-                       <a href="/user/{{ user.name }}/edit">{{ _("Edit") }}</a>
-               </li>
-       </ul>
-
-       <div class="page-header">
-               <h2>
-                       {{ _("Edit user profile: %s") % user.realname }}
-               </h2>
+
+       <div class="row">
+               <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
+                       <nav aria-label="breadcrumb" role="navigation">
+                               <ol class="breadcrumb">
+                                       <li class="breadcrumb-item"><a href="/">{{ _("Home") }}</a></li>
+                                       <li class="breadcrumb-item">
+                                               <a href="/users">{{ _("Users") }}</a>
+                                       </li>
+                                       <li class="breadcrumb-item">
+                                               <a href="/user/{{ user.name }}">{{ user.realname }}</a>
+                                       </li>
+                                       <li class="breadcrumb-item active">
+                                               <a href="/user/{{ user.name }}/edit">{{ _("Edit") }}</a>
+                                       </li>
+                               </ol>
+                       </nav>
+               </div>
        </div>
 
-       <form class="form-horizontal" method="POST" action="">
-               {% raw xsrf_form_html() %}
-
-               <fieldset>
-                       <legend>{{ _("User Identity") }}</legend>
-
-                       <div class="control-group">
-                               <label class="control-label">{{ _("Username") }}</label>
-                               <div class="controls">
-                                       <span class="input-xlarge uneditable-input">{{ user.name }}</span>
-
-                                       <span class="help-inline">
-                                               {{ _("Cannot be changed.") }}
-                                       </span>
-                               </div>
-                       </div>
-
-                       <div class="control-group">
-                               <label class="control-label" for="inputRealname">{{ _("Real name") }}</label>
-                               <div class="controls">
-                                       <input type="text" class="input-xlarge" id="inputRealname" name="realname" placeholder="{{ _("Real name") }}"
-                                               value="{{ user.realname }}">
-
-                                       <span class="help-block">
-                                               {{ _("This field is optional, but we appreciate it very much if you type in your real name.") }}
-                                       </span>
-                               </div>
-                       </div>
-               </fieldset>
-
-               <fieldset>
-                       <legend>{{ _("Email Adresses") }}</legend>
-
-                       <div class="control-group">
-                               <label class="control-label">{{ _("Primary email address") }}</label>
-                               <div class="controls">
-                                       <select class="input-xlarge" name="primary_email_address">
-                                               {% for email in user.emails %}
-                                                       <option {% if user.email == email %}selected{% end %}>{{ email }}</option>
-                                               {% end %}
-                                       </select>
-
-                                       <span class="help-block">
-                                               {{ _("This email address will be used for all messages to you.") }}
-                                       </span>
-                               </div>
-                       </div>
-
-               </fieldset>
-
-               <fieldset>
-                       <legend>{{ _("Account security settings") }}</legend>
-
-                       <div class="control-group">
-                               <label class="control-label" for="inputPass1">{{ _("Password") }}</label>
-                               <div class="controls">
-                                       <input type="password" class="input-xlarge" id="inputPass1" name="pass1" placeholder="{{ _("Password") }}">
-
-                                       <span class="help-block">
-                                               {{ _("The password is used to secure the login and must be at least 8 characters.") }}
-                                       </span>
-                               </div>
-                       </div>
-
-                       <div class="control-group">
-                               <label class="control-label" for="inputPass2">{{ _("Confirm") }}</label>
-                               <div class="controls">
-                                       <input type="password" class="input-xlarge" id="inputPass2" name="pass2" placeholder="{{ _("Confirm password") }}">
-
-                                       <span class="help-block">
-                                               {{ _("Leave the password fields empty to keep the current password.") }}
-                                       </span>
-                               </div>
-                       </div>
-               </fieldset>
-
-               <fieldset>
-                       <legend>{{ _("Locale & timezone settings") }}</legend>
-
-                       <div class="control-group">
-                               <label class="control-label" for="inputLocale">{{ _("Preferred language") }}</label>
-                               <div class="controls">
-                                       {% module SelectLocale(name="locale", id="inputLocale", preselect=user.locale) %}
-
-                                       <span class="help-block">
-                                               {{ _("Auto-detect will use the language transmitted by your browser.") }}
-                                       </span>
-                               </div>
-                       </div>
-
-                       <div class="control-group">
-                               <label class="control-label" for="inputTimezone">{{ _("Timezone") }}</label>
-                               <div class="controls">
-                                       {% module SelectTimezone(name="timezone", id="inputTimezone", preselect=user.timezone.zone) %}
-
-                                       <span class="help-block">
-                                               {{ _("Auto-detect will use the timezone transmitted by your browser.") }}
-                                       </span>
-                               </div>
-                       </div>
-               </fieldset>
-
-               <div class="form-actions">
-                       <button type="submit" class="btn btn-primary">{{ _("Save") }}</button>
-                       <a class="btn" href="/user/{{ user.name }}">{{ _("Cancel") }}</a>
+       <div class="row">
+               <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
+                       <h2 style="word-wrap: break-word;">
+                               {{ _("Edit user profile: %s") % user.realname }}
+                       </h2>
                </div>
-       </form>
+       </div>
+       <div class="row">
+               <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
+                       <form method="POST" action="">
+                               {% raw xsrf_form_html() %}
+
+                               <fieldset>
+                                       <legend>{{ _("User Identity") }}</legend>
+
+                                       <div class="form-group">
+                                               <label for="username">{{ _("Username") }}</label>
+                                               <input type="text" class="form-control" id="username" name="username"
+                                                       aria-describedby="usernameHelp" value="{{ user.name }}" disabled>
+                                               <small id="usernameHelp" class="form-text text-muted">
+                                                               {{ _("Cannot be changed.") }}
+                                               </small>
+                                       </div>
+
+                                       <div class="form-group">
+                                               <label for="inputRealname">{{ _("Real name") }}</label>
+                                               <input type="text" class="form-control" id="inputRealname" name="realname" aria-describedby="realnameHelp"
+                                                       placeholder="{{ _("Real name") }}" value="{{ user.realname }}">
+                                               <small id="inputRealnameHelp" class="form-text text-muted">
+                                                               {{ _("This field is optional, but we appreciate it very much if you type in your real name.") }}
+                                               </small>
+                                       </div>
+                               </fieldset>
+
+                               <fieldset>
+                                       <legend>{{ _("Email Adresses") }}</legend>
+
+                                       <div class="form-group">
+                                               <label for="primary_email_address">{{ _("Primary email address") }}</label>
+                                               <select class="form-control" id="primary_email_address" name="primary_email_address" aria-describedby="primary_email_addressHelp">
+                                                       {% for email in user.emails %}
+                                                               <option {% if user.email == email %}selected{% end %}>{{ email }}</option>
+                                                       {% end %}
+                                               </select>
+                                               <small id="primary_email_addressHelp" class="form-text text-muted">
+                                                               {{ _("This email address will be used for all messages to you.") }}
+                                               </small>
+                                       </div>
+                               </fieldset>
+
+                               <fieldset>
+                                       <legend>{{ _("Account security settings") }}</legend>
+
+                                       <div class="form-group">
+                                               <label for="inputPass1">{{ _("Password") }}</label>
+                                               <input type="password" class="form-control"
+                                                       id="inputPass1" name="pass1" aria-describedby="pass1Help" placeholder="{{ _("Password") }}">
+                                               <small id="inputPass1Help" class="form-text text-muted">
+                                                       {{ _("The password is used to secure the login and must be at least 8 characters.") }}
+                                               </small>
+                                       </div>
+
+                                       <div class="form-group">
+                                               <label for="inputPass2">{{ _("Confirm Password") }}</label>
+                                               <input type="password" class="form-control"
+                                                       id="inputPass2" name="pass2" aria-describedby="inputPass2Help" placeholder="{{ _("Confirm Password") }}">
+                                               <small id="inputPass2Help" class="form-text text-muted">
+                                                       {{ _("Leave the password fields empty to keep the current password.") }}
+                                               </small>
+                                       </div>
+                               </fieldset>
+
+                               <fieldset>
+                                       <legend>{{ _("Locale & timezone settings") }}</legend>
+
+                                       <div class="form-group">
+                                               <label for="inputLocale">{{ _("Preferred language") }}</label>
+                                               {% module SelectLocale(name="locale", id="inputLocale", preselect=user.locale) %}
+                                               <small id="inputLocaleHelp" class="form-text text-muted">
+                                                       {{ _("Auto-detect will use the language transmitted by your browser.") }}
+                                               </small>
+                                       </div>
+
+                                       <div class="form-group">
+                                               <label for="inputTimezone">{{ _("Timezone") }}</label>
+                                               {% module SelectTimezone(name="timezone", id="inputTimezone", preselect=user.timezone.zone) %}
+                                               <small id="inputTimezoneHelp" class="form-text text-muted">
+                                                       {{ _("Auto-detect will use the timezone transmitted by your browser.") }}
+                                               </small>
+                                       </div>
+                               </fieldset>
+
+                               <button type="submit" class="btn btn-primary">{{ _("Save") }}</button>
+                               <a class="btn btn-light" href="/user/{{ user.name }}">{{ _("Cancel") }}</a>
+                       </form>
 {% end block %}
index bcf792aa3ec2f07d55b0bc63b4075806465ebb27..08044709ee00e4b1a62c2f7322659fdeda6366ee 100644 (file)
@@ -1,10 +1,19 @@
 {% extends "base.html" %}
 
 {% block body %}
-       <h1>{{ _("Edit successful") }}</h1>
-       <p>
-               {{ _("The user profile was successfully altered.") }}
-               {{ _("But as you have changed the email address, you need to re-activate the account.") }}
-               {{ _("Have a look at you mailbox - you already do know what to do.") }}
-       </p>
+       <div class="row align-items-center justify-content-center">
+               <div class="col-12 col-sm-12 col-md-12 col-lg-8 col-xl-8">
+                       <div class="alert alert-success" role="alert">
+                               <h2 style="word-wrap: break-word;" class="alert-heading">
+                                       {{ _("Edit successful") }}
+                               </h2>
+                               <p>
+                                       {{ _("The user profile was successfully altered.") }}
+                                       {{ _("But as you have changed the email address, you need to re-activate the account.") }}
+                                       {{ _("Have a look at you mailbox - you already do know what to do.") }}
+                               </p>
+                       </div>
+               </div>
+       </div>
+
 {% end %}
index 94a3c0079e0e4a8feeaf44f595c911ceb1b5ebb2..11f9a43d6ae2bc28f82812b47ac9d52f7388dd35 100644 (file)
@@ -3,35 +3,35 @@
 {% block title %}{{ _("Password changed") }}{% end block %}
 
 {% block body %}
-       <ul class="breadcrumb">
-               <li>
-                       <a href="/">{{ _("Home") }}</a>
-                       <span class="divider">/</span>
-               </li>
-               <li>
-                       <a href="/users">{{ _("Users") }}</a>
-                       <span class="divider">/</span>
-               </li>
-               <li>
-                       <a href="/user/{{ user.name }}">{{ user.realname }}</a>
-                       <span class="divider">/</span>
-               </li>
-               <li>
-                       <a href="/user/{{ user.name }}/passwd">{{ _("Change password") }}</a>
-                       <span class="divider">/</span>
-               </li>
-               <li class="active">
-                       {{ _("Done!") }}
-               </li>
-       </ul>
 
-       <div class="page-header">
-               <h1>{{ _("Password changed") }}</h1>
+<div class="row">
+               <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
+                       <nav aria-label="breadcrumb" role="navigation">
+                               <ol class="breadcrumb">
+                                       <li class="breadcrumb-item"><a href="/">{{ _("Home") }}</a></li>
+                                       <li class="breadcrumb-item">
+                                               <a href="/users">{{ _("Users") }}</a>
+                                       </li>
+                                       <li class="breadcrumb-item">
+                                               <a href="/user/{{ user.name }}">{{ user.realname }}</a>
+                                       </li>
+                                       <li class="breadcrumb-item">
+                                               <a href="/user/{{ user.name }}/passwd">{{ _("Change password") }}</a>
+                                       </li>
+                                       <li class="breadcrumb-item">
+                                               {{ _("Done!") }}
+                                       </li>
+                               </ol>
+                       </nav>
+               </div>
        </div>
 
        <div class="row">
-               <div class="span6 offset3">
-                       <div class="well">
+               <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
+                       <div class="alert alert-success" role="alert">
+                               <h2 style="word-wrap: break-word;" class="alert-heading">
+                                       {{ _("Password changed") }}
+                               </h2>
                                {% if current_user == user %}
                                        <p>
                                                {{ _("Your password has successfully been changed.") }}
                                                {{ _("The password of %s has successfully been changed.") % user.realname }}
                                        </p>
                                {% end %}
-
-                               <div class="pull-right">
-                                       <a class="btn btn-primary" href="/user/{{ user.name }}">{{ _("Ok") }}</a>
-                               </div>
                        </div>
                </div>
        </div>
+
+       <div class="row justify-content-end">
+               <div class="col-12 col-sm-12 col-md-5 col-lg-4 col-xl-3">
+                       <a class="btn btn-block btn-success" href="/user/{{ user.name }}">{{ _("Ok") }}</a>
+               </div>
+       </div>
+
 {% end %}
index 8d187d0b5d2c1b22ea498e9cad9e63aae9efc607..bffb77c6a1cfe3333e62935b0d979436cf37e7b7 100644 (file)
@@ -3,32 +3,54 @@
 {% block title %}{{ _("Change password") }}{% end block %}
 
 {% block body %}
-       <ul class="breadcrumb">
-               <li>
-                       <a href="/">{{ _("Home") }}</a>
-                       <span class="divider">/</span>
-               </li>
-               <li>
-                       <a href="/users">{{ _("Users") }}</a>
-                       <span class="divider">/</span>
-               </li>
-               <li>
-                       <a href="/user/{{ user.name }}">{{ user.realname }}</a>
-                       <span class="divider">/</span>
-               </li>
-               <li class="active">
-                       <a href="/user/{{ user.name }}/passwd">{{ _("Change password") }}</a>
-               </li>
-       </ul>
 
-       <div class="page-header">
-               <h1>{{ _("Change password") }}</h1>
+       <div class="row">
+               <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
+                       <nav aria-label="breadcrumb" role="navigation">
+                               <ol class="breadcrumb">
+                                       <li class="breadcrumb-item"><a href="/">{{ _("Home") }}</a></li>
+                                       <li class="breadcrumb-item">
+                                               <a href="/users">{{ _("Users") }}</a>
+                                       </li>
+                                       <li class="breadcrumb-item">
+                                               <a href="/user/{{ user.name }}">{{ user.realname }}</a>
+                                       </li>
+                                       <li class="breadcrumb-item active">
+                                               <a href="/user/{{ user.name }}/passwd">{{ _("Change password") }}</a>
+                                       </li>
+                               </ol>
+                       </nav>
+               </div>
+       </div>
+
+       <div class="row">
+               <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
+                       <h2 style="word-wrap: break-word;">
+                               {{ _("Change password") }}
+                       </h2>
+               </div>
        </div>
 
+       {% if error_msg %}
+               <div class="row">
+                       <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
+                               <div class="alert alert-danger alert-dismissible fade show" role="alert">
+                                       <h3 style="word-wrap: break-word;" class="alert-heading">
+                                               {{ _("Oops!") }}
+                                       </h3>
+                                       {{ error_msg }}
+                                       <button type="button" class="close" data-dismiss="alert" aria-label="Close">
+                                               <span aria-hidden="true">&times;</span>
+                                       </button>
+                               </div>
+                       </div>
+               </div>
+       {% end %}
+
        <div class="row">
-               <div class="span6 offset3">
+               <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
                        {% if user == current_user %}
-                               <p>                                     
+                               <p>
                                        {{ _("You are going to change your password.") }}
                                </p>
                                <p>
        </div>
 
        <div class="row">
-               <div class="span6 offset3">
-                       {% if error_msg %}
-                               <div class="alert alert-block alert-important">
-                                       <a class="close" data-dismiss="alert">&times;</a>
-                                       <strong>{{ _("Oops!") }}</strong> {{ error_msg }}
-                               </div>
-                       {% end %}
-
-                       <form class="form-horizontal" method="POST" action="">
+               <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
+                       <form method="POST" action="">
                                {% raw xsrf_form_html() %}
 
                                <fieldset>
                                        {% if user == current_user %}
-                                               <div class="control-group">
-                                                       <label class="control-label">{{ _("Old password") }}</label>
-                                                       <div class="controls">
-                                                               <input type="password" class="input-xlarge" name="pass0" />
-
-                                                               <p class="help-block">
-                                                                       {{ _("Please provide your old password.") }}
-                                                               </p>
-                                                       </div>
+                                               <div class="form-group">
+                                                       <label for="pass0">{{ _("Old password") }}</label>
+                                                       <input type="password" class="form-control"
+                                                               id="pass0" name="pass0" aria-describedby="pass0Help" placeholder="{{ _("Old password") }}">
+                                                       <small id="pass0Help" class="form-text text-muted">
+                                                               {{ _("Please provide your old password.") }}
+                                                       </small>
                                                </div>
                                        {% end %}
 
-                                       <div class="control-group">
-                                               <label class="control-label">{{ _("New password") }}</label>
-                                               <div class="controls">
-                                                       <input type="password" class="input-xlarge" name="pass1" />
-
-                                                       <p class="help-block">
-                                                               {{ _("Choose a new password. Make sure that it is as strong as possible.") }}
-                                                       </p>
-                                               </div>
+                                       <div class="form-group">
+                                               <label for="pass1">{{ _("New password") }}</label>
+                                               <input type="password" class="form-control"
+                                                       id="pass1" name="pass1" aria-describedby="pass1Help" placeholder="{{ _("New password") }}">
+                                               <small id="pass1Help" class="form-text text-muted">
+                                                       {{ _("Choose a new password. Make sure that it is as strong as possible.") }}
+                                               </small>
                                        </div>
 
-                                       <div class="control-group">
-                                               <label class="control-label">{{ _("Confirm") }}</label>
-                                               <div class="controls">
-                                                       <input type="password" class="input-xlarge" name="pass2" />
-
-                                                       <p class="help-block">
-                                                               {{ _("Confirm the new password.") }}
-                                                       </p>
-                                               </div>
+                                       <div class="form-group">
+                                               <label for="pass2">{{ _("Confirm new password") }}</label>
+                                               <input type="password" class="form-control"
+                                                       id="pass2" name="pass2" aria-describedby="pass2Help" placeholder="{{ _("Confirm new password") }}">
+                                               <small id="pass2Help" class="form-text text-muted">
+                                                       {{ _("Confirm the new password.") }}
+                                               </small>
                                        </div>
 
-                                       <div class="form-actions">
-                                               <button type="submit" class="btn btn-primary">{{ _("Change password") }}</button>
-                                               <a class="btn" href="/user/{{ user.name }}">{{ _("Cancel") }}</a>
-                                       </div>
+                                       <button type="submit" class="btn btn-primary">{{ _("Change password") }}</button>
+                                       <a class="btn btn-light" href="/user/{{ user.name }}">{{ _("Cancel") }}</a>
+
                                </fieldset>
                        </form>
                </div>
index 48b6c9ff075952b99879535a5d9fd2cf5b07759f..9862c487a82eb327e53d1794a43ac2e7993d1c1d 100644 (file)
 {% block title %}{{ user.realname }}{% end block %}
 
 {% block body %}
-       <ul class="breadcrumb">
-               <li>
-                       <a href="/">{{ _("Home") }}</a>
-                       <span class="divider">/</span>
-               </li>
-               <li>
-                       <a href="/users">{{ _("Users") }}</a>
-                       <span class="divider">/</span>
-               </li>
-               <li class="active">
-                       <a href="/user/{{ user.name }}">{{ user.realname }}</a>
-               </li>
-       </ul>
-
-       <ul class="nav nav-pills pull-right">
-               <li>
-                       <a href="/builds/comments/{{ user.name }}">
-                               {{ _("View comments") }}
-                       </a>
-               </li>
-       </ul>
+       <div class="row">
+               <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
+                       <nav aria-label="breadcrumb" role="navigation">
+                               <ol class="breadcrumb">
+                                       <li class="breadcrumb-item"><a href="/">{{ _("Home") }}</a></li>
+                                       <li class="breadcrumb-item">
+                                               <a href="/users">{{ _("Users") }}</a>
+                                       </li>
+                                       <li class="breadcrumb-item active">
+                                               <a href="/user/{{ user.name }}">{{ user.realname }}</a>
+                                       </li>
 
-       <div class="page-header">
-               <h2>{{ _("User") }}: {{ user.realname }}</h2>
+                               </ol>
+                       </nav>
+               </div>
        </div>
 
        <div class="row">
-               <div class="span6 offset2">
-                       <table class="table">
-                               <tbody>
-                                       <tr>
-                                               <td>{{ _("Username") }}</td>
-                                               <td>{{ user.name }}</td>
-                                       </tr>
-                                       <tr>
-                                               <td>{{ _("Email") }}</td>
-                                               <td>
-                                                       <a href="mailto:{{ user.email }}">{{ user.email }}</a>
-                                               </td>
-                                       </tr>
-                                       <tr>
-                                               <td>{{ _("State") }}</td>
-                                               <td>
-                                                       {% if user.is_admin() %}
-                                                               {{ _("Admin") }}
-                                                       {% else %}
-                                                               {{ _("User") }}
-                                                       {% end %}
-                                               </td>
-                                       </tr>
-
+               <div class="col-12 col-sm-12 col-md-9 col-lg-10 col-xl-10">
+                       <h2 style="word-wrap: break-word;">
+                               {{ _("User") }}: {{ user.realname }}
+                       </h2>
+               </div>
+               <div class="col-12 col-sm-12 col-md-3 col-lg-2 col-xl-2 mb-2">
+                       <div class="dropdown">
+                               <button class="btn btn-block btn-light dropdown-toggle mb-2" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
+                                       {{ _("Actions") }}
+                               </button>
+                               <div class="dropdown-menu dropdown-menu-right" aria-labelledby="dropdownMenuButton">
+                                       <a class="dropdown-item" href="/builds/comments/{{ user.name }}">
+                                               {{ _("View comments") }}
+                                       </a>
                                        {% if current_user == user or current_user.is_admin() %}
+                                               <a class="dropdown-item" href="/user/{{ user.name }}/edit">
+                                                       <i class="icon-edit"></i>
+                                                       {{ _("Edit profile") }}
+                                               </a>
+                                               <a class="dropdown-item" href="/user/{{ user.name }}/passwd">
+                                                       <i class="icon-lock"></i>
+                                                       {{ _("Change password") }}
+                                               </a>
+                                               <div class="dropdown-divider"></div>
+                                               <a class="dropdown-item" href="/user/{{ user.name }}/delete">
+                                                       <i class="icon-trash"></i>
+                                                       {{ _("Delete account") }}
+                                               </a>
+                                               {% if not current_user == user and current_user.is_admin() %}
+                                                       <div class="dropdown-divider"></div>
+                                                       <a class="dropdown-item" href="/user/{{ user.name }}/impersonate">{{ _("Impersonate User") }}</a>
+                                               {% end %}
+                                       {% end %}
+                               </div>
+                       </div>
+               </div>
+       </div>
+
+       <div class="row">
+               <div class="col-12 col-sm-12 col-md-4 col-lg-3 col-xl-3 mb-2">
+                       <div class="d-flex justify-content-center justify-content-md-start">
+                               <img class="img-fluid" src="{{ user.gravatar_icon(200) }}" alt="{{ user.name }}" />
+                       </div>
+               </div>
+               <div class="col-12 col-sm-12 col-md-8 col-lg-9 col-xl-9">
+                       <div class="table-responsive mb-2">
+                               <table class="table">
+                                       <tbody>
+                                               <tr>
+                                                       <td>{{ _("Username") }}</td>
+                                                       <td>{{ user.name }}</td>
+                                               </tr>
                                                <tr>
-                                                       <td>{{ _("Registered") }}</td>
+                                                       <td>{{ _("Email") }}</td>
                                                        <td>
-                                                               {{ format_date(user.registered_at, full_format=True) }}
+                                                               <a href="mailto:{{ user.email }}">{{ user.email }}</a>
                                                        </td>
                                                </tr>
-                                       {% end %}
-
-                                       {% if current_user == user or current_user.is_admin() %}
                                                <tr>
-                                                       <td colspan="2">
-                                                               <div class="btn-group pull-right">
-                                                                       <a class="btn dropdown-toggle" data-toggle="dropdown" href="#">
-                                                                               {{ _("Action") }}
-                                                                               <span class="caret"></span>
-                                                                       </a>
-                                                                       <ul class="dropdown-menu">
-                                                                               <li>
-                                                                                       <a href="/user/{{ user.name }}/edit">
-                                                                                               <i class="icon-edit"></i>
-                                                                                               {{ _("Edit profile") }}
-                                                                                       </a>
-                                                                               </li>
-                                                                               <li>
-                                                                                       <a href="/user/{{ user.name }}/passwd">
-                                                                                               <i class="icon-lock"></i>
-                                                                                               {{ _("Change password") }}
-                                                                                       </a>
-                                                                               </li>
-
-                                                                               <li class="divider"></li>
-                                                                               <li>
-                                                                                       <a href="/user/{{ user.name }}/delete">
-                                                                                               <i class="icon-trash"></i>
-                                                                                               {{ _("Delete account") }}
-                                                                                       </a>
-                                                                               </li>
-
-                                                                               {% if not current_user == user and current_user.is_admin() %}
-                                                                                       <li class="divider"></li>
-                                                                                       <li>
-                                                                                               <a href="/user/{{ user.name }}/impersonate">{{ _("Impersonate User") }}</a>
-                                                                                       </li>
-                                                                               {% end %}
-                                                                       </ul>
-                                                               </div>
+                                                       <td>{{ _("State") }}</td>
+                                                       <td>
+                                                               {% if user.is_admin() %}
+                                                                       {{ _("Admin") }}
+                                                               {% else %}
+                                                                       {{ _("User") }}
+                                                               {% end %}
                                                        </td>
                                                </tr>
-                                       {% end %}
-                               </tbody>
-                       </table>
-               </div>
 
-               <div class="span4">
-                       <img src="{{ user.gravatar_icon(200) }}" alt="{{ user.name }}" />
+                                               {% if current_user == user or current_user.is_admin() %}
+                                                       <tr>
+                                                               <td>{{ _("Registered") }}</td>
+                                                               <td>
+                                                                       {{ format_date(user.registered_at, full_format=True) }}
+                                                               </td>
+                                                       </tr>
+                                               {% end %}
+                                       </tbody>
+                               </table>
+                       </div>
                </div>
        </div>
 
+
        {% if current_user == user or current_user.is_admin() %}
                <div class="row">
-                       <div class="span6 offset2">
+                       <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
                                <h3>{{ _("Permissions") }}</h3>
-
-                               {% if user.is_admin() %}                        
+                       </div>
+               </div>
+               <div class="row">
+                       <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
+                               {% if user.is_admin() %}
                                        <p>
                                                {{ _("This user has administration rights.") }}
                                                <i class="icon-star"></i>
                                        </p>
                                {% else %}
-                                       <table class="table table-striped table-hover">
-                                               <tr>
-                                                       <td>
-                                                               {{ _("User is allowed to create scratch builds?") }}
-                                                       </td>
-                                                       <td>
-                                                               {% if user.has_perm("create_scratch_builds") %}
-                                                                       {{ _("Yes") }}
-                                                               {% else %}
-                                                                       {{ _("No") }}
-                                                               {% end %}
-                                                       </td>
-                                               </tr>
-                                       </table>
+                                       <div class="table-responsive">
+                                               <table class="table table-striped table-hover">
+                                                       <tr>
+                                                               <td>
+                                                                       {{ _("User is allowed to create scratch builds?") }}
+                                                               </td>
+                                                               <td>
+                                                                       {% if user.has_perm("create_scratch_builds") %}
+                                                                               {{ _("Yes") }}
+                                                                       {% else %}
+                                                                               {{ _("No") }}
+                                                                       {% end %}
+                                                               </td>
+                                                       </tr>
+                                               </table>
+                                       </div>
                                {% end %}
                        </div>
                </div>
index 29eb95a4fdcfefda1870b817ff020164dee5fd58..581940d8f7ba017e6f5be4a4cfbc944879b8abe3 100644 (file)
@@ -1,18 +1,21 @@
-{% extends "base-form2.html" %}
+{% extends "base.html" %}
 
 {% block title %}{{ _("Requested password recovery") }}{% end block %}
 
 {% block body %}
-       <div class="page-header">
-               <h1>{{ _("Password recovery requested") }}</h1>
+       <div class="row">
+               <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
+                       <h2 style="word-wrap: break-word;">
+                               {{ _("Password recovery requested") }}
+                       </h2>
+               </div>
        </div>
 
        <div class="row">
-               <div class="span6">
+               <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
                        <p>
                                {{ _("An email with instructions how to recover your password was send to your primary email address.") }}
                        </p>
-                       <hr>
                </div>
        </div>
 {% end %}
index 1daaef3e93aa304dd62a102a5723fd28c7ce09c7..5aad278a7ad7d5e6dc742e5838018173f11e92a9 100644 (file)
@@ -1,18 +1,18 @@
-{% extends "base-form2.html" %}
+{% extends "base.html" %}
 
 {% block title %}{{ _("Password reset failed") }}{% end block %}
 
 {% block body %}
-       <div class="page-header">
-               <h1>{{ _("Password reset failed") }}</h1>
-       </div>
-
-       <div class="row">
-               <div class="span6">
+<div class="row">
+       <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
+               <div class="alert alert-danger" role="alert">
+                       <h2 style="word-wrap: break-word;" class="alert-heading">
+                               {{ _("Password reset failed") }}
+                       </h2>
                        <p>
                                {{ message }}
                        </p>
-                       <hr>
                </div>
        </div>
+</div>
 {% end %}
index f75b3a75dcf68f2a65734a784078fc24ae8fd62b..3d21d769ba94c729af03eaa92830a92491bc90f3 100644 (file)
@@ -1,18 +1,19 @@
-{% extends "base-form2.html" %}
+{% extends "base.html" %}
 
 {% block title %}{{ _("Password reset succeeded") }}{% end block %}
 
 {% block body %}
-       <div class="page-header">
-               <h1>{{ _("Password reset succeeded") }}</h1>
-       </div>
-
-       <div class="row">
-               <div class="span6">
+<div class="row">
+       <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
+               <div class="alert alert-success" role="alert">
+                       <h2 style="word-wrap: break-word;" class="alert-heading">
+                               {{ _("Password reset succeeded") }}
+                       </h2>
                        <p>
                                {{ _("Successfully reset your password") }}
                        </p>
-                       <hr>
                </div>
        </div>
+</div>
+
 {% end %}
index 1fa07e4576fe7c4387b59762eb96d00593bdab8f..7cf7c6583e9fe545050ec169809c3df6ff49b57a 100644 (file)
@@ -3,34 +3,37 @@
 {% block title %}{{ _("Register a new account") }}{% end block %}
 
 {% block body %}
-       <div class="page-header">
-               <h2>
-                       {{ _("Reset password") }}
-               </h2>
+       <div class="row">
+               <div class="col-12 col-sm-12 col-md-12 col-lg-12 col-xl-12">
+                       <h2 style="word-wrap: break-word;">
+                               {{ _("Reset password") }}
+                       </h2>
+               </div>
        </div>
 
-       <form class="form-horizontal" method="POST" action="">
+       <form method="POST" action="">
                {% raw xsrf_form_html() %}
                <input type="hidden" name="code" value="{{ user.password_recovery_code }}">
 
                <fieldset>
-                       <div class="control-group">
-                               <label class="control-label" for="password1">{{ _("Password") }}</label>
-                               <div class="controls">
-                                       <input type="password" class="input-xlarge" id="password1" name="password1">
-                               </div>
+                       <div class="form-group">
+                               <label for="password1">{{ _("Password") }}</label>
+                               <input type="password" class="form-control"
+                                       id="password1" name="password1" aria-describedby="password1Help" placeholder="{{ _("Password") }}">
+                               <small id="password1Help" class="form-text text-muted">
+                                       {{ _("Choose a new password. Make sure that it is as strong as possible.") }}
+                               </small>
                        </div>
 
-                       <div class="control-group">
-                               <label class="control-label" for="password2">{{ _("Confirm password") }}</label>
-                               <div class="controls">
-                                       <input type="password" class="input-xlarge" id="password2" name="password2">
-                               </div>
+                       <div class="form-group">
+                               <label for="password2">{{ _("Confirm password") }}</label>
+                               <input type="password" class="form-control"
+                                       id="password2" name="password2" aria-describedby="password2Help" placeholder="{{ _("Confirm password") }}">
+                               <small id="password2Help" class="form-text text-muted">
+                                       {{ _("Confirm the new password.") }}
+                               </small>
                        </div>
-               </fieldset>
 
-               <div class="form-actions">
-                       <button type="submit" class="btn btn-primary">{{ _("Reset password") }}</button>
-               </div>
+               <button type="submit" class="btn btn-primary">{{ _("Reset password") }}</button>
        </form>
 {% end block %}