77 lines
2.1 KiB
Ruby
77 lines
2.1 KiB
Ruby
module Suppliers
|
|
class SuppliersController < Suppliers::ApplicationController
|
|
def index
|
|
render json: {}
|
|
|
|
end
|
|
|
|
def show
|
|
#current_supplier.sections.include_relations(:tables, :section_areas, :section_elements, product_categories: {products: :product_variants})
|
|
FlatKeys.as_nested_structure(Supplier::PRELOAD_INCLUDES).last.each do |relation_name, includes|
|
|
relation_result = current_supplier.public_send(relation_name)
|
|
relation_result.include_relations(includes) if relation_result.is_a?(Array)
|
|
end
|
|
#render json: JSONAPI::Serializer.serialize(current_supplier, serializer: Suppliers::SupplierSerializer, include: %w[
|
|
#sections
|
|
#sections.tables
|
|
#sections.section_areas
|
|
#sections.section_elements
|
|
#product_categories
|
|
#product_categories.products
|
|
#product_categories.products.product_variants
|
|
#]) #.new(current_supplier).as_json
|
|
render json: current_supplier, include: Supplier::PRELOAD_INCLUDES
|
|
end
|
|
|
|
def update
|
|
@supplier = current_supplier
|
|
current_supplier.update_attributes(supplier_params)
|
|
render json: current_supplier
|
|
end
|
|
|
|
def switch_to
|
|
@switch_supplier = Supplier.find(params[:id])
|
|
session[:supplier_id] = params[:id] if @switch_supplier.employee_ids.include? current_employee.id
|
|
redirect_to supplier_root_path(anchor: '/my-account')
|
|
end
|
|
|
|
def mark_as_open
|
|
current_supplier.mark_as_open!
|
|
head :ok
|
|
end
|
|
|
|
def mark_as_closed
|
|
current_supplier.mark_as_closed!
|
|
head :ok
|
|
end
|
|
|
|
private
|
|
|
|
def supplier_params
|
|
params.require(:supplier).permit(
|
|
:name,
|
|
:email,
|
|
:open,
|
|
:time_zone,
|
|
:night_offset,
|
|
:location,
|
|
:lat,
|
|
:lng,
|
|
:offer_wifi,
|
|
:wifi_ssid,
|
|
:wifi_type,
|
|
:wifi_password,
|
|
:iens_profile,
|
|
:address,
|
|
:house_number,
|
|
:house_number_addition,
|
|
:postal_code,
|
|
:city,
|
|
:country,
|
|
:facebook_promotion_url,
|
|
:user_message
|
|
)
|
|
end
|
|
end
|
|
end
|