Diff
Modified: branches/packs/app/helpers/packs_helper.rb (3647 => 3648)
--- branches/packs/app/helpers/packs_helper.rb 2013-08-31 13:38:35 UTC (rev 3647)
+++ branches/packs/app/helpers/packs_helper.rb 2013-09-01 10:47:33 UTC (rev 3648)
@@ -92,4 +92,33 @@
link_to(text, href)
end
+
+ def find_association(resource)
+
+ is_folder = resource.is_folder
+ is_proxy = resource.is_proxy
+ extension = resource.folder_entry.entry_name.split(".").last
+ generic = nil
+
+ Conf.file_format_associations.each do |assoc|
+
+ if is_folder
+ return assoc if assoc["special"] == "folder"
+ next
+ end
+
+ if is_proxy
+ return assoc if assoc["special"] == "link"
+ next
+ end
+
+ generic = assoc if assoc["special"] == "generic"
+
+ if assoc["extensions"]
+ return assoc if assoc["extensions"].include?(extension)
+ end
+ end
+
+ generic
+ end
end
Added: branches/packs/app/views/packs/_resource_tile.html.erb (0 => 3648)
--- branches/packs/app/views/packs/_resource_tile.html.erb (rev 0)
+++ branches/packs/app/views/packs/_resource_tile.html.erb 2013-09-01 10:47:33 UTC (rev 3648)
@@ -0,0 +1,13 @@
+<% ore_path = resource.ore_path %>
+<tr>
+ <td><img src="" find_association(resource)["image"] -%>"> <%= link_to(h(resource.folder_entry.entry_name), pack_items_path(pack) + "/" + ore_path) -%></td>
+ <td><%=h resource.size -%></td>
+ <td><%=h resource.content_type -%></td>
+ <td><%=h resource.annotations.count -%></td>
+ <td>
+ <%= link_to("<img src='' />",
+ pack_item_path(pack, ore_path),
+ :method => :delete,
+ :confirm => "Are you sure you want to delete this item?") %>
+ </td>
+</tr>
Added: branches/packs/app/views/packs/_resource_tiles.html.erb (0 => 3648)
--- branches/packs/app/views/packs/_resource_tiles.html.erb (rev 0)
+++ branches/packs/app/views/packs/_resource_tiles.html.erb 2013-09-01 10:47:33 UTC (rev 3648)
@@ -0,0 +1,14 @@
+<table class="simple">
+ <tr>
+ <th>Path</th>
+ <th>Size</th>
+ <th>Content type</th>
+ <th>Annotations</th>
+ <th></th>
+ </tr>
+ <% resources.each do |resource| %>
+ <% ore_path = resource.ore_path %>
+ <% next unless ore_path %>
+ <%= render :partial => "resource_tile", :locals => { :pack => pack, :resource => resource } -%>
+ <% end %>
+</table>
Modified: branches/packs/app/views/packs/folder_show.html.erb (3647 => 3648)
--- branches/packs/app/views/packs/folder_show.html.erb 2013-08-31 13:38:35 UTC (rev 3647)
+++ branches/packs/app/views/packs/folder_show.html.erb 2013-09-01 10:47:33 UTC (rev 3648)
@@ -9,14 +9,5 @@
</p>
<% end %>
-<h2>Folder content:</h2>
-
-<ul>
- <% @item.proxies.each do |r| %>
- <% if r.proxy_for %>
- <li><%= link_to(h(r.proxy_for.folder_entry.entry_name), pack_resource_path_fixed(@pack, r.proxy_for)) -%></li>
- <% else %>
- <li><%= link_to(h(r.proxy_for_path), r.proxy_for_path) -%> (External)</li>
- <% end %>
- <% end %>
-</ul>
+<%= render :partial => 'resource_tiles', :locals => { :pack => @pack,
+ :resources => @item.proxies.map { |p| p.proxy_for } } -%>
Modified: branches/packs/app/views/packs/show.rhtml (3647 => 3648)
--- branches/packs/app/views/packs/show.rhtml 2013-08-31 13:38:35 UTC (rev 3647)
+++ branches/packs/app/views/packs/show.rhtml 2013-09-01 10:47:33 UTC (rev 3648)
@@ -173,32 +173,8 @@
<div class="tabContainer">
<div class="tabTitle">ORE Entries</div>
<div class="tabContent">
- <table class="simple">
- <tr>
- <th>Path</th>
- <th>Size</th>
- <th>Content type</th>
- <th>Annotations</th>
- <th></th>
- </tr>
- <% @pack.research_object.resources.each do |resource| %>
- <% ore_path = resource.ore_path %>
- <% next unless ore_path %>
- <% next if resource.is_folder %>
- <tr>
- <td><%= link_to(h(resource.path), pack_items_path(@pack) + "/" + ore_path) -%></td>
- <td><%=h resource.size -%></td>
- <td><%=h resource.content_type -%></td>
- <td><%=h resource.annotations.count -%></td>
- <td>
- <%= link_to("<img src='' />",
- pack_item_path(@pack, resource.ore_path),
- :method => :delete,
- :confirm => "Are you sure you want to delete this item?") %>
- </td>
- </tr>
- <% end %>
- </table>
+ <%= render :partial => 'resource_tiles', :locals => { :pack => @pack,
+ :resources => @pack.research_object.resources.select { |r| !r.is_folder } } -%>
</div>
</div>
Modified: branches/packs/config/default_settings.yml (3647 => 3648)
--- branches/packs/config/default_settings.yml 2013-08-31 13:38:35 UTC (rev 3647)
+++ branches/packs/config/default_settings.yml 2013-09-01 10:47:33 UTC (rev 3648)
@@ -1556,3 +1556,85 @@
wf_ro_service_uri: "http://www.example.com/wf-ro/jobs"
wf_ro_service_bearer_token: "bearer-token"
+file_format_associations:
+
+ - image: /images/famfamfam_silk/page_white.png
+ label: File
+ special: generic
+
+ - image: /images/famfamfam_silk/folder.png
+ label: Folder
+ special: folder
+
+ - image: /images/famfamfam_silk/page_white_link.png
+ label: Link
+ special: link
+
+ - extensions: [mpg, mpeg, mov, mp4, flv]
+ image: /images/famfamfam_silk/film.png
+ label: Video file
+
+ - extensions: [pdf]
+ image: /images/famfamfam_silk/page_white_acrobat.png
+ label: PDF document
+
+ - extensions: [html, htm]
+ image: /images/famfamfam_silk/page_white_code.png
+ label: HTML document
+
+ - extensions: [xml]
+ image: /images/famfamfam_silk/page_white_code.png
+ label: XML document
+
+ - extensions: [c]
+ image: /images/famfamfam_silk/page_white_c.png
+ label: C source file
+
+ - extensions: [cpp, cxx]
+ image: /images/famfamfam_silk/page_white_cplusplus.png
+ label: "C++ source file"
+
+ - extensions: [cs]
+ image: /images/famfamfam_silk/page_white_csharp.png
+ label: C# source file
+
+ - extensions: [xls, xslx, xslm, csv]
+ image: /images/famfamfam_silk/page_white_excel.png
+ label: Excel file
+
+ - extensions: [swf]
+ image: /images/famfamfam_silk/page_white_flash.png
+ label: Flash file
+
+ - extensions: [h]
+ image: /images/famfamfam_silk/page_white_h.png
+ label: Header file
+
+ - extensions: [png, gif, tiff, bmp, jpg, jpeg]
+ image: /images/famfamfam_silk/page_white_picture.png
+ label: Image file
+
+ - extensions: [php]
+ image: /images/famfamfam_silk/page_white_php.png
+ label: PHP source file
+
+ - extensions: [ppt, pptx, pptm]
+ image: /images/famfamfam_silk/page_white_powerpoint.png
+ label: PowerPoint file
+
+ - extensions: [rb]
+ image: /images/famfamfam_silk/page_white_ruby.png
+ label: Ruby source file
+
+ - extensions: [txt, text]
+ image: /images/famfamfam_silk/page_white_text.png
+ label: Text file
+
+ - extensions: [doc, docx, docm]
+ image: /images/famfamfam_silk/page_white_word.png
+ label: Word file
+
+ - extensions: [zip]
+ image: /images/famfamfam_silk/page_white_zip.png
+ label: Zip archive
+