12765: Add test for untrash on 404 page
[arvados.git] / apps / workbench / app / views / application / 404.html.erb
index 283f5d59fd78a228a662d10f6823a88e85af7bf7..94a6520873cc1a0cbc703aed52371a9b3be28ed6 100644 (file)
@@ -16,20 +16,26 @@ 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 %>
-          <% break %>
-        <% else %>
+    <% else %>
+      <% owner = Group.where(uuid: object.owner_uuid).include_trash(true).first %>
+      <% while !owner.nil? && !owner.is_trashed %>
+        <% if !owner.nil? and owner.is_trashed then %>
           <% untrash_object = owner %>
+          <% break %>
         <% end %>
+        <% owner = Group.where(uuid: owner.owner_uuid).include_trash(true).first %>
       <% end %>
+    <% end %>
+  <% end %>
+
+  <% if !untrash_object.nil? %>
+    <h2>Trashed</h2>
 
       <% untrash_name = if !untrash_object.name.blank? then
                  "'#{untrash_object.name}'"