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

Craig Kaiser craig at bestpractical.com
Wed May 8 19:38:17 EDT 2019


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

- Log -----------------------------------------------------------------
commit b51534875b71e48940be08f441bcc76759cb1862
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..74e4b9425 100644
--- a/share/html/Ticket/Elements/Reminders
+++ b/share/html/Ticket/Elements/Reminders
@@ -73,36 +73,42 @@ 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 {
 %   $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>
+  <i><&|/l&>(Check box to complete)</&></i>
 % }
 <hr>
 % } else {
@@ -122,8 +128,13 @@ 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>
 $Ticket
@@ -132,7 +143,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 +155,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') ) {
-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"
+% }
+        />
+      </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"
+% }
+          />
+        </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 +219,33 @@ $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>
+</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..a1c2cb734 100644
--- a/share/html/Ticket/Elements/ShowAttachments
+++ b/share/html/Ticket/Elements/ShowAttachments
@@ -58,15 +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" <% $Selectable ? 'class="selectable"' : '' |n %> >
 % foreach my $rev (@{$documents{$key}}) {
 % if ($rev->ContentLength) {
-<li>
+<li class="list-group-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">
diff --git a/share/html/Ticket/Elements/ShowBasics b/share/html/Ticket/Elements/ShowBasics
index 9455a6d23..9b9162fe7 100644
--- a/share/html/Ticket/Elements/ShowBasics
+++ b/share/html/Ticket/Elements/ShowBasics
@@ -77,23 +77,26 @@
 % $m->callback( %ARGS, CallbackName => 'AfterTimeEstimated', TicketObj => $Ticket );
 % if ($Ticket->TimeWorked) {
   <div class="time worked sum field">
-    <span class="label"><&|/l&>Worked</&>:</span>
-    <span class="value"><& ShowTime, minutes => $Ticket->TimeWorked &></span>
+    <span class="label col-md-3">
+      <&|/l&>Worked</&>:
+    </span>
+    <span class="value col-md-9">
+      <& ShowTime, minutes => $Ticket->TimeWorked &>
+    </span>
   </div>
 % }
 % if ( keys %$time_worked ) {
 <div class="time worked by-user field">
-  <span class="label"><&|/l&>Users</&>:</span>
-  <span>
-    <table>
+  <span class="label col-md-3">
+    <&|/l&>Users</&>:
+  </span>
 %   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">
+    <span class="value col-md-9">
+      <% $user %>: <& /Ticket/Elements/ShowTime, minutes => $time_worked->{$user} &>
+    </span>
+  </div>
 %   }
-    </table>
-  </span>
 </div>
 % }
 % $m->callback( %ARGS, CallbackName => 'AfterTimeWorked', TicketObj => $Ticket );
diff --git a/share/html/Ticket/Elements/ShowRequestor b/share/html/Ticket/Elements/ShowRequestor
index 759f451e1..779b7a3e4 100644
--- a/share/html/Ticket/Elements/ShowRequestor
+++ b/share/html/Ticket/Elements/ShowRequestor
@@ -65,8 +65,10 @@
 <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="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.
@@ -74,68 +76,70 @@
 <& 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 class="list-group">
 % my $index = 1;
 % for my $status ( @$status_order ) {
-    <li>
+        <li class="list-group-item">
 % 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>]
+          [<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>
 %# 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..4b77a19aa 100644
--- a/share/html/Ticket/Elements/ShowSummary
+++ b/share/html/Ticket/Elements/ShowSummary
@@ -45,22 +45,22 @@
 %# 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 &></&>
+      &><& /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" : "",
-        &>
-
+      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',
+      (($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') &>
@@ -68,32 +68,32 @@
     <& /Ticket/Elements/ShowRequestor, Ticket => $Ticket &>
 % $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',
+      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 action="<%RT->Config->Get('WebPath')%>/Ticket/Display.html" name="UpdateReminders" id="UpdateReminders" method="post">
+        <& /Ticket/Elements/Reminders, Ticket => $Ticket, ShowCompleted => 0 &>
+      </form>
     </&>
 % }
 % $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',
+      ($can_modify ? (title_href => RT->Config->Get('WebPath')."/Ticket/ModifyDates.html?id=".$Ticket->Id) : ()),
+      class => 'ticket-info-dates',
     &><& /Ticket/Elements/ShowDates, Ticket => $Ticket &></&>
 % $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 &>
+    <& /Ticket/Elements/ShowAssets, Ticket => $Ticket &>
 % $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,
+      ($can_modify ? (title_href => RT->Config->Get('WebPath')."/Ticket/ModifyLinks.html?id=".$Ticket->Id) : ()),
+      class => 'ticket-info-links',
+      @extra,
     &><& /Elements/ShowLinks, Object => $Ticket &></&>
 % $m->callback( %ARGS, CallbackName => 'RightColumn' );
   </div>
diff --git a/share/html/Ticket/Elements/ShowUpdateStatus b/share/html/Ticket/Elements/ShowUpdateStatus
index 87da70b97..83573a27f 100644
--- a/share/html/Ticket/Elements/ShowUpdateStatus
+++ b/share/html/Ticket/Elements/ShowUpdateStatus
@@ -46,13 +46,13 @@
 %#
 %# 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>.</&>
-</&>
+  <&| /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..4c139d490 100644
--- a/share/html/Ticket/Graphs/Elements/EditGraphProperties
+++ b/share/html/Ticket/Graphs/Elements/EditGraphProperties
@@ -47,41 +47,72 @@
 %# 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">
+      <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">
+      <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">
+      <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">
 % 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 />
+    </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">
+      <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 +123,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 label">
+      <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>
+    </div>
+  </div>
 % }
 
 <%PERL>
@@ -119,7 +157,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 +193,30 @@ 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">
+      <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="custom-control custom-checkbox">
+          <input type="checkbox" class="custom-control-input" id="Level-<% $prop %>-Properties" name="Level-<% $Level %>-Properties" value="<% $prop %>" <% $checked |n %> />
+          <label class="custom-control-label" for="Level-<% $prop %>-Properties"><% loc($prop) %></label>
+        </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..da48dc7f7 100644
--- a/share/html/Ticket/Graphs/Elements/ShowLegends
+++ b/share/html/Ticket/Graphs/Elements/ShowLegends
@@ -46,25 +46,27 @@
 %#
 %# 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">
+    <% 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>
 </&>
 
 <%ARGS>
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'});
diff --git a/t/web/ticket_timeworked.t b/t/web/ticket_timeworked.t
index dc52cebd8..0df79bfe0 100644
--- a/t/web/ticket_timeworked.t
+++ b/t/web/ticket_timeworked.t
@@ -107,11 +107,11 @@ diag "checking parent ticket for expected timeworked data"; {
         "found expected total TimeWorked in parent ticket"
     );
     $m->content_like(
-        qr{(?s)user_a:.+?value">1\.33 hours \(80 minutes\)},
+        qr{(?s)user_a:.+1\.33 hours \(80 minutes\)},
         "found expected user_a TimeWorked in parent ticket"
     );
     $m->content_like(
-        qr{(?s)user_b:.+?value">1\.5 hours \(90 minutes\)},
+        qr{(?s)user_b:.+1\.5 hours \(90 minutes\)},
         "found expected user_b TimeWorked in parent ticket"
     );
 }
@@ -124,7 +124,7 @@ diag "checking child ticket 1 for expected timeworked data"; {
         "found expected total TimeWorked in child ticket 1"
     );
     $m->content_like(
-        qr{(?s)user_a:.+?value">45 minutes},
+        qr{(?s)user_a:.+45 minutes},
         "found expected user_a TimeWorked in child ticket 1"
     );
 }
@@ -137,11 +137,11 @@ diag "checking child ticket 2 for expected timeworked data"; {
         "found expected total TimeWorked in child ticket 2"
     );
     $m->content_like(
-        qr{(?s)user_a:.+?value">35 minutes},
+        qr{(?s)user_a:.+35 minutes},
         "found expected user_a TimeWorked in child ticket 2"
     );
     $m->content_like(
-        qr{(?s)user_b:.+?value">1\.5 hours \(90 minutes\)},
+        qr{(?s)user_b:.+1\.5 hours \(90 minutes\)},
         "found expected user_b TimeWorked in child ticket 2"
     );
 }

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


More information about the rt-commit mailing list