Sha256: 4a57a9211b308356747e8790201c6e4f9db3288aa68110c1dd2ab3c5b3d581cb

Contents?: true

Size: 1.51 KB

Versions: 48

Compression:

Stored size: 1.51 KB

Contents

module Tramway::Admin
  class RecordsController < ApplicationController
    def index
      @records = decorator_class.decorate model_class.active.order(id: :desc).send(params[:scope] || :all).page params[:page]
    end

    def show
      @record = decorator_class.decorate model_class.active.find params[:id]
    end

    def edit
      @record_form = form_class.new model_class.active.find params[:id]
    end

    def update
      @record_form = form_class.new model_class.active.find params[:id]
      if @record_form.submit params[:record]
        redirect_to params[:redirect] || record_path(@record_form.model)
      else
        render :edit
      end
    end

    def new
      @record_form = form_class.new model_class.new
    end

    def create
      @record_form = form_class.new model_class.new
      if @record_form.submit params[:record]
        redirect_to params[:redirect] || record_path(@record_form.model)
      else
        render :new
      end
    end

    def destroy
      record = model_class.active.find params[:id]
      record.remove
      redirect_to records_path
    end
  end

  private

  # FIXME replace to module
  def record_path(*args, **options)
    super args, options.merge(model: params[:model])
  end

  def edit_record_path(*args, **options)
    super args, options.merge(model: params[:model])
  end

  def new_record_path(*args, **options)
    super args, options.merge(model: params[:model])
  end

  def records_path(*args, **options)
    super args, options.merge(model: params[:model])
  end
end

Version data entries

48 entries across 48 versions & 1 rubygems

Version Path
tramway-admin-1.9.0.3 app/controllers/tramway/admin/records_controller.rb
tramway-admin-1.9.0.2 app/controllers/tramway/admin/records_controller.rb
tramway-admin-1.9.0.1 app/controllers/tramway/admin/records_controller.rb
tramway-admin-1.9 app/controllers/tramway/admin/records_controller.rb
tramway-admin-1.8.1.4 app/controllers/tramway/admin/records_controller.rb
tramway-admin-1.8.1.3 app/controllers/tramway/admin/records_controller.rb
tramway-admin-1.8.1.2 app/controllers/tramway/admin/records_controller.rb
tramway-admin-1.8.1.1 app/controllers/tramway/admin/records_controller.rb
tramway-admin-1.8.1 app/controllers/tramway/admin/records_controller.rb
tramway-admin-1.8 app/controllers/tramway/admin/records_controller.rb
tramway-admin-1.7.8.2 app/controllers/tramway/admin/records_controller.rb
tramway-admin-1.7.8.1 app/controllers/tramway/admin/records_controller.rb
tramway-admin-1.7.8 app/controllers/tramway/admin/records_controller.rb
tramway-admin-1.7.7.1 app/controllers/tramway/admin/records_controller.rb
tramway-admin-1.7.7 app/controllers/tramway/admin/records_controller.rb
tramway-admin-1.7.6 app/controllers/tramway/admin/records_controller.rb
tramway-admin-1.7.5 app/controllers/tramway/admin/records_controller.rb
tramway-admin-1.7.4 app/controllers/tramway/admin/records_controller.rb
tramway-admin-1.7.3 app/controllers/tramway/admin/records_controller.rb
tramway-admin-1.7.2 app/controllers/tramway/admin/records_controller.rb