2010-04-24 00:32:36 +00:00
|
|
|
module Admin::BaseHelper
|
2010-07-23 20:09:54 +00:00
|
|
|
|
2010-06-03 15:32:40 +00:00
|
|
|
def title(title = nil)
|
|
|
|
if title.nil?
|
|
|
|
@content_for_title
|
|
|
|
else
|
|
|
|
@content_for_title = title
|
|
|
|
''
|
|
|
|
end
|
2010-06-12 01:13:58 +00:00
|
|
|
end
|
2010-07-23 20:09:54 +00:00
|
|
|
|
2010-04-24 00:32:36 +00:00
|
|
|
def admin_menu_item(name, url)
|
2011-03-03 22:51:07 +00:00
|
|
|
index = controller.instance_variable_get(:@menu_index) || 1
|
|
|
|
controller.instance_variable_set(:@menu_index, index + 1)
|
|
|
|
label = content_tag(:em, escape_once(' ')) + content_tag(:span, t("admin.shared.menu.#{name}"))
|
|
|
|
content_tag(:li, content_tag(:span) + link_to(label, url), :class => "item #{'first' if index == 1} item-#{index} #{name.dasherize}")
|
2010-04-24 00:32:36 +00:00
|
|
|
end
|
2010-07-23 20:09:54 +00:00
|
|
|
|
2010-04-25 00:33:38 +00:00
|
|
|
def admin_button_tag(text, url, options = {})
|
2010-05-02 23:33:17 +00:00
|
|
|
text = text.is_a?(Symbol) ? t(".#{text}") : text
|
2010-04-25 00:33:38 +00:00
|
|
|
link_to(url, options) do
|
2010-07-13 20:01:40 +00:00
|
|
|
content_tag(:em, escape_once(' ')) + text
|
2010-04-25 00:33:38 +00:00
|
|
|
end
|
|
|
|
end
|
2010-07-23 20:09:54 +00:00
|
|
|
|
2010-05-02 23:33:17 +00:00
|
|
|
def admin_submenu_item(name, url, options = {}, &block)
|
2010-05-24 00:18:23 +00:00
|
|
|
default_options = { :i18n => true, :css => name.dasherize.downcase }
|
2010-05-02 23:33:17 +00:00
|
|
|
default_options.merge!(options)
|
2010-07-23 20:09:54 +00:00
|
|
|
|
2011-03-03 22:51:07 +00:00
|
|
|
css = "#{'on' if name == sections(:sub)} #{options[:css]}"
|
2010-07-23 20:09:54 +00:00
|
|
|
|
2010-05-02 23:33:17 +00:00
|
|
|
label_link = default_options[:i18n] ? t("admin.shared.menu.#{name}") : name
|
2010-05-26 00:41:10 +00:00
|
|
|
if block_given?
|
|
|
|
popup = content_tag(:div, capture(&block), :class => 'popup', :style => 'display: none')
|
2011-03-03 22:51:07 +00:00
|
|
|
link = link_to(content_tag(:span, preserve(label_link) + content_tag(:em)) + content_tag(:em), url, :class => css)
|
|
|
|
content_tag(:li, link + popup, :class => 'hoverable')
|
2010-05-26 00:41:10 +00:00
|
|
|
else
|
2011-03-03 22:51:07 +00:00
|
|
|
content_tag(:li, link_to(content_tag(:span, label_link), url, :class => css))
|
2010-05-26 00:41:10 +00:00
|
|
|
end
|
2010-05-02 23:33:17 +00:00
|
|
|
end
|
2010-07-23 20:09:54 +00:00
|
|
|
|
2011-07-05 19:03:10 +00:00
|
|
|
def admin_item_toggler(object)
|
|
|
|
image_tag("admin/list/icons/node_#{(cookies["folder-#{object._id}"] != 'none') ? 'open' : 'closed'}.png", :class => 'toggler')
|
|
|
|
end
|
|
|
|
|
2011-03-04 23:29:40 +00:00
|
|
|
def collection_to_js(collection, options = {})
|
|
|
|
js = collection.collect { |object| object.to_json }
|
|
|
|
|
2011-07-13 22:08:43 +00:00
|
|
|
options_to_js = ActiveSupport::JSON.encode(options).gsub(/^\{/, '').gsub(/\}$/, '')
|
2011-03-04 23:29:40 +00:00
|
|
|
|
|
|
|
"new Object({ \"collection\": [#{js.join(', ')}], #{options_to_js} })"
|
|
|
|
end
|
|
|
|
|
2010-06-03 15:32:40 +00:00
|
|
|
def growl_message
|
|
|
|
if not flash.empty?
|
|
|
|
%{
|
|
|
|
$(document).ready(function() {
|
|
|
|
$.growl("#{flash.keys.first}", "#{flash.values.first}");
|
|
|
|
});
|
|
|
|
}.to_s
|
|
|
|
end
|
|
|
|
end
|
|
|
|
|
|
|
|
def nocoffee_tag
|
2010-07-06 15:00:02 +00:00
|
|
|
link_to 'noCoffee', 'http://www.nocoffee.fr', :id => 'nocoffee'
|
2010-06-03 15:32:40 +00:00
|
|
|
end
|
2010-07-23 20:09:54 +00:00
|
|
|
|
|
|
|
end
|