[Rt-commit] rt branch, 4.6-theme/assets-pages, repushed
Craig Kaiser
craig at bestpractical.com
Mon Apr 22 15:03:22 EDT 2019
The branch 4.6-theme/assets-pages was deleted and repushed:
was 8cbbb510ad7c102329172b69abc8179788334c40
now f61ee208431adcb239c6454ca4a819f1f2f151ae
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: c3c6f8be1 ! 128: f10b1b7b1 Update asset display components for elevator theme
@@ -1,6 +1,6 @@
Author: Craig Kaiser <craig at bestpractical.com>
- Update CSS for asset display components for elevator theme
+ Update asset display components for elevator theme
diff --git a/share/html/Asset/Display.html b/share/html/Asset/Display.html
--- a/share/html/Asset/Display.html
@@ -10,39 +10,20 @@
<span class="catalog <% CSSClass($asset->CatalogObj->Name) %>">
-<& 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>
++ <& Elements/ShowSummary, AssetObj => $asset &>
% $m->callback(CallbackName => 'AfterShowSummary', ARGSRef => \%ARGS, Asset => $asset);
-<& /Elements/ShowHistory,
-- Object => $asset,
-- ShowDisplayModes => 0,
-- DisplayPath => 'History.html',
++ <& /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>
++ &>
% $m->callback(CallbackName => 'AfterShowHistory', ARGSRef => \%ARGS, Asset => $asset);
-+ </div>
</span>
-
- <%args>
diff --git a/share/html/Asset/Elements/ShowBasics b/share/html/Asset/Elements/ShowBasics
--- a/share/html/Asset/Elements/ShowBasics
@@ -71,52 +52,44 @@
- <& /Elements/ShowCustomFields, Object => $AssetObj, Grouping => 'Basics', Table => 0 &>
-% $m->callback(%ARGS, CallbackName => "AfterFields");
-</table>
-+<div class="col-md-12">
-+ <div class="form-row">
-+ <div class="col-md-3 asset-catalog label">
-+ <&|/l&>Catalog</&>:
-+ </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">
-+ <div class="form-row">
-+ <div class="col-md-4 asset-name label">
-+ <&|/l&>Name</&>:
-+ </div>
-+ <div class="col-md-9 value">
-+ <span class="current-value form-control"><% $AssetObj->Name || '' %></span>
-+ </div>
-+ </div>
-+</div>
-+
-+<div class="col-md-12">
-+ <div class="form-row">
-+ <div class="col-md-3 asset-description label">
-+ <&|/l&>Description</&>:
-+ </div>
-+ <div class="col-md-9 value">
-+ <span class="current-value form-control"><% $AssetObj->Description || '' %></span>
-+ </div>
-+ </div>
-+</div>
-+
-+<div class="col-md-12">
-+ <div class="form-row">
-+ <div class="col-md-3 asset-status label">
-+ <&|/l&>Status</&>:
-+ </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="form-row">
++<div class="form-row">
++ <div class="col-md-3 asset-catalog label">
++ <&|/l&>Catalog</&>:
++ </div>
++ <div class="col-md-9 value">
++ <& ShowCatalog, Asset => $AssetObj &>
++ </div>
++</div>
++
++<div class="form-row">
++ <div class="col-md-3 asset-name label">
++ <&|/l&>Name</&>:
++ </div>
++ <div class="col-md-9 value">
++ <span class="current-value form-control"><% $AssetObj->Name || '' %></span>
++ </div>
++</div>
++
++<div class="form-row">
++ <div class="col-md-3 asset-description label">
++ <&|/l&>Description</&>:
++ </div>
++ <div class="col-md-9 value">
++ <span class="current-value form-control"><% $AssetObj->Description || '' %></span>
++ </div>
++</div>
++
++<div class="form-row">
++ <div class="col-md-3 asset-status label">
++ <&|/l&>Status</&>:
++ </div>
++ <div class="col-md-9 value">
++ <span class="current-value form-control"><% $AssetObj->Status || '' %></span>
++ </div>
++</div>
++
++<div class="form-row">
++ <div class="col-md-12">
+ <& /Elements/ShowCustomFields, Object => $AssetObj, Grouping => 'Basics' &>
+ </div>
+</div>
@@ -149,56 +122,50 @@
- <td class="label"><&|/l&>Created</&>:</td>
- <td>
- <&|/l_unsafe,
-- $m->interp->apply_escapes($AssetObj->CreatedAsString, 'h'),
-- $m->scomp('/Elements/ShowUser', User => $AssetObj->CreatorObj)
-- &>[_1] by [_2]</&>
++<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]</&>
- </td>
- </tr>
- <tr>
- <td class="label"><&|/l&>Last Updated</&>:</td>
- <td>
- <&|/l_unsafe,
-- $m->interp->apply_escapes($AssetObj->LastUpdatedAsString, 'h'),
-- $m->scomp('/Elements/ShowUser', User => $AssetObj->LastUpdatedByObj)
-- &>[_1] by [_2]</&>
++ </span>
++ </div>
++ </div>
++
++ <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]</&>
- </td>
- </tr>
- <& /Elements/ShowCustomFields, Object => $AssetObj, Grouping => 'Dates', Table => 0 &>
-+<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>
++ </span>
++ </div>
++ </div>
++
++ <div class="form-row">
++ <& /Elements/ShowCustomFields, Object => $AssetObj, Grouping => 'Dates' &>
++ </div>
++</div>
% $m->callback(%ARGS, CallbackName => "AfterFields");
-</table>
-+</div>
<%args>
$AssetObj
</%args>
@@ -214,9 +181,10 @@
+<div class="col-md-12">
% for my $role ($AssetObj->Roles) {
-<tr><td class="label"><% loc($role) %>:
-+ <div class="col-md-12">
-+ <div class="form-row">
-+ <div class="col-md-3 label"><% loc($role) %>:</div>
++ <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;
@@ -226,36 +194,34 @@
-<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>
++ </div>
% } else {
-</td></tr><tr><td class="user-accordion">
- <& ShowRoleMembers, Group => $AssetObj->RoleGroup($role) &>
- <& ShowRoleMembers, Group => $CatalogObj->RoleGroup($role), Skip => $AssetObj->RoleGroup($role), Note => loc("(via this asset's catalog)") &>
- </td></tr>
-+ <div class="user-accordion">
++ <div class="user-accordion col-md-9">
+ <& ShowRoleMembers, Group => $AssetObj->RoleGroup($role) &>
+ <& ShowRoleMembers, Group => $CatalogObj->RoleGroup($role), Skip => $AssetObj->RoleGroup($role), Note => loc("(via this asset's catalog)") &>
+ </div>
++ </div>
% }
-+ </div>
-+ </div>
% }
-<& /Elements/ShowCustomFields, Object => $AssetObj, Grouping => 'People', Table => 0 &>
--
+
-</table>
-+ <div class="col-md-12">
-+ <div class="form-row">
-+ <& /Elements/ShowCustomFields, Object => $AssetObj, Grouping => 'People', Table => 0 &>
-+ </div>
++ <div class="form-row">
++ <& /Elements/ShowCustomFields, Object => $AssetObj, Grouping => 'People', Table => 0 &>
+ </div>
+</div>
% $m->callback( %ARGS, CallbackName => 'AfterPeople' );
129: eccb5a4d1 ! 129: 005988ada Update asset create components for elevator theme
@@ -6,10 +6,9 @@
--- a/share/html/Asset/Create.html
+++ b/share/html/Asset/Create.html
@@
-
<& /Elements/ListActions, actions => \@results &>
--<span class="catalog <% CSSClass($catalog->Name) %>">
+ <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 %>">
@@ -50,79 +49,61 @@
- CustomFieldGenerator => sub { $catalog->AssetCustomFields },
- ForCreation => 1,
- &>
-+<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">
-+ <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-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-4">
-+ <a name="details"></a>
-+ <& /Elements/EditCustomFieldCustomGroupings,
-+ Object => $asset,
-+ TitleBoxARGS => { title_class => "inverse" },
-+ KeepValue => 1,
-+ CustomFieldGenerator => sub { $catalog->AssetCustomFields },
-+ 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-12">
-+ <div class="form-row">
-+ <& /Elements/Submit, Label => loc('Create asset') &>
-+ </div>
-+ </div>
-+ </div>
-+ </form>
-+ </span>
- </div>
-
+-</div>
+-
- <& /Elements/Submit, Label => loc('Create asset') &>
-</form>
--</span>
--
++ <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 %>">
++
++ <div id="Asset-Create-basics" class="asset-metadata form-row">
++ <a name="basics"></a>
++ <div class="col-md-6">
++ <&| /Widgets/TitleBox, title => loc("Basics"), class => "asset-basics", title_class => "inverse" &>
++ <& Elements/EditBasics, %ARGS, AssetObj => $asset, CatalogObj => $catalog &>
++ </&>
++ </div>
++
++ <div class="col-md-6">
++ <&| /Widgets/TitleBox, title => loc("People"), class => "asset-people", title_class => "inverse" &>
++ <& Elements/EditPeople, %ARGS, AssetObj => $asset &>
++ </&>
++ </div>
++ </div>
++
++ <div id="Asset-Create-details" class="form-row">
++ <a name="details"></a>
++ <div class="col-md-6">
++ <& /Elements/EditCustomFieldCustomGroupings,
++ Object => $asset,
++ TitleBoxARGS => { title_class => "inverse" },
++ KeepValue => 1,
++ CustomFieldGenerator => sub { $catalog->AssetCustomFields },
++ ForCreation => 1,
++ &>
++ </div>
++
++ <div class="col-md-6">
++ <&| /Widgets/TitleBox, title => loc("Links"), class => "asset-links", title_class => "inverse" &>
++ <& /Elements/AddLinks,
++ Object => $asset,
++ CustomFields => $catalog->AssetCustomFields
++ &>
++ </&>
++ </div>
++ </div>
++
++ <div class="col-md-12">
++ <div class="form-row">
++ <& /Elements/Submit, Label => loc('Create asset') &>
++ </div>
++ </div>
++
++ </form>
+ </span>
+
<%args>
- $id => ""
- $Catalog => undef
-
-diff --git a/share/html/Asset/CreateInCatalog.html b/share/html/Asset/CreateInCatalog.html
---- a/share/html/Asset/CreateInCatalog.html
-+++ b/share/html/Asset/CreateInCatalog.html
-@@
- <& /Elements/Header,
- Title => loc("Create new asset") &>
- <& /Elements/Tabs &>
-+<div class="form-row">
-+ <div class="col-md-12">
- <& /Asset/Elements/CreateInCatalog &>
-+ </div>
-+</div>
-\ No newline at end of file
diff --git a/share/html/Asset/Elements/CreateInCatalog b/share/html/Asset/Elements/CreateInCatalog
--- a/share/html/Asset/Elements/CreateInCatalog
@@ -139,12 +120,12 @@
-</form>
+<div class="modal-body">
+ <form action="<% RT->Config->Get("WebPath") %>/Asset/Create.html" id="AssetCreateInCatalog">
-+ <div class="form-group">
-+ <div class="col-md-12">
-+ <&|/l_unsafe,
-+ $m->scomp("/Asset/Elements/SelectCatalog"),
-+ &>Create a new asset in the catalog: [_1]</&>
-+ </div>
++ <div class="form-row">
++ <&|/l_unsafe,
++ $m->scomp("/Asset/Elements/SelectCatalog"),
++ &>Create a new asset in the catalog: [_1]</&>
++ </div>
++ <div class="form-row">
+ <div class="col-md-12">
+ <& /Elements/Submit, Label => loc("Go"), Caption => loc("This will take you to a partially prefilled asset creation form.") &>
+ </div>
@@ -156,24 +137,19 @@
--- 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">
-- <input name="new-RefersTo" value="<% $refers_to %>" type="hidden">
-- <input name="Subject" value="<% $asset_objs[0]->Name %>" type="hidden">
+ <input name="new-RefersTo" value="<% $refers_to %>" type="hidden">
+ <input name="Subject" value="<% $asset_objs[0]->Name %>" type="hidden">
++
+ <div class="col-md-12">
-+ <input name="new-RefersTo" value="<% $refers_to %>" type="hidden">
-+ <input name="Subject" value="<% $asset_objs[0]->Name %>" type="hidden">
% if ( @asset_objs == 1 ){
- <&|/l_unsafe,
- $m->scomp("/Elements/SelectNewTicketQueue"),
- @description &>Create a new ticket in the [_1] queue about asset #[_2]: [_3].</&>
+ <div class="form-row">
-+ <div class="col-md-12">
-+ <&|/l_unsafe,
-+ $m->scomp("/Elements/SelectNewTicketQueue"),
-+ @description &>Create a new ticket in the [_1] queue about asset #[_2]: [_3].</&>
-+ </div>
++ <&|/l_unsafe,
++ $m->scomp("/Elements/SelectNewTicketQueue"),
++ @description &>Create a new ticket in the [_1] queue about asset #[_2]: [_3].</&>
+ </div>
% }
% else {
@@ -181,11 +157,9 @@
- $m->scomp("/Elements/SelectNewTicketQueue"),
- &>Create a new ticket in the [_1] queue about multiple assets.</&>
+ <div class="form-row">
-+ <div class="col-md-12">
-+ <&|/l_unsafe,
-+ $m->scomp("/Elements/SelectNewTicketQueue"),
-+ &>Create a new ticket in the [_1] queue about multiple assets.</&>
-+ </div>
++ <&|/l_unsafe,
++ $m->scomp("/Elements/SelectNewTicketQueue"),
++ &>Create a new ticket in the [_1] queue about multiple assets.</&>
+ </div>
% }
% if ($Requestors) {
@@ -202,9 +176,9 @@
- <&|/l, loc($role), $addr &>Use asset [_1] as ticket Requestor: [_2]</&>
- </label>
+ <div class="custom-control custom-radio">
-+ <input class="custom-control-input" type="radio" name="Requestors" value="<% $addr %>" <% $first ? 'checked="checked"' : '' |n%>/>
++ <input class="custom-control-input" id="radio-<%$role%>" type="radio" name="Requestors" value="<% $addr %>" <% $first ? 'checked="checked"' : '' |n%>/>
++ <label class="custom-control-label" for="radio-<%$role%>"><&|/l, loc($role), $addr &>Use asset [_1] as ticket Requestor: [_2]</&></label>
+ </div>
-+ <&|/l, loc($role), $addr &>Use asset [_1] as ticket Requestor: [_2]</&>
% $first = 0;
% }
+ </div>
@@ -215,6 +189,7 @@
+ <& /Elements/Submit, Label => loc("Go"), Caption => loc("This will take you to a partially filled ticket creation form.") &>
+ </div>
+ </div>
++
+ </div>
</form>
@@ -232,7 +207,7 @@
- <& EditRoleMembers, Group => $Object->RoleGroup($role) &>
-</div>
+ <div class="role-<% CSSClass($role) %> role">
-+ <h5><% loc($role) %></h5>
++ <h3><% loc($role) %></h3>
+ <& EditRoleMembers, Group => $Object->RoleGroup($role) &>
+ </div>
% }
130: 388c355a8 ! 130: 73a8cb168 Update asset modify components for elevator theme
@@ -57,21 +57,6 @@
+ </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
+++ b/share/html/Asset/Elements/EditBasics
@@ -80,22 +65,17 @@
%#
%# END BPS TAGGED BLOCK }}}
-<table>
-+<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="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 class="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>
+ </div>
% }
@@ -111,36 +91,37 @@
- <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 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>
++ <div class="form-row asset-name">
++ <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 class="form-row asset-description">
++ <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 class="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>
++ </div>
++
% if ( $AssetObj->id ) {
- <& /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 class="form-row">
++ <& /Elements/EditCustomFields, Object => $AssetObj, Grouping => 'Basics', InTable => 0 &>
+ </div>
% } elsif ( my @cf_names = grep { defined } @{RT->Config->Get('AssetBasicCustomFieldsOnCreate') || []} ) {
% my $cfs = $CatalogObj->AssetCustomFields;
@@ -148,15 +129,12 @@
% $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 class="form-row">
++ <& /Elements/EditCustomFields, Object => $AssetObj, CustomFields => $cfs, InTable => 1, KeepValue => 1 &>
+ </div>
% }
% $m->callback(%ARGS, CallbackName => "AfterFields");
-</table>
-+</div>
<%args>
$AssetObj
$CatalogObj => undef
@@ -165,15 +143,21 @@
--- a/share/html/Asset/Elements/EditCatalogPeople
+++ b/share/html/Asset/Elements/EditCatalogPeople
@@
+ </%args>
+ <%init>
+ </%init>
+-<div class="col-md-12">
+ % for my $role ($Object->Roles( ACLOnly => 0 )) {
+ <div class="role-<% CSSClass($role) %> role">
+ <h3><% loc($role) %></h3>
<& 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 class="col-md-12">
++ <div class="form-row">
+ <em><&|/l&>(Check box to delete)</&></em>
</div>
</div>
@@ -181,29 +165,54 @@
--- a/share/html/Asset/Elements/EditDates
+++ b/share/html/Asset/Elements/EditDates
@@
- $m->scomp('/Elements/ShowUser', User => $AssetObj->CreatorObj)
- &>[_1] by [_2]</&>
- </div>
+ %# those contributions and any derivatives thereof.
+ %#
+ %# END BPS TAGGED BLOCK }}}
+-<div class="col-md-12">
+- <div class="row col-md-12">
+- <&|/l&>Created</&>:</td>
+- <&|/l_unsafe,
+- $m->interp->apply_escapes($AssetObj->CreatedAsString, 'h'),
+- $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>
+- <div class="row">
+- <div class="col-md-12">
+- <& /Elements/EditCustomFields, Object => $AssetObj, Grouping => 'Dates' &>
+- </div>
++<div class="form-row">
++ <&|/l&>Created</&>:</td>
++ <&|/l_unsafe,
++ $m->interp->apply_escapes($AssetObj->CreatedAsString, 'h'),
++ $m->scomp('/Elements/ShowUser', User => $AssetObj->CreatorObj)
++ &>[_1] by [_2]</&>
++</div>
++
++<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 class="form-row">
+ <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>
++ <& /Elements/EditCustomFields, Object => $AssetObj, Grouping => 'Dates' &>
+ </div>
+-% $m->callback(%ARGS, CallbackName => "AfterFields");
+ </div>
++% $m->callback(%ARGS, CallbackName => "AfterFields");
+ <%args>
+ $AssetObj
+ </%args>
diff --git a/share/html/Asset/Elements/EditPeople b/share/html/Asset/Elements/EditPeople
--- a/share/html/Asset/Elements/EditPeople
@@ -213,23 +222,44 @@
%#
%# 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>
+- <div class="asset-people-<% CSSClass($role) %>">
+- <div class="label col-md-3"><% loc($role) %>:</div>
+- <div class="value col-md-9">
+- <& /Elements/EmailInput, Name => $role, Size => undef, Default => $ARGS{$role}, Autocomplete => 1 &>
+- </div>
++<div class="asset-people-<% CSSClass($role) %> form-row">
++ <div class="label col-md-3"><% loc($role) %>:</div>
++ <div class="value col-md-9">
++ <& /Elements/EmailInput, Name => $role, Size => undef, Default => $ARGS{$role}, Autocomplete => 1 &>
+ </div>
+-% }
+ </div>
++% }
+
+ <%args>
+ $AssetObj
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
@@
+ <%init>
+ my $field_name = "RemoveRoleMember-" . $Group->Name;
+ </%init>
+-<div class="role-members">
++<ul class="role-members">
+ % my $Users = $Group->UserMembersObj( Recursively => $Recursively );
+ % if ($Group->SingleMemberRoleGroup) {
<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 &>
+- <& /Elements/ShowUser, User => $user &>
++ <div class="custom-control custom-checkbox">
++ <input class="checkbox custom-control-input" type="checkbox" id="checkbox-<%$field_name%>" name="<% $field_name %>" value="<% $user->PrincipalId %>">
++ <label class="custom-control-label" for="checkbox-<%$field_name%>"><& /Elements/ShowUser, User => $user &></label>
</div>
% }
% my $Groups = $Group->GroupMembersObj( Recursively => $Recursively );
@@ -237,42 +267,25 @@
% 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>
- % }
+- <&|/l&>Group</&>: <% $group->Name %>
++ <div class="custom-control custom-checkbox">
++ <input class="checkbox custom-control-input" id="checkbox-<%$field_name%>" type="checkbox" name="<% $field_name %>" value="<% $group->PrincipalId %>">
++ <label class="custom-control-label" for="checkbox-<%$field_name%>"><&|/l&>Group</&>: <% $group->Name %></label>
+ </div>
+ % }
+ % }
+-</div>
++</ul>
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>
+ ObjectType => "Catalog",
+ CacheNeedsUpdate => RT::Catalog->CacheNeedsUpdate,
+ Default => $Default,
+- &>
++&>
<%args>
$ShowAll => 0
$Default => undef
@@ -287,31 +300,27 @@
- <&| /Widgets/TitleBox, title => loc("Basics"), class => "asset-basics", title_class => "inverse" &>
- <& Elements/EditBasics, %ARGS, AssetObj => $asset &>
- </&>
--
++ <div class="asset-metadata form-row">
++ <div class="col-md-6">
++ <&| /Widgets/TitleBox, title => loc("Basics"), class => "asset-basics", title_class => "inverse" &>
++ <& Elements/EditBasics, %ARGS, AssetObj => $asset &>
++ </&>
++ </div>
+
- <&| /Widgets/TitleBox, title => loc("Custom Fields"), class => "asset-info-cfs", title_class => "inverse" &>
- <& /Elements/EditCustomFields, Object => $asset, Grouping => '' &>
- </&>
--
++ <div class="col-md-6">
++ <&| /Widgets/TitleBox, title => loc("Custom Fields"), class => "asset-info-cfs", title_class => "inverse" &>
++ <& /Elements/EditCustomFields, Object => $asset, Grouping => '' &>
++ </&>
++ </div>
++ </div>
+
- <& /Elements/Submit, Label => loc('Save asset'), Name => "Update" &>
-+ <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="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 => '' &>
-+ </&>
-+ </div>
-+ </div>
-+ <div class="form-row">
-+ <div class="col-md-12">
-+ <& /Elements/Submit, Label => loc('Save asset'), Name => "Update" &>
-+ </div>
++ <div class="form-row">
++ <div class="col-md-12">
++ <& /Elements/Submit, Label => loc('Save asset'), Name => "Update" &>
+ </div>
+ </div>
</form>
@@ -436,7 +445,10 @@
<span class="catalog <% CSSClass($asset->CatalogObj->Name) %>">
-<form method="post" enctype="multipart/form-data" id="ModifyAssetPeople" action="ModifyPeople.html">
- <input type="hidden" name="id" value="<% $asset->id %>">
--
++ <form method="post" enctype="multipart/form-data" id="ModifyAssetPeople" action="ModifyPeople.html">
++ <input type="hidden" name="id" value="<% $asset->id %>">
++ <div class="col-md-12">
+
- <&| /Widgets/TitleBox, title => loc("People"), class => "asset-people", title_class => "inverse" &>
- <table width="100%" class="edit">
- <tr>
@@ -448,30 +460,34 @@
- </tr>
- </table>
- </&>
--
++ <div class="form-row">
++ <div class="col-md-12">
++ <&| /Widgets/TitleBox, title => loc("People"), class => "asset-people", title_class => "inverse" &>
++ <div class="form-row">
++ <div class="col-md-4">
++ <& /Asset/Elements/EditCatalogPeople, %ARGS, Object => $asset &>
++ </div>
+
- <& /Elements/Submit, Label => loc('Save'), Name => "Update" &>
-</form>
-+ <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 %>">
-+ <&| /Widgets/TitleBox, title => loc("People"), class => "asset-people", title_class => "inverse" &>
-+ <div class="form-row">
++ <div class="col-md-4">
++ <& /Asset/Elements/AddCatalogPeople, Object => $asset &>
++ </div>
++
+ <div class="col-md-4">
-+ <& /Asset/Elements/EditCatalogPeople, %ARGS, Object => $asset &>
-+ </div>
-+ <div class="col-md-4">
-+ <& /Asset/Elements/AddCatalogPeople, Object => $asset &>
++ <& /Elements/EditCustomFields, Object => $asset, Grouping => 'People' &>
+ </div>
+ </div>
-+ <div class="col-md-4">
-+ <& /Elements/EditCustomFields, Object => $asset, Grouping => 'People' &>
-+ </div>
+ </&>
+ </div>
++ </div>
++
++ <div class="form-row">
+ <div class="col-md-12">
+ <& /Elements/Submit, Label => loc('Save'), Name => "Update" &>
+ </div>
-+ </form>
++ </div>
++ </form>
</span>
<%init>
131: 8cbbb510a ! 131: f61ee2084 Update asset search components for elevator theme
@@ -31,19 +31,18 @@
- <td class="value"><input type="text" id="!Description" name="!Description" value="<% $ARGS{"!Description"} || ''%>" /></td></tr>
+<div class="col-md-12">
+ <&| /Widgets/TitleBox, title => loc('Basics'), class=>'asset-search-grouping asset-search-basics' &>
-+ <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="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 class="col-md-6">
+ <div class="form-row">
+ <div class="label col-md-3"><&|/l&>Status</&></div>
@@ -55,21 +54,21 @@
+ </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="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 class="col-md-6">
+ <div class="form-row">
+ <div class="label col-md-2"><&|/l&>Description</&></div>
@@ -81,8 +80,10 @@
+ <input class="form-control" type="text" id="!Description" name="!Description" value="<% $ARGS{"!Description"} || ''%>" />
+ </div>
+ </div>
-+ </div>
-+ </div>
++ </div>
++
++ <div class="form-row">
++ <div class="col-md-12">
% my $CFs = RT::CustomFields->new( $session{CurrentUser} );
% $CFs->LimitToCatalog( $CatalogObj->Id );
% $CFs->LimitToObjectId(0); # LimitToGlobal but no LookupType restriction
@@ -96,21 +97,25 @@
- <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">
-+ <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>
++ <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>
% }
-</table>
-</&>
++ </div>
++ </div>
+ </&>
+</div>
<%args>
@@ -144,19 +149,21 @@
- <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">
-+ <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 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>
% }
-</&>
@@ -190,24 +197,22 @@
- data-autocomplete="Users" value="<% $ARGS{"!Role.$role"} || '' %>" />
- </td>
-</tr>
-+ <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 class="asset-role-<% CSSClass($role) %> 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>
% }
@@ -224,17 +229,19 @@
- <td class="value"><& /Elements/SelectCustomFieldValue, CustomField => $cf, Name => "!$name", Default => $negval &></td>
-</tr>
+ <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>
++ <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>
% }
-</table>
-</&>
@@ -243,6 +250,19 @@
<%args>
$CatalogObj => undef
</%args>
+
+diff --git a/share/html/Asset/Elements/Search b/share/html/Asset/Elements/Search
+--- a/share/html/Asset/Elements/Search
++++ b/share/html/Asset/Elements/Search
+@@
+ %#
+ %# END BPS TAGGED BLOCK }}}
+ <form action="<% RT->Config->Get('WebPath') %>/Asset/Search/" class="asset-search">
+- <input name="q" accesskey="0" class="field" value="<% $value %>" placeholder="<&|/l&>Search Assets</&>..." type="search" results=5 autosave="search-assets" />
++ <input name="q" accesskey="0" class="field form-control" value="<% $value %>" placeholder="<&|/l&>Search Assets</&>..." type="search" results=5 autosave="search-assets" />
+ </form>
+ <%init>
+ my $value = defined $DECODED_ARGS->{q} ? $DECODED_ARGS->{q} : '';
diff --git a/share/html/Asset/Search/Bulk.html b/share/html/Asset/Search/Bulk.html
--- a/share/html/Asset/Search/Bulk.html
@@ -543,19 +563,24 @@
<em><&|/l&>No assets matching search criteria found.</&></em>
% }
% }
--<span class="catalog <% CSSClass( $catalog_obj->Name ) %>">
++</div>
+ <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") &>
-<& /Asset/Elements/AssetSearchBasics, %ARGS, CatalogObj => $catalog_obj &>
-<& /Asset/Elements/AssetSearchPeople, %ARGS, CatalogObj => $catalog_obj &>
-<& /Elements/Submit, Label => loc('Search'), Name => 'SearchAssets' &>
-+</div>
-+<div class="col-md-12">
-+ <span class="catalog <% CSSClass( $catalog_obj->Name ) %>">
-+ <form action="<% RT->Config->Get('WebPath') %>/Asset/Search/index.html" id="AssetSearch">
++ <form action="<% RT->Config->Get('WebPath') %>/Asset/Search/index.html" id="AssetSearch">
++ <div class="col-md-12">
+ <&| /Widgets/TitleBox, title => loc("Search Assets") &>
-+ <& /Asset/Elements/AssetSearchBasics, %ARGS, CatalogObj => $catalog_obj &>
-+ <& /Asset/Elements/AssetSearchPeople, %ARGS, CatalogObj => $catalog_obj &>
++ <div class="form-row">
++ <& /Asset/Elements/AssetSearchBasics, %ARGS, CatalogObj => $catalog_obj &>
++ </div></div>
++
++ <div class="form-row">
++ <& /Asset/Elements/AssetSearchPeople, %ARGS, CatalogObj => $catalog_obj &>
++ </div>
++
+ <div class="form-row">
+ <div class="col-md-12">
+ <& /Elements/Submit, Label => loc('Search'), Name => 'SearchAssets' &>
@@ -564,25 +589,35 @@
% my $has_assets_cfs = 0;
% foreach my $group ( 'Dates', 'Links', RT::CustomField->CustomGroupings( "RT::Asset" ), '' ) {
-@@
+- <& /Asset/Elements/AssetSearchCFs, %ARGS, Grouping => $group,
+- CatalogObj => $catalog_obj, has_assets_cfs => \$has_assets_cfs &>
++ <div class="form-row">
++ <& /Asset/Elements/AssetSearchCFs, %ARGS, Grouping => $group,
++ CatalogObj => $catalog_obj, has_assets_cfs => \$has_assets_cfs
++ &>
++ </div>
% }
% if ( $has_assets_cfs ) {
-<& /Elements/Submit, Label => loc('Search'), Name => 'SearchAssets' &>
-+ <div class="form-row">
-+ <div class="col-md-12">
-+ <& /Elements/Submit, Label => loc('Search'), Name => 'SearchAssets' &>
-+ </div>
-+ </div>
- % }
-
- </&>
++ <div class="form-row">
++ <div class="col-md-12">
++ <& /Elements/Submit, Label => loc('Search'), Name => 'SearchAssets' &>
++ </div>
++ </div>
+ % }
+-
+-</&>
+-
++ </&>
++ </div>
+ <script>
+ jQuery(function() {
+ var all_inputs = jQuery("#AssetSearch input, #AssetSearch select");
@@
});
});
</script>
-</form>
--</span>
-+ </form>
-+ </span>
-+</div>
++ </form>
+ </span>
More information about the rt-commit
mailing list