module ApplicationHelper def target_progress_color(progress) progress = progress.to_i if progress > 90 result = 'green' elsif progress < 90 && progress > 80 result = 'orange' else result = 'red' end result end def days_left_color(days_left) days_left = days_left.to_i if days_left > 30 result = 'green' elsif days_left < 30 && days_left > 10 result = 'orange' else result = 'red' end result end 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 'fa fa-check' else return 'fa fa-times' 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 |_, 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 # 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 += "