Also, it makes the role changer a bit of a dangerzone visually for admins.
2UUMMP6TVEOCEOUULFFOUIYUYBT6S5WHMTZJLNVTNKRUNFIOKMFQC
SWXX2O4AFLEPD3N5BOYBHDRU5IRIIQHFDKNEJ3LVWOFL6NOOZVMAC
SZYDW2DG5Z7BR3ICKWDXVUNSMCDSXMYZUB6FQ4W2B2FVZJD6PULQC
XJRJ4J7M6BC433TBLWHHKX7UYYCFX6M7ZQLUEYYTREPCSM6M3RDQC
2G63HKCHG7S6DGWDOHSDF7PXFPD6H4TRKDKIIFCXXAKET6FCWN2AC
JARRBLZDQ2JZWY7IUVPTOT7WJMBPMLFLF2MGLVGOYROAAISYGLSAC
3PNG7NIBQQURUUPRVQXYL342OT7JUUYOMY2JJNP6YDX7SYJDZMYAC
<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"
<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>