Class: Spree::Transit::BaseController

Inherits:
Admin::ResourceController
  • Object
show all
Defined in:
app/controllers/spree/transit/base_controller.rb

Instance Method Summary collapse

Instance Method Details

#collection_url(options = {}) ⇒ Object



35
36
37
38
39
40
41
# File 'app/controllers/spree/transit/base_controller.rb', line 35

def collection_url(options = {})
  if parent_data.present?
    spree.polymorphic_url([:transit, parent, model_class], options)
  else
    spree.polymorphic_url([:transit, model_class], options)
  end
end

#current_vendorObject



28
29
30
31
32
33
# File 'app/controllers/spree/transit/base_controller.rb', line 28

def current_vendor
  @current_vendor ||= vendors.find { |v| v[:slug] == session[:transit_current_vendor_slug] } || vendors.first
  session[:transit_current_vendor_slug] ||= @current_vendor&.slug

  @current_vendor
end

#edit_object_url(object, options = {}) ⇒ Object



43
44
45
46
47
48
49
50
# File 'app/controllers/spree/transit/base_controller.rb', line 43

def edit_object_url(object, options = {})
  if parent_data.present?
    spree.send "edit_transit_#{resource.model_name}_#{resource.object_name}_url",
               parent, object, options
  else
    spree.send "edit_transit_#{resource.object_name}_url", object, options
  end
end

#pageObject



13
14
15
# File 'app/controllers/spree/transit/base_controller.rb', line 13

def page
  params[:page] || 1
end

#per_pageObject



17
18
19
# File 'app/controllers/spree/transit/base_controller.rb', line 17

def per_page
  params[:per_page] || 12
end

#required_vendor_user!Object



22
23
24
25
26
# File 'app/controllers/spree/transit/base_controller.rb', line 22

def required_vendor_user!
  return unless vendors.empty?

  raise SpreeCmCommissioner::UnauthorizedVendorError
end

#vendorsObject



9
10
11
# File 'app/controllers/spree/transit/base_controller.rb', line 9

def vendors
  @vendors ||= spree_current_user.vendors.to_a
end