diff --git a/app/controllers/my_profile/cms_controller.rb b/app/controllers/my_profile/cms_controller.rb index 8b9af2b..4f611f1 100644 --- a/app/controllers/my_profile/cms_controller.rb +++ b/app/controllers/my_profile/cms_controller.rb @@ -44,6 +44,7 @@ class CmsController < MyProfileController TextileArticle, Event ] + articles += special_article_types if params && params[:cms] parent_id = params ? params[:parent_id] : nil if !parent_id or !Article.find(parent_id).has_posts? articles += [ diff --git a/app/helpers/assets_helper.rb b/app/helpers/assets_helper.rb index d0f40e8..fb8d45d 100644 --- a/app/helpers/assets_helper.rb +++ b/app/helpers/assets_helper.rb @@ -9,7 +9,7 @@ module AssetsHelper [ options.merge(:asset => 'products'), "icon-menu-product", _('Products') ], [ options.merge(:asset => 'enterprises'), "icon-menu-enterprise", __('Enterprises') ], [ options.merge(:asset => 'communities'), "icon-menu-community", __('Communities') ], - [ options.merge(:asset => 'events'), "icon-menu-events", __('Events') ], + [ options.merge(:asset => 'events'), "icon-event", __('Events') ], ].select do |target, css_class, name| !environment.enabled?('disable_asset_' + target[:asset]) diff --git a/app/helpers/cms_helper.rb b/app/helpers/cms_helper.rb index 22c9b2a..e476b4e 100644 --- a/app/helpers/cms_helper.rb +++ b/app/helpers/cms_helper.rb @@ -30,9 +30,13 @@ module CmsHelper def link_to_article(article) article_name = short_filename(article.name, 30) if article.folder? - link_to article_name, :action => 'view', :id => article.id + link_to article_name, {:action => 'view', :id => article.id}, :class => icon_for_article(article) else - link_to article_name, article.url + if article.image? + image_tag(icon_for_article(article)) + link_to(article_name, article.url) + else + link_to article_name, article.url, :class => icon_for_article(article) + end end end diff --git a/app/helpers/events_helper.rb b/app/helpers/events_helper.rb index 9a656ab..530f966 100644 --- a/app/helpers/events_helper.rb +++ b/app/helpers/events_helper.rb @@ -15,7 +15,7 @@ module EventsHelper def display_event_in_listing(article) content_tag( 'tr', - content_tag('td', link_to(image_tag(icon_for_article(article)) + article.name, article.url)), + content_tag('td', link_to(article.name, article.url, :class => icon_for_article(article))), :class => 'agenda-item' ) end diff --git a/app/helpers/folder_helper.rb b/app/helpers/folder_helper.rb index 083fc27..abeff3c 100644 --- a/app/helpers/folder_helper.rb +++ b/app/helpers/folder_helper.rb @@ -21,9 +21,14 @@ module FolderHelper end def display_article_in_listing(article, recursive = false, level = 0) + article_link = if article.image? + link_to(' ' * (level * 4) + image_tag(icon_for_article(article)) + short_filename(article.name), article.url.merge(:view => true)) + else + link_to(' ' * (level * 4) + short_filename(article.name), article.url.merge(:view => true), :class => icon_for_article(article)) + end result = content_tag( 'tr', - content_tag('td', link_to((' ' * (level * 4) ) + image_tag(icon_for_article(article)) + short_filename(article.name), article.url.merge(:view => true)))+ + content_tag('td', article_link )+ content_tag('td', show_date(article.updated_at), :class => 'last-update'), :class => 'sitemap-item' ) @@ -35,18 +40,18 @@ module FolderHelper end def icon_for_article(article) - icon = article.icon_name + icon = article.class.icon_name(article) if (icon =~ /\//) icon else - if File.exists?(File.join(RAILS_ROOT, 'public', 'images', 'icons-mime', "#{icon}.png")) - "icons-mime/#{icon}.png" - else - "icons-mime/unknown.png" - end + 'icon icon-' + icon end end + def icon_for_new_article(type) + "icon-new icon-new%s" % type.constantize.icon_name + end + def custom_options_for_article(article) @article = article content_tag('h4', _('Options')) + diff --git a/app/models/article.rb b/app/models/article.rb index c6bc062..64ceacd 100644 --- a/app/models/article.rb +++ b/app/models/article.rb @@ -198,7 +198,7 @@ class Article < ActiveRecord::Base # to return their specific icons. # # FIXME use mime_type and generate this name dinamically - def icon_name + def self.icon_name(article = nil) 'text-html' end diff --git a/app/models/blog.rb b/app/models/blog.rb index 3fd7950..d4c1c6c 100644 --- a/app/models/blog.rb +++ b/app/models/blog.rb @@ -54,6 +54,10 @@ class Blog < Folder end end + def self.icon_name(article = nil) + 'blog' + end + settings_items :visualization_format, :type => :string, :default => 'full' validates_inclusion_of :visualization_format, :in => [ 'full', 'short' ], :if => :visualization_format diff --git a/app/models/event.rb b/app/models/event.rb index 5746dbb..2695bee 100644 --- a/app/models/event.rb +++ b/app/models/event.rb @@ -37,7 +37,7 @@ class Event < Article _('Event') end - def icon_name + def self.icon_name(article = nil) 'event' end diff --git a/app/models/folder.rb b/app/models/folder.rb index c5387d4..f72a8ac 100644 --- a/app/models/folder.rb +++ b/app/models/folder.rb @@ -15,7 +15,7 @@ class Folder < Article _('A folder, inside which you can put other articles.') end - def icon_name + def self.icon_name(article = nil) 'folder' end diff --git a/app/models/forum.rb b/app/models/forum.rb index 916aaff..b411e6d 100644 --- a/app/models/forum.rb +++ b/app/models/forum.rb @@ -21,4 +21,7 @@ class Forum < Folder true end + def self.icon_name(article = nil) + 'forum' + end end diff --git a/app/models/gallery.rb b/app/models/gallery.rb index a4307e3..60ceba8 100644 --- a/app/models/gallery.rb +++ b/app/models/gallery.rb @@ -20,4 +20,8 @@ class Gallery < Folder true end + def self.icon_name(article = nil) + 'gallery' + end + end diff --git a/app/models/link_list_block.rb b/app/models/link_list_block.rb index d7f4d0e..70ab83b 100644 --- a/app/models/link_list_block.rb +++ b/app/models/link_list_block.rb @@ -25,7 +25,7 @@ class LinkListBlock < Block ['eyes', N_('Eyes')], ['photos', N_('Photos')], ['menu-people', N_('Person')], - ['menu-events', N_('Event')] + ['event', N_('Event')] ] settings_items :links, Array, :default => [] diff --git a/app/models/organization.rb b/app/models/organization.rb index 122a77d..a1dcce0 100644 --- a/app/models/organization.rb +++ b/app/models/organization.rb @@ -102,7 +102,7 @@ class Organization < Profile links = [ {:name => _("Community's profile"), :address => '/profile/{profile}', :icon => 'ok'}, {:name => _('Invite Friends'), :address => '/profile/{profile}/invite/friends', :icon => 'send'}, - {:name => _('Agenda'), :address => '/profile/{profile}/events', :icon => 'menu-events'}, + {:name => _('Agenda'), :address => '/profile/{profile}/events', :icon => 'event'}, {:name => _('Image gallery'), :address => '/{profile}/gallery', :icon => 'photos'}, {:name => _('Blog'), :address => '/{profile}/blog', :icon => 'edit'}, ] diff --git a/app/models/person.rb b/app/models/person.rb index 2ec53d6..374541f 100644 --- a/app/models/person.rb +++ b/app/models/person.rb @@ -210,7 +210,7 @@ class Person < Profile links = [ {:name => _('Profile'), :address => '/profile/{profile}', :icon => 'menu-people'}, {:name => _('Image gallery'), :address => '/{profile}/gallery', :icon => 'photos'}, - {:name => _('Agenda'), :address => '/profile/{profile}/events', :icon => 'menu-events'}, + {:name => _('Agenda'), :address => '/profile/{profile}/events', :icon => 'event'}, {:name => _('Blog'), :address => '/{profile}/blog', :icon => 'edit'}, ] [ diff --git a/app/models/rss_feed.rb b/app/models/rss_feed.rb index 6cad49d..a688f0b 100644 --- a/app/models/rss_feed.rb +++ b/app/models/rss_feed.rb @@ -91,7 +91,7 @@ class RssFeed < Article _('Provides a news feed of your more recent articles.') end - def icon_name + def self.icon_name(article = nil) 'rss-feed' end diff --git a/app/models/uploaded_file.rb b/app/models/uploaded_file.rb index d75b5f4..45c3dcc 100644 --- a/app/models/uploaded_file.rb +++ b/app/models/uploaded_file.rb @@ -46,8 +46,12 @@ class UploadedFile < Article delay_attachment_fu_thumbnails - def icon_name - self.image? ? public_filename(:icon) : self.content_type.gsub('/', '-') + def self.icon_name(article = nil) + if article && article.image? + article.public_filename(:icon) + else + 'upload-file' + end end def mime_type diff --git a/app/views/cms/_document_link.rhtml b/app/views/cms/_document_link.rhtml index 2b856b2..ee7a31c 100644 --- a/app/views/cms/_document_link.rhtml +++ b/app/views/cms/_document_link.rhtml @@ -1,7 +1,7 @@