Module: ApplicationHelper

Includes:
Localization, UrlForFix
Included in:
ApplicationController
Defined in:
app/helpers/application_helper.rb

Constant Summary

Constants included from Localization

Localization::LOCALIZED_STRINGS

Instance Method Summary collapse

Methods included from Localization

#l, load_localized_strings, #valid_language?

Instance Method Details



52
53
54
55
56
57
58
# File 'app/helpers/application_helper.rb', line 52

def back_or_link_to(title, options = nil)
  if session[:detours]
    options = {:return_from_detour => true}.update(session[:detours].last)
    logger.debug "linked return from detour: #{options}"
  end
  link_to(title, options) if options
end

#detour?Boolean

Returns:

  • (Boolean)


48
49
50
# File 'app/helpers/application_helper.rb', line 48

def detour?
  not session[:detours].nil?
end

#detour_to(title, options, html_options = nil) ⇒ Object



14
15
16
# File 'app/helpers/application_helper.rb', line 14

def detour_to(title, options, html_options = nil)
  link_to title, with_detour(options), html_options
end

#display_notice(page) ⇒ Object



88
89
90
91
92
93
94
95
96
# File 'app/helpers/application_helper.rb', line 88

def display_notice(page)
  if flash[:notice]
    page.replace_html :notice, flash[:notice]
    page.visual_effect(:appear, :notice)
    flash.discard
  else
    page.visual_effect(:fade, :notice)
  end
end

#h(object) ⇒ Object



64
65
66
67
68
69
70
# File 'app/helpers/application_helper.rb', line 64

def h(object)
  if object.is_a? Time
    object.strftime '%Y-%m-%d %H:%M:%S'
  else
    super object
  end
end

#image_button_to(image_source, title, options) ⇒ Object



8
9
10
11
12
# File 'app/helpers/application_helper.rb', line 8

def image_button_to(image_source, title, options)
  image_submit_tag image_source, :class => 'image-submit', :alt => title, :title => title,
  :id => "#{title}_#{options[:id]}", :name => title, 
  :onclick => "form.action='#{url_for(options)}'"
end

#image_detour_to(image_source, title, url_options, image_options = nil, post = false) ⇒ Object



30
31
32
33
34
# File 'app/helpers/application_helper.rb', line 30

def image_detour_to(image_source, title, url_options, image_options = nil, post = false)
  image_options ||= {:class => 'image-submit'}
  image_options.update :alt => title, :title => title
  detour_to image_tag(image_source, image_options), url_options, post ? {:method => :post} : nil 
end


36
37
38
39
40
# File 'app/helpers/application_helper.rb', line 36

def image_link_to(image_source, title, url_options, image_options = nil, post = false)
  image_options ||= {:class => 'image-submit'}
  image_options.update :alt => title, :title => title
  link_to image_tag(image_source, image_options), url_options, post ? {:method => :post} : nil
end


42
43
44
45
46
# File 'app/helpers/application_helper.rb', line 42

def image_link_to_remote(image_source, title, url_options, image_options = nil, post = false)
  image_options ||= {:class => 'image-submit'}
  image_options.update :alt => title, :title => title
  link_to_remote image_tag(image_source, image_options), {:url => url_options}, post ? {:method => :post} : nil
end

#insert(page, content, selector, position = :top) ⇒ Object



102
103
104
105
# File 'app/helpers/application_helper.rb', line 102

def insert(page, content, selector, position = :top)
  escaped_content = content.gsub("\n", '').gsub("'", "\\\\'")
  record(page, "new Insertion.#{position.to_s.capitalize}($$('#{selector}').first(), '#{escaped_content}')")
end

#record(page, script) ⇒ Object



98
99
100
# File 'app/helpers/application_helper.rb', line 98

def record(page, script)
  page.call("#{script};//")
end

#resolution_image(resolution) ⇒ Object



72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# File 'app/helpers/application_helper.rb', line 72

def resolution_image(resolution)
  image_file = case resolution
  when Task::COMPLETED
  'checkmark.png'
  when Task::POSTPONED
  'arrow_right.png'
  when Task::MOVED
  'arrow_right.png'
  when Task::ABORTED
  'ernes_stop.png'
  else
    raise "Unknown resolution " + resolution
  end
  image_tag image_file, :title => l(@task.resolution.downcase)
end

#t(time_as_float) ⇒ Object



60
61
62
# File 'app/helpers/application_helper.rb', line 60

def t(time_as_float)
  "#{time_as_float.to_i}:#{'%02d' % (time_as_float.frac * 60).to_i}" 
end

#with_detour(options) ⇒ Object



18
19
20
21
22
23
24
25
26
27
28
# File 'app/helpers/application_helper.rb', line 18

def with_detour(options)
  detour_options = {:detour => params.reject {|k, v| [:detour, :return_from_detour].include? k.to_sym}}.update(options)
  if options[:layout]== false
    if params[:action] !~ /_no_layout$/
      detour_options[:detour].update({:action => params[:action] + '_no_layout'})
    end
  elsif params[:action] =~ /_no_layout$/
    detour_options[:detour].update({:action => params[:action][0..-11]})
  end
  detour_options
end