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

Craig Kaiser craig at bestpractical.com
Tue May 7 09:16:14 EDT 2019


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

- Log -----------------------------------------------------------------
commit 4fdaf8db5e6f02e4bd4adc4fd5ec9b14ade5ad41
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/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..e3ad1473f 100644
--- a/share/html/Ticket/Elements/AddAttachments
+++ b/share/html/Ticket/Elements/AddAttachments
@@ -163,8 +163,10 @@ 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</&>" />
+          <div class="custom-file">
+            <input class="custom-file-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>
         </div>
     </span>
 </div>
diff --git a/share/html/Ticket/Elements/Reminders b/share/html/Ticket/Elements/Reminders
index a20450413..d32ea14f9 100644
--- a/share/html/Ticket/Elements/Reminders
+++ b/share/html/Ticket/Elements/Reminders
@@ -72,37 +72,48 @@ my $reminder_collection = $count_reminders->Collection;
 <input type="hidden" class="hidden" name="id" value="<% $Ticket->id %>" />
 <input type="hidden" class="hidden" name="update-reminders" value="1" />
 % my $editable = 0;
+<div class="col-md-12">
 % 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>
+      <div class="col-md-12">
+        <&|/l&>Reminders</&>
+      </div>
 % } 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 {
 %   $editable = 1 if !$editable && $reminder->CurrentUserHasRight( 'ModifyTicket' );
 %   if ($Edit) {
-<& SELF:EditEntry, Reminder => $reminder, Ticket => $Ticket, Index => $i &>
+    <& SELF:EditEntry, Reminder => $reminder, Ticket => $Ticket, Index => $i &>
 %   } else {
-<& SELF:ShowEntry, Reminder => $reminder, Ticket => $Ticket, Index => $i &>
+    <& SELF:ShowEntry, Reminder => $reminder, Ticket => $Ticket, Index => $i &>
 %   }
 % }
+  </div>
 % }
-</table>
+
 % if ( $editable ) {
-<i><&|/l&>(Check box to complete)</&></i>
+  <div class="form-row">
+    <i><&|/l&>(Check box to complete)</&></i>
+  </div>
 % }
 <hr>
 % } else {
@@ -117,13 +128,21 @@ my $reminder_collection = $count_reminders->Collection;
 % }
 
 % if (lc $Ticket->Status ne "deleted" and $Ticket->QueueObj->CurrentUserHasRight('CreateTicket') and $Ticket->CurrentUserHasRight('ModifyTicket') ) {
-<& SELF:NewReminder, Ticket => $Ticket &>
+  <div class="form-row">
+    <& SELF:NewReminder, Ticket => $Ticket &>
+  </div>
 % $editable = 1;
 % }
 
 % 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>
 % }
+</div>
+
 <%method NewReminder>
 <%args>
 $Ticket
@@ -132,7 +151,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>
@@ -144,45 +163,61 @@ $Ticket
   </div>
 </div>
 </%method>
+
 <%method EditEntry>
 <%args>
 $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" name="Complete-Reminder-<% $Reminder->id %>" <% $Reminder->Status eq $Reminder->LifecycleObj->ReminderStatusOnResolve ? 'checked="checked"' : '' |n %>
+% unless ( $Reminder->CurrentUserHasRight('ModifyTicket') ) {
+          disabled="disabled" 
+% }
+        />
+      </div>
+      <div class="form-row">
+        <div class="label col-md-3">
+          <&|/l&>Subject</&>:
+        </div>
+        <div class="entry 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" 
-% }
-/>
-</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">
+            readonly="readonly" 
+% }
+          />
+        </div>
+      </div>
+      <div class="form-row <% $Index%2 ? 'oddline' : 'evenline' %>">
+        <div class="label col-md-3">
+          <&|/l&>Owner</&>:
+        </div>
+        <div class="entry 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="entry col-md-9">
 % if ( $Reminder->CurrentUserHasRight('ModifyTicket') ) {
-<& /Elements/SelectDate, Name => 'Reminder-Due-'.$Reminder->id &>
-% }
-(<% $Reminder->DueObj->AsString %>)
-</td>
-</tr>
+          <div class="form-row">
+            <& /Elements/SelectDate, Name => 'Reminder-Due-'.$Reminder->id &>
+          </div>
+% }
+          <div class="form-row">
+            (<% $Reminder->DueObj->AsString %>)
+          </div>
+        </div>
+      </div>
+    </div>
 </%method>
 <%method ShowEntry>
 <%args>
@@ -192,20 +227,27 @@ $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 class="custom-control-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="custom-control custom-checkbox col-md-4">
+      <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" 
-% }
-/></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>
+        disabled="disabled"
+% }
+      />
+      <label class="custom-control-label" for="Complete-Reminder-<% $Reminder->id %>"><% $Reminder->Subject %></label>
+    </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>
+</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..51c386307 100644
--- a/share/html/Ticket/Elements/ShowAttachments
+++ b/share/html/Ticket/Elements/ShowAttachments
@@ -46,10 +46,11 @@
 %#
 %# END BPS TAGGED BLOCK }}}
 <&| /Widgets/TitleBox, title => loc('Attachments'), 
-        title_class=> 'inverse',  
-        class => 'ticket-info-attachments',
-        color => "#336699",
-        hide_chrome => $HideTitleBox &>
+  title_class=> 'inverse',  
+  class => 'ticket-info-attachments',
+  color => "#336699",
+  hide_chrome => $HideTitleBox
+&>
 
 % $m->callback( %ARGS, CallbackName => 'BeforeList', TicketObj => $Ticket, Attachments => $Attachments, Documents => \%documents, IsChecked => \%is_checked, ShowMore => \$show_more );
 
@@ -58,15 +59,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" <% $Selectable ? 'class="selectable"' : '' |n %> >
 % foreach my $rev (@{$documents{$key}}) {
 % if ($rev->ContentLength) {
-<li>
+<li class="list-item">
 
 % if ($Selectable) {
     <label>
-    <input type="checkbox" class="checkbox" name="AttachExisting" value="<% $rev->Id %>" \
-             <% $is_checked{$rev->Id} ? 'checked' : '' %> />
+    <div class="custom-control custom-checkbox">
+      <input type="checkbox" class="custom-control-input" name="AttachExisting" value="<% $rev->Id %>" \
+        <% $is_checked{$rev->Id} ? 'checked' : '' %>
+      />
+      <div class="custom-control-label"></div>
+    </div>
 % }
 
 <span class="revision">
@@ -122,7 +127,6 @@
 
 </div>
 </&>
-
 <%INIT>
 
 # If we haven't been passed in an Attachments object (through the precaching mechanism)
diff --git a/share/html/Ticket/Elements/ShowBasics b/share/html/Ticket/Elements/ShowBasics
index 9455a6d23..d74ef2313 100644
--- a/share/html/Ticket/Elements/ShowBasics
+++ b/share/html/Ticket/Elements/ShowBasics
@@ -85,14 +85,18 @@
 <div class="time worked by-user field">
   <span class="label"><&|/l&>Users</&>:</span>
   <span>
-    <table>
+    <div class="col-md-12">
 %   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="form-row">
+        <div class="value col-md-auto">
+          <% $user %>:
+        </div>
+        <div class="value col-md-auto">
+          <& /Ticket/Elements/ShowTime, minutes => $time_worked->{$user} &>
+        </div>
+      </div>
 %   }
-    </table>
+    </div>
   </span>
 </div>
 % }
diff --git a/share/html/Ticket/Elements/ShowRequestor b/share/html/Ticket/Elements/ShowRequestor
index 759f451e1..977e309de 100644
--- a/share/html/Ticket/Elements/ShowRequestor
+++ b/share/html/Ticket/Elements/ShowRequestor
@@ -58,84 +58,90 @@
 % }
 
 <&| /Widgets/TitleBox,
-    title_raw => loc("More about the requestors"),
-    class => 'ticket-info-requestor fullwidth'
+  title_raw => loc("More about the requestors"),
+  class => 'ticket-info-requestor fullwidth'
 &>
-
-<div id="requestor-accordion" class="user-accordion">
+  <div id="requestor-accordion" class="user-accordion">
 
 % while ( my $requestor = $people->Next ) {
-<h3><a href="#"><& /Elements/ShowUser, User => $requestor, Link => 0 &></a>
-    <a class="user-summary" href="<%RT->Config->Get('WebPath')%>/User/Summary.html?id=<%$requestor->Id%>">User Summary</a></h3>
-  <div class="details">
+    <div class="form-row">
+      <div class="col-md-12">
+        <div class="form-row">
+          <h3><a href="#"><& /Elements/ShowUser, User => $requestor, Link => 0 &></a>
+          <a class="user-summar" href="<%RT->Config->Get('WebPath')%>/User/Summary.html?id=<%$requestor->Id%>">User Summary</a></h3>
+        </div>
+        <div class="details">
 
 %# Additional information about this user.  Empty by default.
 % $m->callback( requestor => $requestor, %ARGS, CallbackName => 'AboutThisUser' );
-<& ShowRequestorExtraInfo, Requestor => $requestor &>
+          <& ShowRequestorExtraInfo, Requestor => $requestor &>
 
 % if ( $ShowComments ) {
-<div class="comments-about-user">
-  <span class="label"><&|/l&>Comments about this user</&>:</span>
-  <span class="value"><% ($requestor->Comments || loc("No comment entered about this user")) %></span>
-</div>
+          <div class="form-row">
+            <div class="comments-about-user">
+              <span class="label"><&|/l&>Comments about this user</&>:</span>
+              <span class="value"><% ($requestor->Comments || loc("No comment entered about this user")) %></span>
+            </div>
+          </div>
 % }
-
 % $m->callback( requestor => $requestor, %ARGS, CallbackName => 'AfterComments' );
 
 % if ( $ShowTickets ) {
-<div class="more-about-requestor-tickets ui-tabs" id="more-about-requestor-tickets-<%$requestor->Id%>">
-  <ul>
+          <div class="more-about-requestor-tickets ui-tabs" id="more-about-requestor-tickets-<%$requestor->Id%>">
+            <ul>
 % my $index = 1;
 % for my $status ( @$status_order ) {
-    <li>
+              <li>
 % if ( $status eq $DefaultTicketsTab ) {
-      <a href="#requestor-<%$requestor->Id%>-ticket-tab-default">\
+                <a href="#requestor-<%$requestor->Id%>-ticket-tab-default">\
 % } else {
 %     my $url = RT->Config->Get('WebPath').'/Helpers/Toggle/ShowRequestor?'.
 %     $m->comp('/Elements/QueryString', Requestor => $requestor->Id , Status => $status);
-      <a href="<% $url | n %>" title="requestor-<%$requestor->Id%>-ticket-tab-<% $index++ %>">\
+                <a href="<% $url | n %>" title="requestor-<%$requestor->Id%>-ticket-tab-<% $index++ %>">\
 % }
 <% $status_link_text->{$status} %></a>
-    </li>
+              </li>
 % }
-  </ul>
+            </ul>
 % $index = 1;
 % for my $status (@$status_order) {
 % if ( $status eq $DefaultTicketsTab ) {
-  <div id="requestor-<%$requestor->Id%>-ticket-tab-default">
-    <& $TicketTemplate, Requestor => $requestor &>
+            <div id="requestor-<%$requestor->Id%>-ticket-tab-default">
+              <& $TicketTemplate, Requestor => $requestor &>
 % } else {
-  <div id="requestor-<%$requestor->Id%>-ticket-tab-<% $index++ %>" class="hidden">
-    <span class="label"><&|/l&>Loading...</&></span>
+                <div id="requestor-<%$requestor->Id%>-ticket-tab-<% $index++ %>" class="hidden">
+                  <span class="label"><&|/l&>Loading...</&></span>
+                </div>
 % }
-  </div>
 % }
-</div>
+            </div>
 % }
 
 % my $grouplimit = RT->Config->Get('MoreAboutRequestorGroupsLimit');
 % if ( $ShowGroups and defined $grouplimit ) {
-<div class="more-about-user-groups">
-  <span class="label">
-    <&|/l&>Groups this user belongs to</&>
+            <div class="more-about-user-groups">
+              <span class="label">
+                <&|/l&>Groups this user belongs to</&>
     
 % if ( $session{CurrentUser}->HasRight( Right => 'AdminUsers', Object => $RT::System ) &&
 %      $session{CurrentUser}->HasRight( Right => 'ShowConfigTab', Object =>$RT::System ) ) {
   [<a href=<% RT->Config->Get('WebPath') . '/Admin/Users/Memberships.html?id=' . $requestor->id %> ><&|/l&>Edit</&></a>]
 % }
-  </span>
-  <span class="value"><& /Elements/ShowMemberships, UserObj => $requestor, Limit => $grouplimit &></span>
-</div>
+            </span>
+            <span class="value"><& /Elements/ShowMemberships, UserObj => $requestor, Limit => $grouplimit &></span>
+          </div>
 % }
 
 %# end of individual requestor details <div>
+        </div>
+      </div>
+    </div>
   </div>
 % }
 %# end of requestors loop
 
 % $m->callback( %ARGS, CallbackName => 'AfterRequestors' );
 
-</div>
 </&>
 <%INIT>
 my $show_privileged = RT->Config->Get('ShowMoreAboutPrivilegedUsers');
diff --git a/share/html/Ticket/Elements/ShowSummary b/share/html/Ticket/Elements/ShowSummary
index bfc4808bd..d692bf1a5 100644
--- a/share/html/Ticket/Elements/ShowSummary
+++ b/share/html/Ticket/Elements/ShowSummary
@@ -45,56 +45,92 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<div class="row ticket-summary">
-  <div class="boxcontainer col-md-6">
+<div class="form-row ticket-summary">
+  <div class="col-md-6">
 % $m->callback( %ARGS, CallbackName => 'LeftColumnTop' );
-    <&| /Widgets/TitleBox, title => loc('The Basics'),
-        (($can_modify || $can_modify_cf) ? (title_href => RT->Config->Get('WebPath')."/Ticket/Modify.html?id=".$Ticket->Id) : ()),
-        class => 'ticket-info-basics',
-    &><& /Ticket/Elements/ShowBasics, Ticket => $Ticket &></&>
+    <div class="form-row">
+      <div class="col-md-12">
+        <&| /Widgets/TitleBox, title => loc('The Basics'),
+            (($can_modify || $can_modify_cf) ? (title_href => RT->Config->Get('WebPath')."/Ticket/Modify.html?id=".$Ticket->Id) : ()),
+            class => 'ticket-info-basics',
+          &><& /Ticket/Elements/ShowBasics, Ticket => $Ticket &>
+        </&>
 % $m->callback( %ARGS, CallbackName => 'AfterBasics' );
-    <& /Elements/ShowCustomFieldCustomGroupings,
-        Object       => $Ticket,
-        title_href   => ($can_modify || $can_modify_cf) ? RT->Config->Get('WebPath')."/Ticket/Modify.html" : "",
+      </div>
+    </div>
+    <div class="form-row">
+      <div class="col-md-12">
+        <& /Elements/ShowCustomFieldCustomGroupings,
+          Object       => $Ticket,
+          title_href   => ($can_modify || $can_modify_cf) ? RT->Config->Get('WebPath')."/Ticket/Modify.html" : "",
         &>
-
-    <&| /Widgets/TitleBox, title => loc('People'),
-        (($can_modify || $can_modify_owner || $can_modify_people) ? (title_href => RT->Config->Get('WebPath')."/Ticket/ModifyPeople.html?id=".$Ticket->Id) : ()),
-        class => 'ticket-info-people',
-    &><& /Ticket/Elements/ShowPeople, Ticket => $Ticket &></&>
+      </div>
+    </div>
+    <div class="form-row">
+      <div class="col-md-12">
+        <&| /Widgets/TitleBox, title => loc('People'),
+          (($can_modify || $can_modify_owner || $can_modify_people) ? (title_href => RT->Config->Get('WebPath')."/Ticket/ModifyPeople.html?id=".$Ticket->Id) : ()),
+          class => 'ticket-info-people',
+        &><& /Ticket/Elements/ShowPeople, Ticket => $Ticket &></&>
 % $m->callback( %ARGS, CallbackName => 'AfterPeople' );
-    <& /Ticket/Elements/ShowAttachments, Ticket => $Ticket, Attachments => $Attachments, Count => RT->Config->Get('AttachmentListCount') &>
+      </div>
+    </div>
+    <div class="form-row">
+      <div class="col-md-12">
+        <& /Ticket/Elements/ShowAttachments, Ticket => $Ticket, Attachments => $Attachments, Count => RT->Config->Get('AttachmentListCount') &>
 % $m->callback( %ARGS, CallbackName => 'AfterAttachments' );
-    <& /Ticket/Elements/ShowRequestor, Ticket => $Ticket &>
+      </div>
+    </div>
+    <div class="form-row">
+      <div class="col-md-12">
+        <& /Ticket/Elements/ShowRequestor, Ticket => $Ticket &>
+      </div>
+    </div>
 % $m->callback( %ARGS, CallbackName => 'LeftColumn' );
   </div>
-  <div class="boxcontainer col-md-6">
+  <div class="col-md-6">
 % $m->callback( %ARGS, CallbackName => 'RightColumnTop' );
 % if ( RT->Config->Get('EnableReminders') ) {
-    <&|/Widgets/TitleBox, title => loc("Reminders"),
-        title_href => RT->Config->Get('WebPath')."/Ticket/Reminders.html?id=".$Ticket->Id,
-        class => 'ticket-info-reminders fullwidth',
-    &>
-        <form action="<%RT->Config->Get('WebPath')%>/Ticket/Display.html" name="UpdateReminders" id="UpdateReminders" method="post">
+    <div class="form-row">
+      <div class="col-md-12">
+        <&|/Widgets/TitleBox, title => loc("Reminders"),
+          title_href => RT->Config->Get('WebPath')."/Ticket/Reminders.html?id=".$Ticket->Id,
+          class => 'ticket-info-reminders fullwidth',
+        &>
+          <form action="<%RT->Config->Get('WebPath')%>/Ticket/Display.html" name="UpdateReminders" id="UpdateReminders" method="post">
             <& /Ticket/Elements/Reminders, Ticket => $Ticket, ShowCompleted => 0 &>
-        </form>
-    </&>
+          </form>
+        </&>
+      </div>
+    </div>
 % }
 % $m->callback( %ARGS, CallbackName => 'AfterReminders' );
-    <&| /Widgets/TitleBox, title => loc("Dates"),
-        ($can_modify ? (title_href => RT->Config->Get('WebPath')."/Ticket/ModifyDates.html?id=".$Ticket->Id) : ()),
-        class => 'ticket-info-dates',
-    &><& /Ticket/Elements/ShowDates, Ticket => $Ticket &></&>
+    <div class="form-row">
+      <div class="col-md-12">
+        <&| /Widgets/TitleBox, title => loc("Dates"),
+          ($can_modify ? (title_href => RT->Config->Get('WebPath')."/Ticket/ModifyDates.html?id=".$Ticket->Id) : ()),
+          class => 'ticket-info-dates',
+        &><& /Ticket/Elements/ShowDates, Ticket => $Ticket &></&>
+      </div>
+    </div>
 % $m->callback( %ARGS, CallbackName => 'AfterDates' );
 % my (@extra);
 % push @extra, titleright_raw => '<a href="'. RT->Config->Get('WebPath'). '/Ticket/Graphs/index.html?id='.$Ticket->id.'">'.loc('Graph').'</a>' unless RT->Config->Get('DisableGraphViz');
-<& /Ticket/Elements/ShowAssets, Ticket => $Ticket &>
+    <div class="form-row">
+      <div class="col-md-12">
+        <& /Ticket/Elements/ShowAssets, Ticket => $Ticket &>
+      </div>
+    </div>
 % $m->callback( %ARGS, CallbackName => 'LinksExtra', extra => \@extra );
-    <&| /Widgets/TitleBox, title => loc('Links'),
-        ($can_modify ? (title_href => RT->Config->Get('WebPath')."/Ticket/ModifyLinks.html?id=".$Ticket->Id) : ()),
-        class => 'ticket-info-links',
-        @extra,
-    &><& /Elements/ShowLinks, Object => $Ticket &></&>
+    <div class="form-row">
+      <div class="col-md-12">
+        <&| /Widgets/TitleBox, title => loc('Links'),
+          ($can_modify ? (title_href => RT->Config->Get('WebPath')."/Ticket/ModifyLinks.html?id=".$Ticket->Id) : ()),
+          class => 'ticket-info-links',
+          @extra,
+        &><& /Elements/ShowLinks, Object => $Ticket &></&>
+      </div>
+    </div>
 % $m->callback( %ARGS, CallbackName => 'RightColumn' );
   </div>
 </div>
diff --git a/share/html/Ticket/Elements/ShowUpdateStatus b/share/html/Ticket/Elements/ShowUpdateStatus
index 87da70b97..616c7371b 100644
--- a/share/html/Ticket/Elements/ShowUpdateStatus
+++ b/share/html/Ticket/Elements/ShowUpdateStatus
@@ -45,14 +45,14 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<div class="unread-messages">
-<&| /Widgets/TitleBox, title => loc('New messages'), title_href => "#txn-". $txn->id &>
-<&|/l&>There are unread messages on this ticket.</&>
-<&|/l, 
- RT->Config->Get('WebPath') ."/$DisplayPath/Display.html?id=". $Ticket->id. "#txn-".$txn->id,
- RT->Config->Get('WebPath') ."/$DisplayPath/Display.html?id=". $Ticket->id ."&MarkAsSeen=1&Anchor=txn-" . $txn->id
- &>You can <a href="[_1]">jump to the first unread message</a> or <a href="[_2]">jump to the first unread message and mark all messages as seen</a>.</&>
-</&>
+<div class="unread-messages col-md-12">
+  <&| /Widgets/TitleBox, title => loc('New messages'), title_href => "#txn-". $txn->id &>
+    <&|/l&>There are unread messages on this ticket.</&>
+    <&|/l,
+      RT->Config->Get('WebPath') ."/$DisplayPath/Display.html?id=". $Ticket->id. "#txn-".$txn->id,
+      RT->Config->Get('WebPath') ."/$DisplayPath/Display.html?id=". $Ticket->id ."&MarkAsSeen=1&Anchor=txn-" . $txn->id
+      &>You can <a href="[_1]">jump to the first unread message</a> or <a href="[_2]">jump to the first unread message and mark all messages as seen</a>.</&>
+  </&>
 </div>
 <%ARGS>
 $Ticket
diff --git a/share/html/Ticket/Elements/UpdateCc b/share/html/Ticket/Elements/UpdateCc
index b8e5a3c16..905040493 100644
--- a/share/html/Ticket/Elements/UpdateCc
+++ b/share/html/Ticket/Elements/UpdateCc
@@ -59,20 +59,24 @@
         <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>
+<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
+<div class="custom-control custom-checkbox">
+  <input
     id="UpdateCc-<%$addr%>"
     name="UpdateCc-<%$addr%>"
-    class="onetime onetimecc"
+    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>
+      <label class="custom-control-label" for="UpdateCc-<%$addr%>"><& /Elements/ShowUser, Address => $txn_addresses{$addr}&></label>
+</div>
 </span>
 %}
 %if (@one_time_Ccs && $hide_cc_suggestions) {
@@ -88,20 +92,24 @@
         <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>
+<div class="custom-control custom-checkbox">
+  <input type="checkbox" class="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
+<div class="custom-control custom-checkbox">
+  <input
     id="UpdateBcc-<%$addr%>"
     name="UpdateBcc-<%$addr%>"
-    class="onetime onetimebcc"
+    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>
+      <label class="custom-control-label" for="UpdateBcc-<%$addr%>"><& /Elements/ShowUser, Address => $txn_addresses{$addr}&></label>
+</div>
 </span>
 %}
 %if (@one_time_Ccs && $hide_cc_suggestions) {
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..ffddb3889 100644
--- a/share/html/Ticket/Graphs/Elements/EditGraphProperties
+++ b/share/html/Ticket/Graphs/Elements/EditGraphProperties
@@ -45,43 +45,46 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<&| /Widgets/TitleBox, title => loc('Graph Properties') &>
+<div class="col-md-12">
+  <&| /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>
+  <% loc('Direction') %> <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 />
+  </select><br />
 
 <% loc('Main type of links') %> <select 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>
 
-<% loc('maximum depth') %> <select name="MaxDepth">
-<option value="0"><% loc('Unlimit') %></option>
+  <% loc('maximum depth') %> <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><br />
 
-<% loc('Show as well') %>:
+  <% loc('Show as well') %>:
 % 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="custom-control custom-checkbox">
+    <input class="custom-control-input" type="checkbox" id="ShowLinks" name="ShowLinks" value="<% $type %>" <% $checked |n %> />
+    <label class="custom-control-label" for="ShowLinks"><% loc($type) %></label>
+  </div>
 % }
-<br />
+  <br />
 
 % my @properties = RT::Graph::Tickets->TicketProperties( $session{'CurrentUser'} );
 
-<% loc('Fill boxes with color using') %>:
-<select name="FillUsing">
-<option value=""><% loc('nothing') %></option>
+  <% loc('Fill boxes with color using') %>:
+  <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 +95,18 @@ 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><br />
 
 % 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="custom-control custom-checkbox">
+    <label class="custom-control-input" for="ShowLinkDescriptions"><% loc('Show link descriptions') %>:</label>
+    <input class="custom-control-label" type="checkbox" id="ShowLinkDescriptions" name="ShowLinkDescriptions" value="1" <% $checked |n %> />
+  </div>
+  <br />
 % }
 
 <%PERL>
@@ -119,9 +124,14 @@ 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>
 
-</&>
+  </&>
+</div>
 
 <%ARGS>
 $id => undef
diff --git a/share/html/Ticket/Graphs/Elements/ShowLegends b/share/html/Ticket/Graphs/Elements/ShowLegends
index 33f217df8..a9999a628 100644
--- a/share/html/Ticket/Graphs/Elements/ShowLegends
+++ b/share/html/Ticket/Graphs/Elements/ShowLegends
@@ -45,27 +45,32 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<&| /Widgets/TitleBox, title => loc('Legends'), hideable => $hideable &>
-<table>
+<div class="col-md-12">
+  <&| /Widgets/TitleBox, title => loc('Legends'), hideable => $hideable &>
 
-<tr style="height: 2.8em;"><td><% loc('Status') %>:</td><td>
+    <div class="form-row">
+      <% loc('Status') %>:
+    </div>
+    <div class="form-row">
 % 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 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">
+      <% loc($FillUsing) %>:
+    </div>
+    <div class="form-row">
 % 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 style="background-color: <% $color %>; padding: 0.6em; border: 1px solid black;"><% loc($value) %></span>
 % }
-</td></tr>
+    </div>
 % }
-
-</table>
-</&>
+  </&>
+</div>
 
 <%ARGS>
 $FillUsing => ''
diff --git a/share/html/Ticket/ModifyAll.html b/share/html/Ticket/ModifyAll.html
index 847ebc0e4..3265a99db 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%>" class="form-control" />
 % $m->callback( %ARGS, CallbackName => 'AfterSubject' );
     </span>
   </div>
diff --git a/share/html/Ticket/Update.html b/share/html/Ticket/Update.html
index 4169b8003..8bc495951 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>
 % }
@@ -153,7 +153,7 @@
 % }
 % $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="field"><span class="label"><&|/l&>Subject</&>:</span><span class="value"><input class="form-control" type="text" name="UpdateSubject" value="<% $ARGS{UpdateSubject} || $TicketObj->Subject || '' %>" />
 % $m->callback( %ARGS, CallbackName => 'AfterSubject' );
 </span></div>
 
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