[Rt-commit] rt branch, 4.6-theme/ticket-pages, created. rt-4.4.4-202-g85cd8950d

Craig Kaiser craig at bestpractical.com
Wed May 29 17:43:23 EDT 2019


The branch, 4.6-theme/ticket-pages has been created
        at  85cd8950dea5b4081fdaf4af62078c1aed9f2ad7 (commit)

- Log -----------------------------------------------------------------
commit 85cd8950dea5b4081fdaf4af62078c1aed9f2ad7
Author: Craig Kaiser <craig at bestpractical.com>
Date:   Tue May 7 09:14:47 2019 -0400

    Migrate ticket pages to elevator theme

diff --git a/share/html/Helpers/PreviewScrips b/share/html/Helpers/PreviewScrips
index 6303fd7c5..bd67781b7 100644
--- a/share/html/Helpers/PreviewScrips
+++ b/share/html/Helpers/PreviewScrips
@@ -93,8 +93,10 @@ $submitted{$_} = 1 for split /,/, $ARGS{TxnRecipients};
 %          my $action = $s->ActionObj->Action;
 %          scalar(map { $action->$_ } qw(To Cc Bcc))
 %        } @scrips ) {
-<input type="checkbox" class="checkbox" id="TxnSendMailToAll" name="TxnSendMailToAll" <% $ARGS{TxnSendMailToAll} ? 'checked="checked"' : ''  %> value="1">
-<label for="TxnSendMailToAll"><b><% loc('All recipients') %></b></label><br />
+<div class="custom-control custom-checkbox">
+  <input type="checkbox" id="TxnSendMailToAll" name="TxnSendMailToAll" <% $ARGS{TxnSendMailToAll} ? 'checked="checked"' : ''  %> value="1" class="custom-control-input">
+  <label class="custom-control-label" for="TxnSendMailToAll"><b><% loc('All recipients') %></b></label><br />
+</div>
 %   }
 %     for my $scrip (@scrips) {
           <b><% $scrip->Description || loc('Scrip #[_1]',$scrip->id) %></b><br />
@@ -104,22 +106,26 @@ $submitted{$_} = 1 for split /,/, $ARGS{TxnRecipients};
 %             my $action = $scrip->ActionObj->Action;
 %             my @addresses =  $action->$type();
 %             next unless @addresses;
-              <ul>
+              <ul class="list-group list-group-compact">
 %             for my $addr (@addresses) {
-                  <li>
+                  <li class="list-group-item">
 %                 my $checked = $submitted{$addr->address} ? not $squelched{$addr->address} : $squelched_config;
 %                 $m->callback(CallbackName => 'BeforeAddress', Ticket => $TicketObj, Address => $addr, Type => $type, Checked => \$checked);
 %                 $recips{$addr->address}++;
-                  <b><%loc($type)%></b>:
+                    <div class="form-row">
+                      <div class="col-md-auto">
+                        <b><%loc($type)%></b>:
+                      </div>
+                      <div class="col-md-auto">
 %                 my $show_checkbox = 1;
 %                 if ( grep {$_ eq $addr->address} @{$action->{NoSquelch}{$type}} ) {
 %                     $show_checkbox = 0;
 %                 }
-
+                        <div class="custom-control custom-checkbox">
 %                 if ( $show_checkbox ) {
-                      <input type="checkbox" class="checkbox" name="TxnSendMailTo" <% $checked ? 'checked="checked"' : '' |n%> value="<%$addr->address%>" id="TxnSendMailTo-<% $addr->address %>-<% $recips{$addr->address} %>" />
+                          <input type="checkbox" class="custom-control-input" name="TxnSendMailTo" <% $checked ? 'checked="checked"' : '' |n%> value="<%$addr->address%>" id="TxnSendMailTo-<% $addr->address %>-<% $recips{$addr->address} %>" />
 %                 }
-                  <label for="TxnSendMailTo-<% $addr->address %>-<% $recips{$addr->address} %>"><& /Elements/ShowUser, Address => $addr &></label>
+                          <label <% $show_checkbox ? 'class="custom-control-label"' : '' |n%> for="TxnSendMailTo-<% $addr->address %>-<% $recips{$addr->address} %>"><& /Elements/ShowUser, Address => $addr &></label>
 %                 $m->callback(CallbackName => 'AfterAddress', Ticket => $TicketObj, Address => $addr, Type => $type);
 %                 unless ( $show_checkbox ) {
 %                     if ( $type eq 'Cc' ) {
@@ -129,12 +135,15 @@ $submitted{$_} = 1 for split /,/, $ARGS{TxnRecipients};
                           (<&|/l&>explicit one-time Bcc</&>)
 %                     }
 %                 }
+                        </div>
+                      </div>
+                    </div>
                   </li>
 %             }
               </ul>
 %         }
 %         if (RT->Config->Get('PreviewScripMessages')) {
-              <textarea cols="80" rows="5"><% Encode::decode( "UTF-8", $scrip->ActionObj->Action->TemplateObj->MIMEObj->as_string )%></textarea>
+              <textarea class="form-control" cols="80" rows="5"><% Encode::decode( "UTF-8", $scrip->ActionObj->Action->TemplateObj->MIMEObj->as_string )%></textarea>
 %         }
           <br />
 %     }
diff --git a/share/html/Helpers/ShowSimplifiedRecipients b/share/html/Helpers/ShowSimplifiedRecipients
index 30512532f..9f0ced7da 100644
--- a/share/html/Helpers/ShowSimplifiedRecipients
+++ b/share/html/Helpers/ShowSimplifiedRecipients
@@ -98,43 +98,47 @@ my $squelched_config = !( RT->Config->Get('SquelchedRecipients', $session{'Curre
 my %submitted;
 $submitted{$_} = 1 for split /,/, $ARGS{TxnRecipients};
 </%init>
-<table>
 %   if ( scalar(map { keys %{$headers{$_}} } qw(To Cc Bcc)) ) {
-<tr>
-<td> </td>
-<td>
-<input type="checkbox" class="checkbox" id="TxnSendMailToAll-Simplified" name="TxnSendMailToAll" value="1">
-<label for="TxnSendMailToAll-Simplified"><b><% loc('All recipients') %></b></label>
-</td>
-</tr>
+
+<div class="custom-control custom-checkbox">
+  <input class="custom-control-input" type="checkbox" id="TxnSendMailToAll-Simplified" name="TxnSendMailToAll" value="1">
+  <label class="custom-control-label" for="TxnSendMailToAll-Simplified"><b><% loc('All recipients') %></b></label>
+</div>
 % }
 % for my $type (qw(To Cc Bcc)) {
 %     next unless keys %{$headers{$type}} or keys %{$no_squelch{$type}};
-<tr>
-<td valign="top"><% $type %>:</td>
-<td valign="top">
+<ul class="list-group list-group-compact">
+  <li class="list-group-item">
+    <div class="form-row">
+      <div class="col-md-auto">
+        <% $type %>:
+      </div>
+      <div class="col-md-auto">
 %     for my $addr (sort {$a->address cmp $b->address} values %{$headers{$type}}) {
 %         my $checked = $submitted{$addr->address} ? not $squelched{$addr->address} : $squelched_config;
 %         $m->callback(CallbackName => 'BeforeAddress', Ticket => $TicketObj, Address => $addr, Type => $type, Checked => \$checked);
 %         $recips{$addr->address}++;
-<input type="checkbox" class="checkbox" name="TxnSendMailTo" <% $checked ? 'checked="checked"' : '' |n%> value="<%$addr->address%>" id="TxnSendMailTo-<% $addr->address %>-<% $recips{$addr->address} %>" />
-<label for="TxnSendMailTo-<% $addr->address %>-<% $recips{$addr->address} %>"><& /Elements/ShowUser, Address => $addr &></label>
+        <div class="custom-control custom-checkbox">
+          <input type="checkbox" name="TxnSendMailTo" <% $checked ? 'checked="checked"' : '' |n%> value="<%$addr->address%>" id="TxnSendMailTo-<% $addr->address %>-<% $recips{$addr->address} %>" class="custom-control-input" />
+          <label class="custom-control-label" for="TxnSendMailTo-<% $addr->address %>-<% $recips{$addr->address} %>"><& /Elements/ShowUser, Address => $addr &></label>
+        </div>
 %         $m->callback(CallbackName => 'AfterAddress', Ticket => $TicketObj, Address => $addr, Type => $type);
-<br />
 %     }
 %     for my $addr (sort {$a->address cmp $b->address} values %{$no_squelch{$type}}) {
+<div class="col-md-auto">
 <label><& /Elements/ShowUser, Address => $addr &></label>
 %         if ( $type eq 'Cc' ) {
 (<&|/l&>explicit one-time Cc</&>)
 %         } else {
 (<&|/l&>explicit one-time Bcc</&>)
 %         }
-<br />
+</div>
 %     }
-</td></tr>
+      </div>
+    </li>
+  </ul>
 % }
 % $m->callback( CallbackName => 'AfterRecipients', TicketObj => $TicketObj );
-</table>
 <p>
 <&|/l, RT->Config->Get('WebPath')."/Ticket/ModifyPeople.html?id=".$TicketObj->Id,
 &>Uncheck boxes to disable notifications to the listed recipients <b>for this transaction only</b>; persistent squelching is managed on the <a href="[_1]">People page</a>.</&>
diff --git a/share/html/Ticket/Create.html b/share/html/Ticket/Create.html
index 057d2f9c4..55a220f07 100644
--- a/share/html/Ticket/Create.html
+++ b/share/html/Ticket/Create.html
@@ -215,7 +215,7 @@
 <&|/l&>Subject</&>:
 </span>
 <span class="value">
-<input type="text" name="Subject" maxsize="200" value="<%$ARGS{Subject} || ''%>" />
+<input class="form-control" type="text" name="Subject" maxsize="200" value="<%$ARGS{Subject} || ''%>" />
 % $m->callback( %ARGS, CallbackName => 'AfterSubject' );
 </span>
 </div>
diff --git a/share/html/Ticket/Elements/AddAttachments b/share/html/Ticket/Elements/AddAttachments
index 312537507..320e891a5 100644
--- a/share/html/Ticket/Elements/AddAttachments
+++ b/share/html/Ticket/Elements/AddAttachments
@@ -163,8 +163,12 @@ jQuery( function() {
 });
 </script>
         <div class="hidden old-attach">
-            <input name="Attach" type="file" /><input type="submit" class="button" name="AddMoreAttach" value="<&|/l&>Add More Files</&>" />
-            <input type="hidden" class="hidden" name="UpdateAttach" value="1" />
+          <div class="custom-file">
+            <input type="file" id="Attach" name="Attach" class="custom-file-input" />
+            <label class="custom-file-label" for="Attach">
+              <input type="submit" class="button" name="AddMoreAttach" value="<&|/l&>Add More Files</&>" />
+            </label>
+          </div>
         </div>
     </span>
 </div>
diff --git a/share/html/Ticket/Elements/Reminders b/share/html/Ticket/Elements/Reminders
index a20450413..f30b22943 100644
--- a/share/html/Ticket/Elements/Reminders
+++ b/share/html/Ticket/Elements/Reminders
@@ -73,22 +73,27 @@ my $reminder_collection = $count_reminders->Collection;
 <input type="hidden" class="hidden" name="update-reminders" value="1" />
 % my $editable = 0;
 % if ($has_reminders) {
-<table border="0" cellpadding="1" cellspacing="0" class="collection-as-table"<% $Edit ? ' style="width: auto;"' : '' |n %>>
-<tr>
+<div class="form-row">
 % if ( $Edit ) {
-<th class="collection-as-table" colspan="5"><&|/l&>Reminders</&></th>
+  <&|/l&>Reminders</&>
 % } else {
-<th class="collection-as-table"></th>
-<th class="collection-as-table"><&|/l&>Reminder</&></th>
-<th class="collection-as-table"><&|/l&>Due</&></th>
-<th class="collection-as-table"><&|/l&>Owner</&></th>
+  <div class="col-md-4">
+    <&|/l&>Reminder</&>
+  </div>
+  <div class="col-md-4">
+    <&|/l&>Due</&>
+  </div>
+  <div class="col-md-4">
+    <&|/l&>Owner</&>
+  </div>
 % }
-</tr>
+</div>
 % my $i = 0;
 % while ( my $reminder = $reminder_collection->Next ) {
+<div class="form-row">
 % $i++;
 % if ( $reminder->Status eq $resolve_status && !$ShowCompleted ) {
-<tr class="hidden"><td><input type="hidden" class="hidden" name="Complete-Reminder-<% $reminder->id %>" value="1" /></td></tr>
+  <input type="hidden" class="hidden" name="Complete-Reminder-<% $reminder->id %>" value="1" />
 % $i++;
 % }
 % else {
@@ -99,8 +104,8 @@ my $reminder_collection = $count_reminders->Collection;
 <& SELF:ShowEntry, Reminder => $reminder, Ticket => $Ticket, Index => $i &>
 %   }
 % }
+</div>
 % }
-</table>
 % if ( $editable ) {
 <i><&|/l&>(Check box to complete)</&></i>
 % }
@@ -122,7 +127,11 @@ my $reminder_collection = $count_reminders->Collection;
 % }
 
 % if ( $editable && $ShowSave ) {
-<div class="save"><input type="submit" class="button" value="<&|/l&>Save</&>" /></div>
+<div class="form-row">
+  <div class="col-md-12">
+    <div class="save"><input type="submit" class="button form-control btn btn-primary" value="<&|/l&>Save</&>" /></div>
+  </div>
+</div>
 % }
 <%method NewReminder>
 <%args>
@@ -132,7 +141,7 @@ $Ticket
   <&|/l&>New reminder:</&>
   <div class="field">
     <span class="label"><&|/l&>Subject</&>:</span>
-    <span class="entry" colspan="3"><input type="text" class="reminder-subject" name="NewReminder-Subject" id="NewReminder-Subject" /></span>
+    <span class="entry" colspan="3"><input type="text" class="form-control reminder-subject" name="NewReminder-Subject" id="NewReminder-Subject" /></span>
   </div>
   <div class="field">
     <span class="label"><&|/l&>Owner</&>:</span>
@@ -150,39 +159,57 @@ $Reminder
 $Ticket
 $Index
 </%args>
-<tr class="<% $Index%2 ? 'oddline' : 'evenline' %>" id="reminder-<% $Reminder->id %>">
-<td class="entry">
-% unless ( $Reminder->CurrentUserHasRight('ModifyTicket') ) {
-<input name="Complete-Reminder-<% $Reminder->id %>" type="hidden" 
-value=<% $Reminder->Status eq $Reminder->LifecycleObj->ReminderStatusOnResolve ? 1 : 0 %> />
-% }
 
-<input type="checkbox" value="1" name="Complete-Reminder-<% $Reminder->id %>" <% $Reminder->Status eq $Reminder->LifecycleObj->ReminderStatusOnResolve ? 'checked="checked"' : '' |n %>
+  <div class="col-md-6 <% $Index%2 ? 'oddline' : 'evenline' %>" id="reminder-<% $Reminder->id %>">
 % unless ( $Reminder->CurrentUserHasRight('ModifyTicket') ) {
-disabled="disabled" 
+      <input class="custom-control-input" name="Complete-Reminder-<% $Reminder->id %>" type="hidden"
+        value=<% $Reminder->Status eq $Reminder->LifecycleObj->ReminderStatusOnResolve ? 1 : 0 %>
+      />
 % }
-/></td>
-<td class="label"><&|/l&>Subject</&>:</td>
-<td class="entry" colspan="3">
-<input type="text" class="reminder-subject" name="Reminder-Subject-<% $Reminder->id %>" value="<% $Reminder->Subject %>"
+      <div class="custom-control custom-checkbox">
+        <input class="custom-control-input" type="checkbox" value="1" id="Complete-Reminder-<% $Reminder->id %>" name="Complete-Reminder-<% $Reminder->id %>" <% $Reminder->Status eq $Reminder->LifecycleObj->ReminderStatusOnResolve ? 'checked="checked"' : '' |n %>
 % unless ( $Reminder->CurrentUserHasRight('ModifyTicket') ) {
-readonly="readonly" 
-% }
-/>
-</td>
-</tr>
-<tr class="<% $Index%2 ? 'oddline' : 'evenline' %>">
-<td class="entry"> </td>
-<td class="label"><&|/l&>Owner</&>:</td>
-<td class="entry"><& /Elements/SelectOwner, Name => 'Reminder-Owner-'.$Reminder->id, QueueObj => $Ticket->QueueObj, Default => $Reminder->Owner, DefaultValue => 0  &></td>
-<td class="label"><&|/l&>Due</&>:</td>
-<td class="entry">
+disabled="disabled"
+% }
+        />
+        <label class="custom-control-label" for="Complete-Reminder-<% $Reminder->id %>"></label>
+      </div>
+      <div class="form-row">
+        <div class="label col-md-3">
+          <&|/l&>Subject</&>:
+        </div>
+        <div class="value col-md-9">
+          <input type="text" class="reminder-subject form-control" name="Reminder-Subject-<% $Reminder->id %>" value="<% $Reminder->Subject %>"
+% unless ( $Reminder->CurrentUserHasRight('ModifyTicket') ) {
+readonly="readonly"
+% }
+          />
+        </div>
+      </div>
+      <div class="form-row <% $Index%2 ? 'oddline' : 'evenline' %>">
+        <div class="label col-md-3">
+          <&|/l&>Owner</&>:
+        </div>
+        <div class="value col-md-9">
+          <& /Elements/SelectOwner, Name => 'Reminder-Owner-'.$Reminder->id, QueueObj => $Ticket->QueueObj, Default => $Reminder->Owner, DefaultValue => 0  &>
+        </div>
+        <div class="label col-md-3">
+          <&|/l&>Due</&>:
+        </div>
+        <div class="value col-md-9">
 % if ( $Reminder->CurrentUserHasRight('ModifyTicket') ) {
-<& /Elements/SelectDate, Name => 'Reminder-Due-'.$Reminder->id &>
-% }
-(<% $Reminder->DueObj->AsString %>)
-</td>
-</tr>
+          <div class="form-row">
+            <div class="col-auto">
+              <& /Elements/SelectDate, Name => 'Reminder-Due-'.$Reminder->id &>
+            </div>
+            <div class="col-auto">
+              <span class="current-value form-control">(<% $Reminder->DueObj->AsString %>)</span>
+            </div>
+          </div>
+% }
+        </div>
+      </div>
+    </div>
 </%method>
 <%method ShowEntry>
 <%args>
@@ -192,20 +219,32 @@ $Index
 </%args>
 % my $dueobj = $Reminder->DueObj;
 % my $overdue = $dueobj->IsSet && $dueobj->Diff < 0 ? 1 : 0;
-<tr class="<% $Index%2 ? 'oddline' : 'evenline' %>" id="reminder-<% $Reminder->id %>">
 
-<td class="collection-as-table">
+<div class="col-md-12 <% $Index%2 ? 'oddline' : 'evenline' %>" id="reminder-<% $Reminder->id %>">
+  <div class="form-row">
 % unless ( $Reminder->CurrentUserHasRight('ModifyTicket') ) {
-<input name="Complete-Reminder-<% $Reminder->id %>" type="hidden" 
-value=<% $Reminder->Status eq $Reminder->LifecycleObj->ReminderStatusOnResolve ? 1 : 0 %> />
-% }
-<input type="checkbox" value="1" id="Complete-Reminder-<% $Reminder->id %>" name="Complete-Reminder-<% $Reminder->id %>" <% $Reminder->Status eq $Reminder->LifecycleObj->ReminderStatusOnResolve ? 'checked="checked"' : '' |n %>
+    <div class="col-md-4">
+      <input name="Complete-Reminder-<% $Reminder->id %>" type="hidden"
+        value=<% $Reminder->Status eq $Reminder->LifecycleObj->ReminderStatusOnResolve ? 1 : 0 %>
+      />
+    </div>
+% }
+    <div class="col-md-4">
+      <div class="custom-control custom-checkbox">
+        <input class="custom-control-input" type="checkbox" value="1" id="Complete-Reminder-<% $Reminder->id %>" name="Complete-Reminder-<% $Reminder->id %>" <% $Reminder->Status eq $Reminder->LifecycleObj->ReminderStatusOnResolve ? 'checked="checked"' : '' |n %>
 % unless ( $Reminder->CurrentUserHasRight('ModifyTicket') ) {
-disabled="disabled" 
+          disabled="disabled"
 % }
-/></td>
-<td class="collection-as-table"><label for="Complete-Reminder-<% $Reminder->id %>"><% $Reminder->Subject %></label></td>
-<td class="collection-as-table"><% $overdue ? '<span class="overdue">' : '' |n %><% $dueobj->AgeAsString || loc('Not set') %><% $overdue ? '</span>' : '' |n %></td>
-<td class="collection-as-table"><& /Elements/ShowUser, User => $Reminder->OwnerObj &></td>
-</tr>
+        />
+        <label class="custom-control-label" for="Complete-Reminder-<% $Reminder->id %>"><% $Reminder->Subject %></label>
+      </div>
+    </div>
+
+    <div class="col-md-4">
+      <% $overdue ? '<span class="overdue">' : '' |n %><% $dueobj->AgeAsString || loc('Not set') %><% $overdue ? '</span>' : '' |n %>
+    </div>
+    <div class="col-md-4">
+      <& /Elements/ShowUser, User => $Reminder->OwnerObj &>
+    </div>
+  </div>
 </%method>
diff --git a/share/html/Ticket/Elements/ShowAssets b/share/html/Ticket/Elements/ShowAssets
index 3d3da94db..65a8403b6 100644
--- a/share/html/Ticket/Elements/ShowAssets
+++ b/share/html/Ticket/Elements/ShowAssets
@@ -206,7 +206,7 @@ if ($ShowRelatedTickets) {
   <div class="add-asset">
     <label>
       <&|/l&>Add an asset to this ticket</&>
-    <input size="10" name="<% $Ticket->id %>-RefersTo" placeholder="<&|/l&>Asset #</&>" type="text">
+    <input class="form-control" size="10" name="<% $Ticket->id %>-RefersTo" placeholder="<&|/l&>Asset #</&>" type="text">
     </label>
     <input type="submit" value="+">
   </div>
diff --git a/share/html/Ticket/Elements/ShowAttachments b/share/html/Ticket/Elements/ShowAttachments
index 29494fa62..750e09522 100644
--- a/share/html/Ticket/Elements/ShowAttachments
+++ b/share/html/Ticket/Elements/ShowAttachments
@@ -58,17 +58,19 @@
 % foreach my $key (sort { lc($a) cmp lc($b) } keys %documents) {
 
 <span class="filename"><%$key%></span>
-<ul <% $Selectable ? 'class="selectable"' : '' |n %> >
+<ul class="list-group list-group-compact" <% $Selectable ? 'class="selectable"' : '' |n %> >
 % foreach my $rev (@{$documents{$key}}) {
 % if ($rev->ContentLength) {
-<li>
+<li class="list-group-item">
 
+  <div class="custom-control custom-checkbox">
 % if ($Selectable) {
-    <label>
-    <input type="checkbox" class="checkbox" name="AttachExisting" value="<% $rev->Id %>" \
-             <% $is_checked{$rev->Id} ? 'checked' : '' %> />
+      <input type="checkbox" class="custom-control-input" id="AttachExisting-<% $rev->Id %>" name="AttachExisting" value="<% $rev->Id %>" \
+        <% $is_checked{$rev->Id} ? 'checked' : '' %>
+      />
 % }
 
+<label <% $Selectable ? 'class="custom-control-label"' : '' |n%> for="AttachExisting-<% $rev->Id %>">
 <span class="revision">
 % if (my $url = RT->System->ExternalStorageURLFor($rev)) {
 <a href="<%$url%>">
@@ -79,11 +81,8 @@
 <% $desc |n%>
 </a>
 </span>
-
-% if ($Selectable) {
     </label>
-% }
-
+  </div>
 </li>
 % }
 % }
@@ -115,7 +114,7 @@
     }
 </script>
 
-<a href="#" class="button" onclick="showAllAttachments(jQuery(this)); return false;" ><% loc('Show all') %></a>
+<a href="#" class="button btn btn-primary" onclick="showAllAttachments(jQuery(this)); return false;" ><% loc('Show all') %></a>
 
 </span>
 % }
diff --git a/share/html/Ticket/Elements/ShowBasics b/share/html/Ticket/Elements/ShowBasics
index 9455a6d23..a66dce042 100644
--- a/share/html/Ticket/Elements/ShowBasics
+++ b/share/html/Ticket/Elements/ShowBasics
@@ -85,14 +85,10 @@
 <div class="time worked by-user field">
   <span class="label"><&|/l&>Users</&>:</span>
   <span>
-    <table>
 %   for my $user ( keys %$time_worked ) {
-      <tr>
-        <td class="value"><% $user %>:</td>
-        <td class="value"><& /Ticket/Elements/ShowTime, minutes => $time_worked->{$user} &></td>
-      </tr>
+    <div class="value"><% $user %>:</div>
+    <div class="value"><& /Ticket/Elements/ShowTime, minutes => $time_worked->{$user} &></div>
 %   }
-    </table>
   </span>
 </div>
 % }
diff --git a/share/html/Ticket/Elements/UpdateCc b/share/html/Ticket/Elements/UpdateCc
index b8e5a3c16..7ead9ba98 100644
--- a/share/html/Ticket/Elements/UpdateCc
+++ b/share/html/Ticket/Elements/UpdateCc
@@ -47,65 +47,104 @@
 %# END BPS TAGGED BLOCK }}}
 % $m->callback(CallbackName => 'BeforeCc', ARGSRef => \%ARGS, Ticket => $TicketObj, one_time_Ccs => \@one_time_Ccs, txn_addresses => \%txn_addresses);
 
-<div class="field"><span class="label"><&|/l&>One-time Cc</&>:</span><span class="value"><& /Elements/EmailInput, Name => 'UpdateCc', Size => undef, Default => $ARGS{UpdateCc}, AutocompleteMultiple => 1 &>
-<input type="hidden" id="UpdateIgnoreAddressCheckboxes" name="UpdateIgnoreAddressCheckboxes" value="0">
-        <br />
+<div class="form-row">
+  <div class="col-md-3 label">
+    <span class="label"><&|/l&>One-time Cc</&>:</span>
+  </div>
+  <div class="col-md-9 value">
+    <& /Elements/EmailInput, Name => 'UpdateCc', Size => undef, Default => $ARGS{UpdateCc}, AutocompleteMultiple => 1 &>
+    <input type="hidden" id="UpdateIgnoreAddressCheckboxes" name="UpdateIgnoreAddressCheckboxes" value="0">
+  </div>
+</div>
 
+<div class="form-row">
+  <div class="col-md-3 label"></div>
+  <div class="col-md-9 value">
+    <div class="form-row">
 %if (scalar @one_time_Ccs) {
 %   if ($hide_cc_suggestions) {
-        <a href="#" class="ToggleSuggestions" data-hide-label="<% $hide_label %>" data-show-label="<% $show_label %>">
-            <i class="label">(<&|/l&>show suggestions</&>)</i>
-        </a>
-        <div class="OneTimeCcs hidden">
+      <a href="#" class="ToggleSuggestions" data-hide-label="<% $hide_label %>" data-show-label="<% $show_label %>">
+        <i class="label">(<&|/l&>show suggestions</&>)</i>
+      </a>
+      <div class="OneTimeCcs hidden">
 %   }
-<i class="label">(<&|/l&>check to add</&>)</i>
-<input type="checkbox" class="checkbox" id="AllSuggestedCc" name="AllSuggestedCc" value="1" onclick="setCheckbox(this, /^UpdateCc-/, null, true)">
-<label for="AllSuggestedCc"><% loc('All recipients') %></label>
+
+      <i class="col-md-auto">(<&|/l&>check to add</&>)</i>
+      <div class="custom-control custom-checkbox">
+        <input type="checkbox" class="custom-control-input" id="AllSuggestedCc" name="AllSuggestedCc" value="1" onclick="setCheckbox(this, /^UpdateCc-/, null, true)">
+        <label class="custom-control-label" for="AllSuggestedCc"><% loc('All recipients') %></label>
+      </div>
 %}
 %foreach my $addr ( @one_time_Ccs ) {
-<span class="ticket-update-suggested-cc">
-<input
-    id="UpdateCc-<%$addr%>"
-    name="UpdateCc-<%$addr%>"
-    class="onetime onetimecc"
-    type="checkbox"
+      <div class="col-md-auto">
+        <span class="ticket-update-suggested-cc">
+          <div class="custom-control custom-checkbox">
+            <input
+              id="UpdateCc-<%$addr%>"
+              name="UpdateCc-<%$addr%>"
+              class="onetime onetimecc custom-control-input"
+              type="checkbox"
 % my $clean_addr = $txn_addresses{$addr}->format;
-    onClick="checkboxToInput('UpdateCc', <% "UpdateCc-$addr" |n,j%>, <%$clean_addr|n,j%> );"
-    <% $ARGS{'UpdateCc-'.$addr} ? 'checked="checked"' : ''%> >
-      <label for="UpdateCc-<%$addr%>"><& /Elements/ShowUser, Address => $txn_addresses{$addr}&></label>
-</span>
+              onClick="checkboxToInput('UpdateCc', <% "UpdateCc-$addr" |n,j%>, <%$clean_addr|n,j%> );"
+              <% $ARGS{'UpdateCc-'.$addr} ? 'checked="checked"' : ''%> >
+            <label class="custom-control-label" for="UpdateCc-<%$addr%>"><& /Elements/ShowUser, Address => $txn_addresses{$addr}&></label>
+          </div>
+        </span>
+      </div>
 %}
 %if (@one_time_Ccs && $hide_cc_suggestions) {
-</div>
+      </div>
 %}
-</span></div>
-<div class="field"><span class="label"><&|/l&>One-time Bcc</&>:</span><span class="value"><& /Elements/EmailInput, Name => 'UpdateBcc', Size => undef, Default => $ARGS{UpdateBcc}, AutocompleteMultiple => 1 &><br />
+    </div>
+  </div>
+</div>
+
+<div class="form-row">
+  <div class="col-md-3 label">
+    <span class="label"><&|/l&>One-time Bcc</&>:</span>
+  </div>
+  <div class="col-md-9 value">
+    <& /Elements/EmailInput, Name => 'UpdateBcc', Size => undef, Default => $ARGS{UpdateBcc}, AutocompleteMultiple => 1 &>
+  </div>
+</div>
+
+<div class="form-row">
+  <div class="col-md-3 label"></div>
+  <div class="col-md-9 value">
+    <div class="form-row">
 %if (scalar @one_time_Ccs) {
 %   if ($hide_cc_suggestions) {
-        <a href="#" class="ToggleSuggestions" data-hide-label="<% $hide_label %>" data-show-label="<% $show_label %>">
-            <i class="label">(<&|/l&>show suggestions</&>)</i>
-        </a>
-        <div class="OneTimeCcs hidden">
+      <a href="#" class="ToggleSuggestions" data-hide-label="<% $hide_label %>" data-show-label="<% $show_label %>">
+        <i class="label">(<&|/l&>show suggestions</&>)</i>
+      </a>
+      <div class="OneTimeCcs hidden">
 %   }
-<i class="label">(<&|/l&>check to add</&>)</i>
-<input type="checkbox" class="checkbox" id="AllSuggestedBcc" name="AllSuggestedBcc" value="1" onclick="setCheckbox(this, /^UpdateBcc-/, null, true)">
-<label for="AllSuggestedBcc"><% loc('All recipients') %></label>
+
+      <i class="col-md-auto">(<&|/l&>check to add</&>)</i>
+      <div class="custom-control custom-checkbox">
+        <input type="checkbox" class="checkbox custom-control-input" id="AllSuggestedBcc" name="AllSuggestedBcc" value="1" onclick="setCheckbox(this, /^UpdateBcc-/, null, true)">
+        <label class="custom-control-label" for="AllSuggestedBcc"><% loc('All recipients') %></label>
+      </div>
 %}
 %foreach my $addr ( @one_time_Ccs ) {
-<span class="ticket-update-suggested-cc">
-<input
-    id="UpdateBcc-<%$addr%>"
-    name="UpdateBcc-<%$addr%>"
-    class="onetime onetimebcc"
-    type="checkbox"
+      <div class="col-md-auto">
+        <span class="ticket-update-suggested-cc">
+          <div class="custom-control custom-checkbox">
+            <input
+              id="UpdateBcc-<%$addr%>"
+              name="UpdateBcc-<%$addr%>"
+              class="onetime onetimebcc custom-control-input"
+              type="checkbox"
 % my $clean_addr = $txn_addresses{$addr}->format;
-    onClick="checkboxToInput('UpdateBcc', <% "UpdateBcc-$addr" |n,j%>, <%$clean_addr|n,j%> );"
-    <% $ARGS{'UpdateBcc-'.$addr} ? 'checked="checked"' : ''%> >
-      <label for="UpdateBcc-<%$addr%>"><& /Elements/ShowUser, Address => $txn_addresses{$addr}&></label>
-</span>
+              onClick="checkboxToInput('UpdateBcc', <% "UpdateBcc-$addr" |n,j%>, <%$clean_addr|n,j%> );"
+              <% $ARGS{'UpdateBcc-'.$addr} ? 'checked="checked"' : ''%> >
+            <label class="custom-control-label" for="UpdateBcc-<%$addr%>"><& /Elements/ShowUser, Address => $txn_addresses{$addr}&></label>
+          </div>
+        </span>
+      </div>
 %}
 %if (@one_time_Ccs && $hide_cc_suggestions) {
-</div>
+      </div>
 <script type="text/javascript">
 jQuery(function() {
     jQuery('a.ToggleSuggestions').click(function(e) {
@@ -119,7 +158,8 @@ jQuery(function() {
 });
 </script>
 %}
-</span></div>
+  </div>
+</div>
 <%args>
 $TicketObj
 </%args>
diff --git a/share/html/Ticket/Forward.html b/share/html/Ticket/Forward.html
index 635a1b042..5e21fa60e 100644
--- a/share/html/Ticket/Forward.html
+++ b/share/html/Ticket/Forward.html
@@ -67,7 +67,7 @@
 
   <div class="field">
     <span class="label"><&|/l&>Subject</&>:</span>
-    <span class="value"><input type="text" name="Subject" value="<% $ARGS{'Subject'} || $subject %>" /></span>
+    <span class="value"><input class="form-control"   type="text" name="Subject" value="<% $ARGS{'Subject'} || $subject %>" /></span>
   </div>
 
   <div class="field">
diff --git a/share/html/Ticket/Graphs/Elements/EditGraphProperties b/share/html/Ticket/Graphs/Elements/EditGraphProperties
index 341243f42..757ad0bbb 100644
--- a/share/html/Ticket/Graphs/Elements/EditGraphProperties
+++ b/share/html/Ticket/Graphs/Elements/EditGraphProperties
@@ -47,41 +47,76 @@
 %# END BPS TAGGED BLOCK }}}
 <&| /Widgets/TitleBox, title => loc('Graph Properties') &>
 
-<% loc('Direction') %> <select name="Direction">
-<option value="TB" <% ($Direction||'TB') eq 'TB'? 'selected="selected"': '' |n %>><% loc('top to bottom') %></option>
-<option value="LR" <% ($Direction||'TB') eq 'LR'? 'selected="selected"': '' |n %>><% loc('left to right') %></option>
+  <div class="form-row">
+    <div class="col-md-3 label">
+      <% loc('Direction') %>
+    </div>
+    <div class="col-md-9 value">
+      <select class="form-control selectpicker" name="Direction">
+        <option value="TB" <% ($Direction||'TB') eq 'TB'? 'selected="selected"': '' |n %>><% loc('top to bottom') %></option>
+        <option value="LR" <% ($Direction||'TB') eq 'LR'? 'selected="selected"': '' |n %>><% loc('left to right') %></option>
 %# XXX: not supported by GraphViz perl module
 %#<option value="BT" <% ($Direction||'TB') eq 'BT'? 'selected="selected"': '' |n %>><% loc('bottom to top') %></option>
 %#<option value="RL" <% ($Direction||'TB') eq 'RL'? 'selected="selected"': '' |n %>><% loc('right to left') %></option>
-</select><br />
-
-<% loc('Main type of links') %> <select name="LeadingLink">
+      </select>
+    </div>
+  </div>
+  <div class="form-row">
+    <div class="col-md-3 label">
+      <% loc('Main type of links') %>
+    </div>
+    <div class="col-md-9 value">
+      <select class="form-control selectpicker" name="LeadingLink">
 % foreach ( @link_types ) {
-<option value="<% $_ %>" <% ($LeadingLink||'Members') eq $_? 'selected="selected"': '' |n %>><% loc($_) %></option>
+       <option value="<% $_ %>" <% ($LeadingLink||'Members') eq $_? 'selected="selected"': '' |n %>><% loc($_) %></option>
 % }
-</select>
+      </select>
+    </div>
+  </div>
 
-<% loc('maximum depth') %> <select name="MaxDepth">
-<option value="0"><% loc('Unlimit') %></option>
+  <div class="form-row">
+    <div class="col-md-3 label">
+      <% loc('maximum depth') %>
+    </div>
+    <div class="col-md-9 value">
+      <select class="form-control selectpicker" name="MaxDepth">
+        <option value="0"><% loc('Unlimit') %></option>
 % foreach ( 1..6 ) {
-<option value="<% $_ %>" <% ($MaxDepth||0) == $_? 'selected="selected"': '' %>><% $_ %></option>
+        <option value="<% $_ %>" <% ($MaxDepth||0) == $_? 'selected="selected"': '' %>><% $_ %></option>
 % }
-</select><br />
+      </select>
+    </div>
+  </div>
 
-<% loc('Show as well') %>:
+  <div class="form-row">
+    <div class="col-md-3 label">
+      <% loc('Show as well') %>:
+    </div>
+    <div class="col-md-9 value">
+      <div class="form-row">
 % foreach my $type ( @link_types ) {
 % my $checked = '';
 % $checked = 'checked="checked"' if grep $type eq $_, @ShowLinks;
-<input type="checkbox" id="ShowLinks" name="ShowLinks" value="<% $type %>" <% $checked |n %> />
-<label for="ShowLinks"><% loc($type) %></label>
+        <div class="col-md-auto">
+          <div class="custom-control custom-checkbox">
+            <input class="custom-control-input" type="checkbox" id="ShowLinks-<%$type%>" name="ShowLinks" value="<% $type %>" <% $checked |n %> />
+            <label class="custom-control-label" for="ShowLinks-<%$type%>"><% loc($type) %></label>
+          </div>
+        </div>
 % }
-<br />
+      </div>
+    </div>
+  </div>
 
 % my @properties = RT::Graph::Tickets->TicketProperties( $session{'CurrentUser'} );
 
-<% loc('Fill boxes with color using') %>:
-<select name="FillUsing">
-<option value=""><% loc('nothing') %></option>
+  <div class="form-row">
+    <div class="col-md-3 label">
+      <% loc('Fill boxes with color using') %>:
+    </div>
+    <div class="col-md-9 value">
+      <select name="FillUsing" class="form-control selectpicker">
+        <option value=""><% loc('nothing') %></option>
 <%PERL>
 my @tmp = @properties;
 while ( my ($group, $list) = (splice @tmp, 0, 2) ) {
@@ -92,16 +127,23 @@ while ( my ($group, $list) = (splice @tmp, 0, 2) ) {
         my $selected = '';
         $selected = 'selected="selected"' if $prop eq ($FillUsing||'');
 </%PERL>
-<option value="<% $prop %>" <% $selected |n %>><% loc($prop) %></option>
+        <option value="<% $prop %>" <% $selected |n %>><% loc($prop) %></option>
 % } }
-</select><br />
+      </select>
+    </div>
+  </div>
 
 % if ( RT::Link->can('Description' ) ) {
 % my $checked = '';
 % $checked = 'checked="checked"' if $ShowLinkDescriptions;
-<label for="ShowLinkDescriptions"><% loc('Show link descriptions') %>:</label>
-<input type="checkbox" id="ShowLinkDescriptions" name="ShowLinkDescriptions" value="1" <% $checked |n %> />
-<br />
+  <div class="form-row">
+    <div class="col-md-3 value">
+      <div class="custom-control custom-checkbox">
+        <input class="custom-control-label" type="checkbox" id="ShowLinkDescriptions" name="ShowLinkDescriptions" value="1" <% $checked |n %> />
+        <label class="custom-control-input" for="ShowLinkDescriptions"><% loc('Show link descriptions') %>:</label>
+      </div>
+    </div>
+  </div>
 % }
 
 <%PERL>
@@ -119,7 +161,11 @@ for my $i ( 1..($MaxDepth||6) ) {
 }
 </%PERL>
 
-<& /Elements/Submit, Label => loc('Update Graph'), Name => 'Update' &>
+  <div class="form-row">
+    <div class="col-md-12">
+      <& /Elements/Submit, Label => loc('Update Graph'), Name => 'Update' &>
+    </div>
+  </div>
 
 </&>
 
@@ -151,19 +197,32 @@ my $id = "graph-properties-box-$Level";
 my $class = '';
 $class = 'class="hidden"' if $Level != 1 && !@Default;
 </%INIT>
-<% loc('Show Tickets Properties on [_1] level', $Level) %>
-(<small><a href="#" onclick="hideshow(<% $id |n,j%>); return false;"><% loc('open/close') %></a></small>):
-<table id="<% $id %>" <% $class |n %>>
+<div class="col-md-3 label">
+  <% loc('Show Tickets Properties on [_1] level', $Level) %>
+  (<small><a href="#" onclick="hideshow(<% $id |n,j%>); return false;"><% loc('open/close') %></a></small>):
+</div>
+
+<div id="<% $id %>" <% $class |n %>>
 % while ( my ($group, $list) = (splice @Available, 0, 2) ) {
-<tr><td><% loc($group) %>:</td><td>
+  <div class="form-row">
+    <div class="col-md-3 label">
+      <% loc($group) %>:
+    </div>
+    <div class="col-md-9 value">
+      <div class="form-row">
 % foreach my $prop ( @$list ) {
 % my $checked = '';
 % $checked = 'checked="checked"' if grep $_ eq $prop, @Default;
-<input type="checkbox" class="checkbox" id="Level-<% $Level %>-Properties" name="Level-<% $Level %>-Properties" value="<% $prop %>" <% $checked |n %> />
-<label for="Level-<% $Level %>-Properties"><% loc($prop) %></label>
+        <div class="col-md-auto">
+          <div class="custom-control custom-checkbox">
+            <input type="checkbox" class="custom-control-input" id="Level-<% $Level . '-'. $prop %>-Properties" name="Level-<% $Level %>-Properties" value="<% $prop %>" <% $checked |n %> />
+            <label class="custom-control-label" for="Level-<% $Level . '-'. $prop %>-Properties"><% loc($prop) %></label>
+          </div>
+        </div>
 % }
-</td></tr>
+      </div>
+    </div>
+  </div>
 % }
-</table>
-<br />
+</div>
 </%METHOD>
diff --git a/share/html/Ticket/Graphs/Elements/ShowLegends b/share/html/Ticket/Graphs/Elements/ShowLegends
index 33f217df8..9626f43b2 100644
--- a/share/html/Ticket/Graphs/Elements/ShowLegends
+++ b/share/html/Ticket/Graphs/Elements/ShowLegends
@@ -46,25 +46,23 @@
 %#
 %# END BPS TAGGED BLOCK }}}
 <&| /Widgets/TitleBox, title => loc('Legends'), hideable => $hideable &>
-<table>
-
-<tr style="height: 2.8em;"><td><% loc('Status') %>:</td><td>
+  <div class="form-row">
+    <span class="label"><% loc('Status') %>:</span>
 % foreach my $status ( sort keys %RT::Graph::Tickets::ticket_status_style ) {
 % my $style = $RT::Graph::Tickets::ticket_status_style{ $status };
-<span style="color: <% $style->{'fontcolor'} %>; padding: 0.6em; border: 1px solid black;"><% loc($status) %></span>
+    <span class="value" style="color: <% $style->{'fontcolor'} %>; padding: 0.6em; border: 1px solid black;"><% loc($status) %></span>
 % }
-</td></tr>
+  </div>
 
 % if ( $FillUsing ) {
-<tr style="height: 2.8em;"><td><% loc($FillUsing) %>:</td><td>
+    <div class="form-row">
+      <span class="label"><% loc($FillUsing) %>:</span>
 % foreach my $value ( sort keys %RT::Graph::Tickets::fill_cache ) {
 % my $color = $RT::Graph::Tickets::fill_cache{ $value };
-<span style="background-color: <% $color %>; padding: 0.6em; border: 1px solid black;"><% loc($value) %></span>
+      <span class="value" style="background-color: <% $color %>; padding: 0.6em; border: 1px solid black;"><% loc($value) %></span>
 % }
-</td></tr>
+    </div>
 % }
-
-</table>
 </&>
 
 <%ARGS>
diff --git a/share/html/Ticket/ModifyAll.html b/share/html/Ticket/ModifyAll.html
index 847ebc0e4..a7f9ca8fa 100644
--- a/share/html/Ticket/ModifyAll.html
+++ b/share/html/Ticket/ModifyAll.html
@@ -111,7 +111,7 @@
   </div>
   <div class="field input-row">
     <span class="label"><&|/l&>Subject</&>:</span>
-    <span class="value entry"><input type="text" name="UpdateSubject" value="<%$Ticket->Subject%>" class="form-control" />
+    <span class="value entry"><input class="form-control" type="text" name="UpdateSubject" value="<%$Ticket->Subject%>" />
 % $m->callback( %ARGS, CallbackName => 'AfterSubject' );
     </span>
   </div>
diff --git a/share/html/Ticket/Update.html b/share/html/Ticket/Update.html
index 4169b8003..a2354f768 100644
--- a/share/html/Ticket/Update.html
+++ b/share/html/Ticket/Update.html
@@ -72,7 +72,7 @@
 <input type="hidden" class="hidden" name="id" value="<%$TicketObj->Id%>" />
 % }
 <div class="field"><span class="label"><&|/l&>Update Type</&>:</span>
-<span class="value"><select name="UpdateType" id="UpdateType">
+<span class="value"><select class="form-control selectpicker" name="UpdateType" id="UpdateType">
 % if ($CanComment) {
 <option value="private" <% ($ARGS{'UpdateType'} &&  $ARGS{'UpdateType'} eq "private") ? qq[ selected="selected"] : !$ARGS{'UpdateType'}&&$CommentDefault |n %>><&|/l&>Comments (Not sent to requestors)</&></option>
 % }
@@ -140,25 +140,34 @@
 %}
 
   <&|/Widgets/TitleBox, title => loc('Message'), class => 'messagedetails' &>
-  <div class="fields">
+
 <& /Ticket/Elements/UpdateCc, %ARGS, TicketObj => $TicketObj &>
 
 % if ( $gnupg_widget ) {
-<div class="field"><span class="label empty"> </span><span class="value">
+<div class="col-md-3 label">
+  <span class="label empty"> </span>
+</div>
+<div class="col-md-9 value">
 <& /Elements/Crypt/SignEncryptWidget,
     self => $gnupg_widget,
     TicketObj => $TicketObj,
 &>
-</span></div>
+</div>
 % }
 % $m->callback( %ARGS, CallbackName => 'AfterGnuPG' );
 
-<div class="field"><span class="label"><&|/l&>Subject</&>:</span><span class="value"><input type="text" name="UpdateSubject" value="<% $ARGS{UpdateSubject} || $TicketObj->Subject || '' %>" />
+<div class="col-md-3 label">
+  <span class="label"><&|/l&>Subject</&>:</span>
+</div>
+<div class="col-md-9 value">
+  <input class="form-control" type="text" name="UpdateSubject" value="<% $ARGS{UpdateSubject} || $TicketObj->Subject || '' %>" />
 % $m->callback( %ARGS, CallbackName => 'AfterSubject' );
-</span></div>
+</div>
 
-<div class="field"><span class="labeltop"><&|/l&>Message</&>:</span>
-<span class="value messagebox-container action-<% $type %>">
+<div class="col-md-3 label">
+  <span class="labeltop"><&|/l&>Message</&>:</span>
+</div>
+<div class="col-md-9 value messagebox-container action-<% $type %>">
 <& /Articles/Elements/BeforeMessageBox, %ARGS &>
 % $m->callback( %ARGS, CallbackName => 'BeforeMessageBox' );
 % if (exists $ARGS{UpdateContent}) {
@@ -173,15 +182,21 @@
 <& /Elements/MessageBox, Name=>"UpdateContent", IncludeSignature => $IncludeSignature, %ARGS &>
 % }
 % $m->callback( %ARGS, CallbackName => 'AfterMessageBox' );
-</span></div>
+</div>
 
-    <& /Ticket/Elements/AddAttachments, %ARGS, TicketObj => $TicketObj &>
-  </div>
+<div class="col-md-3 label"></div>
+<div class="col-md-9 value">
+  <& /Ticket/Elements/AddAttachments, %ARGS, TicketObj => $TicketObj &>
+</div>
 </&>
 
 % $m->callback( %ARGS, CallbackName => 'BeforeSubmit', Ticket => $TicketObj );
 
-  <& /Elements/Submit, Label => loc('Update Ticket'), Name => 'SubmitTicket', id => 'SubmitTicket' &>
+<div class="form-row">
+  <div class="col-md-12">
+    <& /Elements/Submit, Label => loc('Update Ticket'), Name => 'SubmitTicket', id => 'SubmitTicket' &>
+  </div>
+</div>
 
 % $m->callback( %ARGS, CallbackName => 'BeforeScrips', Ticket => $TicketObj );
 
@@ -193,7 +208,6 @@
     <input type="hidden" name="TxnRecipients" value="<% $ARGS{TxnRecipients} || '' %>" />
   </&>
 % }
-</div>
 
 % $m->callback( %ARGS, CallbackName => 'AfterScrips', Ticket => $TicketObj );
 
diff --git a/share/static/css/base-responsive/ticket-form.css b/share/static/css/base-responsive/ticket-form.css
index bee121299..f8da0e3ec 100644
--- a/share/static/css/base-responsive/ticket-form.css
+++ b/share/static/css/base-responsive/ticket-form.css
@@ -80,15 +80,6 @@ iframe.richtext-editor {
     float: right;
 }
 
-#recipients label {
-    padding-left: 2em;
-}
-
-#recipients input.checkbox {
-    position: absolute;
-    margin-left: 0.5em;
-}
-
 .refreshing {
     opacity: 0.3;
 }
diff --git a/t/web/reminders.t b/t/web/reminders.t
index 12031a86d..53c44a40f 100644
--- a/t/web/reminders.t
+++ b/t/web/reminders.t
@@ -14,13 +14,13 @@ ok($ticket->id, 'created a ticket');
 $m->goto_ticket($ticket->id);
 $m->text_contains('New reminder:', 'can create a new reminder');
 $m->content_unlike(qr{Check box to complete}, "we don't display this text when there are no reminders");
-$m->content_unlike(qr{<th[^>]*>Reminders?</th>}, "no reminder titlebar");
+$m->content_unlike(qr{<div[^>]*>Reminders</div>}, "no reminder titlebar");
 
 $m->follow_link_ok({id => 'page-reminders'});
 $m->title_is("Reminders for ticket #" . $ticket->id . ": " . $ticket->Subject);
 $m->text_contains('New reminder:', 'can create a new reminder');
 $m->content_unlike(qr{Check box to complete}, "we don't display this text when there are no reminders");
-$m->content_unlike(qr{<th[^>]*>Reminders?</th>}, "no reminder titlebar");
+$m->content_unlike(qr{<div[^>]*>Reminders?</div>}, "no reminder titlebar");
 
 $m->goto_ticket($ticket->id);
 $m->form_name('UpdateReminders');
@@ -41,7 +41,7 @@ $m->content_contains( "baby's first reminder",
 $m->goto_ticket( $ticket->id );
 $m->content_lacks('New reminder:', "can't create a new reminder");
 $m->text_contains('Check box to complete', "we DO display this text when there are reminders");
-$m->content_like(qr{<th[^>]*>Reminders?</th>}, "now we have a reminder titlebar");
+$m->content_like(qr{Reminders}, "now we have a reminder titlebar");
 $m->text_contains("baby's first reminder", "display the reminder's subject");
 
 my $reminders = RT::Reminders->new($user);
@@ -59,7 +59,7 @@ is( $ticket->Status, 'open', 'changed back to new' );
 $m->goto_ticket($ticket->id);
 $m->text_contains('New reminder:', "can create a new reminder");
 $m->text_contains('Check box to complete', "we DO display this text when there are reminders");
-$m->content_like(qr{<th[^>]*>Reminders?</th>}, "now we have a reminder titlebar");
+$m->content_like(qr{Reminders}, "now we have a reminder titlebar");
 $m->text_contains("baby's first reminder", "display the reminder's subject");
 
 $m->follow_link_ok({id => 'page-reminders'});
@@ -84,7 +84,7 @@ is($reminder->Status, 'resolved');
 
 $m->text_contains('New reminder:', 'can create a new reminder');
 $m->content_unlike(qr{Check box to complete}, "we don't display this text when there are open reminders");
-$m->content_unlike(qr{<th[^>]*>Reminders?</th>}, "no reminder titlebar");
+$m->content_unlike(qr{<div[^>]*>Reminders?</div>}, "no reminder titlebar");
 $m->content_unlike(qr{baby's first reminder}, "we don't display resolved reminders");
 
 $m->follow_link_ok({id => 'page-reminders'});

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


More information about the rt-commit mailing list