Sha256: 4d3dbb34e3fe489dbd8cec29743bee81d6078c7b0564b02185c740c183a98da3

Contents?: true

Size: 1.37 KB

Versions: 5

Compression:

Stored size: 1.37 KB

Contents

module Homeland::Site
  module Admin
    class SitesController < ::Admin::ApplicationController
      require_module_enabled! :site
      before_action :set_site, only: [:show, :edit, :update, :destroy, :undestroy]

      def index
        @sites = ::Site.unscoped.recent.includes(:user, :site_node)
        if params[:q].present?
          @sites = @sites.where('name LIKE ?', "%#{params[:q]}%")
        end
        @sites = @sites.page(params[:page])
      end

      def show
      end

      def new
        @site = ::Site.new
      end

      def edit
      end

      def create
        @site = ::Site.new(params[:site].permit!)

        if @site.save
          redirect_to(admin_sites_path, notice: 'Site 创建成功。')
        else
          render action: 'new'
        end
      end

      def update
        if @site.update(params[:site].permit!)
          redirect_to(admin_sites_path, notice: 'Site 更新成功。')
        else
          render action: 'edit'
        end
      end

      def destroy
        @site.destroy
        redirect_to(admin_sites_path, notice: "#{@site.name} 删除成功。")
      end

      def undestroy
        @site.update_attribute(:deleted_at, nil)
        redirect_to(admin_sites_path, notice: "#{@site.name} 已恢复。")
      end

      private

      def set_site
        @site = ::Site.unscoped.find(params[:id])
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
homeland-site-0.2.1 app/controllers/homeland/site/admin/sites_controller.rb
homeland-site-0.2.0 app/controllers/homeland/site/admin/sites_controller.rb
homeland-site-0.1.2 app/controllers/homeland/site/admin/sites_controller.rb
homeland-site-0.1.1 app/controllers/homeland/site/admin/sites_controller.rb
homeland-site-0.1.0 app/controllers/homeland/site/admin/sites_controller.rb