[Rt-commit] rt branch, 4.6-theme/ticket-pages, repushed
Craig Kaiser
craig at bestpractical.com
Wed May 8 19:38:23 EDT 2019
The branch 4.6-theme/ticket-pages was deleted and repushed:
was 7a2d8741253585b35a248f778b9f331128d4a6dd
now b51534875b71e48940be08f441bcc76759cb1862
1: 7f13f0055 = 1: 7f13f0055 Allow for multiple base themes by avoiding showing any to the user
2: 0ce97154b = 2: 0ce97154b Add unaltered copies of base and rudder themes to make responsive
3: 565e91062 = 3: 565e91062 rudder-responsive imports base-responsive rather than base
4: c151cf258 = 4: c151cf258 Make boxcontainer padding rules less demanding
5: 45e22b27c = 5: 45e22b27c Make RT at a glance two-column layout responsive
6: 66a41a296 = 6: 66a41a296 Improve whitespace around content for rudder-responsive
7: f0df65c03 = 7: f0df65c03 Generalize the two-column layout markup
8: 4a2814fdb = 8: 4a2814fdb Add a grid system
9: b7008bcd8 = 9: b7008bcd8 Make ticket display ShowSummary responsive
10: 2a14260d4 = 10: 2a14260d4 Make search field really narrow on narrow screens
11: 050d2b466 = 11: 050d2b466 Make the "new ticket in" and queue selector responsive
12: 7293efce0 = 12: 7293efce0 Narrow gap between new ticket and search fields on narrow screens
13: 26d3640d3 = 13: 26d3640d3 Display more of the title when the page is narrow
14: 743fca5fe = 14: 743fca5fe On narrow screens pop up a modal for selecting ticket queue
15: fc435d351 = 15: fc435d351 Hide "RT for example.com" on narrow screens
16: c12f7a2fd = 16: c12f7a2fd Eliminate history display's margin-left on narrow screens
17: 031767c67 = 17: 031767c67 On very narrow screens, zero out body padding
18: a70a12eb8 = 18: a70a12eb8 Get rid of horizontal padding on ticket history on narrow screens
19: ed77add0f = 19: ed77add0f Collapse padding at a wider (700px) viewport
20: bf6072713 = 20: bf6072713 Prevent reminders from breaking layout with its long text field
21: 3bf0b2783 = 21: 3bf0b2783 Convert Links table to have .fields/.field using table CSS
22: ef390831d = 22: ef390831d Improve styling of links for small screens
23: 9e0e238dc = 23: 9e0e238dc Don't wrap labels
24: abde98f8c = 24: abde98f8c Limit the breakdown of fields tables to just "wide" ones
25: a036b7218 = 25: a036b7218 Convert basics, dates, and people groupings away from tables
26: 18410558f = 26: 18410558f Add margin-left to <li>s within a wide fields table that breaks
27: abe679392 = 27: abe679392 Make padding on field names more consistent
28: 4535278a7 = 28: 4535278a7 Convert new reminder form from table to fields
29: 902013336 = 29: 902013336 Improve rendering of ticket update page
30: b83145a17 = 30: b83145a17 Add messagedetails to jumbo page titlebox
31: b30e4e3be = 31: b30e4e3be Improve display of reminders table and form
32: a3debdb88 = 32: a3debdb88 Avoid breaking layout with new reminder subject
33: a4ec31340 = 33: a4ec31340 Remove minimum height from titleboxes
34: 9e2e9f847 = 34: 9e2e9f847 Restore original titlebox padding rule but only for fields
35: f048c2714 = 35: f048c2714 Remove spurious <br> tag
36: 14bd5afdb = 36: 14bd5afdb Switch ticket update from tables to fields
37: b6076f108 = 37: b6076f108 Linearize ticket update form on narrow widths
38: 9847f9464 = 38: 9847f9464 Make update form take up 100% of the titlebox
39: 3f12ac4ab = 39: 3f12ac4ab Fix reply cc/bcc/subject fields to be 100% width
40: 7d903afc9 = 40: 7d903afc9 Rename .crypto to .empty to better explain what it's for
41: 0b1e7df31 = 41: 0b1e7df31 Make ticket create responsive
42: 21b722a26 = 42: 21b722a26 First pass at responsive for SelfService/Create
43: a5c7652c3 = 43: a5c7652c3 First pass at responsive for SelfService/Update
44: 8b58c4a15 = 44: 8b58c4a15 Remove AsTable from Edit CFs
45: 921d72c94 = 45: 921d72c94 Remove these pre-responsive CF edit styles
46: f5bcb7577 = 46: f5bcb7577 Wrap selfservice update form in a titlebox
47: 94e44ea62 = 47: 94e44ea62 Wrap selfservice create form in a titlebox
48: efe3f52d3 = 48: efe3f52d3 Convert selfservice display to responsive
49: fc80f17b7 = 49: fc80f17b7 Switch ShowCustomFields from table to fields
50: d26da2aa1 = 50: d26da2aa1 Fix transaction actions overlapping description
51: 726ff3ed2 = 51: 726ff3ed2 Switch QuickCreate from table to fields
52: 1dac409ae = 52: 1dac409ae Improve whitespace around fields
53: f99594d6b = 53: f99594d6b Improve padding and spacing on forms
54: 9b94580d3 = 54: 9b94580d3 Have searches use the full width of the viewport
55: df8c440d3 = 55: df8c440d3 Make login box more responsive
56: 6c19bf649 = 56: 6c19bf649 Add missing type="text" for login username input
57: ff38918b6 = 57: ff38918b6 Improve form rendering for Mobile Safari
58: bc548a5bb = 58: bc548a5bb Separate existing reminders from create form with hr only if there are reminders
59: 3d16535fd = 59: 3d16535fd Remove unnecessary margin-top on collection tables
60: a6e560500 = 60: a6e560500 Fix save button on ticket reminders to not use inline style
61: 33e559e98 = 61: 33e559e98 Fix error result background color for rudder
62: 6366d835d = 62: 6366d835d Make QueueList take up the full width
63: 753b2e278 = 63: 753b2e278 Give rudder the responsive viewport meta tag
64: 96258f3a2 = 64: 96258f3a2 Turn off autocapitalize on usernames
65: b738946b7 = 65: b738946b7 Don't let users select the "drop files here" dropzone text
66: ed9896623 = 66: ed9896623 Improve error transaction colors
67: fc2c7dd24 = 67: fc2c7dd24 Replace ShowAttachments's <font size="-2"> with CSS
68: 0ed134c2a = 68: 0ed134c2a Word-break very (perhaps maliciously) long attachment names
69: 329257c04 = 69: 329257c04 Limit the width of quickcreate since it looks silly when very very wide
70: 7e8fc73fa = 70: 7e8fc73fa Use full width for MyReminders table
71: 5acf57a6e = 71: 5acf57a6e Fix Modify Basics to be div.fields rather than table
72: 13b9aa7be = 72: 13b9aa7be Add missing type="text" to more input fields
73: 37a3c8190 = 73: 37a3c8190 Avoid menulist-button styling for multi-row select boxes
74: 76ebbf037 = 74: 76ebbf037 Middle valign fields
75: abd46fe43 = 75: abd46fe43 Convert EditPeople from nested tables to responsive
76: 6b1ed3291 = 76: 6b1ed3291 Load the correct version of msie.css
77: 55f62d910 = 77: 55f62d910 Add a BeforeNav stylesheet plugin
78: 713ae954b = 78: 713ae954b Make menus overflow into a "More" item on narrow viewports
79: 0817597f0 = 79: 0817597f0 Remove hyperlink behavior from top-level More menu items
80: 51ff61b95 = 80: 51ff61b95 Add type attribute to many input fields that were missing it
81: 9920a2bae = 81: 9920a2bae Fix css rule for one-time cc etc becoming email fields
82: 639ec0a0a = 82: 639ec0a0a Switch new ticket create popup to a list of links rather than a select
83: 263260d84 = 83: 263260d84 Fix a regression on legacy themes with CF edit panels
84: e7a24762e = 84: e7a24762e Override 400px width of jquery modals
85: d05db9319 = 85: d05db9319 Fix quick create on narrow screens
86: 1ce3e7535 = 86: 1ce3e7535 Fix width regression with quickcreate requestor field
87: 0bdd6b928 = 87: 0bdd6b928 Switch AddLinks from tables to fields
88: de71b019f = 88: de71b019f Improve rendering of date editing form
89: 7e88d621b = 89: 7e88d621b Improve padding to be more consistent
90: 15dd4d5e1 = 90: 15dd4d5e1 Make modify links use fluid two-column layout
91: 4bb74ee24 = 91: 4bb74ee24 Improve edit links to use fields instead of a table
92: 71adf4d59 = 92: 71adf4d59 Convert merge from table to fields
93: 8bed2a517 = 93: 8bed2a517 Use the same nomenclature "Message" not "Content" for jumbo
94: 821af7169 = 94: 821af7169 Switch Jumbo reply panel from table to fields
95: 451b94ebf = 95: 451b94ebf Jumbo: Wrap both basic fields and custom fields in a single fields table
96: 8e0edb097 = 96: 8e0edb097 Make message form on Jumbo more consistent
97: 3410d1f86 = 97: 3410d1f86 Make simple search form more responsive
98: ac878afd0 = 98: ac878afd0 Fix rudder-responsive getting bottom border radius
99: ee6fd153c = 99: ee6fd153c Remove margin-right from titleboxes in rudder-responsive
100: 19e92fb58 = 100: 19e92fb58 Improve design of more about requestors panel
101: 0795549da = 101: 0795549da Make user prefs page responsive to small screens
102: 3142b6f1e = 102: 3142b6f1e Remove 20em width from ticket subject on basics
103: d2c34c901 = 103: d2c34c901 Wrap forward message in a titlebox
104: e93736f6e = 104: e93736f6e Switch forward from table to fields
105: 865306bb5 = 105: 865306bb5 Fix "more about requestors" overlap
106: a91ad6b41 = 106: a91ad6b41 Update tests for the responsive HTML change
107: 309321394 = 107: 309321394 Fix Nav tweaking for installer mode
108: 5d80cac56 = 108: 5d80cac56 Initial elevator theme, copied from rudder-responsive
109: 9e2710667 = 109: 9e2710667 Add popper.js 1.14.6 dependency
110: d5361e4f8 = 110: d5361e4f8 Add bootstrap 4.2.1 dependency
111: ce6db31de = 111: ce6db31de Add missing "field" css class for Started field
112: 18b4c17ed = 112: 18b4c17ed Get rid of strikethrough in menu
113: 2c1913cea = 113: 2c1913cea Fix h1 position to make it vertically centered
114: 16a290165 = 114: 16a290165 Fix results position to make it vertically centered
115: fa1eddb07 = 115: fa1eddb07 Drop the incomplete rudder-responsive theme
116: 30c74df65 = 116: 30c74df65 Update copyright to 2019 for new added theme related files
117: 8202a7ed6 = 117: 8202a7ed6 Initial elevator-dark theme
118: 6e8c418d2 = 118: 6e8c418d2 Add bootstrap-select 1.13.7 dependency
119: 65a2b8e72 = 119: 65a2b8e72 Switch to bootstrap styled table
120: d3c438a8c = 120: d3c438a8c Switch to bootstrap card for titleboxes
121: 19983ce0c = 121: 19983ce0c Add %ThemeJSFiles config to serve different js for different themes
122: c20ba1ee1 = 122: c20ba1ee1 Migrate search builder for elevator themes
123: c381b52d6 = 123: c381b52d6 Migrate homepage to elevator themes
124: 2b95d7c55 = 124: 2b95d7c55 Add bootstrap-combobox 1.2.0 dependency
125: 16785047a = 125: 16785047a Migrate cf edit components to elevator themes
126: 3434d9955 = 126: 3434d9955 Migrate ticket modify pages to elevator themes
127: 3287cf808 = 127: 3287cf808 Migrate Reports pages to elevator themes
128: 5cca4857d = 128: 5cca4857d Migrate Admin/Scrips/index to elevator themes
129: d38e146cd = 129: d38e146cd Migrate Admin/Scrips/Create to elevator themes
130: ef2c1e2f4 = 130: ef2c1e2f4 Migrate Admin/Scrips/Modify to elevator themes
131: 71c8971a2 = 131: 71c8971a2 Migrate Admin/Scrips/Objects to elevator themes
132: b487bd5e5 = 132: b487bd5e5 Migrate Admin/Actions/Display to elevator themes
133: f1112cfd9 = 133: f1112cfd9 Update asset CSS and JS files for elevator theme
134: 96287645d = 134: 96287645d Update asset display components for elevator theme
135: 9317af1b2 = 135: 9317af1b2 Update asset create/modify components for elevator theme
136: edb9d71e1 = 136: edb9d71e1 Update asset search components for elevator theme
137: 1983b0460 = 137: 1983b0460 Migrate Admin/Actions/Create to elevator themes
138: 93ba4a292 = 138: 93ba4a292 Migrate Admin/Actions/Modify to elevator themes
139: be2c9fbaa = 139: be2c9fbaa Migrate Admin/Conditions/Create to elevator themes
140: 440891534 = 140: 440891534 Migrate Admin/Conditions/Modify to elevator themes
141: c9d4607cb = 141: c9d4607cb Migrate Admin/Conditions/Display to elevator themes
142: 7a2d87412 ! 142: b51534875 Migrate ticket pages to elevator theme
@@ -35,87 +35,72 @@
--- a/share/html/Ticket/Elements/Reminders
+++ b/share/html/Ticket/Elements/Reminders
@@
- <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">
++<div class="form-row">
% if ( $Edit ) {
-<th class="collection-as-table" colspan="5"><&|/l&>Reminders</&></th>
-+ <div class="col-md-12">
-+ <&|/l&>Reminders</&>
-+ </div>
++ <&|/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>
++ <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>
++</div>
% my $i = 0;
% while ( my $reminder = $reminder_collection->Next ) {
-+ <div class="form-row">
++<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" />
++ <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 &>
++ <& 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 &>
++ <& SELF:ShowEntry, Reminder => $reminder, Ticket => $Ticket, Index => $i &>
% }
% }
-+ </div>
++</div>
% }
-</table>
+
% if ( $editable ) {
-<i><&|/l&>(Check box to complete)</&></i>
-+ <div class="form-row">
-+ <i><&|/l&>(Check box to complete)</&></i>
-+ </div>
++ <i><&|/l&>(Check box to complete)</&></i>
% }
<hr>
% } else {
@@
% }
- % 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>
++<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>
@@ -151,7 +136,7 @@
+ <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"
++ <input class="custom-control-input" name="Complete-Reminder-<% $Reminder->id %>" type="hidden"
+ value=<% $Reminder->Status eq $Reminder->LifecycleObj->ReminderStatusOnResolve ? 1 : 0 %>
+ />
% }
@@ -161,17 +146,6 @@
-<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"
-% }
@@ -184,7 +158,18 @@
-<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"
++ 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>
@@ -231,25 +216,31 @@
% 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 %>
++ <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>
-+ disabled="disabled"
-+% }
-+ />
-+ <label class="custom-control-label" for="Complete-Reminder-<% $Reminder->id %>"><% $Reminder->Subject %></label>
-+ </div>
++ />
++ <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>
@@ -277,22 +268,6 @@
--- a/share/html/Ticket/Elements/ShowAttachments
+++ b/share/html/Ticket/Elements/ShowAttachments
@@
- %#
- %# 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 );
-
-@@
% foreach my $key (sort { lc($a) cmp lc($b) } keys %documents) {
<span class="filename"><%$key%></span>
@@ -301,7 +276,7 @@
% foreach my $rev (@{$documents{$key}}) {
% if ($rev->ContentLength) {
-<li>
-+<li class="list-item">
++<li class="list-group-item">
% if ($Selectable) {
<label>
@@ -316,14 +291,6 @@
% }
<span class="revision">
-@@
-
- </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
--- a/share/html/Ticket/Elements/ShowBasics
@@ -371,92 +338,78 @@
--- a/share/html/Ticket/Elements/ShowRequestor
+++ b/share/html/Ticket/Elements/ShowRequestor
@@
- % }
-
- <&| /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">
+ <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">
++ <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 &>
+@@
+ <& 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>
- % }
--
++ <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>
++ <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>
++ <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">\
++ <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++ %>">\
++ <a href="<% $url | n %>" title="requestor-<%$requestor->Id%>-ticket-tab-<% $index++ %>">\
% }
<% $status_link_text->{$status} %></a>
- </li>
-+ </li>
++ </li>
% }
- </ul>
-+ </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 &>
++ <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 id="requestor-<%$requestor->Id%>-ticket-tab-<% $index++ %>" class="hidden">
++ <span class="label"><&|/l&>Loading...</&></span>
++ </div>
% }
- </div>
% }
-</div>
-+ </div>
++ </div>
% }
% my $grouplimit = RT->Config->Get('MoreAboutRequestorGroupsLimit');
@@ -464,28 +417,28 @@
-<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</&>
++ <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>]
++ [<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>
++ </span>
++ <span class="value"><& /Elements/ShowMemberships, UserObj => $requestor, Limit => $grouplimit &></span>
++ </div>
% }
%# end of individual requestor details <div>
-+ </div>
-+ </div>
-+ </div>
- </div>
- % }
+- </div>
++ </div>
+ % }
++</div>
%# end of requestors loop
% $m->callback( %ARGS, CallbackName => 'AfterRequestors' );
@@ -507,133 +460,82 @@
+<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',
+ <&| /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 &>
-+ </&>
++ &><& /Ticket/Elements/ShowBasics, Ticket => $Ticket &>
++ </&>
% $m->callback( %ARGS, CallbackName => 'AfterBasics' );
-- <& /Elements/ShowCustomFieldCustomGroupings,
+ <& /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'),
++ 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 &></&>
++ (($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>
+ <& /Ticket/Elements/ShowAttachments, Ticket => $Ticket, Attachments => $Attachments, Count => RT->Config->Get('AttachmentListCount') &>
+@@
+ <& /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"),
+ <&|/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">
-+ <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 &>
+- <& /Ticket/Elements/Reminders, Ticket => $Ticket, ShowCompleted => 0 &>
- </form>
-- </&>
-+ </form>
-+ </&>
-+ </div>
-+ </div>
++ <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"),
+ <&| /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>
++ ($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 &>
-+ <div class="form-row">
-+ <div class="col-md-12">
-+ <& /Ticket/Elements/ShowAssets, Ticket => $Ticket &>
-+ </div>
-+ </div>
++ <& /Ticket/Elements/ShowAssets, Ticket => $Ticket &>
% $m->callback( %ARGS, CallbackName => 'LinksExtra', extra => \@extra );
-- <&| /Widgets/TitleBox, title => loc('Links'),
+ <&| /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>
++ ($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>
- </div>
diff --git a/share/html/Ticket/Elements/ShowUpdateStatus b/share/html/Ticket/Elements/ShowUpdateStatus
--- a/share/html/Ticket/Elements/ShowUpdateStatus
+++ b/share/html/Ticket/Elements/ShowUpdateStatus
@@
- %# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
--<div class="unread-messages">
+ <div class="unread-messages">
-<&| /Widgets/TitleBox, title => loc('New messages'), title_href => "#txn-". $txn->id &>
-<&|/l&>There are unread messages on this ticket.</&>
-<&|/l,
@@ -641,7 +543,6 @@
- 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,
@@ -734,67 +635,94 @@
--- a/share/html/Ticket/Graphs/Elements/EditGraphProperties
+++ b/share/html/Ticket/Graphs/Elements/EditGraphProperties
@@
- %# 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') &>
+ <&| /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>
++ <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 />
-+ </select><br />
-
- <% loc('Main type of links') %> <select name="LeadingLink">
+-
+-<% 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>
++ <option value="<% $_ %>" <% ($LeadingLink||'Members') eq $_? 'selected="selected"': '' |n %>><% loc($_) %></option>
% }
-</select>
-+ </select>
++ </select>
++ </div>
++ </div>
-<% 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>
++ <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>
++ <option value="<% $_ %>" <% ($MaxDepth||0) == $_? 'selected="selected"': '' %>><% $_ %></option>
% }
-</select><br />
-+ </select><br />
++ </select>
++ </div>
++ </div>
-<% loc('Show as well') %>:
-+ <% 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>
++ <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 />
++ </div>
++ </div>
% 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>
++ <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) ) {
@@ -803,10 +731,12 @@
$selected = 'selected="selected"' if $prop eq ($FillUsing||'');
</%PERL>
-<option value="<% $prop %>" <% $selected |n %>><% loc($prop) %></option>
-+ <option value="<% $prop %>" <% $selected |n %>><% loc($prop) %></option>
++ <option value="<% $prop %>" <% $selected |n %>><% loc($prop) %></option>
% } }
-</select><br />
-+ </select><br />
++ </select>
++ </div>
++ </div>
% if ( RT::Link->can('Description' ) ) {
% my $checked = '';
@@ -814,11 +744,14 @@
-<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 />
++ <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>
@@ -833,37 +766,70 @@
+ </div>
+ </div>
--</&>
-+ </&>
-+</div>
-
- <%ARGS>
- $id => undef
+ </&>
+
+@@
+ 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
--- a/share/html/Ticket/Graphs/Elements/ShowLegends
+++ b/share/html/Ticket/Graphs/Elements/ShowLegends
@@
- %# those contributions and any derivatives thereof.
%#
%# END BPS TAGGED BLOCK }}}
--<&| /Widgets/TitleBox, title => loc('Legends'), hideable => $hideable &>
+ <&| /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">
++ <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>
++ </div>
% if ( $FillUsing ) {
-<tr style="height: 2.8em;"><td><% loc($FillUsing) %>:</td><td>
@@ -881,12 +847,9 @@
% }
-
-</table>
--</&>
-+ </&>
-+</div>
+ </&>
<%ARGS>
- $FillUsing => ''
diff --git a/share/html/Ticket/ModifyAll.html b/share/html/Ticket/ModifyAll.html
--- a/share/html/Ticket/ModifyAll.html
More information about the rt-commit
mailing list