ActiveAdmin.register City do
  menu label: "Cities", parent: "数据管理"
  controller do
    def find_resource
      scoped_collection.friendly.find(params[:id])
    end
  end

  # See permitted parameters documentation:
  # https://github.com/activeadmin/activeadmin/blob/master/docs/2-resource-customization.md#setting-up-strong-parameters
  #
  # Uncomment all parameters which should be permitted for assignment
  #
  permit_params :name, :country_id, :latitude, :longitude, :active, :priority, :timezone, :last_weather_fetch, :last_image_generation, :slug
  #
  # or
  #
  # permit_params do
  #   permitted = [:name, :country, :latitude, :longitude, :active, :priority, :timezone, :region, :last_weather_fetch, :last_image_generation, :slug]
  #   permitted << :other if params[:action] == 'create' && current_user.admin?
  #   permitted
  # end

  index do
    selectable_column
    id_column
    column :name
    column :country
    column :region do |city|
      city.region
    end
    column :latitude
    column :longitude
    column :active
    column("图像个数") { |city| city.weather_arts.count }
    column("最后更新时间") { |city| city.last_weather_fetch }
    actions
  end

  filter :name
  filter :active
  filter :country, as: :select

  form do |f|
    f.inputs do
      f.input :active
      f.input :name
      f.input :country
      f.input :latitude
      f.input :longitude
      f.input :priority
      f.input :timezone
    end
    f.actions
  end
end