[Rt-commit] rt branch, 4.6-theme/assets-pages, created. rt-4.4.4-182-g9003c6e0a

Craig Kaiser craig at bestpractical.com
Thu Apr 11 13:45:29 EDT 2019


The branch, 4.6-theme/assets-pages has been created
        at  9003c6e0a462d089591901a8e8deb8e3f5df58f4 (commit)

- Log -----------------------------------------------------------------
commit 9003c6e0a462d089591901a8e8deb8e3f5df58f4
Author: Craig Kaiser <craig at bestpractical.com>
Date:   Thu Apr 11 10:46:16 2019 -0400

    Running work for assets

diff --git a/share/html/Asset/Create.html b/share/html/Asset/Create.html
index 39ae7e6c8..169c9a131 100644
--- a/share/html/Asset/Create.html
+++ b/share/html/Asset/Create.html
@@ -62,44 +62,46 @@
   <input type="hidden" name="Catalog" value="<% $catalog->id %>">
 
 <a name="basics"></a>
-<div id="Asset-Create-basics" class="asset-metadata">
-    <table>
-        <tbody>
-        <tr>
-            <td>
-  <&| /Widgets/TitleBox, title => loc("Basics"), class => "asset-basics", title_class => "inverse" &>
-    <& Elements/EditBasics, %ARGS, AssetObj => $asset, CatalogObj => $catalog &>
-  </&>
-
-  <&| /Widgets/TitleBox, title => loc("People"), class => "asset-people", title_class => "inverse" &>
-    <& Elements/EditPeople, %ARGS, AssetObj => $asset &>
-  </&>
-  </td><td>
-  <&| /Widgets/TitleBox, title => loc("Links"), class => "asset-links", title_class => "inverse" &>
-    <& /Elements/AddLinks,
-        Object          => $asset,
-        CustomFields    => $catalog->AssetCustomFields &>
-  </&>
-  </td>
-
-  </tr>
-  </tbody>
-  </table>
-</div>
-
-<div id="Asset-Create-details">
-<a name="details"></a>
-
-  <& /Elements/EditCustomFieldCustomGroupings,
+<div id="Asset-Create-basics" class="boxcontainer asset-metadata col-md-12">
+    <div class="row">
+      <div class="col-md-6">
+        <&| /Widgets/TitleBox, title => loc("Basics"), class => "asset-basics", title_class => "inverse" &>
+          <& Elements/EditBasics, %ARGS, AssetObj => $asset, CatalogObj => $catalog &>
+        </&>
+        <div class="row">
+          <div class="col-md-12">
+          <&| /Widgets/TitleBox, title => loc("People"), class => "asset-people", title_class => "inverse" &>
+              <& Elements/EditPeople, %ARGS, AssetObj => $asset &>
+          </&>
+        </div>
+      </div>
+      </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 id="Asset-Create-details" class="row">
+    <div class="col-md-12">
+      <a name="details"></a>
+      <& /Elements/EditCustomFieldCustomGroupings,
         Object => $asset,
         TitleBoxARGS => { title_class => "inverse" },
         KeepValue => 1,
         CustomFieldGenerator => sub { $catalog->AssetCustomFields },
         ForCreation => 1,
-  &>
-</div>
-
-  <& /Elements/Submit, Label => loc('Create asset') &>
+      &>
+    </div>
+  </div>
+  <div class="form-row">
+    <div class="col-md-12">
+      <& /Elements/Submit, Label => loc('Create asset') &>
+    </div>
+  </div>
 </form>
 </span>
 
diff --git a/share/html/Asset/CreateInCatalog.html b/share/html/Asset/CreateInCatalog.html
index af0131843..aaff4b10d 100644
--- a/share/html/Asset/CreateInCatalog.html
+++ b/share/html/Asset/CreateInCatalog.html
@@ -48,4 +48,8 @@
 <& /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/AddCatalogPeople b/share/html/Asset/Elements/AddCatalogPeople
index 0d65328a6..5341ba0b9 100644
--- a/share/html/Asset/Elements/AddCatalogPeople
+++ b/share/html/Asset/Elements/AddCatalogPeople
@@ -48,20 +48,34 @@
 <%args>
 $Object
 </%args>
-<div class="add-user">
-<h3><&|/l&>Add a person</&></h3>
-<& SelectRoleType, Object => $Object, Name => "AddUserRoleMember-Role" &>
-<input type="text" name="AddUserRoleMember"
-       data-autocomplete="Users"
-       data-autocomplete-return="Name"
-       placeholder="<% loc("Find a user...") %>">
+<div class="add-user form-row">
+  <div class="col-md-4 label">
+    <h5><&|/l&>Add a person</&></h5>
+  </div>
+  <div class="col-md-4 value">
+    <& SelectRoleType, Object => $Object, Name => "AddUserRoleMember-Role" &>
+  </div>
+  <div class="col-md-4 value">
+    <input type="text" name="AddUserRoleMember"
+      data-autocomplete="Users"
+      data-autocomplete-return="Name"
+      placeholder="<% loc("Find a user...") %>"
+    >
+  </div>
 </div>
 
-<div class="add-group">
-<h3><&|/l&>Add a group</&></h3>
-<& SelectRoleType, Object => $Object, Name => "AddGroupRoleMember-Role" &>
-<input type="text" name="AddGroupRoleMember"
-       data-autocomplete="Groups"
-       data-autocomplete-return="Name"
-       placeholder="<% loc("Find a group...") %>">
+<div class="add-group form-row">
+  <div class="col-md-4 label">
+    <h5><&|/l&>Add a group</&></h5>
+  </div>
+  <div class="col-md-4 value">
+    <& SelectRoleType, Object => $Object, Name => "AddGroupRoleMember-Role" &>
+  </div>
+  <div class="col-md-4 value">
+    <input type="text" name="AddGroupRoleMember"
+      data-autocomplete="Groups"
+      data-autocomplete-return="Name"
+      placeholder="<% loc("Find a group...") %>"
+    >
+  </div>
 </div>
diff --git a/share/html/Asset/Elements/CreateInCatalog b/share/html/Asset/Elements/CreateInCatalog
index 6ac611008..757d02f87 100644
--- a/share/html/Asset/Elements/CreateInCatalog
+++ b/share/html/Asset/Elements/CreateInCatalog
@@ -45,9 +45,17 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<form action="<% RT->Config->Get("WebPath") %>/Asset/Create.html" id="AssetCreateInCatalog">
-  <&|/l_unsafe,
-    $m->scomp("/Asset/Elements/SelectCatalog"),
-    &>Create a new asset in the catalog [_1].</&>
-  <& /Elements/Submit, Label => loc("Go"), Caption => loc("This will take you to a partially prefilled asset creation form.") &>
-</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="col-md-12">
+        <& /Elements/Submit, Label => loc("Go"), Caption => loc("This will take you to a partially prefilled asset creation form.") &>
+      </div>
+    </div>
+  </form>
+</div>
diff --git a/share/html/Asset/Elements/CreateLinkedTicket b/share/html/Asset/Elements/CreateLinkedTicket
index 193a2df1b..1c217ee4c 100644
--- a/share/html/Asset/Elements/CreateLinkedTicket
+++ b/share/html/Asset/Elements/CreateLinkedTicket
@@ -76,32 +76,49 @@ foreach my $asset (@asset_objs){
 
 </%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">
+  <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-group">
+      <div class="col-md-12">
+        <&|/l_unsafe,
+          $m->scomp("/Elements/SelectNewTicketQueue"),
+          @description &>Create a new ticket in queue: [_1]
+          <div>about asset: #[_2]: [_3].</div>
+        </&>
+      </div>
+    </div>
 % }
 % else {
-<&|/l_unsafe,
-    $m->scomp("/Elements/SelectNewTicketQueue"),
-    &>Create a new ticket in the [_1] queue about multiple assets.</&>
+    <div class="form-group">
+      <div class="col-md-12">
+        <&|/l_unsafe,
+          $m->scomp("/Elements/SelectNewTicketQueue"),
+          &>Create a new ticket in queue: [_1]
+          <div>about multiple assets</div>
+        </&>
+      </div>
+    </div>
 % }
 % if ($Requestors) {
     <input type="hidden" name="Requestors" value="<% $Requestors%>" />
 % } else {
+    <div class="form-group">
 %     my $first = 1;
 %     for my $role ($asset_objs[0]->Roles) {
 %         my $addr = join ', ', keys %{$role_addresses{$role}};
 %         next unless defined $addr and length $addr;
-  <br>
-  <label>
-    <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%>/>
+        <&|/l, loc($role), $addr &>Use asset [_1] as ticket Requestor: [_2]</&>
 %         $first = 0;
 %     }
+    </div>
 % }
-  <& /Elements/Submit, Label => loc("Go"), Caption => loc("This will take you to a partially prefilled ticket creation form.") &>
+    <div class="form-row">
+      <div class="col-md-12">
+        <& /Elements/Submit, Label => loc("Go"), Caption => loc("This will take you to a partially filled ticket creation form.") &>
+      </div>
+    </div>
+  </div>
 </form>
diff --git a/share/html/Asset/Elements/EditCatalogPeople b/share/html/Asset/Elements/EditCatalogPeople
index 4438c5b24..627f47174 100644
--- a/share/html/Asset/Elements/EditCatalogPeople
+++ b/share/html/Asset/Elements/EditCatalogPeople
@@ -50,10 +50,14 @@ $Object
 </%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="role-<% CSSClass($role) %> role">
+    <h5><% loc($role) %></h5>
+    <& EditRoleMembers, Group => $Object->RoleGroup($role) &>
+  </div>
 % }
-<em><&|/l&>(Check box to delete)</&></em>
+  <div class="form-row col-md-12">
+    <em><&|/l&>(Check box to delete)</&></em>
+  </div>
+</div>
diff --git a/share/html/Asset/Elements/EditDates b/share/html/Asset/Elements/EditDates
index 2c4bedefd..49da34165 100644
--- a/share/html/Asset/Elements/EditDates
+++ b/share/html/Asset/Elements/EditDates
@@ -45,28 +45,30 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<table>
-  <tr>
-    <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]</&>
-    </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]</&>
-    </td>
-  </tr>
-  <& /Elements/EditCustomFields, Object => $AssetObj, Grouping => 'Dates', InTable => 1 &>
+<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>
 % $m->callback(%ARGS, CallbackName => "AfterFields");
-</table>
+</div>
 <%args>
 $AssetObj
 </%args>
diff --git a/share/html/Asset/Elements/EditRoleMembers b/share/html/Asset/Elements/EditRoleMembers
index dcbb5fa8f..54fc4d043 100644
--- a/share/html/Asset/Elements/EditRoleMembers
+++ b/share/html/Asset/Elements/EditRoleMembers
@@ -52,28 +52,24 @@ $Recursively => 0
 <%init>
 my $field_name = "RemoveRoleMember-" . $Group->Name;
 </%init>
-<ul class="role-members">
+<div class="role-members">
 % my $Users = $Group->UserMembersObj( Recursively => $Recursively );
 % if ($Group->SingleMemberRoleGroup) {
-<input type="text" value="<% $Users->First->Name %>" name="SetRoleMember-<% $Group->Name %>" id="SetRoleMember-<% $Group->Name %>" data-autocomplete="Users" data-autocomplete-return="Name" /><br />
+  <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 ) {
-<li>
-  <label>
+  <div class="col-md-12">
     <input type="checkbox" name="<% $field_name %>" value="<% $user->PrincipalId %>">
     <& /Elements/ShowUser, User => $user &>
-  </label>
-</li>
+  </div>
 % }
 % my $Groups = $Group->GroupMembersObj( Recursively => $Recursively );
 % $Groups->LimitToUserDefinedGroups;
 % while (my $group = $Groups->Next) {
-<li>
-  <label>
+  <div class="col-md-12">
     <input type="checkbox" name="<% $field_name %>" value="<% $group->PrincipalId %>">
     <&|/l&>Group</&>: <% $group->Name %>
-  </label>
-</li>
+  </div>
 % }
 % }
-</ul>
+</div>
diff --git a/share/html/Asset/Elements/SelectRoleType b/share/html/Asset/Elements/SelectRoleType
index 6abbc2d79..7f51901b7 100644
--- a/share/html/Asset/Elements/SelectRoleType
+++ b/share/html/Asset/Elements/SelectRoleType
@@ -50,7 +50,7 @@ $Object
 $Name
 $AllowNull  => 0
 </%args>
-<select name="<% $Name %>">
+<select name="<% $Name %>" class="selectpicker form-control">
 % if ($AllowNull) {
   <option value=""></option>
 % }
diff --git a/share/html/Asset/Elements/ShowSummary b/share/html/Asset/Elements/ShowSummary
index d81d3f3dc..e340b3673 100644
--- a/share/html/Asset/Elements/ShowSummary
+++ b/share/html/Asset/Elements/ShowSummary
@@ -68,16 +68,29 @@ for my $section (@sections) {
         . $AssetObj->id;
 }
 </%init>
-<div class="asset-metadata">
+<div class="boxcontainer col-md-12 asset-metadata">
+  <div class="row">
+% my $count = 0;
 % 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="row">
+%        $count = 0;
+%    }
+      <div class="col-md-4">
+        <&| /Widgets/TitleBox, title => loc($section), title_href => $can_edit ? $link{$section} : "", title_class => "inverse", class => "asset-\L$section" &>
+          <& "Show$section", AssetObj => $AssetObj &>
+        </&>
+      </div>
+%    $count = $count + 1;
 % }
-
-<& /Elements/ShowCustomFieldCustomGroupings,
-     Object => $AssetObj,
-     title_href => $can_edit ? RT->Config->Get("WebPath") . "/Asset/ModifyCFs.html" : "",
-     TitleBoxARGS => { title_class => "inverse" },
- &>
+  <% $count == 3 ? qq[</div><div class="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>
+  </div>
 </div>
diff --git a/share/html/Asset/Helpers/CreateInCatalog b/share/html/Asset/Helpers/CreateInCatalog
index 46e7072d5..f1c5aa707 100644
--- a/share/html/Asset/Helpers/CreateInCatalog
+++ b/share/html/Asset/Helpers/CreateInCatalog
@@ -45,5 +45,9 @@
 %# those contributions and any derivatives thereof.
 %#
 %# END BPS TAGGED BLOCK }}}
-<& /Asset/Elements/CreateInCatalog &>
+<div class="modal-dialog modal-dialog-centered" role="document">
+  <div class="modal-content">
+    <& /Asset/Elements/CreateInCatalog &>
+  </div>
+</div>
 % $m->abort;
diff --git a/share/html/Asset/Helpers/CreateLinkedTicket b/share/html/Asset/Helpers/CreateLinkedTicket
index 76631d606..b8f77555b 100644
--- a/share/html/Asset/Helpers/CreateLinkedTicket
+++ b/share/html/Asset/Helpers/CreateLinkedTicket
@@ -60,5 +60,9 @@ elsif ( $Asset ){
 }
 
 </%init>
-<& /Asset/Elements/CreateLinkedTicket, AssetObj => \@asset_objs, Requestors => $Requestors &>
+<div class="modal-dialog modal-dialog-centered" role="document">
+  <div class="modal-content">
+    <& /Asset/Elements/CreateLinkedTicket, AssetObj => \@asset_objs, Requestors => $Requestors &>
+  </div>
+</div>
 % $m->abort;
diff --git a/share/html/Asset/History.html b/share/html/Asset/History.html
index 535af7e67..7ca7fd00f 100644
--- a/share/html/Asset/History.html
+++ b/share/html/Asset/History.html
@@ -49,11 +49,13 @@
 <& /Elements/Tabs &>
 
 <span class="catalog <% CSSClass($asset->CatalogObj->Name) %>">
-<& /Elements/ShowHistory,
-    Object => $asset,
-    ShowDisplayModes => 0,
-    DisplayPath => 'History.html',
+  <div class="boxcontainer asset-metadata col-md-12">
+    <& /Elements/ShowHistory,
+      Object => $asset,
+      ShowDisplayModes => 0,
+      DisplayPath => 'History.html',
     &>
+  </div>
 </span>
 
 <%args>
diff --git a/share/html/Asset/Modify.html b/share/html/Asset/Modify.html
index e047b0ab5..be291cd37 100644
--- a/share/html/Asset/Modify.html
+++ b/share/html/Asset/Modify.html
@@ -55,15 +55,27 @@
   <input type="hidden" name="id" value="<% $asset->id %>">
   <input type="hidden" name="DisplayAfter" value="<% $DisplayAfter ? 1 : 0 %>">
 
-  <&| /Widgets/TitleBox, title => loc("Basics"), class => "asset-basics", title_class => "inverse" &>
-    <& Elements/EditBasics, %ARGS, AssetObj => $asset &>
-  </&>
-
-  <&| /Widgets/TitleBox, title => loc("Custom Fields"), class => "asset-info-cfs", title_class => "inverse" &>
-    <& /Elements/EditCustomFields, Object => $asset, Grouping => '' &>
-  </&>
-
-  <& /Elements/Submit, Label => loc('Save asset'), Name => "Update" &>
+  <div class="boxcontainer asset-metadata col-md-12">
+    <div class="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="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>
+  </div>
 </form>
 </span>
 
diff --git a/share/html/Asset/ModifyCFs.html b/share/html/Asset/ModifyCFs.html
index 999cb150f..0abe744f8 100644
--- a/share/html/Asset/ModifyCFs.html
+++ b/share/html/Asset/ModifyCFs.html
@@ -52,15 +52,23 @@
 
 <span class="catalog <% CSSClass($asset->CatalogObj->Name) %>">
 <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">
+    <input type="hidden" name="id" value="<% $asset->id %>">
+    <input type="hidden" name="Grouping" value="<% $Grouping %>">
 
-  <&| /Widgets/TitleBox, title => $Grouping ? loc($Grouping) : loc("Custom Fields"), class => "asset-info-cfs ".($Grouping ? CSSClass("asset-info-cfs-\L$Grouping") : ""), title_class => "inverse" &>
-    <& /Elements/EditCustomFields, Object => $asset, Grouping => $Grouping &>
-  </&>
-
-  <& /Elements/Submit, Label => loc('Save asset'), Name => "Update" &>
-</form>
+    <div class="form-row">
+      <div class="col-md-12">
+        <&| /Widgets/TitleBox, title => $Grouping ? loc($Grouping) : loc("Custom Fields"), class => "asset-info-cfs ".($Grouping ? CSSClass("asset-info-cfs-\L$Grouping") : ""), title_class => "inverse" &>
+          <& /Elements/EditCustomFields, Object => $asset, Grouping => $Grouping &>
+        </&>
+      </div>
+    </div>
+    <div class="form-row">
+      <div class="col-md-12">
+        <& /Elements/Submit, Label => loc('Save asset'), Name => "Update" &>
+      </div>
+    </div>
+  </form>
 </span>
 
 <%args>
diff --git a/share/html/Asset/ModifyDates.html b/share/html/Asset/ModifyDates.html
index 663eaa570..ca94c9921 100644
--- a/share/html/Asset/ModifyDates.html
+++ b/share/html/Asset/ModifyDates.html
@@ -51,15 +51,23 @@
 <& /Elements/ListActions, actions => \@results &>
 
 <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">
+    <form method="post" enctype="multipart/form-data" id="ModifyAssetDates" action="ModifyDates.html">
+    <input type="hidden" name="id" value="<% $asset->id %>">
 
-  <&| /Widgets/TitleBox, title => loc("Dates"), class => "asset-dates", title_class => "inverse" &>
-    <& Elements/EditDates, %ARGS, AssetObj => $asset &>
-  </&>
-
-  <& /Elements/Submit, Label => loc('Save asset'), Name => "Update" &>
-</form>
+    <div class="col-md-12">
+      <&| /Widgets/TitleBox, title => loc("Dates"), class => "asset-dates", title_class => "inverse" &>
+        <div class="col-md-12">
+          <& Elements/EditDates, %ARGS, AssetObj => $asset &>
+          </&>
+        </div>
+      <div class="form-row">
+        <div class="col-md-12">
+          <& /Elements/Submit, Label => loc('Save asset'), Name => "Update" &>
+        </div>
+      </div>
+    </div>
+  </form>
 </span>
 
 <%init>
diff --git a/share/html/Asset/ModifyLinks.html b/share/html/Asset/ModifyLinks.html
index 610a697c4..28f96ce0d 100644
--- a/share/html/Asset/ModifyLinks.html
+++ b/share/html/Asset/ModifyLinks.html
@@ -51,15 +51,24 @@
 <& /Elements/ListActions, actions => \@results &>
 
 <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">
+    <form method="post" enctype="multipart/form-data" id="ModifyAssetLinks" action="ModifyLinks.html">
+      <input type="hidden" name="id" value="<% $asset->id %>">
 
-  <&| /Widgets/TitleBox, title => loc("Links"), class => "asset-links", title_class => "inverse" &>
-    <& /Elements/EditLinks, %ARGS, Object => $asset, Merge => 0 &>
-  </&>
-
-  <& /Elements/Submit, Label => loc('Save asset'), Name => "Update" &>
-</form>
+      <div class="row">
+        <div class="col-md-12">
+          <&| /Widgets/TitleBox, title => loc("Links"), class => "asset-links", title_class => "inverse" &>
+            <& /Elements/EditLinks, %ARGS, Object => $asset, Merge => 0 &>
+          </&>
+        </div>
+      </div>
+      <div class="form-row">
+        <div class="col-md-12">
+          <& /Elements/Submit, Label => loc('Save asset'), Name => "Update" &>
+        </div>
+      </div>
+    </form>
+  </div>
 </span>
 
 <%init>
diff --git a/share/html/Asset/ModifyPeople.html b/share/html/Asset/ModifyPeople.html
index 5cd0384ce..a823e2c5c 100644
--- a/share/html/Asset/ModifyPeople.html
+++ b/share/html/Asset/ModifyPeople.html
@@ -53,23 +53,32 @@
 <& /Elements/ListActions, actions => \@results &>
 
 <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 %>">
+  <div class="boxcontainer col-md-12">
+    <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" &>
+          <div class="form-row">
+            <div class="col-md-3">
+              <& /Asset/Elements/EditCatalogPeople, %ARGS, Object => $asset &>
+            </div>
+            <div class="col-md-3">
+              <& /Asset/Elements/AddCatalogPeople, Object => $asset &>
+            </div>
+          </div>
+          <div class="col-md-3">
+            <& /Elements/EditCustomFields, Object => $asset, Grouping => 'People' &>
+          <div>
+        </&>
+      </div>
+    </div>
 
-  <&| /Widgets/TitleBox, title => loc("People"), class => "asset-people", title_class => "inverse" &>
-    <table width="100%" class="edit">
-      <tr>
-        <td width="30%"><& /Asset/Elements/EditCatalogPeople, %ARGS, Object => $asset &></td>
-        <td width="30%"><& /Asset/Elements/AddCatalogPeople, Object => $asset &></td>
-        <td>
-          <& /Elements/EditCustomFields, Object => $asset, Grouping => 'People' &>
-        </td>
-      </tr>
-    </table>
-  </&>
-
-  <& /Elements/Submit, Label => loc('Save'), Name => "Update" &>
-</form>
+    <div class="form-row">
+      <div class="col-md-12">
+        <& /Elements/Submit, Label => loc('Save'), Name => "Update" &>
+      </div>
+    </form>
+  </div>
 </span>
 
 <%init>
diff --git a/share/static/css/base-responsive/assets.css b/share/static/css/base-responsive/assets.css
index 1bc0b0ca6..38e00be61 100644
--- a/share/static/css/base-responsive/assets.css
+++ b/share/static/css/base-responsive/assets.css
@@ -9,251 +9,3 @@
     left: inherit;
     padding: 0;
 }
-
-.ticket-assets .add-asset {
-    padding: 2em 0 0 0;
-    text-align: right;
-}
-
-body#comp-Asset-Search .collection-as-table td {
-    white-space: nowrap;
-}
-
-/* Colors */
-
-.asset-basics   .titlebox .titlebox-title .left,
-.asset-info-cfs .titlebox .titlebox-title .left { background-color: #b32    }
-.asset-people   .titlebox .titlebox-title .left { background-color: #48c    }
-.asset-dates    .titlebox .titlebox-title .left { background-color: #633063 }
-.asset-links    .titlebox .titlebox-title .left { background-color: #316531 }
-.ticket-assets  .titlebox .titlebox-title .left { background-color: #316531 }
-
-/* People display */
-
-#comp-Asset-Display .asset-people table {
-    width: 100%;
-}
-
-#comp-Asset-Display .asset-people td.label {
-    text-align: left;
-}
-
-#comp-Asset-Display .asset-people h3 {
-    margin: 0;
-    padding: 0;
-    line-height: 1.3;
-    font-size: 100%;
-}
-
-#comp-Asset-Display .asset-people .details {
-    padding: 0;
-}
-
-/* People editing */
-
-.asset-people .edit ul.role-members {
-    margin-top: 0;
-    padding-left: 0;
-    list-style: none;
-}
-
-.asset-people .edit td {
-    vertical-align: top;
-}
-
-.asset-people .edit .note {
-    font-size: 0.9em;
-}
-
-.asset-people .edit h3 {
-    margin-top: 0;
-    margin-bottom: 0;
-}
-
-.asset-people .edit .role h3 {
-    margin-bottom: 0.5em;
-}
-
-.asset-people .edit .role,
-.asset-people .edit .add-group,
-.asset-people .edit .add-user {
-    margin-bottom: 1em;
-}
-
-/* Asset summary */
-
-.ticket-assets form {
-    display: inherit;
-}
-
-.ticket-assets .related-tickets {
-    margin-top: 1em;
-}
-
-.ticket-assets .related-tickets .label a {
-    font-weight: bold;
-    color: black;
-}
-
-.asset-metadata>div {
-    vertical-align: top;
-    min-width: 30%;
-    max-width: 30%;
-    padding-right: 1.5em;
-    display: inline-block;
-}
-
-.asset-metadata {
-    padding-top: 2em; /* nav overflows this :( */
-}
-
- at media (max-width: 800px) {
-    .asset-metadata>div {
-        min-width: 45%;
-        width: 45%;
-    }
-}
-
-/* on a little screen, let's just use a single column */
- at media (max-width: 600px) {
-    .asset-metadata {
-        padding-top: 6em;
-        /* nav overflows this: < */
-    }
-
-    .asset-metadata>div {
-        min-width: 100%;
-        width: 100%;
-    }
-
-    #Asset-Create-basics>table,
-    #Asset-Create-basics>table>tbody>tr,
-    #Asset-Create-basics>table>tbody>tr>td {
-        display: block;
-    }
-}
-
-/* On a reasonable-width screen, make better use of whitespace */
- at media (min-width: 601px) {
-    .asset-info-cfs .edit-custom-fields {
-        width: 100%;
-    }
-
-    .asset-info-cfs .edit-custom-fields tr td,
-    #ModifyAsset .asset-basics tr td {
-        display: inline-block;
-    }
-
-    .asset-info-cfs .edit-custom-fields tr,
-    #ModifyAsset .asset-basics tr {
-        display: inline-block;
-        width: 49%;
-    }
-
-    .asset-info-cfs .edit-custom-fields tr td.cflabel,
-    #ModifyAsset .asset-basics tr td.label,
-    #ModifyAsset .asset-basics tr td.cflabel {
-        width: 8em;
-    }
-
-    /* Asset creation */
-    #Asset-Create-basics>table {
-        width: 100%;
-        align: left;
-    }
-
-    #Asset-Create-basics>table>tbody>tr>td {
-        padding-right: 2em;
-    }
-
-    #Asset-Create-basics>table>tbody>tr {
-        vertical-align: top;
-    }
-}
-
-/* basic cleanups for the search UI's elements */
-.asset-search-grouping input.datepicker {
-    width: 7em;
-}
-
-.asset-search-grouping td * {
-    max-width: 11em;
-}
-
-.asset-search-grouping td.label.not {
-    min-width: 3em;
-    width: auto;
-    padding-left: 1em;
-}
-
-/* On a wide screen, use two columns for search/bulk criteria */
- at media (min-width:1150px) {
-    .asset-bulk-grouping.asset-bulk-cfs,
-    .asset-search-grouping.asset-search-cfs {
-        display: inline-block;
-        width: 45%;
-        padding-right: 1em;
-        vertical-align: top;
-    }
-
-    .titlebox.asset-bulk-grouping.asset-bulk-cfs,
-    .titlebox.asset-search-grouping.asset-search-cfs {
-        display: block;
-        width: auto;
-        padding: inherit;
-    }
-
-    .asset-bulk-people tr.full-width,
-    .asset-search-people tr.ful-width,
-    .asset-bulk-basics tr.full-width,
-    .asset-search-basics tr.full-width {
-        width: 100%;
-    }
-
-    .asset-bulk-people table.core-fields tr,
-    .asset-search-people tr,
-    .asset-bulk-basics table.core-fields tr,
-    .asset-search-basics tr {
-        width: 49%;
-        display: inline-block;
-        white-space: nowrap;
-    }
-
-    .asset-bulk-people table.core-fields tr>td,
-    .asset-search-people tr>td,
-    .asset-bulk-basics table.core-fields tr>td,
-    .asset-search-basics tr>td {
-        display: inline-block;
-        width: 10em;
-    }
-}
-
-#assets-accordion ul.toplevel {
-    position: absolute;
-    top: 0;
-    right: 20px;
-    width: auto;
-    font-size: .9em;
-    z-index: 1;
-}
-
-#assets-accordion li.has-children {
-    background: transparent;
-}
-
-#assets-accordion li.has-children ul {
-    min-width: 12em;
-}
-
-#assets-accordion a {
-    border: none;
-    color: #000;
-}
-
-#assets-accordion a.sf-with-ul {
-    padding-top: .3em;
-}
-
-#assets-accordion .sf-sub-indicator {
-    top: .2em;
-}
diff --git a/share/static/js/assets.js b/share/static/js/assets.js
index 8d5aaa008..abe272ff3 100644
--- a/share/static/js/assets.js
+++ b/share/static/js/assets.js
@@ -4,6 +4,10 @@ jQuery(function() {
             .append(html).appendTo("body")
             .bind('modal:close', function(ev,modal) { modal.elm.remove(); })
             .modal();
+
+            // We need to refresh the select picker plugin on AJAX calls
+            // since the plugin only runs on page load.
+            jQuery('.selectpicker').selectpicker('refresh');
     };
 
     var assets = jQuery("#assets-accordion");
@@ -57,7 +61,7 @@ jQuery(function() {
         ev.preventDefault();
         jQuery.get(
             RT.Config.WebHomePath + "/Asset/Helpers/CreateInCatalog",
-            showModal
-        );
+            showModal,
+        )
     });
 });

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


More information about the rt-commit mailing list