categories_helper.rb
1.67 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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
module CategoriesHelper
  COLORS = [
    [ N_('Do not display at the menu'), nil ],
    [ N_('Orange'), 1],
    [ N_('Green'), 2],
    [ N_('Purple'), 3],
    [ N_('Red'), 4],
    [ N_('Dark Green'), 5],
    [ N_('Blue Oil'), 6],
    [ N_('Blue'), 7],
    [ N_('Brown'), 8],
    [ N_('Light Green'), 9],
    [ N_('Light Blue'), 10],
    [ N_('Dark Blue'), 11],
    [ N_('Blue Pool'), 12],
    [ N_('Beige'), 13],
    [ N_('Yellow'), 14],
    [ N_('Light Brown'), 15]
  ]
  TYPES = [
    [ _('General Category'), Category.to_s ],
    [ _('Product Category'), ProductCategory.to_s ],
    [ _('Region'), Region.to_s ],
  ]
  def select_color_for_category
    if @category.top_level?
      labelled_form_field(_('Display at the menu?'), select('category', 'display_color', CategoriesHelper::COLORS.map {|item| [gettext(item[0]), item[1]] }))
    else
      ""
    end
  end
  def display_color_for_category(category)
    color = category.display_color
    if color.nil?
      ""
    else
      "[" + gettext(CategoriesHelper::COLORS.find {|item| item[1] == color}.first) + "]"
    end
  end
  def select_category_type(field)
    value = params[field]
    labelled_form_field(_('Type of category'), select_tag('type', options_for_select(TYPES, value)))
  end
  #FIXME make this test
  def selected_category_link(cat)
    content_tag('div', button_to_function_without_text(:remove, _('Remove'), nil) {|page| page["selected-category-#{cat.id}"].remove} +
      link_to_function(cat.full_name(' → '), nil, :id => "remove-selected-category-#{cat.id}-button", :class => 'select-subcategory-link') {|page| page["selected-category-#{cat.id}"].remove},
      :class => 'selected-category'
    )
  end
end