Merge branch '3198-inode-cache' into 3198-writable-fuse, fix tests.
[arvados.git] / apps / workbench / app / views / application / 404.html.erb
index 40d73b9a737141e90381e326d44c1f5c20e615b3..aa1ffda017120bb085997e130074e1bd799dace9 100644 (file)
@@ -1,21 +1,36 @@
 <%
    if (controller.andand.action_name == 'show') and params[:uuid]
-     class_name = controller.model_class.to_s.underscore.humanize(capitalize: false)
-     req_item = safe_join([class_name, " with UUID ",
+     class_name = controller.model_class.to_s.underscore
+     class_name_h = class_name.humanize(capitalize: false)
+     req_item = safe_join([class_name_h, " with UUID ",
                            raw("<code>"), params[:uuid], raw("</code>")], "")
+     req_item_plain_text = safe_join([class_name_h, " with UUID ", params[:uuid]])
    else
      req_item = "page you requested"
+     req_item_plain_text = "page you requested"
    end
 %>
 
 <h2>Not Found</h2>
 
-<p>The <%= req_item %> was not found.
+<p>The <%= req_item %> was not found.</p>
 
-<% if class_name %>
-Perhaps you'd like to
-<%= link_to("browse all #{class_name.pluralize}", action: :index) %>?
-<% end %>
+<% if !current_user %>
+
+  <p>
+    (I notice you are not logged in. If you're looking for a private
+    page, you'll need to <%=link_to 'log in', arvados_api_client.arvados_login_url(return_to: strip_token_from_path(request.url))%> first.)
+  </p>
+
+<% elsif class_name %>
 
-</p>
+  <p>
+    Perhaps you'd like to <%= link_to("browse all
+    #{class_name_h.pluralize}", action: :index, controller:
+    class_name.tableize) %>?
+  </p>
+
+<% end %>
 
+<% error_message = "The #{req_item_plain_text} was not found." %>
+<%= render :partial => "report_error", :locals => {error_message: error_message, error_type: '404'} %>