14988: Fixes functionals tests (WIP)
[arvados.git] / apps / workbench / app / views / application / 404.html.erb
index 9750b9178b3740561459b0168383ceb065757abd..61cbd670050c5d391e7699d3cf8947f04e994502 100644 (file)
@@ -16,20 +16,29 @@ SPDX-License-Identifier: AGPL-3.0 %>
    end
 %>
 
-  <% if check_trash.andand.any? %>
-    <h2>Trashed</h2>
-
-      <% object = check_trash.first %>
+  <% untrash_object = nil %>
 
+  <% if check_trash.andand.any? %>
+    <% object = check_trash.first %>
+    <% if object.respond_to?(:is_trashed) && object.is_trashed %>
       <% untrash_object = object %>
-      <% while !untrash_object.is_trashed %>
-        <% owner = Group.where(uuid: untrash_object.owner_uuid).include_trash(true).first %>
-        <% if owner.nil? then %>
+    <% else %>
+      <% owner = object %>
+      <% while true %>
+        <% owner = Group.where(uuid: owner.owner_uuid).include_trash(true).first %>
+        <% if owner.nil? %>
           <% break %>
-        <% else %>
+        <% end %>
+        <% if owner.is_trashed %>
           <% untrash_object = owner %>
+          <% break %>
         <% end %>
       <% end %>
+    <% end %>
+  <% end %>
+
+  <% if !untrash_object.nil? %>
+    <h2>Trashed</h2>
 
       <% untrash_name = if !untrash_object.name.blank? then
                  "'#{untrash_object.name}'"
@@ -45,7 +54,6 @@ SPDX-License-Identifier: AGPL-3.0 %>
       <% end %>
     </p>
 
-
     <p>
       It will be permanently deleted at <%= render_localized_date(untrash_object.delete_at) %>.
     </p>
@@ -54,7 +62,7 @@ SPDX-License-Identifier: AGPL-3.0 %>
     <% if untrash_object != object %>
       You must untrash the owner project to access this <%= class_name_h %>.
     <% end %>
-      <% if untrash_object.editable? %>
+      <% if untrash_object.is_trashed and untrash_object.editable? %>
         <% msg = "Untrash '#{untrash_name}'?" %>
         <%= link_to({action: 'untrash_items', selection: [untrash_object.uuid], controller: :trash_items}, remote: true, method: :post,
         title: "Untrash", style: 'cursor: pointer;') do %>