Merge branch 'master' into 3187-pipeline-instance-page
[arvados.git] / apps / workbench / app / views / application / show.html.erb
index e8a15f386c479f43ee94fa48e4e5548853517ab9..e0e1b8f63d89c9760469f8caf0256557f84baa27 100644 (file)
@@ -1,25 +1,71 @@
-<% if @object.respond_to? :properties %>
-
 <% content_for :page_title do %>
-<%= @object.properties[:page_title] || @object.friendly_link_name %>
+  <%= (@object.respond_to?(:properties) and !@object.properties.nil? ? @object.properties[:page_title] : nil) ||
+      @name_link.andand.name ||
+      @object.friendly_link_name %>
 <% end %>
 
-<% if @object.properties[:page_content] %>
-<% content_for :page_content do %>
-<h1>
-<%= render_content_from_database(@object.properties[:page_title] || @object.uuid) %>
-</h1>
+<% content_for :content_top do %>
+  <% if !['Group','User', 'Collection'].include? @object.class.to_s # projects and collections handle it themselves %>
+    <%= render partial: 'name_and_description' %>
+  <% end %>
 
-<% if @object.properties[:page_subtitle] %>
-<h4>
-<%= render_content_from_database @object.properties[:page_subtitle] %>
-</h4>
+<% if @object.class.goes_in_projects? && @object.uuid != current_user.uuid # Not the "Home" project %>
+  <% content_for :tab_line_buttons do %>
+    <% if @object.class.copies_to_projects? %>
+      <%= link_to(
+          choose_projects_path(
+           title: 'Copy to project...',
+           action_name: 'Copy',
+           action_href: actions_path,
+           action_method: 'post',
+           action_data: {
+             copy_selections_into_project: true,
+             selection: @name_link.andand.uuid || @object.uuid,
+             selection_param: 'uuid',
+             success: 'redirect-to-created-object'
+           }.to_json),
+          { class: "btn btn-sm btn-primary", remote: true, method: 'get' }) do %>
+        <i class="fa fa-fw fa-copy"></i> Copy to project...
+      <% end %>
+    <% end %>
+    <% if @object.owner_uuid == current_user.uuid or (Group.find(@object.owner_uuid).writable_by.include?(current_user.uuid) rescue nil) %>
+      <%= link_to(
+          choose_projects_path(
+           title: 'Move to project...',
+           action_name: 'Move',
+           action_href: actions_path,
+           action_method: 'post',
+           action_data: {
+             move_selections_into_project: true,
+             selection: @name_link.andand.uuid || @object.uuid,
+             selection_param: 'uuid',
+             success: 'redirect-to-created-object'
+           }.to_json),
+          { class: "btn btn-sm btn-primary", remote: true, method: 'get' }) do %>
+        <i class="fa fa-fw fa-truck"></i> Move to project...
+      <% end %>
+    <% end %>
+  <% end %>
 <% end %>
 
-<%= render_content_from_database @object.properties[:page_content] %>
-<% end %>
-<% end %>
+<% if @object.respond_to? :properties and !@object.properties.nil? %>
+  <% if @object.properties[:page_content] %>
+    <% content_for :page_content do %>
+      <h1>
+        <%= render_markup(@object.properties[:page_title] || @object.uuid) %>
+      </h1>
+
+      <% if @object.properties[:page_subtitle] %>
+        <h4>
+          <%= render_markup @object.properties[:page_subtitle] %>
+        </h4>
+      <% end %>
+
+      <%= render_markup @object.properties[:page_content] %>
+    <% end %>
+  <% end %>
 <% end %>
 
+<% end %>
 
-<%= render :partial => 'application/arvados_object' %>
+<%= render partial: 'content', layout: 'content_layout', locals: {pane_list: controller.show_pane_list }%>