You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

53 lines
1.5 KiB

# encoding: UTF-8
module ApplicationHelper
FLASH_ALIASES = HashWithIndifferentAccess.new(
error: :error, success: :success,
alert: :warning, warning: :warning, warn: :warning,
info: :info, notice: :info
)
# for each record in the rails flash this
# function wraps the message in an appropriate div
# and displays it
def flash_display(clazz = '')
flashes = flash.select{|key, msg| msg.present?}.collect { |key, msg|
content = '<a class="close" data-dismiss="alert">×</a> '.html_safe + msg
content_tag(:div, content, :class => "alert alert-#{FLASH_ALIASES[key]}")
}.join
flashes.present? ? content_tag(:div, flashes.html_safe, :class => clazz) : nil
end
def error_messages_for(resource)
return "" if resource.errors.empty?
messages = resource.errors.full_messages.map { |msg| content_tag(:li, msg) }.join
sentence = I18n.t("errors.messages.not_saved",
:count => resource.errors.count,
:resource => resource.class.model_name.human.downcase)
html = <<-HTML
<div id="error_explanation">
<h2>#{sentence}</h2>
<ul>#{messages}</ul>
</div>
HTML
html.html_safe
end
def honeypot
content_tag('div', :style => 'position: absolute; left: -2000px;') do
text_field_tag("#{Settings.honeypot}", nil, :tabindex => 900)
end
end
# ActiveScaffold
def active_scaffold_column_timestamp(record, column)
value = record.send(column.name)
value.nil? ? nil : Time.at(value)
end
end