[Rt-commit] rt branch, 4.6-theme/assets-pages, repushed
Craig Kaiser
craig at bestpractical.com
Wed Apr 17 10:17:24 EDT 2019
The branch 4.6-theme/assets-pages was deleted and repushed:
was d396520831f093cfeff5d2fb7b00f71be7cc948a
now 8cbbb510ad7c102329172b69abc8179788334c40
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: 4dfa4fb64 = 127: 4dfa4fb64 Update asset CSS and JS files for elevator theme
128: 0286cb40c ! 128: c3c6f8be1 Update CSS for asset display components for elevator theme
@@ -10,10 +10,12 @@
<span class="catalog <% CSSClass($asset->CatalogObj->Name) %>">
-<& Elements/ShowSummary, AssetObj => $asset &>
-+ <div class="boxcontainer col-md-12">
-+ <div class="col-md-12 form-row">
-+ <div class="col-md-12">
-+ <& Elements/ShowSummary, AssetObj => $asset &>
++ <div class="col-md-12">
++ <div class="col-md-12">
++ <div class="form-row">
++ <div class="col-md-12">
++ <& Elements/ShowSummary, AssetObj => $asset &>
++ </div>
+ </div>
+ </div>
@@ -24,13 +26,15 @@
- ShowDisplayModes => 0,
- DisplayPath => 'History.html',
- &>
-+ <div class="col-md-12 form-row">
-+ <div class="col-md-12">
-+ <& /Elements/ShowHistory,
-+ Object => $asset,
-+ ShowDisplayModes => 0,
-+ DisplayPath => 'History.html',
-+ &>
++ <div class="col-md-12">
++ <div class="form-row">
++ <div class="col-md-12">
++ <& /Elements/ShowHistory,
++ Object => $asset,
++ ShowDisplayModes => 0,
++ DisplayPath => 'History.html',
++ &>
++ </div>
+ </div>
+ </div>
@@ -67,52 +71,71 @@
- <& /Elements/ShowCustomFields, Object => $AssetObj, Grouping => 'Basics', Table => 0 &>
-% $m->callback(%ARGS, CallbackName => "AfterFields");
-</table>
-+<div class="boxcontainer">
-+ <div class="col-md-12">
-+ <span class="col-md-3 asset-catalog label">
++<div class="col-md-12">
++ <div class="form-row">
++ <div class="col-md-3 asset-catalog label">
+ <&|/l&>Catalog</&>:
-+ </span>
-+ <span class="col-md-9 value">
-+ <& ShowCatalog, Asset => $AssetObj &>
-+ </span>
-+ </div>
++ </div>
++ <div class="col-md-9 value">
++ <span class="current-value form-control"><& ShowCatalog, Asset => $AssetObj &></span>
++ </div>
++ </div>
++</div>
+
-+ <div class="col-md-12">
-+ <span class="col-md-4 asset-name label">
++<div class="col-md-12">
++ <div class="form-row">
++ <div class="col-md-4 asset-name label">
+ <&|/l&>Name</&>:
-+ </span>
-+ <span class="col-md-9 value">
-+ <% $AssetObj->Name || '' %>
-+ </span>
-+ </div>
++ </div>
++ <div class="col-md-9 value">
++ <span class="current-value form-control"><% $AssetObj->Name || '' %></span>
++ </div>
++ </div>
++</div>
+
-+ <div class="col-md-12">
-+ <span class="col-md-3 asset-description label">
++<div class="col-md-12">
++ <div class="form-row">
++ <div class="col-md-3 asset-description label">
+ <&|/l&>Description</&>:
-+ </span>
-+ <span class="col-md-9 value">
-+ <% $AssetObj->Description || '' %>
-+ </span>
-+ </div>
++ </div>
++ <div class="col-md-9 value">
++ <span class="current-value form-control"><% $AssetObj->Description || '' %></span>
++ </div>
++ </div>
++</div>
+
-+ <div class="col-md-12">
-+ <span class="col-md-3 asset-status label">
++<div class="col-md-12">
++ <div class="form-row">
++ <div class="col-md-3 asset-status label">
+ <&|/l&>Status</&>:
-+ </span>
-+ <span class="col-md-9 value">
-+ <% $AssetObj->Status || '' %>
-+ </span>
-+ </div>
++ </div>
++ <div class="col-md-9 value">
++ <span class="current-value form-control"><% $AssetObj->Status || '' %></span>
++ </div>
++ </div>
++</div>
+
-+ <div class="col-md-12">
-+ <div class="col-md-12">
-+ <& /Elements/ShowCustomFields, Object => $AssetObj, Grouping => 'Basics' &>
-+ </div>
++<div class="col-md-12">
++ <div class="form-row">
++ <& /Elements/ShowCustomFields, Object => $AssetObj, Grouping => 'Basics' &>
+ </div>
+</div>
<%args>
$AssetObj
</%args>
+
+diff --git a/share/html/Asset/Elements/ShowCatalog b/share/html/Asset/Elements/ShowCatalog
+--- a/share/html/Asset/Elements/ShowCatalog
++++ b/share/html/Asset/Elements/ShowCatalog
+@@
+ %# those contributions and any derivatives thereof.
+ %#
+ %# END BPS TAGGED BLOCK }}}
+-<% $value %>
++<span class="current-value form-control"><% $value %></span>
+ <%ARGS>
+ $Asset => undef
+ $Catalog => undef
diff --git a/share/html/Asset/Elements/ShowDates b/share/html/Asset/Elements/ShowDates
--- a/share/html/Asset/Elements/ShowDates
@@ -125,11 +148,7 @@
- <tr>
- <td class="label"><&|/l&>Created</&>:</td>
- <td>
-+<div class="boxcontainer col-md-12">
-+ <div class="col-md-12 form-row">
-+ <div class="col-md-3 label"><&|/l&>Created</&>:</div>
-+ <div class="col-md-9 value">
- <&|/l_unsafe,
+- <&|/l_unsafe,
- $m->interp->apply_escapes($AssetObj->CreatedAsString, 'h'),
- $m->scomp('/Elements/ShowUser', User => $AssetObj->CreatorObj)
- &>[_1] by [_2]</&>
@@ -138,28 +157,44 @@
- <tr>
- <td class="label"><&|/l&>Last Updated</&>:</td>
- <td>
-+ $m->interp->apply_escapes($AssetObj->CreatedAsString, 'h'),
-+ $m->scomp('/Elements/ShowUser', User => $AssetObj->CreatorObj)
-+ &>[_1] by [_2]</&>
-+ </div>
-+ </div>
-+ <div class="col-md-12 form-row">
-+ <div class="col-md-3 label"><&|/l&>Last Updated</&>:</div>
-+ <div class="col-md-9 value">
- <&|/l_unsafe,
+- <&|/l_unsafe,
- $m->interp->apply_escapes($AssetObj->LastUpdatedAsString, 'h'),
- $m->scomp('/Elements/ShowUser', User => $AssetObj->LastUpdatedByObj)
- &>[_1] by [_2]</&>
- </td>
- </tr>
- <& /Elements/ShowCustomFields, Object => $AssetObj, Grouping => 'Dates', Table => 0 &>
-+ $m->interp->apply_escapes($AssetObj->LastUpdatedAsString, 'h'),
-+ $m->scomp('/Elements/ShowUser', User => $AssetObj->LastUpdatedByObj)
-+ &>[_1] by [_2]</&>
-+ </div>
-+ </div>
-+ <div class="col-md-12 form-row">
-+ <& /Elements/ShowCustomFields, Object => $AssetObj, Grouping => 'Dates' &>
++<div class="col-md-12">
++ <div class="col-md-12">
++ <div class="form-row">
++ <div class="col-md-3 label"><&|/l&>Created</&>:</div>
++ <div class="col-md-9 value">
++ <span class="current-value form-control">
++ <&|/l_unsafe,
++ $m->interp->apply_escapes($AssetObj->CreatedAsString, 'h'),
++ $m->scomp('/Elements/ShowUser', User => $AssetObj->CreatorObj)
++ &>[_1] by [_2]</&>
++ </span>
++ </div>
++ </div>
++ </div>
++ <div class="col-md-12">
++ <div class="form-row">
++ <div class="col-md-3 label"><&|/l&>Last Updated</&>:</div>
++ <div class="col-md-9 value">
++ <span class="current-value form-control">
++ <&|/l_unsafe,
++ $m->interp->apply_escapes($AssetObj->LastUpdatedAsString, 'h'),
++ $m->scomp('/Elements/ShowUser', User => $AssetObj->LastUpdatedByObj)
++ &>[_1] by [_2]</&>
++ </span>
++ </div>
++ </div>
++ </div>
++ <div class="col-md-12">
++ <div class="form-row">
++ <& /Elements/ShowCustomFields, Object => $AssetObj, Grouping => 'Dates' &>
++ </div>
+ </div>
% $m->callback(%ARGS, CallbackName => "AfterFields");
-</table>
@@ -176,11 +211,12 @@
my $CatalogObj = $AssetObj->CatalogObj;
</%init>
-<table>
-+<div class="boxcontainer col-md-12">
++<div class="col-md-12">
% for my $role ($AssetObj->Roles) {
-<tr><td class="label"><% loc($role) %>:
-+ <div class="col-md-12 form-row">
-+ <div class="col-md-3 label"><% loc($role) %>:</div>
++ <div class="col-md-12">
++ <div class="form-row">
++ <div class="col-md-3 label"><% loc($role) %>:</div>
% if ($AssetObj->Role($role)->{Single}) {
% my $users = $AssetObj->RoleGroup($role)->UserMembersObj(Recursively => 0);
% $users->FindAllRows;
@@ -190,31 +226,36 @@
-<tr><td>
-<& ShowRoleMembers, Group => $AssetObj->RoleGroup($role), Title => 0 &>
-</div></td></tr>
-+ <div class="col-md-9 value">
-+ <& /Elements/ShowUser, User => $user, Link => 1 &>
-+ </div>
++ <div class="col-md-9 value">
++ <& /Elements/ShowUser, User => $user, Link => 1 &>
++ </div>
+% if ( $user->id == RT->Nobody->id ) {
-+ </div>
++ </div></div>
+% next;
+% }
-+ <div class="col-md-9 value">
-+ <& ShowRoleMembers, Group => $AssetObj->RoleGroup($role), Title => 0 &>
-+ </div>
++ <div class="col-md-9 value">
++ <& ShowRoleMembers, Group => $AssetObj->RoleGroup($role), Title => 0 &>
++ </div>
% } else {
-</td></tr><tr><td class="user-accordion">
-+ <div class="user-accordion">
- <& ShowRoleMembers, Group => $AssetObj->RoleGroup($role) &>
- <& ShowRoleMembers, Group => $CatalogObj->RoleGroup($role), Skip => $AssetObj->RoleGroup($role), Note => loc("(via this asset's catalog)") &>
+- <& ShowRoleMembers, Group => $AssetObj->RoleGroup($role) &>
+- <& ShowRoleMembers, Group => $CatalogObj->RoleGroup($role), Skip => $AssetObj->RoleGroup($role), Note => loc("(via this asset's catalog)") &>
- </td></tr>
-+ </div>
++ <div class="user-accordion">
++ <& ShowRoleMembers, Group => $AssetObj->RoleGroup($role) &>
++ <& ShowRoleMembers, Group => $CatalogObj->RoleGroup($role), Skip => $AssetObj->RoleGroup($role), Note => loc("(via this asset's catalog)") &>
++ </div>
% }
++ </div>
+ </div>
% }
-<& /Elements/ShowCustomFields, Object => $AssetObj, Grouping => 'People', Table => 0 &>
-
-</table>
+ <div class="col-md-12">
-+ <& /Elements/ShowCustomFields, Object => $AssetObj, Grouping => 'People', Table => 0 &>
++ <div class="form-row">
++ <& /Elements/ShowCustomFields, Object => $AssetObj, Grouping => 'People', Table => 0 &>
++ </div>
+ </div>
+</div>
% $m->callback( %ARGS, CallbackName => 'AfterPeople' );
@@ -223,30 +264,21 @@
--- a/share/html/Asset/Elements/ShowSummary
+++ b/share/html/Asset/Elements/ShowSummary
@@
- . "/Asset/$page?id="
. $AssetObj->id;
}
-+my $count = 0;
</%init>
-<div class="asset-metadata">
-+<div class="boxcontainer asset-metadata col-md-12">
-+ <div class="col-md-12 form-row">
++<div class="asset-metadata col-md-12">
++ <div class="form-row">
% for my $section (@sections) {
-<&| /Widgets/TitleBox, title => loc($section), title_href => $can_edit ? $link{$section} : "", title_class => "inverse", class => "asset-\L$section" &>
- <& "Show$section", AssetObj => $AssetObj &>
-</&>
-+% if ( $count == 3 ) {
-+ </div><div class="col-md-12 form-row">
-+% $count = 0;
-+% }
+ <div class="col-md-4">
-+ <div class="col-md-12">
-+ <&| /Widgets/TitleBox, title => loc($section), title_href => $can_edit ? $link{$section} : "", title_class => "inverse", class => "asset-\L$section" &>
-+ <& "Show$section", AssetObj => $AssetObj &>
-+ </&>
-+ </div>
-+ </div>
-+% $count = $count + 1;
++ <&| /Widgets/TitleBox, title => loc($section), title_href => $can_edit ? $link{$section} : "", title_class => "inverse", class => "asset-\L$section" &>
++ <& "Show$section", AssetObj => $AssetObj &>
++ </&>
++ </div>
% }
-
-<& /Elements/ShowCustomFieldCustomGroupings,
@@ -254,15 +286,12 @@
- title_href => $can_edit ? RT->Config->Get("WebPath") . "/Asset/ModifyCFs.html" : "",
- TitleBoxARGS => { title_class => "inverse" },
- &>
-+% if ( $count == 3 ) {
-+ </div><div class="col-md-12 form-row">
-+% }
-+ <div class="col-md-4">
-+ <& /Elements/ShowCustomFieldCustomGroupings,
-+ Object => $AssetObj,
-+ title_href => $can_edit ? RT->Config->Get("WebPath") . "/Asset/ModifyCFs.html" : "",
-+ TitleBoxARGS => { title_class => "inverse" },
-+ &>
++ <div class="col-md-4">
++ <& /Elements/ShowCustomFieldCustomGroupings,
++ Object => $AssetObj,
++ title_href => $can_edit ? RT->Config->Get("WebPath") . "/Asset/ModifyCFs.html" : "",
++ TitleBoxARGS => { title_class => "inverse" },
++ &>
+ </div>
+ </div>
</div>
@@ -278,7 +307,7 @@
- Object => $asset,
- ShowDisplayModes => 0,
- DisplayPath => 'History.html',
-+ <div class="boxcontainer asset-metadata col-md-12">
++ <div class="asset-metadata col-md-12">
+ <& /Elements/ShowHistory,
+ Object => $asset,
+ ShowDisplayModes => 0,
129: f1f942029 ! 129: eccb5a4d1 Update asset create components for elevator theme
@@ -50,27 +50,29 @@
- CustomFieldGenerator => sub { $catalog->AssetCustomFields },
- ForCreation => 1,
- &>
-+<div id="Asset-Create-basics" class="boxcontainer asset-metadata col-md-12">
++<div id="Asset-Create-basics" class="asset-metadata col-md-12">
+ <span class="catalog <% CSSClass($catalog->Name) %>">
+ <form method="post" enctype="multipart/form-data" id="CreateAsset" action="Create.html">
+ <input type="hidden" name="id" value="new">
+ <input type="hidden" name="Catalog" value="<% $catalog->id %>">
+
+ <a name="basics"></a>
-+ <div class="col-md-12 form-row">
-+ <div class="col-md-6">
-+ <div class="col-md-12">
++ <div class="col-md-12">
++ <div class="form-row">
++
++ <div class="col-md-4">
+ <&| /Widgets/TitleBox, title => loc("Basics"), class => "asset-basics", title_class => "inverse" &>
+ <& Elements/EditBasics, %ARGS, AssetObj => $asset, CatalogObj => $catalog &>
+ </&>
+ </div>
+
-+ <div class="col-md-12">
++ <div class="col-md-4">
+ <&| /Widgets/TitleBox, title => loc("People"), class => "asset-people", title_class => "inverse" &>
+ <& Elements/EditPeople, %ARGS, AssetObj => $asset &>
+ </&>
+ </div>
-+ <div id="Asset-Create-details" class="col-md-12">
++
++ <div id="Asset-Create-details" class="col-md-4">
+ <a name="details"></a>
+ <& /Elements/EditCustomFieldCustomGroupings,
+ Object => $asset,
@@ -80,23 +82,20 @@
+ ForCreation => 1,
+ &>
+ </div>
++
++ <div class="col-md-4">
++ <&| /Widgets/TitleBox, title => loc("Links"), class => "asset-links", title_class => "inverse" &>
++ <& /Elements/AddLinks,
++ Object => $asset,
++ CustomFields => $catalog->AssetCustomFields
++ &>
++ </&>
+ </div>
+
-+ <div class="col-md-6">
-+ <div class="col-md-12">
-+ <&| /Widgets/TitleBox, title => loc("Links"), class => "asset-links", title_class => "inverse" &>
-+ <& /Elements/AddLinks,
-+ Object => $asset,
-+ CustomFields => $catalog->AssetCustomFields
-+ &>
-+ </&>
++ <div class="col-md-12">
++ <div class="form-row">
++ <& /Elements/Submit, Label => loc('Create asset') &>
+ </div>
-+ </div>
-+ </div>
-+
-+ <div class="col-md-12 form-row">
-+ <div class="col-md-12">
-+ <& /Elements/Submit, Label => loc('Create asset') &>
+ </div>
+ </div>
+ </form>
@@ -169,7 +168,7 @@
- <&|/l_unsafe,
- $m->scomp("/Elements/SelectNewTicketQueue"),
- @description &>Create a new ticket in the [_1] queue about asset #[_2]: [_3].</&>
-+ <div class="form-group">
++ <div class="form-row">
+ <div class="col-md-12">
+ <&|/l_unsafe,
+ $m->scomp("/Elements/SelectNewTicketQueue"),
@@ -181,7 +180,7 @@
-<&|/l_unsafe,
- $m->scomp("/Elements/SelectNewTicketQueue"),
- &>Create a new ticket in the [_1] queue about multiple assets.</&>
-+ <div class="form-group">
++ <div class="form-row">
+ <div class="col-md-12">
+ <&|/l_unsafe,
+ $m->scomp("/Elements/SelectNewTicketQueue"),
@@ -192,7 +191,7 @@
% if ($Requestors) {
<input type="hidden" name="Requestors" value="<% $Requestors%>" />
% } else {
-+ <div class="form-group">
++ <div class="form-row">
% my $first = 1;
% for my $role ($asset_objs[0]->Roles) {
% my $addr = join ', ', keys %{$role_addresses{$role}};
@@ -202,7 +201,9 @@
- <input type="radio" name="Requestors" value="<% $addr %>" <% $first ? 'checked="checked"' : '' |n%>/>
- <&|/l, loc($role), $addr &>Use asset [_1] as ticket Requestor: [_2]</&>
- </label>
-+ <input class="" type="radio" name="Requestors" value="<% $addr %>" <% $first ? 'checked="checked"' : '' |n%>/>
++ <div class="custom-control custom-radio">
++ <input class="custom-control-input" type="radio" name="Requestors" value="<% $addr %>" <% $first ? 'checked="checked"' : '' |n%>/>
++ </div>
+ <&|/l, loc($role), $addr &>Use asset [_1] as ticket Requestor: [_2]</&>
% $first = 0;
% }
130: 369b78f4c ! 130: 388c355a8 Update asset modify components for elevator theme
@@ -28,6 +28,7 @@
+ data-autocomplete="Users"
+ data-autocomplete-return="Name"
+ placeholder="<% loc("Find a user...") %>"
++ class="form-control"
+ >
+ </div>
</div>
@@ -51,9 +52,25 @@
+ data-autocomplete="Groups"
+ data-autocomplete-return="Name"
+ placeholder="<% loc("Find a group...") %>"
++ class="form-control"
+ >
+ </div>
</div>
+
+diff --git a/share/html/Asset/Elements/CreateLinkedTicket b/share/html/Asset/Elements/CreateLinkedTicket
+--- a/share/html/Asset/Elements/CreateLinkedTicket
++++ b/share/html/Asset/Elements/CreateLinkedTicket
+@@
+ </%init>
+ <form action="<% RT->Config->Get("WebPath") %><% $session{CurrentUser}->Privileged ? "/Ticket" : "/SelfService" %>/Create.html" id="AssetCreateLinkedTicket">
+ <div class="col-md-12">
+- <input name="new-RefersTo" value="<% $refers_to %>" type="hidden">
+- <input name="Subject" value="<% $asset_objs[0]->Name %>" type="hidden">
++ <input class="form-control" name="new-RefersTo" value="<% $refers_to %>" type="hidden">
++ <input class="form-control" name="Subject" value="<% $asset_objs[0]->Name %>" type="hidden">
+ % if ( @asset_objs == 1 ){
+ <div class="form-row">
+ <div class="col-md-12">
diff --git a/share/html/Asset/Elements/EditBasics b/share/html/Asset/Elements/EditBasics
--- a/share/html/Asset/Elements/EditBasics
@@ -63,17 +80,21 @@
%#
%# END BPS TAGGED BLOCK }}}
-<table>
-+<div class="boxcontainer col-md-12">
++<div class="col-md-12">
% if ($AssetObj->id) {
- <tr class="asset-catalog">
- <td class="label"><label for="Catalog"><&|/l&>Catalog</&>:</label></td>
- <td><& /Asset/Elements/SelectCatalog, Default => $current{Catalog} &></td>
- </tr>
-+ <div class="col-md-12 form-row">
-+ <div class="col-md-6 form-row asset-catalog">
-+ <div class="label col-md-3"><&|/l&>Catalog</&>:</div>
-+ <div class="value col-md-9">
-+ <& /Asset/Elements/SelectCatalog, Default => $current{Catalog} &>
++ <div class="form-row">
++ <div class="col-md-12">
++ <div class="form-row">
++ <div class="col-md-6 asset-catalog">
++ <div class="label col-md-3"><&|/l&>Catalog</&>:</div>
++ <div class="value col-md-9">
++ <& /Asset/Elements/SelectCatalog, Default => $current{Catalog} &>
++ </div>
++ </div>
+ </div>
+ </div>
+ </div>
@@ -90,29 +111,48 @@
- <td class="label"><label for="Status"><&|/l&>Status</&>:</label></td>
- <td><& /Asset/Elements/SelectStatus, Name => 'Status', AssetObj => $AssetObj, CatalogObj => $CatalogObj &></td>
- </tr>
-+ <div class="col-md-6 form-row asset-name">
-+ <div class="label col-md-3"><&|/l&>Name</&>:</div>
-+ <div class="value col-md-9">
-+ <input type="text" name="Name" value="<% $current{Name} %>" size="40">
-+ </div>
-+ </div>
-+ <div class="col-md-6 form-row asset-description">
-+ <div class="label col-md-3"><&|/l&>Description</&>:</div>
-+ <div class="value col-md-9">
-+ <input type="text" name="Description" value="<% $current{Description} %>" size="40">
-+ </div>
-+ </div>
-+ <div class="col-md-6 form-row asset-status">
-+ <div class="label col-md-3"><&|/l&>Status</&>:</div>
-+ <div class="value col-md-9">
-+ <& /Asset/Elements/SelectStatus, Name => 'Status', AssetObj => $AssetObj, CatalogObj => $CatalogObj &>
++ <div class="col-md-6 asset-name">
++ <div class="form-row">
++ <div class="label col-md-3"><&|/l&>Name</&>:</div>
++ <div class="value col-md-9">
++ <input class="form-control" type="text" name="Name" value="<% $current{Name} %>" size="40">
++ </div>
++ </div>
++ </div>
++ <div class="col-md-6 asset-description">
++ <div class="form-row">
++ <div class="label col-md-3"><&|/l&>Description</&>:</div>
++ <div class="value col-md-9">
++ <input class="form-control" type="text" name="Description" value="<% $current{Description} %>" size="40">
++ </div>
++ </div>
++ </div>
++ <div class="col-md-6 asset-status">
++ <div class="form-row">
++ <div class="label col-md-3"><&|/l&>Status</&>:</div>
++ <div class="value col-md-9">
++ <& /Asset/Elements/SelectStatus, Name => 'Status', AssetObj => $AssetObj, CatalogObj => $CatalogObj &>
++ </div>
+ </div>
+ </div>
% if ( $AssetObj->id ) {
- <& /Elements/EditCustomFields, Object => $AssetObj, Grouping => 'Basics', InTable => 1 &>
+- <& /Elements/EditCustomFields, Object => $AssetObj, Grouping => 'Basics', InTable => 1 &>
++ <div class="col-md-12">
++ <div class="form-row">
++ <& /Elements/EditCustomFields, Object => $AssetObj, Grouping => 'Basics', InTable => 1 &>
++ </div>
++ </div>
% } elsif ( my @cf_names = grep { defined } @{RT->Config->Get('AssetBasicCustomFieldsOnCreate') || []} ) {
-@@
- <& /Elements/EditCustomFields, Object => $AssetObj, CustomFields => $cfs, InTable => 1, KeepValue => 1 &>
+ % my $cfs = $CatalogObj->AssetCustomFields;
+ % for my $name ( @cf_names ) {
+ % $cfs->Limit( FIELD => 'Name', VALUE => $name, CASESENSITIVE => 0 );
+ % }
+- <& /Elements/EditCustomFields, Object => $AssetObj, CustomFields => $cfs, InTable => 1, KeepValue => 1 &>
++ <div class="col-md-12">
++ <div class="form-row">
++ <& /Elements/EditCustomFields, Object => $AssetObj, CustomFields => $cfs, InTable => 1, KeepValue => 1 &>
++ </div>
++ </div>
% }
% $m->callback(%ARGS, CallbackName => "AfterFields");
-</table>
@@ -121,6 +161,122 @@
$AssetObj
$CatalogObj => undef
+diff --git a/share/html/Asset/Elements/EditCatalogPeople b/share/html/Asset/Elements/EditCatalogPeople
+--- a/share/html/Asset/Elements/EditCatalogPeople
++++ b/share/html/Asset/Elements/EditCatalogPeople
+@@
+ <& EditRoleMembers, Group => $Object->RoleGroup($role) &>
+ </div>
+ % }
+- <div class="form-row col-md-12">
+- <em><&|/l&>(Check box to delete)</&></em>
++ <div class="col-md-12">
++ <div class="form-row">
++ <em><&|/l&>(Check box to delete)</&></em>
++ </div>
+ </div>
+ </div>
+
+diff --git a/share/html/Asset/Elements/EditDates b/share/html/Asset/Elements/EditDates
+--- a/share/html/Asset/Elements/EditDates
++++ b/share/html/Asset/Elements/EditDates
+@@
+ $m->scomp('/Elements/ShowUser', User => $AssetObj->CreatorObj)
+ &>[_1] by [_2]</&>
+ </div>
+- <div class="row col-md-12">
+- <&|/l&>Last Updated</&>:
+- <&|/l_unsafe,
+- $m->interp->apply_escapes($AssetObj->LastUpdatedAsString, 'h'),
+- $m->scomp('/Elements/ShowUser', User => $AssetObj->LastUpdatedByObj)
+- &>[_1] by [_2]</&>
++ <div class="col-md-12">
++ <div class="form-row">
++ <&|/l&>Last Updated</&>:
++ <&|/l_unsafe,
++ $m->interp->apply_escapes($AssetObj->LastUpdatedAsString, 'h'),
++ $m->scomp('/Elements/ShowUser', User => $AssetObj->LastUpdatedByObj)
++ &>[_1] by [_2]</&>
++ </div>
+ </div>
+- <div class="row">
++ <div class="form-row">
+ <div class="col-md-12">
+ <& /Elements/EditCustomFields, Object => $AssetObj, Grouping => 'Dates' &>
+ </div>
+
+diff --git a/share/html/Asset/Elements/EditPeople b/share/html/Asset/Elements/EditPeople
+--- a/share/html/Asset/Elements/EditPeople
++++ b/share/html/Asset/Elements/EditPeople
+@@
+ %# those contributions and any derivatives thereof.
+ %#
+ %# END BPS TAGGED BLOCK }}}
+-<div class="boxcontainer col-md-12">
++<div class="col-md-12">
+ % for my $role ( $AssetObj->Roles ) {
+ <div class="asset-people-<% CSSClass($role) %>">
+ <div class="label col-md-3"><% loc($role) %>:</div>
+
+diff --git a/share/html/Asset/Elements/EditRoleMembers b/share/html/Asset/Elements/EditRoleMembers
+--- a/share/html/Asset/Elements/EditRoleMembers
++++ b/share/html/Asset/Elements/EditRoleMembers
+@@
+ <input class="form-control selectpicker" type="text" value="<% $Users->First->Name %>" name="SetRoleMember-<% $Group->Name %>" id="SetRoleMember-<% $Group->Name %>" data-autocomplete="Users" data-autocomplete-return="Name" /><br />
+ % } else {
+ % while ( my $user = $Users->Next ) {
+- <div class="col-md-12">
+- <input type="checkbox" name="<% $field_name %>" value="<% $user->PrincipalId %>">
++ <div class="col-md-12 custom-control custom-checkbox">
++ <input class="custom-control-input" type="checkbox" name="<% $field_name %>" value="<% $user->PrincipalId %>">
+ <& /Elements/ShowUser, User => $user &>
+ </div>
+ % }
+ % my $Groups = $Group->GroupMembersObj( Recursively => $Recursively );
+ % $Groups->LimitToUserDefinedGroups;
+ % while (my $group = $Groups->Next) {
+- <div class="col-md-12">
+- <input type="checkbox" name="<% $field_name %>" value="<% $group->PrincipalId %>">
++ <div class="col-md-12 custom-control custom-checkbox">
++ <input class="custom-control-input" type="checkbox" name="<% $field_name %>" value="<% $group->PrincipalId %>">
+ <&|/l&>Group</&>: <% $group->Name %>
+ </div>
+ % }
+
+diff --git a/share/html/Asset/Elements/SelectCatalog b/share/html/Asset/Elements/SelectCatalog
+--- a/share/html/Asset/Elements/SelectCatalog
++++ b/share/html/Asset/Elements/SelectCatalog
+@@
+ %# those contributions and any derivatives thereof.
+ %#
+ %# END BPS TAGGED BLOCK }}}
+-<& /Elements/SelectObject,
+- Name => "Catalog",
+- ShowAll => $ShowAll,
+- ShowNullOption => $ShowNullOption,
+- CheckRight => "CreateAsset",
+- %ARGS,
+- ObjectType => "Catalog",
+- CacheNeedsUpdate => RT::Catalog->CacheNeedsUpdate,
+- Default => $Default,
++<div class="col-md-12">
++ <div class="form-row">
++ <& /Elements/SelectObject,
++ Name => "Catalog",
++ ShowAll => $ShowAll,
++ ShowNullOption => $ShowNullOption,
++ CheckRight => "CreateAsset",
++ %ARGS,
++ ObjectType => "Catalog",
++ CacheNeedsUpdate => RT::Catalog->CacheNeedsUpdate,
++ Default => $Default,
+ &>
++ </div>
++</div>
+ <%args>
+ $ShowAll => 0
+ $Default => undef
+
diff --git a/share/html/Asset/Modify.html b/share/html/Asset/Modify.html
--- a/share/html/Asset/Modify.html
+++ b/share/html/Asset/Modify.html
@@ -137,15 +293,15 @@
- </&>
-
- <& /Elements/Submit, Label => loc('Save asset'), Name => "Update" &>
-+ <div class="boxcontainer asset-metadata col-md-12">
-+ <div class="row">
++ <div class="asset-metadata col-md-12">
++ <div class="form-row">
+ <div class="col-md-12">
+ <&| /Widgets/TitleBox, title => loc("Basics"), class => "asset-basics", title_class => "inverse" &>
+ <& Elements/EditBasics, %ARGS, AssetObj => $asset &>
+ </&>
+ </div>
+ </div>
-+ <div class="row">
++ <div class="form-row">
+ <div class="col-md-12">
+ <&| /Widgets/TitleBox, title => loc("Custom Fields"), class => "asset-info-cfs", title_class => "inverse" &>
+ <& /Elements/EditCustomFields, Object => $asset, Grouping => '' &>
@@ -171,7 +327,7 @@
<form method="post" enctype="multipart/form-data" id="ModifyAssetCFs" action="ModifyCFs.html">
- <input type="hidden" name="id" value="<% $asset->id %>">
- <input type="hidden" name="Grouping" value="<% $Grouping %>">
-+ <div class="boxcontainer col-md-12">
++ <div class="col-md-12">
+ <input type="hidden" name="id" value="<% $asset->id %>">
+ <input type="hidden" name="Grouping" value="<% $Grouping %>">
@@ -207,7 +363,7 @@
<span class="catalog <% CSSClass($asset->CatalogObj->Name) %>">
-<form method="post" enctype="multipart/form-data" id="ModifyAssetDates" action="ModifyDates.html">
- <input type="hidden" name="id" value="<% $asset->id %>">
-+ <div class="boxcontainer col-md-12">
++ <div class="col-md-12">
+ <form method="post" enctype="multipart/form-data" id="ModifyAssetDates" action="ModifyDates.html">
+ <input type="hidden" name="id" value="<% $asset->id %>">
@@ -243,7 +399,7 @@
<span class="catalog <% CSSClass($asset->CatalogObj->Name) %>">
-<form method="post" enctype="multipart/form-data" id="ModifyAssetLinks" action="ModifyLinks.html">
- <input type="hidden" name="id" value="<% $asset->id %>">
-+ <div class="boxcontainer asset-metadata col-md-12">
++ <div class="asset-metadata col-md-12">
+ <form method="post" enctype="multipart/form-data" id="ModifyAssetLinks" action="ModifyLinks.html">
+ <input type="hidden" name="id" value="<% $asset->id %>">
@@ -295,7 +451,6 @@
-
- <& /Elements/Submit, Label => loc('Save'), Name => "Update" &>
-</form>
-+ <div class="boxcontainer">
+ <div class="col-md-12">
+ <form method="post" enctype="multipart/form-data" id="ModifyAssetPeople" action="ModifyPeople.html">
+ <input type="hidden" name="id" value="<% $asset->id %>">
@@ -317,7 +472,6 @@
+ <& /Elements/Submit, Label => loc('Save'), Name => "Update" &>
+ </div>
+ </form>
-+ </div>
</span>
<%init>
131: d39652083 ! 131: 8cbbb510a Update asset search components for elevator theme
@@ -29,46 +29,58 @@
- <td class="value"><input type="text" id="Description" name="Description" value="<% $ARGS{Description} || ''%>" /></td>
- <td class="label not"><label for="!Description"><&|/l&>not</&></td>
- <td class="value"><input type="text" id="!Description" name="!Description" value="<% $ARGS{"!Description"} || ''%>" /></td></tr>
-+<div class="boxcontainer col-md-12">
++<div class="col-md-12">
+ <&| /Widgets/TitleBox, title => loc('Basics'), class=>'asset-search-grouping asset-search-basics' &>
-+ <div class="col-md-12 form-row">
-+ <div class="col-md-6 form-row">
-+ <div class="label col-md-3"><&|/l&>Catalog</&></div>
-+ <div class="value col-md-9">
-+ <& /Asset/Elements/SelectCatalog, Name => 'Catalog', CheckRight => "ShowCatalog",
-+ Default => $ARGS{'Catalog'}, OnChange => "jQuery('#AssetSearch').submit()"
-+ &>
-+ </div>
-+ </div>
-+ <div class="col-md-6 form-row">
-+ <div class="label col-md-3"><&|/l&>Status</&></div>
-+ <div class="value col-md-9">
-+ <& /Asset/Elements/SelectStatus, Name => 'Status', Catalogs => { $CatalogObj->id => 1 }, DefaultValue => 1,
-+ Default => ($ARGS{'Status'} || '')
-+ &>
-+ </div>
-+ </div>
-+ </div>
-+ <div class="col-md-12 form-row">
-+ <div class="col-md-6 form-row">
-+ <div class="label col-md-2"><&|/l&>Name</&></div>
-+ <div class="value col-md-4">
-+ <input type="text" id="Name" name="Name" value="<% $ARGS{Name} || ''%>" />
-+ </div>
-+ <div class="label col-md-2"><&|/l&>not</&></div>
-+ <div class="value col-md-4">
-+ <input type="text" id="!Name" name="!Name" value="<% $ARGS{"!Name"} || ''%>" />
-+ </div>
-+ </div>
-+ <div class="col-md-6 form-row">
-+ <div class="label col-md-2"><&|/l&>Description</&></div>
-+ <div class="value col-md-4">
-+ <input type="text" id="Description" name="Description" value="<% $ARGS{Description} || ''%>" />
-+ </div>
-+ <div class="label col-md-2"><&|/l&>not</&></div>
-+ <div class="value col-md-4">
-+ <input type="text" id="!Description" name="!Description" value="<% $ARGS{"!Description"} || ''%>" />
-+ </div>
++ <div class="col-md-12">
++ <div class="form-row">
++ <div class="col-md-6">
++ <div class="form-row">
++ <div class="label col-md-3"><&|/l&>Catalog</&></div>
++ <div class="value col-md-9">
++ <& /Asset/Elements/SelectCatalog, Name => 'Catalog', CheckRight => "ShowCatalog",
++ Default => $ARGS{'Catalog'}, OnChange => "jQuery('#AssetSearch').submit()"
++ &>
++ </div>
++ </div>
++ </div>
++ </div>
++ <div class="col-md-6">
++ <div class="form-row">
++ <div class="label col-md-3"><&|/l&>Status</&></div>
++ <div class="value col-md-9">
++ <& /Asset/Elements/SelectStatus, Name => 'Status', Catalogs => { $CatalogObj->id => 1 }, DefaultValue => 1,
++ Default => ($ARGS{'Status'} || '')
++ &>
++ </div>
++ </div>
++ </div>
++ </div>
++ <div class="col-md-12">
++ <div class="form-row">
++ <div class="col-md-6">
++ <div class="form-row">
++ <div class="label col-md-2"><&|/l&>Name</&></div>
++ <div class="value col-md-4">
++ <input class="form-control" type="text" id="Name" name="Name" value="<% $ARGS{Name} || ''%>" />
++ </div>
++ <div class="label col-md-2"><&|/l&>not</&></div>
++ <div class="value col-md-4">
++ <input class="form-control" type="text" id="!Name" name="!Name" value="<% $ARGS{"!Name"} || ''%>" />
++ </div>
++ </div>
++ </div>
++ </div>
++ <div class="col-md-6">
++ <div class="form-row">
++ <div class="label col-md-2"><&|/l&>Description</&></div>
++ <div class="value col-md-4">
++ <input class="form-control" type="text" id="Description" name="Description" value="<% $ARGS{Description} || ''%>" />
++ </div>
++ <div class="label col-md-2"><&|/l&>not</&></div>
++ <div class="value col-md-4">
++ <input class="form-control" type="text" id="!Description" name="!Description" value="<% $ARGS{"!Description"} || ''%>" />
++ </div>
++ </div>
+ </div>
+ </div>
% my $CFs = RT::CustomFields->new( $session{CurrentUser} );
@@ -84,14 +96,16 @@
- <td class="label not"><label for="!<% $name %>"><&|/l&>not</&></label></td>
- <td class="value"><& /Elements/SelectCustomFieldValue, CustomField => $cf, Name => "!$name", Default => $negval &></td>
-</tr>
-+ <div class="col-md-12 form-row">
-+ <div class="label col-md-2"><% $cf->Name %></div>
-+ <div class="value col-md-4">
-+ <& /Elements/SelectCustomFieldValue, CustomField => $cf, Name => $name, Default => $value &>
-+ </div>
-+ <div class="label col-md-2"><&|/l&>not</&></div>
-+ <div class="value col-md-4">
-+ <& /Elements/SelectCustomFieldValue, CustomField => $cf, Name => "!$name", Default => $negval &>
++ <div class="col-md-12">
++ <div class="form-row">
++ <div class="label col-md-2"><% $cf->Name %></div>
++ <div class="value col-md-4">
++ <& /Elements/SelectCustomFieldValue, CustomField => $cf, Name => $name, Default => $value &>
++ </div>
++ <div class="label col-md-2"><&|/l&>not</&></div>
++ <div class="value col-md-4">
++ <& /Elements/SelectCustomFieldValue, CustomField => $cf, Name => "!$name", Default => $negval &>
++ </div>
+ </div>
+ </div>
% }
@@ -111,7 +125,7 @@
%#
%# END BPS TAGGED BLOCK }}}
-<&| /Widgets/TitleBox, title => $Grouping ? loc($Grouping) : loc('Custom Fields'), hide_empty => 1, class=>'asset-search-grouping asset-search-cfs' &>
-+<div class="boxcontainer col-md-12">
++<div class="col-md-12">
+ <&| /Widgets/TitleBox, title => $Grouping ? loc($Grouping) : loc('Custom Fields'), hide_empty => 1, class=>'asset-search-grouping asset-search-cfs' &>
% my $CFs = RT::CustomFields->new( $session{CurrentUser} );
% $CFs->LimitToCatalog( $CatalogObj->Id );
@@ -130,17 +144,19 @@
- <td class="label not"><label for="!<% $name %>"><&|/l&>not</&></label></td>
- <td class="value"><& /Elements/SelectCustomFieldValue, CustomField => $cf, Name => "!$name", Default => $negval &></td>
-</tr>
-+ <div class="col-md-12 form-row">
-+ <div class="label col-md-2"><% $cf->Name %></div>
-+ <div class="value col-md-4">
-+ <& /Elements/SelectCustomFieldValue, CustomField => $cf, Name => $name, Default => $value &>
-+ </div>
-+ <div class="label col-md-2"><&|/l&>not</&></div>
-+ <div class="value col-md-4">
-+ <& /Elements/SelectCustomFieldValue, CustomField => $cf, Name => "!$name", Default => $negval &>
-+ </div>
++ <div class="col-md-12">
++ <div class="form-row">
++ <div class="label col-md-2"><% $cf->Name %></div>
++ <div class="value col-md-4">
++ <& /Elements/SelectCustomFieldValue, CustomField => $cf, Name => $name, Default => $value &>
++ </div>
++ <div class="label col-md-2"><&|/l&>not</&></div>
++ <div class="value col-md-4">
++ <& /Elements/SelectCustomFieldValue, CustomField => $cf, Name => "!$name", Default => $negval &>
++ </div>
% }
-</table>
++ </div>
+ </div>
% }
-</&>
@@ -159,7 +175,7 @@
%# END BPS TAGGED BLOCK }}}
-<&| /Widgets/TitleBox, class => "asset-search-people", title => loc('People') &>
-<table>
-+<div class="boxcontainer col-md-12">
++<div class="col-md-12">
+ <&| /Widgets/TitleBox, class => "asset-search-people", title => loc('People') &>
% for my $role (RT::Asset->Roles) {
-<tr class="asset-role-<% CSSClass($role) %>">
@@ -174,19 +190,23 @@
- data-autocomplete="Users" value="<% $ARGS{"!Role.$role"} || '' %>" />
- </td>
-</tr>
-+ <div class="col-md-12 form-row">
-+ <div class="asset-role-<% CSSClass($role) %> col-md-6 form-row">
-+ <div class="label col-md-2"><% loc($role) %></div>
-+ <div class="value col-md-4">
-+ <input type="text" id="Role.<% $role %>" name="Role.<% $role %>"
-+ data-autocomplete="Users" value="<% $ARGS{"Role.$role"} || '' %>"
-+ />
-+ </div>
-+ <div class="label col-md-2"><&|/l&>not</&></div>
-+ <div class="value col-md-4">
-+ <input type="text" id="!Role.<% $role %>" name="!Role.<% $role %>"
-+ data-autocomplete="Users" value="<% $ARGS{"!Role.$role"} || '' %>"
-+ />
++ <div class="form-row">
++ <div class="col-md-12">
++ <div class="asset-role-<% CSSClass($role) %> col-md-6">
++ <div class="form-row">
++ <div class="label col-md-2"><% loc($role) %></div>
++ <div class="value col-md-4">
++ <input class="form-control" type="text" id="Role.<% $role %>" name="Role.<% $role %>"
++ data-autocomplete="Users" value="<% $ARGS{"Role.$role"} || '' %>"
++ />
++ </div>
++ <div class="label col-md-2"><&|/l&>not</&></div>
++ <div class="value col-md-4">
++ <input class="form-control" type="text" id="!Role.<% $role %>" name="!Role.<% $role %>"
++ data-autocomplete="Users" value="<% $ARGS{"!Role.$role"} || '' %>"
++ />
++ </div>
++ </div>
+ </div>
+ </div>
+ </div>
@@ -203,15 +223,17 @@
- <td class="label not"><label for="!<% $name %>"><&|/l&>not</&></label></td>
- <td class="value"><& /Elements/SelectCustomFieldValue, CustomField => $cf, Name => "!$name", Default => $negval &></td>
-</tr>
-+ <div class="col-md-12 form-row">
-+ <div class="label col-md-2"><% $cf->Name %></div>
-+ <div class="value col-md-4">
-+ <& /Elements/SelectCustomFieldValue, CustomField => $cf, Name => $name, Default => $value &>
-+ </div>
-+ <div class="label col-md-2"><&|/l&>not</&></div>
-+ <div class="value col-md-4">
-+ <& /Elements/SelectCustomFieldValue, CustomField => $cf, Name => "!$name", Default => $negval &>
-+ </div>
++ <div class="form-row">
++ <div class="col-md-12">
++ <div class="label col-md-2"><% $cf->Name %></div>
++ <div class="value col-md-4">
++ <& /Elements/SelectCustomFieldValue, CustomField => $cf, Name => $name, Default => $value &>
++ </div>
++ <div class="label col-md-2"><&|/l&>not</&></div>
++ <div class="value col-md-4">
++ <& /Elements/SelectCustomFieldValue, CustomField => $cf, Name => "!$name", Default => $negval &>
++ </div>
++ </div>
+ </div>
% }
-</table>
@@ -265,23 +287,44 @@
+ </div>
</div>
-</div>
-+ <div class="submit form-row">
-+ <div class="buttons col-md-12">
-+ <span class="caption"></span>
-+ <input type="submit" id="bulk-update-create-linked-ticket" name="CreateLinkedTicket" value="Create Linked Ticket" class="button" alt="Create a ticket with checked assets linked" />
++ <div class="submit">
++ <div class="form-row">
++ <div class="buttons col-md-12">
++ <span class="caption"></span>
++ <input type="submit" id="bulk-update-create-linked-ticket" name="CreateLinkedTicket" value="Create Linked Ticket" class="button" alt="Create a ticket with checked assets linked" />
++ </div>
++ </div>
+ </div>
+ </div>
+
-+ <div class="col-md-12 form-row">
-+ <div class="col-md-12">
-+ <&| /Widgets/TitleBox, title => loc("Basics"), class => "asset-basics asset-bulk-basics", title_class => "inverse" &>
-+ <div class="col-md-12 form-row">
-+ <div class="col-md-6 form-row">
-+ <div class="label col-md-3"><&|/l&>Catalog</&></div>
-+ <div class="col-md-9 value">
-+ <& /Asset/Elements/SelectCatalog, Name => 'UpdateCatalog', Default => $catalog_obj->id, UpdateSession => 0, &>
-+ </div>
-+ </div>
++ <div class="col-md-12">
++ <div class="form-row">
++ <div class="col-md-12">
++ <&| /Widgets/TitleBox, title => loc("Basics"), class => "asset-basics asset-bulk-basics", title_class => "inverse" &>
++ <div class="col-md-12">
++ <div class="form-row">
++ <div class="col-md-6">
++ <div class="form-row">
++ <div class="label col-md-3"><&|/l&>Catalog</&></div>
++ <div class="col-md-9 value">
++ <& /Asset/Elements/SelectCatalog, Name => 'UpdateCatalog', Default => $catalog_obj->id, UpdateSession => 0, &>
++ </div>
++ </div>
++ </div>
++ </div>
++ </div>
++
++ <div class="col-md-6">
++ <div class="form-row">
++ <div class="col-md-3 label"><&|/l&>Name</&></div>
++ <div class="col-md-9 value">
++ <input type="text" name="UpdateName" value="<% $ARGS{'Name'}||'' %>" size="40">
++ </div>
++ </div>
++ </div>
++ </div>
++ </div>
++ </div>
-<&| /Widgets/TitleBox, title => loc("Basics"), class => "asset-basics asset-bulk-basics", title_class => "inverse" &>
-<table class="core-fields">
@@ -302,25 +345,23 @@
- <td><& /Asset/Elements/SelectStatus, Name => 'UpdateStatus', DefaultValue => 1, CatalogObj => $catalog_obj &></td>
- </tr>
-</table>
-+ <div class="col-md-6 form-row">
-+ <div class="col-md-3 label"><&|/l&>Name</&></div>
-+ <div class="col-md-9 value">
-+ <input type="text" name="UpdateName" value="<% $ARGS{'Name'}||'' %>" size="40">
-+ </div>
-+ </div>
-+ </div>
-+
-+ <div class="col-md-12 form-row">
-+ <div class="col-md-6 asset-catalog form-row">
-+ <div class="label col-md-3"><&|/l&>Description</&></div>
-+ <div class="col-md-9 value">
-+ <input type="text" name="UpdateDescription" value="<% $ARGS{'Description'}||'' %>" size="40">
-+ </div>
-+ </div>
-+ <div class="col-md-6 asset-status form-row">
-+ <div class="label col-md-3"><&|/l&>Status</&></div>
-+ <div class="col-md-9 value">
-+ <& /Asset/Elements/SelectStatus, Name => 'UpdateStatus', DefaultValue => 1, CatalogObj => $catalog_obj &>
++ <div class="col-md-12">
++ <div class="form-row">
++ <div class="col-md-6 asset-catalog">
++ <div class="form-row">
++ <div class="label col-md-3"><&|/l&>Description</&></div>
++ <div class="col-md-9 value">
++ <input type="text" name="UpdateDescription" value="<% $ARGS{'Description'}||'' %>" size="40">
++ </div>
++ </div>
++ </div>
++ <div class="col-md-6 asset-status">
++ <div class="form-row">
++ <div class="label col-md-3"><&|/l&>Status</&></div>
++ <div class="col-md-9 value">
++ <& /Asset/Elements/SelectStatus, Name => 'UpdateStatus', DefaultValue => 1, CatalogObj => $catalog_obj &>
++ </div>
++ </div>
+ </div>
+ </div>
+ </div>
@@ -328,8 +369,10 @@
% $cfs->LimitToGrouping( 'RT::Asset' => 'Basics');
% if ( $cfs->Count ) {
-<& /Elements/BulkCustomFields, CustomFields => $cfs, &>
-+ <div class="col-md-12 form-row">
-+ <& /Elements/BulkCustomFields, CustomFields => $cfs, &>
++ <div class="col-md-12">
++ <div class="form-row">
++ <& /Elements/BulkCustomFields, CustomFields => $cfs, &>
++ </div>
+ </div>
% }
-</&>
@@ -339,9 +382,10 @@
-<&| /Widgets/TitleBox, title => loc("People"), class => "asset-people asset-bulk-people", title_class => "inverse" &>
-<table class="core-fields">
-+ <div class="col-md-12 form-row">
-+ <div class="col-md-12 core-fields">
-+ <&| /Widgets/TitleBox, title => loc("People"), class => "asset-people asset-bulk-people", title_class => "inverse" &>
++ <div class="col-md-12">
++ <div class="form-row">
++ <div class="col-md-12 core-fields">
++ <&| /Widgets/TitleBox, title => loc("People"), class => "asset-people asset-bulk-people", title_class => "inverse" &>
% for my $rname ( $asset->Roles( ACLOnly => 0 ) ) {
% my $role = $asset->Role( $rname );
% if ( $role->{'Single'} ) {
@@ -350,27 +394,32 @@
-<td class="label"><label for="<% $input %>"><% loc($rname) %></label></td>
-<td><input type="text" value="<% $ARGS{ $input } || '' %>" name="<% $input %>" id="<% $input %>" data-autocomplete="Users" data-autocomplete-return="Name" /></td>
-</tr>
-+ <div class="col-md-6 form-row">
-+ <div class="label col-md-3"><% loc($rname) %></div>
-+ <div class="col-md-9 value">
-+ <input type="text" value="<% $ARGS{ $input } || '' %>" name="<% $input %>" id="<% $input %>" data-autocomplete="Users" data-autocomplete-return="Name" />
-+ </div>
-+ </div>
++ <div class="col-md-6">
++ <div class="form-row">
++ <div class="label col-md-3"><% loc($rname) %></div>
++ <div class="col-md-9 value">
++ <input type="text" value="<% $ARGS{ $input } || '' %>" name="<% $input %>" id="<% $input %>" data-autocomplete="Users" data-autocomplete-return="Name" />
++ </div>
++ </div>
++ </div>
% } else {
-<tr>
% my $input = "AddRoleMember-$rname";
-<td class="label"><label for="<% $input %>"><% loc("Add [_1]", loc($rname)) %></label></td>
-<td><input type="text" value="<% $ARGS{ $input } || '' %>" name="<% $input %>" id="<% $input %>" data-autocomplete="Users" data-autocomplete-return="Name" /></td>
-</tr>
-+ <div class="col-md-6 form-row">
-+ <div class="label col-md-3"><% loc("Add [_1]", loc($rname)) %></div>
-+ <div class="col-md-9 value">
-+ <input type="text" value="<% $ARGS{ $input } || '' %>" name="<% $input %>" id="<% $input %>" data-autocomplete="Users" data-autocomplete-return="Name" />
-+ </div>
-+ </div>
++ <div class="col-md-6">
++ <div class="form-row">
++ <div class="label col-md-3"><% loc("Add [_1]", loc($rname)) %></div>
++ <div class="col-md-9 value">
++ <input type="text" value="<% $ARGS{ $input } || '' %>" name="<% $input %>" id="<% $input %>" data-autocomplete="Users" data-autocomplete-return="Name" />
++ </div>
++ </div>
++ </div>
-<tr>
-+ <div class="col-md-6 form-row">
++ <div class="col-md-6">
++ <div class="form-row">
% $input = "RemoveRoleMember-$rname";
-<td class="label"><label for="<% $input %>"><% loc("Remove [_1]", loc($rname)) %></label></td>
-<td>
@@ -381,27 +430,30 @@
- </label>
-</td>
-</tr>
-+ <div class="label col-md-3"><% loc("Remove [_1]", loc($rname)) %></div>
-+ <div class="col-md-9 value">
-+ <input type="text" value="<% $ARGS{ $input } || '' %>" name="<% $input %>" id="<% $input %>" data-autocomplete="Users" data-autocomplete-return="Name" />
-+ <input type="checkbox" name="RemoveAllRoleMembers-<% $rname %>" value="1"/>
-+ <em><&|/l&>(Check to delete all values)</&></em>
-+ </div>
-+ </div>
++ <div class="label col-md-3"><% loc("Remove [_1]", loc($rname)) %></div>
++ <div class="col-md-9 value">
++ <input type="text" value="<% $ARGS{ $input } || '' %>" name="<% $input %>" id="<% $input %>" data-autocomplete="Users" data-autocomplete-return="Name" />
++ <input type="checkbox" name="RemoveAllRoleMembers-<% $rname %>" value="1"/>
++ <em><&|/l&>(Check to delete all values)</&></em>
++ </div>
++ </div>
++ </div>
% }
% }
% my $cfs = $catalog_obj->AssetCustomFields;
% $cfs->LimitToGrouping( 'RT::Asset' => 'People');
% if ( $cfs->Count ) {
-<& /Elements/BulkCustomFields, CustomFields => $cfs, &>
-+ <div class="col-md-12 form-row">
-+ <& /Elements/BulkCustomFields, CustomFields => $cfs, &>
-+ </div>
++ <div class="col-md-12">
++ <div class="form-row">
++ <& /Elements/BulkCustomFields, CustomFields => $cfs, &>
++ </div>
++ </div>
% }
-</table>
-</&>
-+ </&>
-+ </div>
++ </&>
++ </div>
% my $cfs = $catalog_obj->AssetCustomFields;
% $cfs->LimitToGrouping( 'RT::Asset' => 'Dates');
@@ -410,13 +462,15 @@
-<& /Elements/BulkCustomFields, CustomFields => $cfs, &>
-</&>
+
-+ <div class="col-md-12 form-row">
-+ <div class="col-md-12">
-+ <&| /Widgets/TitleBox, title => loc("Dates"), class => "asset-dates asset-bulk-dates", title_class => "inverse" &>
-+ <& /Elements/BulkCustomFields, CustomFields => $cfs, &>
-+ </&>
-+ </div>
-+ </div>
++ <div class="col-md-12">
++ <div class="form-row">
++ <div class="col-md-12">
++ <&| /Widgets/TitleBox, title => loc("Dates"), class => "asset-dates asset-bulk-dates", title_class => "inverse" &>
++ <& /Elements/BulkCustomFields, CustomFields => $cfs, &>
++ </&>
++ </div>
++ </div>
++ </div>
% }
% for my $group ( RT::CustomField->CustomGroupings( 'RT::Asset' ), '' ) {
@@ -426,41 +480,48 @@
-<&| /Widgets/TitleBox, class=>'asset-bulk-grouping asset-info-cfs asset-bulk-cfs', title => loc('Edit [_1]', ($group? loc($group) : loc('Custom Fields')) ), title_class => "inverse" &>
-<& /Elements/BulkCustomFields, CustomFields => $cfs, &>
-</&>
-+ <div class="col-md-12 form-row">
-+ <div class="col-md-12">
-+ <&| /Widgets/TitleBox, class=>'asset-bulk-grouping asset-info-cfs asset-bulk-cfs', title => loc('Edit [_1]', ($group? loc($group) : loc('Custom Fields')) ), title_class => "inverse" &>
-+ <& /Elements/BulkCustomFields, CustomFields => $cfs, &>
-+ </&>
-+ </div>
-+ </div>
++ <div class="col-md-12">
++ <div class="form-row">
++ <div class="col-md-12">
++ <&| /Widgets/TitleBox, class=>'asset-bulk-grouping asset-info-cfs asset-bulk-cfs', title => loc('Edit [_1]', ($group? loc($group) : loc('Custom Fields')) ), title_class => "inverse" &>
++ <& /Elements/BulkCustomFields, CustomFields => $cfs, &>
++ </&>
++ </div>
++ </div>
++ </div>
% }
% }
-<&|/Widgets/TitleBox, title => loc('Edit Links'), class => "asset-links asset-bulk-links", title_class => "inverse" &>
-<& /Elements/BulkLinks, Collection => $assets, %ARGS &>
-+ <div class="col-md-12 form-row">
-+ <div class="col-md-12">
-+ <&|/Widgets/TitleBox, title => loc('Edit Links'), class => "asset-links asset-bulk-links", title_class => "inverse" &>
-+ <& /Elements/BulkLinks, Collection => $assets, %ARGS &>
++ <div class="col-md-12">
++ <div class="form-row">
++ <div class="col-md-12">
++ <&|/Widgets/TitleBox, title => loc('Edit Links'), class => "asset-links asset-bulk-links", title_class => "inverse" &>
++ <& /Elements/BulkLinks, Collection => $assets, %ARGS &>
% my $cfs = $catalog_obj->AssetCustomFields;
% $cfs->LimitToGrouping( 'RT::Asset' => 'Links');
% if ( $cfs->Count ) {
-<& /Elements/BulkCustomFields, CustomFields => $cfs, &>
-+ <& /Elements/BulkCustomFields, CustomFields => $cfs, &>
- % }
--</&>
-+ </&>
-+ </div>
-+ </div>
++ <& /Elements/BulkCustomFields, CustomFields => $cfs, &>
+ % }
+-</&>
++ </&>
++ </div>
++ </div>
++ </div>
-<& /Elements/Submit, Label => loc('Update'), Name => 'Update' &>
-</form>
-+ <div class="col-md-12 form-row">
-+ <div class="col-md-12">
-+ <& /Elements/Submit, Label => loc('Update'), Name => 'Update' &>
-+ </div>
-+ </div>
-+ </form>
++ <div class="col-md-12">
++ <div class="form-row">
++ <div class="col-md-12">
++ <& /Elements/Submit, Label => loc('Update'), Name => 'Update' &>
++ </div>
++ </div>
++ </div>
++ </form>
++ </div>
+</div>
<%INIT>
@@ -474,7 +535,7 @@
<& /Elements/Header, Title => $title &>
<& /Elements/Tabs &>
-
-+<div class="boxcontainer col-md-12">
++<div class="col-md-12">
% if ( $ARGS{'SearchAssets'} or $ARGS{q} ){
<& /Elements/CollectionList,
%search,
@@ -489,7 +550,7 @@
-<& /Asset/Elements/AssetSearchPeople, %ARGS, CatalogObj => $catalog_obj &>
-<& /Elements/Submit, Label => loc('Search'), Name => 'SearchAssets' &>
+</div>
-+<div class="boxcontainer col-md-12">
++<div class="col-md-12">
+ <span class="catalog <% CSSClass( $catalog_obj->Name ) %>">
+ <form action="<% RT->Config->Get('WebPath') %>/Asset/Search/index.html" id="AssetSearch">
+ <&| /Widgets/TitleBox, title => loc("Search Assets") &>
More information about the rt-commit
mailing list