[Rt-commit] rt branch, 4.6-theme/admin-users-pages, created. rt-4.4.4-223-ge3a963616

Blaine Motsinger blaine at bestpractical.com
Thu May 16 19:35:23 EDT 2019


The branch, 4.6-theme/admin-users-pages has been created
        at  e3a963616dc0bd8828a2340423b4804e4434d599 (commit)

- Log -----------------------------------------------------------------
commit cbc683348b6428be6b672f035b77b2bdcf06f375
Author: Blaine Motsinger <blaine at bestpractical.com>
Date:   Mon May 13 17:52:40 2019 -0500

    Migrate Admin/Users/index to elevator themes

diff --git a/share/html/Admin/Users/index.html b/share/html/Admin/Users/index.html
index 958041880..6e0672854 100644
--- a/share/html/Admin/Users/index.html
+++ b/share/html/Admin/Users/index.html
@@ -57,8 +57,17 @@
 % }
 <input type="hidden" name="UserField" value="Name" />
 <input type="hidden" name="UserOp" value="LIKE" />
-<&|/l&>Go to user</&>
-<input type="text" name="UserString" value="" data-autocomplete="Users" data-autocomplete-return="Name" id="autocomplete-UserString" />
+
+<div class="row">
+  <div class="col-xl-6">
+    <div class="form-row">
+      <div class="col-md-3 label text-left">
+        <&|/l&>Go to user</&>
+      </div>
+      <div class="col-md-3">
+        <input type="text" class="form-control" name="UserString" value="" data-autocomplete="Users" data-autocomplete-return="Name" id="autocomplete-UserString" />
+      </div>
+    </div>
 <script type="text/javascript">
 jQuery(function(){
     // Jump directly to the page if a user is chosen
@@ -74,29 +83,57 @@ jQuery(function(){
 %     next unless defined $ARGS{ $field } && length $ARGS{ $field };
 <input type="hidden" name="<% $field %>" value="<% $ARGS{ $field } %>" />
 % }
-<table>
-    <tr><td><&|/l&>Find all users whose</&> <& /Elements/SelectUsers, %ARGS, Fields => \@fields &></td></tr>
-    <tr><td><&|/l&>And all users whose</&> <& /Elements/SelectUsers, %ARGS, Fields => \@fields,
-                SelectFieldName => 'UserField2',
-                SelectOpName    => 'UserOp2',
-                InputStringName => 'UserString2',
-                UserField       => $UserField2,
-                UserOp          => $UserOp2,
-                UserString      => $UserString2,
-            &></td></tr>
-    <tr><td><&|/l&>And all users whose</&> <& /Elements/SelectUsers, %ARGS, Fields => \@fields,
-                SelectFieldName => 'UserField3',
-                SelectOpName    => 'UserOp3',
-                InputStringName => 'UserString3',
-                UserField       => $UserField3,
-                UserOp          => $UserOp3,
-                UserString      => $UserString3,
-            &></td></tr>
-</table>
-<input type="checkbox" class="checkbox" id="FindDisabledUsers" name="FindDisabledUsers" value="1" <% $FindDisabledUsers? 'checked="checked"': '' %> />
-<label for="FindDisabledUsers"><&|/l&>Include disabled users in search.</&></label>
-<br />
-<div align="right"><input type="submit" class="button" value="<&|/l&>Go!</&>" name="Go" /></div>
+    <div class="form-row">
+      <div class="col-md-3 label text-left">
+        <&|/l&>Find all users whose</&>
+      </div>
+      <& /Elements/SelectUsers, %ARGS, Fields => \@fields &>
+    </div>
+
+    <div class="form-row">
+      <div class="col-md-3 label text-left">
+        <&|/l&>And all users whose</&>
+      </div>
+      <& /Elements/SelectUsers, %ARGS, Fields => \@fields,
+          SelectFieldName => 'UserField2',
+          SelectOpName    => 'UserOp2',
+          InputStringName => 'UserString2',
+          UserField       => $UserField2,
+          UserOp          => $UserOp2,
+          UserString      => $UserString2,
+      &>
+    </div>
+
+    <div class="form-row">
+      <div class="col-md-3 label text-left">
+        <&|/l&>And all users whose</&>
+      </div>
+      <& /Elements/SelectUsers, %ARGS, Fields => \@fields,
+          SelectFieldName => 'UserField3',
+          SelectOpName    => 'UserOp3',
+          InputStringName => 'UserString3',
+          UserField       => $UserField3,
+          UserOp          => $UserOp3,
+          UserString      => $UserString3,
+      &>
+    </div>
+  </div>
+</div>
+
+  <div class="form-row">
+    <div class="col-md-12">
+      <div class="custom-control custom-checkbox">
+        <input type="checkbox" class="custom-control-input checkbox" id="FindDisabledUsers" name="FindDisabledUsers" value="1" <% $FindDisabledUsers? 'checked="checked"': '' %> />
+        <label class="custom-control-label" for="FindDisabledUsers"><&|/l&>Include disabled users in search.</&></label>
+      </div>
+    </div>
+  </div>
+
+  <div class="form-row">
+    <div class="col-md-12 text-right">
+      <input type="submit" class="button btn btn-primary" value="<&|/l&>Go!</&>" name="Go" />
+    </div>
+  </div>
 </form>
 
 % unless ( $users->Count ) {

commit 88e88305d3bca60ea11e1c18e4583ce446859214
Author: Blaine Motsinger <blaine at bestpractical.com>
Date:   Mon May 13 17:55:45 2019 -0500

    Migrate Admin/Users/CustomFields to elevator themes

diff --git a/share/html/Admin/Elements/EditCustomFields b/share/html/Admin/Elements/EditCustomFields
index af4eacbcb..436579e15 100644
--- a/share/html/Admin/Elements/EditCustomFields
+++ b/share/html/Admin/Elements/EditCustomFields
@@ -85,7 +85,11 @@
     ],
 &>
 
-<& /Elements/Submit, Name => 'UpdateCFs' &>
+<div class="form-row">
+  <div class="col-md-12">
+    <& /Elements/Submit, Name => 'UpdateCFs' &>
+  </div>
+</div>
 </form>
 
 

commit 59e133d18371d6d60acc17d64f50d0e099e5d05e
Author: Blaine Motsinger <blaine at bestpractical.com>
Date:   Mon May 13 17:56:30 2019 -0500

    Migrate Admin/Users/DashboardsInMenu to elevator themes

diff --git a/share/html/Admin/Users/DashboardsInMenu.html b/share/html/Admin/Users/DashboardsInMenu.html
index 4ed254b15..2b755ca46 100644
--- a/share/html/Admin/Users/DashboardsInMenu.html
+++ b/share/html/Admin/Users/DashboardsInMenu.html
@@ -53,7 +53,11 @@
 <form method="post" action="DashboardsInMenu.html">
 <input type="hidden" name="id" value="<% $id %>" />
 <input type="hidden" name="Reset" value="1" />
-<input type="submit" class="button" value="<%loc('Reset to default')%>">
+<div class="form-row">
+  <div class="col-md-12">
+    <input type="submit" class="form-control btn btn-primary button" value="<%loc('Reset to default')%>">
+  </div>
+</div>
 </form>
 
 <br />

commit 96dc2f3effae205d3ec4e2c5a6d48760516b1e13
Author: Blaine Motsinger <blaine at bestpractical.com>
Date:   Mon May 13 17:57:32 2019 -0500

    Migrate Admin/Users/Keys to elevator themes

diff --git a/share/html/Admin/Users/Keys.html b/share/html/Admin/Users/Keys.html
index cee08c869..be2f71ea8 100644
--- a/share/html/Admin/Users/Keys.html
+++ b/share/html/Admin/Users/Keys.html
@@ -61,23 +61,31 @@
 
 % if (RT::Crypt->UseForOutgoing eq 'GnuPG') {
 <&|/Widgets/TitleBox, title => loc('GnuPG private key') &>
-<& /Widgets/Form/Select,
+  <& /Widgets/Form/Select,
     Name         => 'PrivateKey',
     Description  => loc('Private Key'),
     Values       => \@potential_keys,
     CurrentValue => $UserObj->PrivateKey,
     DefaultLabel => loc('No private key'),
-&>
+  &>
 </&>
 % }
 
 % if (RT::Crypt->UseForOutgoing eq 'SMIME') {
 <&|/Widgets/TitleBox, title => loc('SMIME Certificate') &>
-<textarea name="SMIMECertificate"><% $UserObj->SMIMECertificate || '' %></textarea>
+<div class="form-row">
+  <div class="col-md-12">
+    <textarea rows="25" class="form-control" name="SMIMECertificate"><% $UserObj->SMIMECertificate || '' %></textarea>
+  </div>
+</div>
 </&>
 % }
 
-<& /Elements/Submit, Name => 'Update', Label => loc('Save Changes') &>
+<div class="form-row">
+  <div class="col-md-12">
+    <& /Elements/Submit, Name => 'Update', Label => loc('Save Changes') &>
+  </div>
+</div>
 </form>
 
 <%ARGS>
diff --git a/share/static/css/base-responsive/admin.css b/share/static/css/base-responsive/admin.css
index 95c587803..18f45df69 100644
--- a/share/static/css/base-responsive/admin.css
+++ b/share/static/css/base-responsive/admin.css
@@ -58,7 +58,7 @@ h2 + .admin-hint {
 }
 
 textarea[name="SMIMECertificate"] {
-    width: 50em;
+    max-width: 50em;
     height: 25em;
 }
 

commit 0f5854a8f201e63eb679c32f2f4b3b0cb05a502d
Author: Blaine Motsinger <blaine at bestpractical.com>
Date:   Wed May 15 13:10:25 2019 -0500

    Migrate Admin/Users/Modify to elevator themes

diff --git a/share/html/Admin/Users/Modify.html b/share/html/Admin/Users/Modify.html
index 33fd88702..f66c2023f 100644
--- a/share/html/Admin/Users/Modify.html
+++ b/share/html/Admin/Users/Modify.html
@@ -56,67 +56,107 @@
 % } else {
 <input type="hidden" class="hidden" name="id" value="<%$UserObj->Id%>" />
 % }
-<table width="100%" border="0">
-<tr>
+<div class="row">
+  <div class="boxcontainer col-xl-6">
 
-<td valign="top" class="boxcontainer">
 <&| /Widgets/TitleBox, title => loc('Identity'), class => 'user-info-identity' &>
 
-<table>
-<tr><td align="right">
-<&|/l&>Username</&>:
-</td><td>
-<input type="text" name="Name" value="<%$UserObj->Name//$ARGS{Name}//''%>" /> <strong><&|/l&>(required)</&></strong>
-</td></tr>
-<tr><td align="right">
-<&|/l&>Email</&>:
-</td><td>
-<input type="email" name="EmailAddress" value="<%$UserObj->EmailAddress//$ARGS{EmailAddress}//''%>" />
-</td></tr>
-<tr><td align="right">
-<&|/l&>Real Name</&>:
-</td><td>
-<input type="text" name="RealName" value="<%$UserObj->RealName//$ARGS{RealName}//''%>" />
-</td></tr>
-<tr><td align="right">
-<&|/l&>Nickname</&>:
-</td><td>
-<input type="text" name="NickName" value="<%$UserObj->NickName//$ARGS{NickName}//''%>" />
-</td></tr>
-<tr><td align="right">
-<&|/l&>Unix login</&>:
-</td><td>
-<input type="text" name="Gecos" value="<%$UserObj->Gecos//$ARGS{Gecos}//''%>" />
-</td></tr>
-<tr><td align="right">
-<&|/l&>Language</&>:
-</td><td>
-<& /Elements/SelectLang, Name => 'Lang', Default => $UserObj->Lang//$ARGS{Lang} &>
-</td></tr>
-<tr><td align="right"><&|/l&>Timezone</&>:
-</td><td>
-<& /Elements/SelectTimezone, Name => 'Timezone', Default => $UserObj->Timezone &>
-</td></tr>
-<tr><td align="right">
-<&|/l&>Extra info</&>:
-</td><td>
-<textarea name="FreeformContactInfo" cols="20" rows="5"><%$UserObj->FreeformContactInfo//$ARGS{FreeformContactInfo}//''%></textarea>
-</td></tr>
-<& /Elements/EditCustomFields, Object => $UserObj, Grouping => 'Identity', InTable => 1 &>
-</table>
+  <div class="form-row">
+    <div class="col-md-3 label">
+      <&|/l&>Username</&>:
+    </div>
+    <div class="col-md-9 value">
+      <input type="text" class="form-control" name="Name" value="<%$UserObj->Name//$ARGS{Name}//''%>" /> <strong><&|/l&>(required)</&></strong>
+    </div>
+  </div>
+
+  <div class="form-row">
+    <div class="col-md-3 label">
+      <&|/l&>Email</&>:
+    </div>
+    <div class="col-md-9 value">
+      <input type="email" class="form-control" name="EmailAddress" value="<%$UserObj->EmailAddress//$ARGS{EmailAddress}//''%>" />
+    </div>
+  </div>
+
+  <div class="form-row">
+    <div class="col-md-3 label">
+       <&|/l&>Real Name</&>:
+    </div>
+    <div class="col-md-9 value">
+      <input type="text" class="form-control" name="RealName" value="<%$UserObj->RealName//$ARGS{RealName}//''%>" />
+    </div>
+  </div>
+
+  <div class="form-row">
+    <div class="col-md-3 label">
+      <&|/l&>Nickname</&>:
+    </div>
+    <div class="col-md-9 value">
+      <input type="text" class="form-control" name="NickName" value="<%$UserObj->NickName//$ARGS{NickName}//''%>" />
+    </div>
+  </div>
+
+  <div class="form-row">
+    <div class="col-md-3 label">
+      <&|/l&>Unix login</&>:
+    </div>
+    <div class="col-md-9 value">
+      <input type="text" class="form-control" name="Gecos" value="<%$UserObj->Gecos//$ARGS{Gecos}//''%>" />
+    </div>
+  </div>
+
+  <div class="form-row">
+    <div class="col-md-3 label">
+      <&|/l&>Language</&>:
+    </div>
+    <div class="col-md-9 value">
+      <& /Elements/SelectLang, Name => 'Lang', Default => $UserObj->Lang//$ARGS{Lang} &>
+    </div>
+  </div>
+
+  <div class="form-row">
+    <div class="col-md-3 label">
+      <&|/l&>Timezone</&>:
+    </div>
+    <div class="col-md-9 value">
+      <& /Elements/SelectTimezone, Name => 'Timezone', Default => $UserObj->Timezone &>
+    </div>
+  </div>
+
+  <div class="form-row">
+    <div class="col-md-3 label">
+      <&|/l&>Extra info</&>:
+    </div>
+    <div class="col-md-9 value">
+      <textarea class="form-control" name="FreeformContactInfo" cols="20" rows="5"><%$UserObj->FreeformContactInfo//$ARGS{FreeformContactInfo}//''%></textarea>
+    </div>
+  </div>
+
+<& /Elements/EditCustomFields, Object => $UserObj, Grouping => 'Identity' &>
 </&>
 
-<br />
 <&| /Widgets/TitleBox, title => loc('Access control'), class => 'user-info-access-control' &>
 <input type="hidden" class="hidden" name="SetEnabled" value="1" />
-<input type="checkbox" class="checkbox" id="Enabled" name="Enabled" value="1" <% ($UserObj->Id && $UserObj->Disabled) ? '' : 'checked="checked"' |n%> />
-<label for="Enabled"><&|/l&>Let this user access RT</&></label><br />
-
+  <div class="form-row">
+    <div class="col-md-12">
+      <div class="custom-control custom-checkbox">
+        <input type="checkbox" class="custom-control-input checkbox" id="Enabled" name="Enabled" value="1" <% ($UserObj->Id && $UserObj->Disabled) ? '' : 'checked="checked"' |n%> />
+        <label class="custom-control-label" for="Enabled"><&|/l&>Let this user access RT</&></label>
+      </div>
+    </div>
+  </div>
 
 % my $PrivilegedChecked = ((!$Create && $UserObj->Privileged()) or (!$UserObj->Id and $ARGS{Privileged})) ? 'checked="checked"' : '';
 <input type="hidden" class="hidden" name="SetPrivileged" value="1" />
-<input type="checkbox" class="checkbox" id="Privileged" name="Privileged" value="1" <%$PrivilegedChecked|n%> />
-<label for="Privileged"><&|/l&>Let this user be granted rights</&> (<&|/l&>Privileged</&>)</label><br />
+  <div class="form-row">
+    <div class="col-md-12">
+      <div class="custom-control custom-checkbox">
+        <input type="checkbox" class="custom-control-input checkbox" id="Privileged" name="Privileged" value="1" <%$PrivilegedChecked|n%> />
+        <label class="custom-control-label" for="Privileged"><&|/l&>Let this user be granted rights</&> (<&|/l&>Privileged</&>)</label>
+      </div>
+    </div>
+  </div>
 
 <& /Elements/EditPassword,
     User => $UserObj,
@@ -125,88 +165,120 @@
 
 <& /Elements/EditCustomFields, Object => $UserObj, Grouping => 'Access control' &>
 
-</&>
-<&| /Widgets/TitleBox, title => loc('Comments about this user'), class => 'user-info-comments' &>
-<textarea class="comments" name="Comments" cols="80" rows="5" wrap="virtual"><%$UserObj->Comments//$ARGS{Comments}//''%></textarea>
 </&>
 % $m->callback( %ARGS, CallbackName => 'LeftColumnBottom', UserObj => $UserObj );
-</td>
 
-<td valign="top" class="boxcontainer">
+  </div>  <!-- boxcontainer -->
+  <div class="boxcontainer col-xl-6">
+
 <&| /Widgets/TitleBox, title => loc('Location'), class => 'user-info-location' &>
-<table>
-<tr><td align="right">
-<&|/l&>Organization</&>:
-</td><td>
-<input type="text" name="Organization" value="<%$UserObj->Organization//$ARGS{Organization}//''%>" />
-</td></tr>
-<tr><td align="right">
-<&|/l&>Address1</&>:
-</td><td>
-<input type="text" name="Address1" value="<%$UserObj->Address1//$ARGS{Address1}//''%>" />
-</td></tr>
-<tr><td align="right">
-<&|/l&>Address2</&>:
-</td><td>
-<input type="text" name="Address2" value="<%$UserObj->Address2//$ARGS{Address2}//''%>" />
-</td></tr>
-<tr><td align="right">
-<&|/l&>City</&>:
-</td><td>
-<input type="text" name="City" value="<%$UserObj->City//$ARGS{City}//''%>" size="14" />
-
-</td></tr>
-<tr><td align="right">
-<&|/l&>State</&>:
-</td><td>
-<input type="text" name="State" value="<%$UserObj->State//$ARGS{State}//''%>" size="3" />
-
-</td></tr>
-<tr><td align="right">
-<&|/l&>Zip</&>:
-</td><td>
-<input type="text" name="Zip" value="<%$UserObj->Zip//$ARGS{Zip}//''%>" size="9" />
-</td></tr>
-<tr><td align="right">
-<&|/l&>Country</&>:
-</td><td>
-<input type="text" name="Country" value="<%$UserObj->Country//$ARGS{Country}//''%>" />
-</td></tr>
-
-<& /Elements/EditCustomFields, Object => $UserObj, Grouping => 'Location', InTable => 1 &>
-
-</table>
+  <div class="form-row">
+    <div class="col-md-3 label">
+      <&|/l&>Organization</&>:
+    </div>
+    <div class="col-md-9 value">
+      <input type="text" class="form-control" name="Organization" value="<%$UserObj->Organization//$ARGS{Organization}//''%>" />
+    </div>
+  </div>
+
+  <div class="form-row">
+    <div class="col-md-3 label">
+      <&|/l&>Address1</&>:
+    </div>
+    <div class="col-md-9 value">
+      <input type="text" class="form-control" name="Address1" value="<%$UserObj->Address1//$ARGS{Address1}//''%>" />
+    </div>
+  </div>
+
+  <div class="form-row">
+    <div class="col-md-3 label">
+      <&|/l&>Address2</&>:
+    </div>
+    <div class="col-md-9 value">
+      <input type="text" class="form-control" name="Address2" value="<%$UserObj->Address2//$ARGS{Address2}//''%>" />
+    </div>
+  </div>
+
+  <div class="form-row">
+    <div class="col-md-3 label">
+      <&|/l&>City</&>:
+    </div>
+    <div class="col-md-9 value">
+      <input type="text" class="form-control" name="City" value="<%$UserObj->City//$ARGS{City}//''%>" size="14" />
+    </div>
+  </div>
+
+  <div class="form-row">
+    <div class="col-md-3 label">
+      <&|/l&>State</&>:
+    </div>
+    <div class="col-md-9 value">
+      <input type="text" class="form-control" name="State" value="<%$UserObj->State//$ARGS{State}//''%>" size="3" />
+    </div>
+  </div>
+
+  <div class="form-row">
+    <div class="col-md-3 label">
+      <&|/l&>Zip</&>:
+    </div>
+    <div class="col-md-9 value">
+      <input type="text" class="form-control" name="Zip" value="<%$UserObj->Zip//$ARGS{Zip}//''%>" size="9" />
+    </div>
+  </div>
+
+  <div class="form-row">
+    <div class="col-md-3 label">
+      <&|/l&>Country</&>:
+    </div>
+    <div class="col-md-9 value">
+      <input type="text" class="form-control" name="Country" value="<%$UserObj->Country//$ARGS{Country}//''%>" />
+    </div>
+  </div>
+
+<& /Elements/EditCustomFields, Object => $UserObj, Grouping => 'Location' &>
+
 </&>
-<br />
+
 <&| /Widgets/TitleBox, title => loc('Phone numbers'), class => 'user-info-phones' &>
-<table>
-<tr><td align="right">
-<&|/l&>Residence</&>:
-</td><td>
-<input type="tel" name="HomePhone" value="<%$UserObj->HomePhone//$ARGS{HomePhone}//''%>" size="13" /><br />
-</td></tr>
-<tr><td align="right">
-<&|/l&>Work</&>:
-</td><td>
-<input type="tel" name="WorkPhone" value="<%$UserObj->WorkPhone//$ARGS{WorkPhone}//''%>" size="13" /><br />
-</td></tr>
-<tr><td align="right">
-<&|/l&>Mobile</&>:
-</td><td>
-<input type="tel" name="MobilePhone" value="<%$UserObj->MobilePhone//$ARGS{MobilePhone}//''%>" size="13" /><br />
-</td></tr>
-<tr><td align="right">
-<&|/l&>Pager</&>:
-</td><td>
-<input type="tel" name="PagerPhone" value="<%$UserObj->PagerPhone//$ARGS{PagerPhone}//''%>" size="13" /><br />
-</td>
-</tr>
-
-<& /Elements/EditCustomFields, Object => $UserObj, Grouping => 'Phones', InTable => 1 &>
-
-</table>
+  <div class="form-row">
+    <div class="col-md-3 label">
+      <&|/l&>Residence</&>:
+    </div>
+    <div class="col-md-9 value">
+      <input type="tel" class="form-control" name="HomePhone" value="<%$UserObj->HomePhone//$ARGS{HomePhone}//''%>" size="13" />
+    </div>
+  </div>
+
+  <div class="form-row">
+    <div class="col-md-3 label">
+      <&|/l&>Work</&>:
+    </div>
+    <div class="col-md-9 value">
+      <input type="tel" class="form-control" name="WorkPhone" value="<%$UserObj->WorkPhone//$ARGS{WorkPhone}//''%>" size="13" />
+    </div>
+  </div>
+
+  <div class="form-row">
+    <div class="col-md-3 label">
+      <&|/l&>Mobile</&>:
+    </div>
+    <div class="col-md-9 value">
+      <input type="tel" class="form-control" name="MobilePhone" value="<%$UserObj->MobilePhone//$ARGS{MobilePhone}//''%>" size="13" />
+    </div>
+  </div>
+
+  <div class="form-row">
+    <div class="col-md-3 label">
+      <&|/l&>Pager</&>:
+    </div>
+    <div class="col-md-9 value">
+      <input type="tel" class="form-control" name="PagerPhone" value="<%$UserObj->PagerPhone//$ARGS{PagerPhone}//''%>" size="13" />
+    </div>
+  </div>
+
+<& /Elements/EditCustomFields, Object => $UserObj, Grouping => 'Phones' &>
+
 </&>
-<br />
 
 <& /Elements/EditCustomFieldCustomGroupings, Object => $UserObj &>
 
@@ -215,24 +287,36 @@
 % }
 
 % $m->callback( %ARGS, CallbackName => 'RightColumnBottom', UserObj => $UserObj );
-</td></tr>
-<tr>
-<td colspan="2">
-%if (!$Create && $UserObj->Privileged) {
-<br />
+
+  </div> <!-- boxcontainer -->
+</div>   <!-- row -->
+
+<&| /Widgets/TitleBox, title => loc('Comments about this user'), class => 'user-info-comments' &>
+<textarea class="comments form-control" name="Comments" cols="80" rows="5" wrap="virtual"><%$UserObj->Comments//$ARGS{Comments}//''%></textarea>
+</&>
+
+%if (!$Create && $UserObj->Privileged) { 
 <&| /Widgets/TitleBox, title => loc('Signature'), class => 'user-info-signature' &>
-<textarea class="signature" cols="80" rows="5" name="Signature" wrap="hard"><%$UserObj->Signature//$ARGS{Signature}//''%></textarea>
+<div class="form-row">
+  <div class="col-md-12">
+    <textarea class="signature form-control" rows="5" name="Signature" wrap="hard"><%$UserObj->Signature//$ARGS{Signature}//''%></textarea>
+  </div>
+</div>
 </&>
 % }
 
-</td>
-</tr>
-</table>
-
 % if ( $Create ) {
-<& /Elements/Submit, Label => loc('Create') &>
+  <div class="form-row">
+    <div class="col-md-12">
+      <& /Elements/Submit, Label => loc('Create') &>
+    </div>
+  </div>
 % } else {
-<& /Elements/Submit, Label => loc('Save Changes') &>
+  <div class="form-row">
+    <div class="col-md-12">
+      <& /Elements/Submit, Label => loc('Save Changes') &>
+    </div>
+  </div>
 % }
 </form>
 
diff --git a/share/html/Elements/EditPassword b/share/html/Elements/EditPassword
index 0a127db0d..bb0c89a97 100644
--- a/share/html/Elements/EditPassword
+++ b/share/html/Elements/EditPassword
@@ -48,26 +48,35 @@
 % unless ( $cond{'CanSet'} ) {
 <% $cond{'Reason'} %><br />
 % } else {
-<table>
 
 % if ( $cond{'RequireCurrent'} ) {
-<tr>
-<td class="label"><&|/l, $session{'CurrentUser'}->Name()&>[_1]'s current password</&>:</td>
-<td class="value"><input type="password" name="<% $Name[0] %>" size="16" autocomplete="off" /></td>
-</tr>
+  <div class="form-row">
+    <div class="col-md-3 label">
+      <&|/l, $session{'CurrentUser'}->Name()&>[_1]'s current password</&>:
+    </div>
+    <div class="col-md-9 value">
+      <input type="password" class="form-control" name="<% $Name[0] %>" size="16" autocomplete="off" />
+    </div>
+  </div>
 % }
 
-<tr>
-<td class="label"><&|/l&>New password</&>:</td>
-<td class="value"><input type="password" name="<% $Name[1] %>" size="16" autocomplete="off" /></td>
-</tr>
+  <div class="form-row">
+    <div class="col-md-3 label">
+      <&|/l&>New password</&>:
+    </div>
+    <div class="col-md-9 value">
+      <input type="password" class="form-control" name="<% $Name[1] %>" size="16" autocomplete="off" />
+    </div>
+  </div>
 
-<tr>
-<td class="label"><&|/l&>Retype Password</&>:</td>
-<td class="value"><input type="password" name="<% $Name[2] %>" size="16" autocomplete="off" /></td>
-</tr>
-
-</table>
+  <div class="form-row">
+    <div class="col-md-3 label">
+      <&|/l&>Retype Password</&>:
+    </div>
+    <div class="col-md-9 value">
+      <input type="password" class="form-control" name="<% $Name[2] %>" size="16" autocomplete="off" />
+    </div>
+  </div>
 % }
 
 <%ARGS>
diff --git a/share/html/Elements/SelectTimezone b/share/html/Elements/SelectTimezone
index 7bb5f7b4c..ec67b2283 100644
--- a/share/html/Elements/SelectTimezone
+++ b/share/html/Elements/SelectTimezone
@@ -58,7 +58,7 @@ for ( @names ) {
 }
 
 </%ONCE>
-<select name="<% $Name %>">
+<select class="form-control selectpicker" name="<% $Name %>">
 % if ( $ShowNullOption ) {
 <option value=""><&|/l&>System Default</&> (<% RT->Config->Get('Timezone') %>)</option>
 % }
diff --git a/share/html/User/Elements/RelatedData b/share/html/User/Elements/RelatedData
index a1d29074a..9a6ed7164 100644
--- a/share/html/User/Elements/RelatedData
+++ b/share/html/User/Elements/RelatedData
@@ -52,35 +52,35 @@
 
 <div id="manage-user-data">
     <div class="title"><&|/l&>Download User Information</&></div>
-    <div class="download-user-data-buttons inline-row">
-        <div class="inline-cell">
-            <a class="button" href="/User/RelatedData.tsv?Type=User&id=<% $UserObj->id %>"><% $UserDataButton %></a>
+    <div class="download-user-data-buttons inline-row form-row">
+        <div class="inline-cell col-md-4">
+            <a class="button btn btn-primary" href="/User/RelatedData.tsv?Type=User&id=<% $UserObj->id %>"><% $UserDataButton %></a>
             <i class="label"><&|/l&>Core user data</&></i>
         </div>
-        <div class="inline-cell">
-            <a class="button" href="/Search/Results.tsv?UserData=1&Query=Requestor.id=<% $UserObj->id %>&Format=<% $Format | un %>"><% $UserTicketsButton %></a>
+        <div class="inline-cell col-md-4">
+            <a class="button btn btn-primary" href="/Search/Results.tsv?UserData=1&Query=Requestor.id=<% $UserObj->id %>&Format=<% $Format | un %>"><% $UserTicketsButton %></a>
             <i class="label"><&|/l&>Tickets with this user as a requestor</&></i>
         </div>
-        <div class="inline-cell">
-            <a class="button" href="/User/RelatedData.tsv?Type=Transaction&id=<% $UserObj->id %>"><% $UserTxnButton %></a>
+        <div class="inline-cell col-md-4">
+            <a class="button btn btn-primary" href="/User/RelatedData.tsv?Type=Transaction&id=<% $UserObj->id %>"><% $UserTxnButton %></a>
             <i class="label"><&|/l&>Ticket transactions this user created</&></i>
         </div>
     </div>
 
 % if ( $session{'CurrentUser'}->HasRight( Object => RT->System, Right => 'AdminUsers' ) ) {
     <div class="title"><&|/l&>Remove User Information</&></div>
-    <div class="inline-row">
-        <div class="inline-cell">
-            <a class="button" href="#user-info-modal" rel="modal:open" name="anonymize_user"><&|/l&>Anonymize User</&></a>
+    <div class="inline-row form-row">
+        <div class="inline-cell col-md-4">
+            <a class="button btn btn-primary" href="#user-info-modal" rel="modal:open" name="anonymize_user"><&|/l&>Anonymize User</&></a>
             <i class="label"><&|/l&>Clear core user data, set anonymous username</&></i>
         </div>
 % if ( $session{'CurrentUser'}->HasRight( Object => RT->System, Right => 'SuperUser' ) ) {
-        <div class="inline-cell">
-            <a class="button" href="<%RT->Config->Get('WebPath')%>/Admin/Tools/Shredder/index.html?Plugin=Users&Users%3Astatus=<% $UserObj->Disabled ? 'disabled' : 'enabled' %>&Users%3Aname=<% $UserObj->Name %>&Users%3Areplace_relations=Nobody&Search=Search" name="replace-user"><&|/l&>Replace User</&></a>
+        <div class="inline-cell col-md-4">
+            <a class="button btn btn-primary" href="<%RT->Config->Get('WebPath')%>/Admin/Tools/Shredder/index.html?Plugin=Users&Users%3Astatus=<% $UserObj->Disabled ? 'disabled' : 'enabled' %>&Users%3Aname=<% $UserObj->Name %>&Users%3Areplace_relations=Nobody&Search=Search" name="replace-user"><&|/l&>Replace User</&></a>
             <i class="label"><&|/l&>Replace this user's activity records with "Nobody" user</&></i>
         </div>
-        <div class="inline-cell">
-            <a class="button" href="<%RT->Config->Get('WebPath')%>/Admin/Tools/Shredder/index.html?Plugin=Users&Users%3Astatus=<% $UserObj->Disabled ? 'disabled' : 'enabled' %>&Users%3Aname=<% $UserObj->Name %>&Users&Search=Search" name="replace-user"><&|/l&>Delete User</&></a>
+        <div class="inline-cell col-md-4">
+            <a class="button btn btn-primary" href="<%RT->Config->Get('WebPath')%>/Admin/Tools/Shredder/index.html?Plugin=Users&Users%3Astatus=<% $UserObj->Disabled ? 'disabled' : 'enabled' %>&Users%3Aname=<% $UserObj->Name %>&Users&Search=Search" name="replace-user"><&|/l&>Delete User</&></a>
             <i class="label"><&|/l&>Delete this user, tickets associated with this user must be shredded first</&></i>
         </div>
 % }
diff --git a/share/static/css/elevator-light/admin.css b/share/static/css/elevator-light/admin.css
index 37dcb5c33..152aaa967 100644
--- a/share/static/css/elevator-light/admin.css
+++ b/share/static/css/elevator-light/admin.css
@@ -14,3 +14,10 @@
     padding-left: 1em;
     padding-bottom: 1em;
 }
+
+#manage-user-data div.form-row i {
+    text-align: left;
+    display: block;
+    font-size: 0.8em;
+    white-space: normal;
+}

commit aa193b3ec4d494e23bb6dfdf0a8220b269475d14
Author: Blaine Motsinger <blaine at bestpractical.com>
Date:   Wed May 15 17:09:00 2019 -0500

    Migrate Admin/Users/MyRT to elevator themes

diff --git a/share/html/Admin/Users/MyRT.html b/share/html/Admin/Users/MyRT.html
index 74f218dfa..99d069cec 100644
--- a/share/html/Admin/Users/MyRT.html
+++ b/share/html/Admin/Users/MyRT.html
@@ -53,7 +53,11 @@
 <form method="post" action="MyRT.html">
 <input type="hidden" name="id" value="<% $id %>" />
 <input type="hidden" name="Reset" value="1" />
-<input type="submit" class="button" value="<%loc('Reset to default')%>">
+<div class="form-row">
+  <div class="col-md-12">
+    <input type="submit" class="button form-control btn btn-primary" value="<%loc('Reset to default')%>">
+  </div>
+</div>
 </form>
 
 <br />

commit e3a963616dc0bd8828a2340423b4804e4434d599
Author: Blaine Motsinger <blaine at bestpractical.com>
Date:   Thu May 16 17:56:41 2019 -0500

    Fix failing test
    
    This commit updates the test for changes in /Elements/EditPassword.

diff --git a/t/web/self_service.t b/t/web/self_service.t
index abe9f2724..07fc18d1d 100644
--- a/t/web/self_service.t
+++ b/t/web/self_service.t
@@ -67,12 +67,12 @@ diag 'Test $SelfServiceUserPrefs config';
 
     if ( $config eq 'edit-prefs' ) {
       $m->content_lacks( 'Nickname', "'Edit-Prefs' option does not contain full user info" );
-      $m->content_contains( '<td class="value"><input type="password" name="CurrentPass"', "'Edit-Prefs' option contains default user info" );
+      $m->content_contains( '<input type="password" class="form-control" name="CurrentPass"', "'Edit-Prefs' option contains default user info" );
     } elsif ( $config eq 'view-info' ) {
       $m->content_lacks( '<td class="value"><input name="NickName" value="" /></td>', "'View-Info' option contains no input fields for full user info" );
       $m->content_contains( '<td class="label">Nickname:</td>', "'View-Info' option contains full user info" );
     } elsif ( $config eq 'edit-prefs-view-info' ) {
-      $m->content_contains( '<td class="value"><input type="password" name="CurrentPass"', "'Edit-Prefs-View-Info' option contains default user info" );
+      $m->content_contains( '<input type="password" class="form-control" name="CurrentPass"', "'Edit-Prefs-View-Info' option contains default user info" );
       $m->content_contains( '<td class="label">Nickname:</td>', "'Edit-Prefs-View-Info' option contains full user info" );
       $m->content_lacks( '<td class="value"><input name="NickName" value="" /></td>', "'Edit-Prefs-View-Info' option contains no input fields for full user info" );
     } else {

-----------------------------------------------------------------------


More information about the rt-commit mailing list