[Rt-commit] rt branch, 4.6-theme/admin-global-pages, created. rt-4.4.4-186-gf112aaec9

Craig Kaiser craig at bestpractical.com
Thu May 9 15:14:45 EDT 2019


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

- Log -----------------------------------------------------------------
commit 036a37888ed2ac2147c8ff580e3615a709ee89fd
Author: Craig Kaiser <craig at bestpractical.com>
Date:   Wed Apr 10 13:29:55 2019 -0400

    Migrate Reports pages to elevator themes

diff --git a/share/html/Admin/Elements/EditRights b/share/html/Admin/Elements/EditRights
index 3bcf0059d..4ae76429f 100644
--- a/share/html/Admin/Elements/EditRights
+++ b/share/html/Admin/Elements/EditRights
@@ -174,7 +174,6 @@ if ($anchor =~ /AddPrincipal/) {
 
 <div class="rights-editor clearfix">
   <input type="hidden" value="" name="Anchor" />
-
   <ul>
 <%perl>
 for my $category (@$Principals) {
@@ -195,7 +194,7 @@ for my $category (@$Principals) {
     <li class="category"><&|/l, loc($AddPrincipal) &>Add [_1]</&></li>
     <li class="addprincipal">
       <a href="#acl-AddPrincipal">
-        <input type="text" value=""
+        <input type="text" value="" class="form-control"
             data-autocomplete="<% lc $AddPrincipal eq 'user' ? 'Users' : 'Groups' %>"
 % if ( lc $AddPrincipal eq 'user' ) {
             data-autocomplete-return="Name"
diff --git a/share/html/Admin/Elements/EditRightsCategoryTabs b/share/html/Admin/Elements/EditRightsCategoryTabs
index 14b4bdc69..06df2557d 100644
--- a/share/html/Admin/Elements/EditRightsCategoryTabs
+++ b/share/html/Admin/Elements/EditRightsCategoryTabs
@@ -105,30 +105,32 @@ $available_rights{$_} = loc( $available_rights{$_} ) for keys %available_rights;
     <div class="category-tabs">
       <ul>
 % for my $category (sort { $catsort{$a} <=> $catsort{$b} } keys %categories) {
-        <li><a href="#<% "$id-$category" %>"><span class="rights-editor-label" id="<% "category-tab-$id-$category" %>"><% $category_desc{$category} || loc($category) %></span></a></li>
+        <li><a href="#<% "$id-$category" %>"><span class="current-value form-control rights-editor-label" id="<% "category-tab-$id-$category" %>"><% $category_desc{$category} || loc($category) %></span></a></li>
 % }
       </ul>
 % for my $category (sort { $catsort{$a} <=> $catsort{$b} } keys %categories) {
-    <div id="<% "$id-$category" %>">
+    <div id="<% "$id-$category" %>" class="col-md-12">
     <ul class="rights-list">
 %     for my $right (sort { $available_rights{$a} cmp $available_rights{$b} } @{$categories{$category}}) {
-      <li>
-        <input
-            type="checkbox"
-            class="checkbox"
-            name="SetRights-<% $acldesc %>"
-            id="SetRights-<% $acldesc %>-<% $right %>"
-            value="<% $right %>"
-            data-category-tab="<% "category-tab-$id-$category" %>"
-            data-principal-tab="<% "principal-tab-$id" %>"
-            <% $current_rights{$right} ? 'checked' : '' %>
-        />
-        <label for="SetRights-<% $acldesc %>-<% $right %>" title="<% $right %>">
-          <% $available_rights{$right} %>
-          <span class="separator">—</span>
-          <span class="rightname"><% $right %></span>
-        </label>
-      </li>
+        <li>
+          <div class="custom-control custom-checkbox">
+            <input
+              type="checkbox"
+              class="custom-control-input"
+              name="SetRights-<% $acldesc %>"
+              id="SetRights-<% $acldesc %>-<% $right %>"
+              value="<% $right %>"
+              data-category-tab="<% "category-tab-$id-$category" %>"
+              data-principal-tab="<% "principal-tab-$id" %>"
+              <% $current_rights{$right} ? 'checked' : '' %>
+            />
+            <label class="custom-control-label" for="SetRights-<% $acldesc %>-<% $right %>" title="<% $right %>">
+              <% $available_rights{$right} %>
+              <span class="separator">—</span>
+              <span class="rightname"><% $right %></span>
+            </label>
+          </div>
+        </li>
 %     }
     </ul>
     </div>
diff --git a/share/html/Admin/Global/GroupRights.html b/share/html/Admin/Global/GroupRights.html
index 985d00101..8ab06da7a 100644
--- a/share/html/Admin/Global/GroupRights.html
+++ b/share/html/Admin/Global/GroupRights.html
@@ -51,7 +51,11 @@
 
 <form method="post" action="GroupRights.html" id="ModifyGroupRights" name="ModifyGroupRights">
   <& /Admin/Elements/EditRights, Context => $RT::System, Principals => \@principals &>
-  <& /Elements/Submit, Label => loc('Save Changes') &>
+  <div class="form-row">
+    <div class="col-md-12">
+      <& /Elements/Submit, Label => loc('Save Changes') &>
+    </div>
+  </div>
 </form>
   
 <%INIT>
diff --git a/share/html/Admin/Global/UserRights.html b/share/html/Admin/Global/UserRights.html
index be0a225b2..2a6e137aa 100644
--- a/share/html/Admin/Global/UserRights.html
+++ b/share/html/Admin/Global/UserRights.html
@@ -51,7 +51,11 @@
 
 <form method="post" action="UserRights.html" name="ModifyUserRights" id="ModifyUserRights">
   <& /Admin/Elements/EditRights, Context => $RT::System, Principals => \@principals &>
-  <& /Elements/Submit, Label => loc('Save Changes') &>
+  <div class="form-row">
+    <div class="col-md-12">
+      <& /Elements/Submit, Label => loc('Save Changes') &>
+    </div>
+  </div>
 </form>
 <%INIT>
 my @results = ProcessACLs(\%ARGS);
diff --git a/share/html/Reports/CreatedByDates.html b/share/html/Reports/CreatedByDates.html
index 25b2b2869..f0462bc20 100644
--- a/share/html/Reports/CreatedByDates.html
+++ b/share/html/Reports/CreatedByDates.html
@@ -82,19 +82,45 @@ my $query = join ' AND ', @clauses;
 <form method="post" action="CreatedByDates.html">
 
 % if ($query) {
-<& /Search/Elements/Chart, Query => $query, GroupBy => 'Status' &>
+  <div class="form-row">
+    <div class="col-md-12">
+      <& /Search/Elements/Chart, Query => $query, GroupBy => 'Status' &>
+    </div>
+  </div>
 % }
 
 <hr />
 
-<br /><&|/l&>Queue</&>:
-<& /Elements/SelectQueue, Name => 'Queue', NamedValues => 1, Default => $QueueObj->id &>
+  <div class="form-row">
+    <div class="col-md-3 label">
+      <&|/l&>Queue</&>:
+    </div>
+    <div class="col-md-9 value">
+      <& /Elements/SelectQueue, Name => 'Queue', NamedValues => 1, Default => $QueueObj->id &>
+    </div>
+  </div>
 
-<br /><&|/l&>Tickets created after</&>:
-<& /Elements/SelectDate, Name => 'CreatedAfter', Default => $CreatedAfter &>
+  <div class="form-row">
+    <div class="col-md-3 label">
+      <&|/l&>Tickets created after</&>:
+    </div>
+    <div class="col-md-9 value">
+      <& /Elements/SelectDate, Name => 'CreatedAfter', Default => $CreatedAfter &>
+    </div>
+  </div>
 
-<br /><&|/l&>Tickets created before</&>:
-<& /Elements/SelectDate, Name => 'CreatedBefore', Default => $CreatedBefore &>
+  <div class="form-row">
+    <div class="col-md-3 label">
+      <&|/l&>Tickets created before</&>:
+    </div>
+    <div class="col-md-9 value">
+      <& /Elements/SelectDate, Name => 'CreatedBefore', Default => $CreatedBefore &>
+    </div>
+  </div>
 
-<& /Elements/Submit &>
+  <div class="form-row">
+    <div class="col-md-12">
+      <& /Elements/Submit &>
+    </div>
+  </div>
 </form>
diff --git a/share/html/Reports/ResolvedByDates.html b/share/html/Reports/ResolvedByDates.html
index 380f085fd..bf9032827 100644
--- a/share/html/Reports/ResolvedByDates.html
+++ b/share/html/Reports/ResolvedByDates.html
@@ -82,19 +82,43 @@ my $query = join ' AND ', @clauses;
 <form method="post" action="ResolvedByDates.html">
 
 % if ($query) {
-<& /Search/Elements/Chart, Query => $query, GroupBy => 'Owner.Name' &>
+  <div class="form-row">
+    <div class="col-md-12">
+      <& /Search/Elements/Chart, Query => $query, GroupBy => 'Owner.Name' &>
+    </div>
+  </div>
 % }
 
 <hr />
+  <div class="form-row">
+    <div class="col-md-3 label">
+      <&|/l&>Queue</&>:
+    </div>
+    <div class="col-md-9 value">
+      <& /Elements/SelectQueue, Name => 'Queue', NamedValues => 1, Default => $QueueObj->id &>
+    </div>
+  </div>
 
-<br /><&|/l&>Queue</&>:
-<& /Elements/SelectQueue, Name => 'Queue', NamedValues => 1, Default => $QueueObj->id &>
+  <div class="form-row">
+    <div class="col-md-3 label">
+      <&|/l&>Tickets resolved after</&>:
+    </div>
+    <div class="col-md-9 value">
+      <& /Elements/SelectDate, Name => 'ResolvedAfter', Default => $ResolvedAfter &>
+    </div>
+  </div>
 
-<br /><&|/l&>Tickets resolved after</&>:
-<& /Elements/SelectDate, Name => 'ResolvedAfter', Default => $ResolvedAfter &>
-
-<br /><&|/l&>Tickets resolved before</&>:
-<& /Elements/SelectDate, Name => 'ResolvedBefore', Default => $ResolvedBefore &>
-
-<& /Elements/Submit &>
+  <div class="form-row">
+    <div class="col-md-3 label">
+      <&|/l&>Tickets resolved before</&>:
+    </div>
+    <div class="col-md-9 value">
+      <& /Elements/SelectDate, Name => 'ResolvedBefore', Default => $ResolvedBefore &>
+    </div>
+  </div>
+  <div class="form-row">
+    <div class="col-md-12">
+      <& /Elements/Submit &>
+    </div>
+  </div>
 </form>
diff --git a/share/html/Reports/ResolvedByOwner.html b/share/html/Reports/ResolvedByOwner.html
index 1da0d7136..553415540 100644
--- a/share/html/Reports/ResolvedByOwner.html
+++ b/share/html/Reports/ResolvedByOwner.html
@@ -61,13 +61,27 @@ my $query = $Queue ? "Status = 'resolved' AND Queue = '$Queue'" : "";
 <form method="post" action="ResolvedByOwner.html">
 
 % if ($query) {
-<& /Search/Elements/Chart, Query => $query, GroupBy => 'Owner.Name' &>
+  <div class="form-row">
+    <div class="col-md-12">
+      <& /Search/Elements/Chart, Query => $query, GroupBy => 'Owner.Name' &>
+    </div>
+  </div>
 % }
 
 <hr />
 
-<br /><&|/l&>Queue</&>:
-<& /Elements/SelectQueue, Name => 'Queue', NamedValues => 1, Default => $QueueObj->id &>
+  <div class="form-row">
+    <div class="col-md-3 label">
+      <&|/l&>Queue</&>:
+    </div>
+    <div class="col-md-9 value">
+      <& /Elements/SelectQueue, Name => 'Queue', NamedValues => 1, Default => $QueueObj->id &>
+    </div>
+  </div>
 
-<& /Elements/Submit &>
+  <div class="form-row">
+    <div class="col-md-12">
+      <& /Elements/Submit &>
+    </div>
+  </div>
 </form>

commit 2a00627dd44a896f03da75a73de1cecb5ea4203b
Author: Craig Kaiser <craig at bestpractical.com>
Date:   Tue Apr 23 16:06:45 2019 -0400

    Migrate global MyRT page to elevator theme

diff --git a/share/html/Admin/Global/MyRT.html b/share/html/Admin/Global/MyRT.html
index f582af6e5..ff8bb32ae 100644
--- a/share/html/Admin/Global/MyRT.html
+++ b/share/html/Admin/Global/MyRT.html
@@ -52,7 +52,11 @@
 <br />
 % for my $pane (@panes) {
 <&|/Widgets/TitleBox, title => loc('RT at a glance').': '.loc($pane->{Name}), bodyclass => "" &>
-<& /Widgets/SelectionBox:show, self => $pane &></&>
+<div class="form-row">
+  <div class="col-md-12">
+    <& /Widgets/SelectionBox:show, self => $pane &></&>
+  </div>
+</div>
 <br />
 % }
 <%init>

commit 500e72b0616ff2b7c85fda1d6908eb119276ff99
Author: Craig Kaiser <craig at bestpractical.com>
Date:   Tue Apr 23 16:08:01 2019 -0400

    Migrate DashboardsInMenu page to elevator theme

diff --git a/share/html/Admin/Global/DashboardsInMenu.html b/share/html/Admin/Global/DashboardsInMenu.html
index 21b12077a..f5750ccec 100644
--- a/share/html/Admin/Global/DashboardsInMenu.html
+++ b/share/html/Admin/Global/DashboardsInMenu.html
@@ -52,7 +52,11 @@
 <br />
 % for my $pane (@panes) {
 <&|/Widgets/TitleBox, title => loc('Dashboards in menu'), bodyclass => "" &>
-<& /Widgets/SelectionBox:show, self => $pane &></&>
+<div class="form-row">
+  <div class="col-md-12">
+    <& /Widgets/SelectionBox:show, self => $pane &></&>
+  </div>
+</div>
 <br />
 % }
 <%init>

commit f25a9e548e60a2a094a8f6321ada975077e8af5d
Author: Craig Kaiser <craig at bestpractical.com>
Date:   Tue Apr 23 16:51:17 2019 -0400

    Migrate Topics page to elevator theme

diff --git a/share/html/Admin/Articles/Elements/Topics b/share/html/Admin/Articles/Elements/Topics
index 6d46dc1b9..946c888f1 100644
--- a/share/html/Admin/Articles/Elements/Topics
+++ b/share/html/Admin/Articles/Elements/Topics
@@ -51,16 +51,22 @@
 <input type="hidden" name="id" value="<%$RootObj->Id%>" />
 
 % if (!$Modify) {
-<table>
-<tr>
-<td><&|/l&>Topic Name</&></td>
-<td><input type="text" name="Name" size="30" /></td>
-</tr>
-<tr>
-<td><&|/l&>Description</&></td>
-<td><input type="text" name="Description" size="50" /></td>
-</tr>
-</table>
+<div class="form-row">
+  <div class="label col-md-3">
+    <&|/l&>Topic Name</&>
+  </div>
+  <div class="value col-md-9">
+    <input class="form-control" type="text" name="Name" size="30" />
+  </div>
+</div>
+<div class="form-row">
+  <div class="label col-md-3">
+    <&|/l&>Description</&>
+  </div>
+  <div class="value col-md-9">
+    <input class="form-control" type="text" name="Description" size="50" />
+  </div>
+</div>
 % } else {
 <a href="Topics.html">New topic</a>
 % }
@@ -71,18 +77,25 @@
 
 <%def .edit>
  
-<table style="margin-top: -0.75em">
-<tr>
-    <td>Topic Name:</td>
-    <td><input type="text" name="Topic-<%$topic->Id%>-Name" size="20" value="<%$topic->Name%>" /></td>
-    <td><input type="submit" name="Update" value="Update"><br /></td>
-</tr>
-<tr>
-    <td>Description:</td>
-    <td> <input type="text" name="Topic-<%$topic->Id%>-Description" size="20" value="<%$topic->Description%>" /></td>
-    <td><input type="submit" name="Delete-Topic-<%$topic->Id%>" value="Delete" /></td>
-</tr>
-</table>
+<div class="form-row">
+  <div class="label col-md-3">
+    Topic Name:
+  </div>
+  <div class="value col-md-9">
+    <input class="form-control" type="text" name="Topic-<%$topic->Id%>-Name" size="20" value="<%$topic->Name%>" />
+  </div>
+  <input type="submit" name="Update" value="Update">
+</div>
+
+<div class="form-row">
+  <div class="label col-md-3">
+    Description:
+  </div>
+  <div class="value col-md-9">
+    <input class="form-control" type="text" name="Topic-<%$topic->Id%>-Description" size="20" value="<%$topic->Description%>" />
+  </div>
+  <input type="submit" name="Delete-Topic-<%$topic->Id%>" value="Delete" />
+</div>
 <%args>
 $topic
 </%args>

commit f112aaec97245df66bcfcebfc3e105798dbd557f
Author: Craig Kaiser <craig at bestpractical.com>
Date:   Thu Apr 25 16:58:46 2019 -0400

    Migrate global custom field pages to elevator pages

diff --git a/share/html/Admin/CustomFields/GroupRights.html b/share/html/Admin/CustomFields/GroupRights.html
index a5c93c373..585077a39 100644
--- a/share/html/Admin/CustomFields/GroupRights.html
+++ b/share/html/Admin/CustomFields/GroupRights.html
@@ -53,7 +53,11 @@
     <input type="hidden" class="hidden" name="id" value="<% $CustomFieldObj->id %>" />
 
     <& /Admin/Elements/EditRights, Context => $CustomFieldObj, Principals => \@principals &>
-    <& /Elements/Submit, Label => loc('Save Changes') &>
+    <div class="form-row">
+      <div class="col-md-12">
+        <& /Elements/Submit, Label => loc('Save Changes') &>
+      </div>
+    </div>
   </form>
 
 <%INIT>
diff --git a/share/html/Admin/CustomFields/Modify.html b/share/html/Admin/CustomFields/Modify.html
index 3f6e9111d..ef3693807 100644
--- a/share/html/Admin/CustomFields/Modify.html
+++ b/share/html/Admin/CustomFields/Modify.html
@@ -55,50 +55,85 @@
 <form method="post" action="Modify.html" name="ModifyCustomField" id="ModifyCustomField">
 <input type="hidden" class="hidden" name="id" value="<% $id %>" />
 
-<table>
-
-<tr><td class="label"><&|/l&>Name</&></td>
-<td><input type="text" name="Name" value="<% $CustomFieldObj->Name || $Name || '' %>" size="20" /></td></tr>
+<div class="form-row">
+  <div class="label col-md-3">
+    <&|/l&>Name</&>
+  </div>
+  <div class="col-md-9 value">
+    <input class="form-control" type="text" name="Name" value="<% $CustomFieldObj->Name || $Name || '' %>" size="20" />
+  </div>
+</div>
 
-<tr><td class="label"><&|/l&>Description</&></td>
-<td><input type="text" name="Description" value="<% $CustomFieldObj->Description || $Description || '' %>" size="80" /></td></tr>
+<div class="form-row">
+  <div class="label col-md-3">
+    <&|/l&>Description</&>
+  </div>
+  <div class="col-md-9 value">
+    <input class="form-control" type="text" name="Description" value="<% $CustomFieldObj->Description || $Description || '' %>" size="80" />
+  </div>
+</div>
 
-<tr><td class="label"><&|/l&>Type</&></td>
-<td><& /Admin/Elements/SelectCustomFieldType, 
-        Name => "TypeComposite", 
-        Default => $CustomFieldObj->TypeComposite, &>
-</td></tr>
+<div class="form-row">
+  <div class="label col-md-3">
+    <&|/l&>Type</&>
+  </div>
+  <div class="col-md-9 value">
+    <& /Admin/Elements/SelectCustomFieldType,
+      Name => "TypeComposite",
+      Default => $CustomFieldObj->TypeComposite,
+    &>
+  </div>
+</div>
 
 % if ( $CustomFieldObj->Id and $CustomFieldObj->HasRenderTypes ) {
-<tr>
-  <td class="label"><&|/l&>Render Type</&></td>
-  <td>
+<div class="form-row">
+  <div class="label col-md-3">
+    <&|/l&>Render Type</&>
+  </div>
+  <div class="col-md-9 value">
     <& /Admin/Elements/SelectCustomFieldRenderType,
-        Name            => "RenderType",
-        TypeComposite   => $CustomFieldObj->TypeComposite,
-        Default         => $CustomFieldObj->RenderType, 
-        BasedOn         => $CustomFieldObj->BasedOnObj->id, &>
-  </td>
-</tr>
+      Name            => "RenderType",
+      TypeComposite   => $CustomFieldObj->TypeComposite,
+      Default         => $CustomFieldObj->RenderType,
+      BasedOn         => $CustomFieldObj->BasedOnObj->id,
+    &>
+  </div>
+</div>
 % }
 
 % if ( $CustomFieldObj->Id and $CustomFieldObj->IsSelectionType and RT->Config->Get('CustomFieldValuesSources') and ( scalar(@{RT->Config->Get('CustomFieldValuesSources')}) > 0 ) ) {
-<tr><td class="label"><&|/l&>Field values source:</&></td><td>
-<& /Admin/Elements/EditCustomFieldValuesSource, CustomField => $CustomFieldObj &>
-</td></tr>
+<div class="form-row">
+  <div class="label col-md-3">
+    <&|/l&>Field values source:</&>
+  </div>
+  <div class="col-md-9 value">
+    <& /Admin/Elements/EditCustomFieldValuesSource, CustomField => $CustomFieldObj &>
+  </div>
+</div>
 % }
 
 % if ( $CustomFieldObj->Id and $CustomFieldObj->IsCanonicalizeType and RT->Config->Get('CustomFieldValuesCanonicalizers') and ( scalar(@{RT->Config->Get('CustomFieldValuesCanonicalizers')}) > 0 ) ) {
-<tr><td class="label"><&|/l&>Canonicalizer:</&></td><td>
-<& /Admin/Elements/EditCustomFieldValuesCanonicalizer, CustomField => $CustomFieldObj &>
-</td></tr>
+<div class="form-row">
+  <div class="label col-md-3">
+    <&|/l&>Canonicalizer:</&>
+  </div>
+  <div class="col-md-9 value">
+    <& /Admin/Elements/EditCustomFieldValuesCanonicalizer, CustomField => $CustomFieldObj &>
+  </div>
+</div>
 % }
 
-<tr><td class="label"><&|/l&>Applies to</&></td>
-<td><& /Admin/Elements/SelectCustomFieldLookupType, 
-        Name => "LookupType", 
-        Default => $CustomFieldObj->LookupType || $LookupType, &>
-</td></tr>
+<div class="form-row">
+  <div class="label col-md-3">
+    <&|/l&>Applies to</&>
+  </div>
+  <div class="col-md-9 value">
+    <& /Admin/Elements/SelectCustomFieldLookupType,
+      Name => "LookupType",
+      Default => $CustomFieldObj->LookupType || $LookupType,
+    &>
+  </div>
+</div>
 
 <script type="text/javascript">
 jQuery( function() {
@@ -118,80 +153,143 @@ jQuery( function() {
 });
 </script>
 
-<tr><td class="label"><&|/l&>Entry Hint</&></td>
-<td><input type="text" name="EntryHint" value="<% $CustomFieldObj->EntryHint // $EntryHint // '' %>" size="80" /></td></tr>
-
+<div class="form-row">
+  <div class="label col-md-3">
+    <&|/l&>Entry Hint</&>
+  </div>
+  <div class="col-md-9 value">
+    <input class="form-control" type="text" name="EntryHint" value="<% $CustomFieldObj->EntryHint // $EntryHint // '' %>" size="80" />
+  </div>
+</div>
 
-<tr class="edit_validation"><td class="label"><&|/l&>Validation</&></td>
-<td><& /Widgets/ComboBox,
-    Name    => 'Pattern',
-    Default => $CustomFieldObj->Pattern || $Pattern,
-    Size    => 20,
-    Values  => \@CFvalidations,
-&></td></tr>
+<div class="form-row">
+  <div class="label col-md-3">
+    <&|/l&>Validation</&>
+  </div>
+  <div class="col-md-9 value">
+    <& /Widgets/ComboBox,
+      Name    => 'Pattern',
+      Default => $CustomFieldObj->Pattern || $Pattern,
+      Size    => 20,
+      Values  => \@CFvalidations,
+    &>
+  </div>
+</div>
 
 % if ( $CustomFieldObj->SupportDefaultValues ) {
-<tr class="edit_default_values"><td class="label"><&|/l, $CustomFieldObj->MaxValues &>Default [numerate,_1,value,values]</&></td>
-<td>
-<& /Elements/EditCustomField, NamePrefix => 'Default-', CustomField => $CustomFieldObj, ShowEmptyOption => 1 &>
-</td>
-</tr>
+<div class="form-row">
+  <div class="label col-md-3 edit_default_values">
+    <&|/l, $CustomFieldObj->MaxValues &>Default [numerate,_1,value,values]</&>
+  </div>
+  <div class="col-md-9 value">
+    <& /Elements/EditCustomField, NamePrefix => 'Default-', CustomField => $CustomFieldObj, ShowEmptyOption => 1 &>
+  </div>
+</div>
 % }
 
-<tr><td class="label"><&|/l&>Link values to</&></td><td>
-<input type="text" size="60" name="LinkValueTo"  value="<% $CustomFieldObj->LinkValueTo || $LinkValueTo || '' %>" />
-<div class="hints">
-<&|/l&>RT can make this custom field's values into hyperlinks to another service.</&>
-<&|/l&>Fill in this field with a URL.</&>
-<&|/l_unsafe, '<tt>__id__</tt>', '<tt>__CustomField__</tt>' &>RT will replace [_1] and [_2] with the record's id and the custom field's value, respectively.</&>
-</div></td></tr>
-
-<tr><td class="label"><&|/l&>Include page</&></td><td>
-<input type="text" size="60" name="IncludeContentForValue" value="<% $CustomFieldObj->IncludeContentForValue || $IncludeContentForValue || '' %>" />
-<div class="hints">
-<&|/l&>RT can include content from another web service when showing this custom field.</&>
-<&|/l&>Fill in this field with a URL.</&>
-<&|/l_unsafe, '<tt>__id__</tt>', '<tt>__CustomField__</tt>' &>RT will replace [_1] and [_2] with the record's id and the custom field's value, respectively.</&>
-<i><&|/l&>Some browsers may only load content from the same domain as your RT server.</&></i>
-</div></td></tr>
+<div class="form-row">
+  <div class="label col-md-3">
+    <&|/l&>Link values to</&>
+  </div>
+  <div class="col-md-9 value">
+    <input class="form-control" type="text" size="60" name="LinkValueTo"  value="<% $CustomFieldObj->LinkValueTo || $LinkValueTo || '' %>" />
+  </div>
+</div>
+
+<div class="form-row">
+  <div class="col-md-3"></div>
+  <div class="col-md-9">
+    <div class="hints">
+      <&|/l&>RT can make this custom field's values into hyperlinks to another service.</&>
+      <&|/l&>Fill in this field with a URL.</&>
+      <&|/l_unsafe, '<tt>__id__</tt>', '<tt>__CustomField__</tt>' &>RT will replace [_1] and [_2] with the record's id and the custom field's value, respectively.</&>
+    </div>
+  </div>
+</div>
+
+<div class="form-row">
+  <div class="label col-md-3">
+    <&|/l&>Include page</&>
+  </div>
+  <div class="col-md-9 value">
+    <input class="form-control" type="text" size="60" name="IncludeContentForValue" value="<% $CustomFieldObj->IncludeContentForValue || $IncludeContentForValue || '' %>" />
+  </div>
+</div>
+
+<div class="form-row">
+  <div class="col-md-3"></div>
+  <div class="hints col-md-9">
+    <&|/l&>RT can include content from another web service when showing this custom field.</&>
+    <&|/l&>Fill in this field with a URL.</&>
+    <&|/l_unsafe, '<tt>__id__</tt>', '<tt>__CustomField__</tt>' &>RT will replace [_1] and [_2] with the record's id and the custom field's value, respectively.</&>
+    <i><&|/l&>Some browsers may only load content from the same domain as your RT server.</&></i>
+  </div>
+</div>
 
 % if ( $CustomFieldObj->Id && $CustomFieldObj->IsSelectionType ) {
-<tr class="categoriesbasedon"><td class="label"><&|/l&>Categories are based on</&></td><td>
-<& /Admin/Elements/SelectCustomField,
-    Name => "BasedOn",
-    LookupType => $CustomFieldObj->LookupType,
-    Default => $CustomFieldObj->BasedOnObj || $BasedOn,
-    Not => $CustomFieldObj->id,
-&>
-</td></tr>
+<div class="form-row categoriesbasedon">
+  <div class="col-md-3 label">
+    <&|/l&>Categories are based on</&>
+  </div>
+  <div class="col-md-9 value">
+    <& /Admin/Elements/SelectCustomField,
+      Name => "BasedOn",
+      LookupType => $CustomFieldObj->LookupType,
+      Default => $CustomFieldObj->BasedOnObj || $BasedOn,
+      Not => $CustomFieldObj->id,
+    &>
+  </div>
+</div>
 % }
 
-<tr><td class="label"> </td><td>
-<input type="hidden" class="hidden" name="SetUniqueValues" value="1" />
-<input type="checkbox" class="checkbox" id="UniqueValues" name="UniqueValues" value="1" <% $UniqueValuesChecked |n %> />
-<label for="UniqueValues"><&|/l&>New values must be unique</&></label>
-</td></tr>
+<div class="form-row">
+  <div class="col-md-3"></div>
+  <div class="col-md-9">
+    <input type="hidden" class="hidden" name="SetUniqueValues" value="1" />
+    <div class="custom-control custom-checkbox">
+      <input type="checkbox" class="custom-control-input" id="UniqueValues" name="UniqueValues" value="1" <% $UniqueValuesChecked |n %> />
+      <label class="custom-control-label" for="UniqueValues">
+        <&|/l&>New values must be unique</&>
+      </label>
+    </div>
+  </div>
+</div>
 
 % $m->callback(CallbackName => 'BeforeEnabled', CustomField => $CustomFieldObj, CFvalidations => \@CFvalidations);
 
-<tr><td class="label"> </td><td>
-<input type="hidden" class="hidden" name="SetEnabled" value="1" />
-<input type="checkbox" class="checkbox" id="Enabled" name="Enabled" value="1" <% $EnabledChecked |n %> />
-<label for="Enabled"><&|/l&>Enabled (Unchecking this box disables this custom field)</&></label>
-</td></tr>
+<div class="form-row">
+  <div class="col-md-3"></div>
+  <div class="col-md-9">
+    <input type="hidden" class="hidden" name="SetEnabled" value="1" />
+    <div class="custom-control custom-checkbox">
+      <input type="checkbox" class="custom-control-input" id="Enabled" name="Enabled" value="1" <% $EnabledChecked |n %> />
+      <label class="custom-control-label" for="Enabled">
+        <&|/l&>Enabled (Unchecking this box disables this custom field)</&>
+      </label>
+    </div>
+  </div>
+</div>
 
 % $m->callback(CallbackName => 'EndOfTable', CustomField => $CustomFieldObj, CFvalidations => \@CFvalidations);
 
-</table>
 
 % if ( $CustomFieldObj->Id && $CustomFieldObj->IsSelectionType && !$CustomFieldObj->IsExternalValues ) {
-<h2><&|/l&>Values</&></h2>
-<div class="edit_custom_field_values">
-<& /Admin/Elements/EditCustomFieldValues, CustomField => $CustomFieldObj &>
+<div class="col-md-3 label">
+  <h2><&|/l&>Values</&></h2>
+</div>
+<div class="form-row">
+  <div class="col-md-3"></div>
+  <div class="edit_custom_field_values col-md-9">
+    <& /Admin/Elements/EditCustomFieldValues, CustomField => $CustomFieldObj &>
+  </div>
 </div>
 % }
 
-<& /Elements/Submit, Name => 'Update', Label => $id eq 'new'? loc('Create'): loc('Save Changes') &>
+<div class="form-row">
+  <div class="col-md-12">
+    <& /Elements/Submit, Name => 'Update', Label => $id eq 'new'? loc('Create'): loc('Save Changes') &>
+  </div>
+</div>
 
 </form>
 
diff --git a/share/html/Admin/Elements/AddCustomFieldValue b/share/html/Admin/Elements/AddCustomFieldValue
index 71691afe9..88685cfa7 100644
--- a/share/html/Admin/Elements/AddCustomFieldValue
+++ b/share/html/Admin/Elements/AddCustomFieldValue
@@ -45,41 +45,62 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<h3><&|/l&>Add Value</&></h3>
 
+<div class="col-md-3 label">
+  <h3><&|/l&>Add Value</&></h3>
+</div>
+
+<div class="form-row">
+  <div class="col-md-3"></div>
+  <div class="col-md-9">
 <form name="AddCustomFieldValue" action="Modify.html" method="post">
 <input type="hidden" class="hidden" name="id" value="<% $CustomField->id %>" />
-<table border="0">
-<tr>
-<th><&|/l&>Sort</&></th>
-<th><&|/l&>Name</&></th>
-<th><&|/l&>Description</&></th>
+
+  <div class="form-row">
+    <div class="label col-md-2 text-left">
+      <&|/l&>Sort</&>
+    </div>
+    <div class="label col-md-2 text-left">
+      <&|/l&>Name</&>
+    </div>
+    <div class="label col-md-2 text-left">
+      <&|/l&>Description</&>
+    </div>
 % if ( $CustomField->Type ne 'Combobox' && $Categories ) {
-<th class="categoryheader"><&|/l&>Category</&></th>
+    <div class="label categoryheader col-md-2 text-left">
+      <&|/l&>Category</&>
+    </div>
 % }
-<th></th>
-</tr>
+  </div>
 
 % my $paramtag = "CustomField-". $CustomField->Id ."-Value-new";
-<tr>
-<td><input type="text" size="3"  name="<% $paramtag %>-SortOrder"   /></td>
-<td><input type="text" size="25" name="<% $paramtag %>-Name"        /></td>
-<td><input type="text" size="45" name="<% $paramtag %>-Description" /></td>
+  <div class="form-row">
+    <div class="col-md-2 value">
+      <input class="form-control" type="text" size="3"  name="<% $paramtag %>-SortOrder" />
+    </div>
+    <div class="col-md-2 value">
+      <input class="form-control" type="text" size="25" name="<% $paramtag %>-Name" />
+    </div>
+    <div class="col-md-2 value">
+      <input class="form-control" type="text" size="45" name="<% $paramtag %>-Description" />
+    </div>
 % if ( $CustomField->Type ne 'Combobox' && $Categories ) {
-<td>
-<select class="editcategory" name="<% $paramtag %>-Category" size="1">
+    <div class="col-md-2 value">
+      <select class="form-control selectpicker editcategory " name="<% $paramtag %>-Category" size="1">
 <option value=""><&|/l&>(no value)</&></option>
 % while (my $Value = $Categories->Next) {
-<option value="<% $Value->Name %>"><% $Value->Name %></option>
+        <option value="<% $Value->Name %>"><% $Value->Name %></option>
 %   }
-</td>
+      </select>
+    </div>
 % }
-<td><input type="submit" name="AddValue" value="<&|/l&>Add</&>" /></td>
+    <div class="col-md-2">
+      <input type="submit" class="btn btn-primary btn-sm form-control" name="AddValue" value="<&|/l&>Add</&>" />
+    </div>
+  </div>
 % $m->callback(CallbackName => 'AfterCustomFieldValueInput', CustomFieldObj => $CustomField, ARGSRef => \%ARGS );
-</tr>
-
-</table>
 </form>
+</div>
 
 <script type="text/javascript">
 jQuery( function() {
diff --git a/share/html/Admin/Elements/EditCustomField b/share/html/Admin/Elements/EditCustomField
index 1f5110a36..97b399413 100644
--- a/share/html/Admin/Elements/EditCustomField
+++ b/share/html/Admin/Elements/EditCustomField
@@ -52,29 +52,39 @@
 <input type="hidden" class="hidden" name="CustomField" value="<%$id %>" />
 <input type="hidden" class="hidden" name="Queue" value="<%$Queue%>" />
 
-<table width="100%" border="0">
-<tr><td align="right">
-<&|/l&>Name</&>:
-</td><td>
-<input type="text" name="Name" value="<%$CustomFieldObj->Name%>" size="20" />
-</td></tr>
-<tr><td align="right">
-<&|/l&>Description</&>:
-</td><td>
-<input type="text" name="Description" value="<%$CustomFieldObj->Description%>" size="80" />
-</td></tr>
-<tr><td align="right">
-<&|/l&>Type</&>:
-</td><td>
-<& /Admin/Elements/SelectCustomFieldType, Name => "Type", Default => $CustomFieldObj->Type &>
-</td></tr>
-<tr><td>
-</td><td>
-<input type="hidden" class="hidden" name="SetEnabled" value="1" />
-<input type="checkbox" class="checkbox" id="Enabled" name="Enabled" value="1" <%$EnabledChecked%> />
-<label for="Enabled"><&|/l&>Enabled (Unchecking this box disables this custom field)</&></label>
-</td></tr>
-</table>
+<div class="col-md-12">
+  <div class="form-row">
+    <div class="col-md-3 label>
+      <&|/l&>Name</&>:
+    <div>
+    <div class="value col-md-9">
+      <input class="form-control" type="text" name="Name" value="<%$CustomFieldObj->Name%>" size="20" />
+    </div>
+  </div>
+
+  <div class="form-row">
+    <div class="col-md-3 label>
+      <&|/l&>Description</&>:
+    </div>
+    <div class="value col-md-9">
+      <input class="form-control" type="text" name="Description" value="<%$CustomFieldObj->Description%>" size="80" />
+    </div>
+  </div>
+
+  <div class="form-row">
+    <div class="col-md-3 label>
+      <&|/l&>Type</&>:
+    </div>
+    <div class="value col-md-9">
+      <& /Admin/Elements/SelectCustomFieldType, Name => "Type", Default => $CustomFieldObj->Type &>
+    </div>
+  </div>
+
+  <input type="hidden" class="hidden" name="SetEnabled" value="1" />
+  <div class="custom-control custom-checkbox">
+    <input type="checkbox" class="custom-control-input checkbox" id="Enabled" name="Enabled" value="1" <%$EnabledChecked%> />
+    <label class="custom-control-label" for="Enabled"><&|/l&>Enabled (Unchecking this box disables this custom field)</&></label>
+  </div>
 
 <p>
 % if ($CustomFieldObj->Id and $CustomFieldObj->Type =~ /Select/) {
diff --git a/share/html/Admin/Elements/EditCustomFieldValues b/share/html/Admin/Elements/EditCustomFieldValues
index 6f339305c..0c8125e14 100644
--- a/share/html/Admin/Elements/EditCustomFieldValues
+++ b/share/html/Admin/Elements/EditCustomFieldValues
@@ -50,42 +50,67 @@
 %    return;
 % }
 
-<table>
-
-<tr>
-<th><input type="checkbox" name="DeleteAll" value="1" onclick="setCheckbox(this, /^Delete-/)" /></th>
-<th><&|/l&>Sort</&></th>
-<th><&|/l&>Name</&></th>
-<th><&|/l&>Description</&></th>
+<div class="form-row">
+  <div class="label col-md-auto">
+    <div class="custom-control custom-checkbox">
+      <input class="custom-control-input" type="checkbox" id='DeleteAll' name="DeleteAll" value="1" onclick="setCheckbox(this, /^Delete-/)" />
+      <label class="custom-control-label" for="DeleteAll"></label>
+    </div>
+  </div>
+  <div class="label col-md-2 text-left">
+    <&|/l&>Sort</&>
+  </div>
+  <div class="label col-md-2 text-left">
+    <&|/l&>Name</&>
+  </div>
+  <div class="label col-md-2 text-left">
+    <&|/l&>Description</&>
+  </div>
 % if ( $CustomField->Type ne 'Combobox' && $Categories ) {
-<th class="categoryheader"><&|/l&>Category</&></th>
+    <div class="label categoryheader col-md-2 text-left">
+      <&|/l&>Category</&>
+    </div>
 % }
-<th></th>
-</tr>
+</div>
 
 % while ( my $value = $values->Next ) {
 % my $paramtag = "CustomField-". $CustomField->Id ."-Value-". $value->Id;
-<tr>
-<td><input type="text" size="3" name="<% $paramtag %>-SortOrder" value="<% $value->SortOrder %>" /></td>
-<td><input type="text" size="25" name="<% $paramtag %>-Name" value="<% $value->Name %>" /></td>
-<td><input type="text" size="45" name="<% $paramtag %>-Description" value="<% $value->Description || '' %>" /></td>
+<div class="form-row">
+  <div class='col-md-auto'>
+    <div class="custom-control custom-checkbox">
+      <input type="checkbox" class="custom-control-input" id="Delete-<% $paramtag %>" name="Delete-<% $paramtag %>" />
+        <label class="custom-control-label" for="Delete-<% $paramtag %>"></label>
+    </div>
+  </div>
+  <div class="col-md-2 value">
+    <input class="form-control" type="text" size="3" name="<% $paramtag %>-SortOrder" value="<% $value->SortOrder %>" />
+  </div>
+  <div class="col-md-2 value">
+    <input class="form-control" type="text" size="25" name="<% $paramtag %>-Name" value="<% $value->Name %>" />
+  </div>
+  <div class="col-md-2 value">
+    <input class="form-control" type="text" size="45" name="<% $paramtag %>-Description" value="<% $value->Description || '' %>" />
+  </div>
 % if ( $CustomField->Type ne 'Combobox' && $Categories ) {
-<td>
+  <div class="col-md-2 value">
 % my $selected = $value->Category;
 % $selected = '' unless defined $selected;
-<select class="editcategory" name="<% $paramtag %>-Category" size="1">
+    <select class="editcategory form-control selectpicker" name="<% $paramtag %>-Category" size="1">
 <option value=""<% $selected eq '' ? q[ selected="selected"] : "" |n%>><&|/l&>(no value)</&></option>
 % while (my $Value = $Categories->Next) {
-<option value="<% $Value->Name %>"<% $selected eq $Value->Name ? q[ selected="selected"] : "" |n%>><% $Value->Name %></option>
+    <option value="<% $Value->Name %>"<% $selected eq $Value->Name ? q[ selected="selected"] : "" |n%>><% $Value->Name %></option>
 %   }
-</td>
+    </select>
+  </div>
 % }
-<td><input type="button" class="delete_custom_field_value" data-cfv-id="<% $value->id %>" value="<&|/l&>Delete</&>" onclick="delete_custom_field_value(<% $value->id %>)" /></td>
+  <div class="col-md-2">
+    <input type="button" class="delete_custom_field_value btn btn-primary btn-sm" data-cfv-id="<% $value->id %>" value="<&|/l&>Delete</&>" onclick="delete_custom_field_value(<% $value->id %>)" />
+  </div>
 % $m->callback(CallbackName => 'AfterCustomFieldValueInput', CustomFieldObj => $CustomField, CustomFieldValueObj => $value, ARGSRef => \%ARGS );
-</tr>
+</div>
 % }
 
-</table>
+</div>
 
 <script type="text/javascript">
 function delete_custom_field_value(value_id) {
diff --git a/share/html/Admin/Elements/EditCustomFieldValuesCanonicalizer b/share/html/Admin/Elements/EditCustomFieldValuesCanonicalizer
index ad11a6a95..2f64c475f 100644
--- a/share/html/Admin/Elements/EditCustomFieldValuesCanonicalizer
+++ b/share/html/Admin/Elements/EditCustomFieldValuesCanonicalizer
@@ -46,7 +46,7 @@
 %#
 %# END BPS TAGGED BLOCK }}}
 <div id="canonicalize-class-block">
-<select name="CanonicalizeClass">
+<select class='form-control selectpicker' name="CanonicalizeClass">
 <option value="">-</option>
 % foreach my $canonicalizer (@canonicalizers) {
 <option value="<% $canonicalizer %>" <% $canonicalizer eq ($CustomField->CanonicalizeClass||'') && 'selected="selected"' %>><% $canonicalizer->Description %></option>
diff --git a/share/html/Admin/Elements/EditCustomFieldValuesSource b/share/html/Admin/Elements/EditCustomFieldValuesSource
index c1fe6143c..3d2a29cb6 100644
--- a/share/html/Admin/Elements/EditCustomFieldValuesSource
+++ b/share/html/Admin/Elements/EditCustomFieldValuesSource
@@ -46,7 +46,7 @@
 %#
 %# END BPS TAGGED BLOCK }}}
 <div id="values-source-class-block">
-<select name="ValuesClass">
+<select class="form-control selectpicker" name="ValuesClass">
 % foreach my $source( @sources ) {
 <option value="<% $source->{'Class'} %>" <% $source->{'Class'} eq $CustomField->ValuesClass && 'selected="selected"' %>><% $source->{'Description'} %></option>
 % }
diff --git a/share/html/Admin/Elements/EditRights b/share/html/Admin/Elements/EditRights
index 4ae76429f..71c2a8003 100644
--- a/share/html/Admin/Elements/EditRights
+++ b/share/html/Admin/Elements/EditRights
@@ -174,27 +174,27 @@ if ($anchor =~ /AddPrincipal/) {
 
 <div class="rights-editor clearfix">
   <input type="hidden" value="" name="Anchor" />
-  <ul>
+  <ul class="list-group">
 <%perl>
 for my $category (@$Principals) {
     my ($name, $collection, $col, $loc) = @$category;
 </%perl>
-<li class="category"><% loc($name) %></li>
+<li class="category list-group-item"><% loc($name) %></li>
 <%perl>
     while ( my $obj = $collection->Next ) {
         my $display = ref $col eq 'CODE' ? $col->($obj) : $obj->$col;
         my $id = "acl-" . $obj->PrincipalId;
 </%perl>
-<li><a href="#<% $id %>"><span class="rights-editor-label" id="<% "principal-tab-$id" %>"><% $loc ? loc($display) : $display %></span></a></li>
+<li class="list-group-item"><a href="#<% $id %>"><span class="rights-editor-label" id="<% "principal-tab-$id" %>"><% $loc ? loc($display) : $display %></span></a></li>
 <%perl>
     }
 }
 </%perl>
 % if ( $AddPrincipal ) {
-    <li class="category"><&|/l, loc($AddPrincipal) &>Add [_1]</&></li>
-    <li class="addprincipal">
+    <li class="category list-group-item"><&|/l, loc($AddPrincipal) &>Add [_1]</&></li>
+    <li class="addprincipal list-group-item">
       <a href="#acl-AddPrincipal">
-        <input type="text" value="" class="form-control"
+        <input type="text" class="" value="" class="form-control"
             data-autocomplete="<% lc $AddPrincipal eq 'user' ? 'Users' : 'Groups' %>"
 % if ( lc $AddPrincipal eq 'user' ) {
             data-autocomplete-return="Name"
@@ -230,7 +230,7 @@ for my $category (@$Principals) {
         my $id = "acl-" . $obj->PrincipalId;
 </%perl>
 
-  <div id="<% $id %>">
+  <div id="<% $id %>" class="col-md-12">
     <h3>
       <% $loc ? loc($display) : $display %>
 <%perl>
diff --git a/share/html/Admin/Elements/EditRightsCategoryTabs b/share/html/Admin/Elements/EditRightsCategoryTabs
index 06df2557d..453735f34 100644
--- a/share/html/Admin/Elements/EditRightsCategoryTabs
+++ b/share/html/Admin/Elements/EditRightsCategoryTabs
@@ -103,16 +103,16 @@ $acldesc ||= join '-', ($Principal ? $Principal->PrincipalId : 'addprincipal'),
 $available_rights{$_} = loc( $available_rights{$_} ) for keys %available_rights;
 </%init>
     <div class="category-tabs">
-      <ul>
+      <ul class="list-group-compact">
 % for my $category (sort { $catsort{$a} <=> $catsort{$b} } keys %categories) {
-        <li><a href="#<% "$id-$category" %>"><span class="current-value form-control rights-editor-label" id="<% "category-tab-$id-$category" %>"><% $category_desc{$category} || loc($category) %></span></a></li>
+        <li class="list-group-item"><a href="#<% "$id-$category" %>"><span class="current-value form-control rights-editor-label" id="<% "category-tab-$id-$category" %>"><% $category_desc{$category} || loc($category) %></span></a></li>
 % }
       </ul>
 % for my $category (sort { $catsort{$a} <=> $catsort{$b} } keys %categories) {
     <div id="<% "$id-$category" %>" class="col-md-12">
-    <ul class="rights-list">
+    <ul class="rights-list list-group">
 %     for my $right (sort { $available_rights{$a} cmp $available_rights{$b} } @{$categories{$category}}) {
-        <li>
+        <li class="list-group-item">
           <div class="custom-control custom-checkbox">
             <input
               type="checkbox"
@@ -126,9 +126,8 @@ $available_rights{$_} = loc( $available_rights{$_} ) for keys %available_rights;
             />
             <label class="custom-control-label" for="SetRights-<% $acldesc %>-<% $right %>" title="<% $right %>">
               <% $available_rights{$right} %>
-              <span class="separator">—</span>
-              <span class="rightname"><% $right %></span>
             </label>
+            <span class="rightname"><% $right %></span>
           </div>
         </li>
 %     }
diff --git a/share/html/Admin/Elements/SelectCustomField b/share/html/Admin/Elements/SelectCustomField
index 1a4d5aab8..f3258054b 100644
--- a/share/html/Admin/Elements/SelectCustomField
+++ b/share/html/Admin/Elements/SelectCustomField
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select name="<%$Name%>">
+<select class="form-control selectpicker" name="<%$Name%>">
 <option value="" <% not $Default and qq[ selected="selected"] |n %>>--</option>
 % while (my $CustomFieldObj = $CustomFields->Next) {
 % next if $OnlySelectionType and not $CustomFieldObj->IsSelectionType;
diff --git a/share/html/Admin/Elements/SelectCustomFieldLookupType b/share/html/Admin/Elements/SelectCustomFieldLookupType
index eae8a3fd1..16f42f33f 100644
--- a/share/html/Admin/Elements/SelectCustomFieldLookupType
+++ b/share/html/Admin/Elements/SelectCustomFieldLookupType
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select name="<%$Name%>">
+<select class="form-control selectpicker" name="<%$Name%>">
 %for my $option ($cf->LookupTypes) {
 <option value="<%$option%>"<%defined ($Default) && ($option eq $Default) && qq[ selected="selected"] |n%>><% $cf->FriendlyLookupType($option) %></option>
 %}
diff --git a/share/html/Admin/Elements/SelectCustomFieldRenderType b/share/html/Admin/Elements/SelectCustomFieldRenderType
index ccf932cc5..71cadc4a5 100644
--- a/share/html/Admin/Elements/SelectCustomFieldRenderType
+++ b/share/html/Admin/Elements/SelectCustomFieldRenderType
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select name="<%$Name%>">
+<select class="form-control selectpicker" name="<%$Name%>">
 %for my $option (@types) {
 <option value="<%$option%>"<%$option eq $Default && qq[ selected="selected"] |n%>><% $option %></option>
 %}
diff --git a/share/html/Admin/Elements/SelectCustomFieldType b/share/html/Admin/Elements/SelectCustomFieldType
index 11830d984..963016865 100644
--- a/share/html/Admin/Elements/SelectCustomFieldType
+++ b/share/html/Admin/Elements/SelectCustomFieldType
@@ -45,7 +45,7 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<select name="<%$Name%>">
+<select class="form-control selectpicker" name="<%$Name%>">
 %for my $option ($cf->TypeComposites) {
 <option value="<%$option%>"<%$option eq $Default && qq[ selected="selected"] |n%>><% $cf->FriendlyTypeComposite($option) %></option>
 %}
diff --git a/share/html/Admin/Global/CustomFields/index.html b/share/html/Admin/Global/CustomFields/index.html
index 3db2d8714..b63d9e6ca 100644
--- a/share/html/Admin/Global/CustomFields/index.html
+++ b/share/html/Admin/Global/CustomFields/index.html
@@ -49,9 +49,9 @@
 <& /Admin/Elements/Header, Title => $title &>
 <& /Elements/Tabs &>
 
-<ul>
+<ul class="list-group">
 % foreach my $key (sort keys %$tabs) {
-<li><span><a href="<% $tabs->{$key}{path} %>"><% $tabs->{$key}{title} %></a></span><br />
+<li class="list-item"><span><a href="<% $tabs->{$key}{path} %>"><% $tabs->{$key}{title} %></a></span><br />
 <% $tabs->{$key}{text} %>
 </li>
 % }
diff --git a/share/html/Admin/Global/GroupRights.html b/share/html/Admin/Global/GroupRights.html
index 8ab06da7a..985d00101 100644
--- a/share/html/Admin/Global/GroupRights.html
+++ b/share/html/Admin/Global/GroupRights.html
@@ -51,11 +51,7 @@
 
 <form method="post" action="GroupRights.html" id="ModifyGroupRights" name="ModifyGroupRights">
   <& /Admin/Elements/EditRights, Context => $RT::System, Principals => \@principals &>
-  <div class="form-row">
-    <div class="col-md-12">
-      <& /Elements/Submit, Label => loc('Save Changes') &>
-    </div>
-  </div>
+  <& /Elements/Submit, Label => loc('Save Changes') &>
 </form>
   
 <%INIT>
diff --git a/share/html/Widgets/ComboBox b/share/html/Widgets/ComboBox
index 2453f73b6..1fd947de1 100644
--- a/share/html/Widgets/ComboBox
+++ b/share/html/Widgets/ComboBox
@@ -52,7 +52,7 @@ my $z_index = 9999;
 
 % if ( grep { /\bbootstrap-combobox\b/ } RT::Interface::Web->JSFiles ) {
 <div class="combobox-wrapper" data-name="<% $Name %>" data-value="<% $Default // '' %>">
-  <select class="combobox" size="<% $Rows %>">
+  <select class="combobox form-control" size="<% $Rows %>">
     <option value=""></option>
 % for my $value (@Values) {
     <option value="<% $value %>" <% ($Default // '') eq $value ? 'selected="selected"' : '' %>><% $value%></option>
@@ -66,7 +66,7 @@ my $z_index = 9999;
 <script type="text/javascript" src="<%RT->Config->Get('WebPath')%>/static/js/combobox.js"></script>
 
 <div id="<% $Name %>_Container" class="combobox <%$Class%>" style="z-index: <%$z_index--%>">
-<input name="<% $Name %>" id="<% $Name %>" class="combo-text" value="<% $Default || '' %>" type="text" <% $Size ? "size='$Size'" : '' |n %> autocomplete="off" />
+<input name="<% $Name %>" id="<% $Name %>" class="form-control selectpicker combo-text" value="<% $Default || '' %>" type="text" <% $Size ? "size='$Size'" : '' |n %> autocomplete="off" />
 <br style="display: none" /><span id="<% $Name %>_Button" class="combo-button">▼</span><select name="List-<% $Name %>" id="<% $Name %>_List" class="combo-list tall" onchange="ComboBox_SimpleAttach(this, this.form[<% $Name |n,j%>]); " size="<% $Rows %>">
 <option style="display: none" value="">-</option>
 % foreach my $value (@Values) {

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


More information about the rt-commit mailing list