module FolderHelper include ShortFilename def list_articles(articles, recursive = false) if !articles.blank? articles = articles.paginate( :order => "updated_at DESC", :per_page => 10, :page => params[:npage] ) render :file => 'shared/articles_list', :locals => {:articles => articles, :recursive => recursive} else content_tag('em', _('(empty folder)')) end end def available_articles(articles, user) articles.select {|article| article.display_to?(user)} 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', article_link )+ content_tag('td', show_date(article.updated_at), :class => 'last-update'), :class => 'sitemap-item' ) if recursive result + article.children.map {|item| display_article_in_listing(item, recursive, level + 1) }.join('') else result end end def icon_for_article(article) icon = article.class.icon_name(article) if (icon =~ /\//) icon else klasses = 'icon icon-' + icon if article.kind_of?(UploadedFile) klasses += ' icon-upload-file' end klasses end end def icon_for_new_article(klass) "icon-new icon-new%s" % klass.icon_name end def custom_options_for_article(article) @article = article content_tag('h4', _('Visibility')) + content_tag('div', content_tag('div', radio_button(:article, :published, true) + content_tag('label', _('Public (visible to other people)'), :for => 'article_published_true') ) + content_tag('div', radio_button(:article, :published, false) + content_tag('label', _('Private'), :for => 'article_published_false') ) ) + content_tag('div', hidden_field_tag('article[accept_comments]', 0) ) end def cms_label_for_new_children _('New article') end def cms_label_for_edit _('Edit folder') end end