cms_helper.rb
1.3 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
module CmsHelper
def link_to_new_article(mime_type)
action = mime_type_to_action_name(mime_type) + '_new'
button('new', _("New %s") % mime_type, :action => action, :parent_id => params[:parent_id])
end
def mime_type_to_action_name(mime_type)
mime_type.gsub('/', '_').gsub('-', '')
end
def icon_for_article(article)
icon = article.icon_name
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
end
end
attr_reader :environment
def select_categories(object_name)
object = instance_variable_get("@#{object_name}")
result = content_tag('h4', _('Categories'))
environment.top_level_categories.each do |toplevel|
toplevel.map_traversal do |cat|
if cat.top_level?
result << content_tag('h5', toplevel.name)
else
checkbox_id = "#{object_name}_#{cat.full_name.downcase.gsub(/\s+|\//, '_')}"
result << content_tag('label', check_box_tag("#{object_name}[category_ids][]", cat.id, object.category_ids.include?(cat.id), :id => checkbox_id) + cat.full_name_without_leading(1), :for => checkbox_id)
end
end
end
content_tag('div', result)
end
end