Class: Spree::Transit::VehicleTypesController

Inherits:
BaseController
  • Object
show all
Defined in:
app/controllers/spree/transit/vehicle_types_controller.rb

Instance Method Summary collapse

Methods inherited from BaseController

#collection_url, #current_vendor, #edit_object_url, #page, #per_page, #required_vendor_user!, #vendors

Instance Method Details

#collectionObject



41
42
43
44
45
46
47
48
# File 'app/controllers/spree/transit/vehicle_types_controller.rb', line 41

def collection
  return @collection if defined?(@collection)

  scope

  @search = scope.ransack(params[:q])
  @collection = @search.result
end

#editObject



50
51
52
# File 'app/controllers/spree/transit/vehicle_types_controller.rb', line 50

def edit
  @seats = @object.seat_layers
end

#indexObject



7
8
9
# File 'app/controllers/spree/transit/vehicle_types_controller.rb', line 7

def index
  respond_with(@collection)
end

#layerObject



15
16
17
18
19
20
21
22
# File 'app/controllers/spree/transit/vehicle_types_controller.rb', line 15

def layer
  @seats = JSON.parse(params[:seats]).to_a
  @row = params[:row]
  @column = params[:column]
  @layer_name = params[:layer_name]
  @created_at = params[:created_at]
  render :partial => 'spree/transit/vehicle_types/seat_view'
end

#load_amenitiesObject



24
25
26
27
# File 'app/controllers/spree/transit/vehicle_types_controller.rb', line 24

def load_amenities
  @amenities = Spree::OptionType.amenities.option_values.pluck(:name, :id)
  @selected_option_value_ids = @object.option_values.pluck(:id)
end

#load_statusObject



29
30
31
# File 'app/controllers/spree/transit/vehicle_types_controller.rb', line 29

def load_status
  @statuses = SpreeCmCommissioner::VehicleType.state_machine.states.map(&:name)
end

#location_after_saveObject



11
12
13
# File 'app/controllers/spree/transit/vehicle_types_controller.rb', line 11

def location_after_save
  edit_transit_vehicle_type_path(@object)
end

#model_classObject



72
73
74
# File 'app/controllers/spree/transit/vehicle_types_controller.rb', line 72

def model_class
  SpreeCmCommissioner::VehicleType
end

#newObject



33
34
35
# File 'app/controllers/spree/transit/vehicle_types_controller.rb', line 33

def new
  @vehicle_type = SpreeCmCommissioner::VehicleType.new
end

#object_nameObject



76
77
78
# File 'app/controllers/spree/transit/vehicle_types_controller.rb', line 76

def object_name
  'spree_cm_commissioner_vehicle_type'
end

#permitted_resource_paramsObject

overrided



55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
# File 'app/controllers/spree/transit/vehicle_types_controller.rb', line 55

def permitted_resource_params
  vehicle_type_params = params[:spree_cm_commissioner_vehicle_type]
  selected_option_value_ids = vehicle_type_params[:option_value_ids]

  option_values = Spree::OptionValue.where(id: selected_option_value_ids)
  { option_values: option_values,
    name: vehicle_type_params[:name],
    code: vehicle_type_params[:code],
    vendor_id: vehicle_type_params[:vendor_id],
    route_type: vehicle_type_params[:route_type],
    status: vehicle_type_params[:status],
    allow_seat_selection: vehicle_type_params[:allow_seat_selection],
    vehicle_seats_count: vehicle_type_params[:vehicle_seats_count]
  }
end

#scopeObject



37
38
39
# File 'app/controllers/spree/transit/vehicle_types_controller.rb', line 37

def scope
  @vehicle_types = current_vendor.vehicle_types
end