module ApplicationHelper def bootstrap_class_for(flash_type) logger.debug "flash_type is #{flash_type}" case flash_type when 'success' 'alert-success' when 'error' 'alert-danger' when 'alert' 'alert-warning' when 'notice' 'alert-info' else flash_type.to_s end end def label_for(event_state) result = '' case event_state when 'new' result = 'label label-primary' when 'withdrawn' result = 'label label-danger' when 'unconfirmed' result = 'label label-success' when 'confirmed' result = 'label label-success' when 'rejected' result = 'label label-warning' when 'canceled' result = 'label label-danger' end result end def icon_for_todo(bool) if bool return 'glyphicon glyphicon-ok' else return 'glyphicon glyphicon-remove' end end def class_for_todo(bool) if bool return 'list-group-item todolist-ok' else return 'list-group-item todolist-missing' end end def normalize_array_length(hashmap, length) hashmap.each do |key, value| if value.length < length value.fill(value[-1], value.length...length) end end end def active_nav_li(link) if current_page?(link) return 'active' else return '' end end def getdatetime(registration, field) if registration.send(field.to_sym).kind_of?(String) DateTime.parse(registration.send(field.to_sym)).strftime("%d %b %H:%M") if registration.send(field.to_sym) else registration.send(field.to_sym).strftime("%d %b %H:%M") if registration.send(field.to_sym) end end def getdate(var) if var.kind_of?(String) DateTime.parse(var).strftime("%a, %d %b") else var.strftime("%a, %d %b") end end def show_time(length) h = length / 60 min = length - h * 60 if h != 0 if min != 0 "#{h} h #{min} min" else "#{h} h" end else "#{min} min" end end def pre_registered(event) @conference.events.joins(:registrations).where("events.id = ?", event.id) end def add_association_link(association_name, form_builder, div_class, html_options = {}) link_to_add_association "Add " + association_name.to_s.singularize, form_builder, div_class, html_options.merge(:class => "assoc btn btn-success") end def remove_association_link(association_name, form_builder) link_to_remove_association("Remove " + association_name.to_s.singularize, form_builder, :class => "assoc btn btn-danger") + tag(:hr) end def dynamic_association(association_name, title, form_builder, options = {}) render "shared/dynamic_association", :association_name => association_name, :title => title, :f => form_builder, :hint => options[:hint] end def has_role?(current_user, role) if current_user.nil? return false end return !!current_user.role?(role.to_s.camelize) end # Same as redirect_to(:back) if there is a valid HTTP referer, otherwise redirect_to() def redirect_back_or_to(options = {}, response_status = {}) if request.env["HTTP_REFERER"] redirect_to(:back) else redirect_to(options, response_status) end end # TODO Output better html def format_comments(comment, padding = 0) result = "" result += "
" result += "
" result += "#{comment.user.person.public_name} #{comment.created_at}

" result += comment.body result += "
Reply

" result += "
" result += "
" result += "" result += "" result += "" result += "" result += "
" result += "
" #result += edit_admin_conference_event_path(@conference.short_title, @event) comment.children.each do |child| result += format_comments(child, 50) result += "
" end result end def default_brand link_to CONFIG['name'], root_path, class: 'navbar-brand', title: 'Open Source Event Manager' end def short_title_brand(conference) link_to conference.short_title, conference_path(conference.short_title), class: 'navbar-brand', title: conference.title end def brand content_for(:brand) || (default_brand if controller.class.parent == Admin) || (short_title_brand(@conference) if @conference) || default_brand end end