Module: Spyro::ActionViewExtension::ApplicationHelper
- Includes:
- CollectionForHelper, D3Helper, EtecHelper, FeatureHelper, ForumHelper, PageTitle, ProjectsHelper, ReleaseHelper, WidgetsHelper
- Included in:
- Spyro::ActionViewExtension
- Defined in:
- lib/spyro/helpers/action_view_extension.rb,
lib/spyro/helpers/action_view_extension.rb,
lib/spyro/helpers/action_view_extension.rb,
lib/spyro/helpers/action_view_extension.rb
Instance Method Summary
collapse
Methods included from PageTitle
#page_title
Methods included from EtecHelper
#estimated_accel_from_xp, #estimated_end_date_from_xp, #user_accel_eta, #user_eta
#feature
#url_for_message
#release_at
#get_project_status, #get_project_status_icon, #get_project_status_text, #get_uncached_project_status, #get_uncached_project_status_text, #project_progress_percentage
Methods included from D3Helper
#d3bar, #d3line, #d3pie
#collection_for, #sortable_header
#progress
#box
#box_header, #header, #page_header
Methods included from TabsHelper
#tab, #tabs
#alert, #button, #group, #mini_button
#breadcrumb, #format_class
Instance Method Details
#app_name ⇒ Object
483
484
485
|
# File 'lib/spyro/helpers/action_view_extension.rb', line 483
def app_name
@cache_app_name ||= Rails.application.class.parent_name.underscore
end
|
#associations(klass, macro) ⇒ Object
316
317
318
319
320
|
# File 'lib/spyro/helpers/action_view_extension.rb', line 316
def associations klass, macro
klass = klass.to_s.classify.constantize if Symbol === klass
klass.reflections.select { |s, r| s and r.macro == macro }
end
|
#basic_params ⇒ Object
240
241
242
|
# File 'lib/spyro/helpers/action_view_extension.rb', line 240
def basic_params
params.dup.keep_if {|k, _| [:action, :controller, /_id$/].any? {|elem| elem === k }}
end
|
#download_mime_type_btns(controller = nil, &block) ⇒ Object
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
|
# File 'lib/spyro/helpers/action_view_extension.rb', line 259
def download_mime_type_btns controller = nil, &block
if download_mime_types(controller).size == 1
if block_given?
link = block.call(download_mime_types(controller).first) rescue nil
else
link = collection_url(format: download_mime_types(controller).first) rescue nil
end
button "Download as #{download_mime_types(controller).first}", link if link
elsif download_mime_types(controller).size > 1
res = link_to "#", :class => 'btn btn-default dropdown-toggle', :'data-toggle' => 'dropdown' do
("Download " + content_tag(:span, "", :class => "caret")).html_safe
end
res + content_tag(:ul, :class => "dropdown-menu") do
download_mime_types(controller).map do |mime|
if block_given?
link = block.call(mime) rescue nil
else
link = collection_url(format: mime) rescue nil
end
content_tag :li, (link_to "as #{mime}", link) if link
end.join('').html_safe
end
end
end
|
#download_mime_types(controller) ⇒ Object
285
286
287
288
289
|
# File 'lib/spyro/helpers/action_view_extension.rb', line 285
def download_mime_types(controller)
@mimes = {}
@mimes[controller] ||= mime_types(controller)
@mimes[controller] & [:csv, :xls]
end
|
244
245
246
247
248
249
|
# File 'lib/spyro/helpers/action_view_extension.rb', line 244
def
params_dup = Hash[*params.keys.keep_if { |key| key.ends_with? "_id" }.map { |elem| [elem, nil] }.flatten]
(ActiveRecord::Base.connection.tables - ["schema_migrations"]).sort.map do |name|
url_for(params_dup.merge(:controller => name.pluralize, :action => :index)) rescue nil if can? :index, name.classify.constantize rescue nil
end.compact.map { |name| content_tag :li, (link_to (name.split('/').last || "Root").humanize, name) }.join.html_safe
end
|
#mime_types(controller) ⇒ Object
251
252
253
254
255
256
257
|
# File 'lib/spyro/helpers/action_view_extension.rb', line 251
def mime_types controller
mimes = []
(controller || "#{params[:controller].pluralize}_controller".classify.constantize).mimes_for_respond_to.each do |key, values|
mimes << key if (values[:only] == nil or values[:only].include? params[:action]) and (values[:expect] == nil or !values[:expect].include? params[:action])
end
mimes
end
|
#parents ⇒ Object
236
237
238
|
# File 'lib/spyro/helpers/action_view_extension.rb', line 236
def parents
[*(respond_to?(:association_chain) ? (association_chain) : ([]))]
end
|
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
|
# File 'lib/spyro/helpers/action_view_extension.rb', line 291
def table, args = [], options = {}
table. args, options do |, text|
if @order_attributes and .to_s.in? @order_attributes
params_dup = params.dup
params_dup[:order] =
if params_dup[:desc]
params_dup.delete :desc
else
params_dup[:desc] = true if params[:order] == .to_s
end
link_to text, url_for(params_dup)
else
text
end
end
end
|
308
309
310
311
312
313
314
|
# File 'lib/spyro/helpers/action_view_extension.rb', line 308
def vertical_form_for(record, options={}, &block)
backup = SimpleForm.form_class
SimpleForm.form_class = options[:form_class]
result = simple_form_for(record, options, &block)
SimpleForm.form_class = backup
result
end
|