[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