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(other: '/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