class AirQualityConfigController < ApplicationController
  before_action :authenticate_user!
  load_and_authorize_resource
  skip_load_resource :only => [:create]

  def index
    @air_quality_config = current_user.organisation.air_quality_config || current_user.organisation.build_air_quality_config(is_enabled: true)
  end

  def create
    @air_quality_config = current_user.organisation.build_air_quality_config(air_quality_config_params)
    if @air_quality_config.save
      flash[:success] = "Air Quality Configuration was saved Successfully"

      redirect_to air_quality_config_index_path
    else
      flash[:error] = "Oops! Problem in saving configuration"

      render :index
    end
  end

  def update
    @air_quality_config = current_user.organisation.air_quality_config
    if @air_quality_config.update_attributes(air_quality_config_params)
      flash[:success] = "Air Quality Configuration was updated Successfully"

      redirect_to air_quality_config_index_path
    else
      flash[:error] = "Oops! Problem in updating configuration"

      render :index
    end
  end

  protected

    def air_quality_config_params
      params.require(:air_quality_config).permit(:is_enabled, associated_resources: [])
    end
end
