diff --git a/src/root/user.tt b/src/root/user.tt index 3535bf26..76f85850 100644 --- a/src/root/user.tt +++ b/src/root/user.tt @@ -2,17 +2,23 @@ [% PROCESS common.tt %] [% BLOCK roleoption %] - <option value="[% role %]" - [% checked = false %] - [% FOREACH r IN user.userroles %] - [% checked = r.role == role %] - [% BREAK IF checked %] - [% END %] + [% checked = false %] + [% FOREACH r IN user.userroles %] + [% checked = r.role == role %] + [% BREAK IF checked %] + [% END %] + <input + type="checkbox" + name="roles" [% IF checked %] - selected="selected" + checked="checked" [% END %] - >[% role %]</option> -[% END %] + [% IF !mutable %] + disabled="disabled" + [% END %] + [% HTML.attributes(id => "role-${role}", value => role) %] /> + <label [% HTML.attributes(for => "role-${role}") %]> [% role %]</label><br /> + [% END %] <form> @@ -70,16 +76,22 @@ </div> [% IF !create || c.check_user_roles('admin') %] - <div class="form-group row"> - <label class="col-sm-3">Roles</label> - <div class="col-sm-9"> - <select multiple="multiple" name="roles" class="form-control" [% IF !c.check_user_roles('admin') %]disabled="disabled"[% END %]> - [% INCLUDE roleoption role="admin" %] - [% INCLUDE roleoption role="create-projects" %] - [% INCLUDE roleoption role="restart-jobs" %] - [% INCLUDE roleoption role="bump-to-front" %] - [% INCLUDE roleoption role="cancel-build" %] - </select> + [% mutable = c.check_user_roles('admin') %] + <div class="form-group row card [% mutable ? "border-danger" : "border-light" %]"> + <div class="card-header">User Roles</div> + <div class="card-body [% mutable ? "text-danger" : "" %]"> + [% IF mutable %] + <h5 class="card-title">Take care, you're allowed to change [% HTML.escape(user.fullname || user.emailaddress || "this user") %]'s roles.</h5> + [% ELSE %] + <h5 class="card-title">[% HTML.escape(user.fullname || user.emailaddress || "this user") %]'s roles.</h5> + [% END %] + <p class="card-text"> + [% INCLUDE roleoption mutable=mutable role="admin" %] + [% INCLUDE roleoption mutable=mutable role="create-projects" %] + [% INCLUDE roleoption mutable=mutable role="restart-jobs" %] + [% INCLUDE roleoption mutable=mutable role="bump-to-front" %] + [% INCLUDE roleoption mutable=mutable role="cancel-build" %] + </p> </div> </div> [% END %] @@ -115,7 +127,6 @@ Delete this user </button> [% END %] - </form> <script>