class Admin::TitlesController < ApplicationController

  layout :false
  before_filter :superadmin_login_required

  def index
    where_text = ''
    if params[:tpgn_id] && params[:tpgn_id] != '0'
      @title_provider_group_name = TitleProviderGroupName.find(params[:tpgn_id])
      where_text += "title_provider_group_name_id = #{params[:tpgn_id]}"
    end
    if params[:server_id] && params[:server_id] != '0'
      where_text += where_text.blank? ? "server_id = #{params[:server_id]}" : " and server_id = #{params[:server_id]}"
    end
    if params[:visible_state] && params[:visible_state] != '0'
      where_text += where_text.blank? ? "visible = #{params[:visible_state].to_i-1}" : " and visible = #{params[:visible_state].to_i-1}"
    end
    if params[:status] && params[:status] != '0'
      where_text += where_text.blank? ? "status = '#{params[:status]}'" : " and status = '#{params[:status]}'"
    end
    if where_text.blank?
      @titles = Title.order("name ASC")
    else
      @titles = Title.where(where_text).order("name ASC")
    end
  end

  def new
    @title = Title.new
  end

  def show
    @title = Title.find(params[:id])
  end

  def create
    @title = Title.new(permitted_params)
    if @title.save
      redirect_to(admin_titles_path, notice: I18n.t('successfully_created'))
    else
      # res = {}
      # res['error'] = @title.errors.full_messages
      # render action: "new", json: res.to_json
      render action: "new", format: :js
    end
  end

  def edit
    @title = Title.find(params[:id])
  end

  def update
    @title = Title.find(params[:id])
    if @title.update_attributes(permitted_params)
      if @title.name != PIXWAYS_TITLE && Server.itself?(PIXADMIN_SERVER_NAME)
      end
      redirect_to(admin_titles_path, notice: I18n.t('successfully_updated'))
    else
      # res = {}
      # res['error'] = @title.errors.full_messages
      # render action: "edit", json: res.to_json
      render action: "edit", format: :js
    end
  end

  def destroy
    #@title = Title.find(params[:id])
    #@title.destroy
  end

  private

  def permitted_params
    params.require(:title).permit(:name, :visible_name, :country_id, :title_provider_group_name_id, :server_id,
                                  :hide_unauthorized_providers, :dpi, :flow_path, :last_name, :first_name, :address, :zip_code, :city,
                                  :phone, :email, :visible, :group, :title_type, :comment, :ojd_link)
  end
end