X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/060d38d627bd1e51dd2b3c6e7de9af6aa7d7b6f3..e20590d485505f58f7745d74a311ca539c9be940:/apps/workbench/app/views/application/404.html.erb?ds=sidebyside diff --git a/apps/workbench/app/views/application/404.html.erb b/apps/workbench/app/views/application/404.html.erb index e02d0b3bd7..61cbd67005 100644 --- a/apps/workbench/app/views/application/404.html.erb +++ b/apps/workbench/app/views/application/404.html.erb @@ -4,10 +4,11 @@ SPDX-License-Identifier: AGPL-3.0 %> <% if (controller.andand.action_name == 'show') and params[:uuid] + check_trash = controller.model_class.include_trash(true).where(uuid: params[: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(""), params[:uuid], raw("")], "") + raw(""), params[:uuid], raw("")], "") req_item_plain_text = safe_join([class_name_h, " with UUID ", params[:uuid]]) else req_item = "page you requested" @@ -15,6 +16,67 @@ SPDX-License-Identifier: AGPL-3.0 %> end %> + <% untrash_object = nil %> + + <% if check_trash.andand.any? %> + <% object = check_trash.first %> + <% if object.respond_to?(:is_trashed) && object.is_trashed %> + <% untrash_object = object %> + <% else %> + <% owner = object %> + <% while true %> + <% owner = Group.where(uuid: owner.owner_uuid).include_trash(true).first %> + <% if owner.nil? %> + <% break %> + <% end %> + <% if owner.is_trashed %> + <% untrash_object = owner %> + <% break %> + <% end %> + <% end %> + <% end %> + <% end %> + + <% if !untrash_object.nil? %> +

Trashed

+ + <% untrash_name = if !untrash_object.name.blank? then + "'#{untrash_object.name}'" + else + untrash_object.uuid + end %> + +

The <%= req_item %> is + <% if untrash_object == object %> + in the trash. + <% else %> + owned by trashed project <%= untrash_name %> (<%= untrash_object.uuid %>). + <% end %> +

+ +

+ It will be permanently deleted at <%= render_localized_date(untrash_object.delete_at) %>. +

+ +

+ <% if untrash_object != object %> + You must untrash the owner project to access this <%= class_name_h %>. + <% end %> + <% 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 %> + + <% end %> + + <%= form_tag url_for({action: 'untrash_items', controller: :trash_items}), {method: :post} %> + <%= hidden_field_tag :selection, [untrash_object.uuid] %> + + <% end %> +

+ + <% else %> +

Not Found

The <%= req_item %> was not found.

@@ -39,5 +101,7 @@ SPDX-License-Identifier: AGPL-3.0 %> <% end %> +<% end %> + <% error_message = "The #{req_item_plain_text} was not found." %> <%= render :partial => "report_error", :locals => {error_message: error_message, error_type: '404'} %>