57 lines
1.2 KiB
Ruby
57 lines
1.2 KiB
Ruby
|
class Settings::PromotionsController < Admin::BaseController
|
||
|
before_action :set_promotion, except: [:index, :new, :create]
|
||
|
|
||
|
def index
|
||
|
@promotions = Promotion.all
|
||
|
end
|
||
|
|
||
|
def new
|
||
|
@promotion = Promotion.new
|
||
|
end
|
||
|
|
||
|
def create
|
||
|
@promotion = Promotion.new(resource_params)
|
||
|
|
||
|
if @promotion.save
|
||
|
log_action :create, @promotion
|
||
|
redirect_to settings_promotions_path, notice: I18n.t('promotions.created_msg')
|
||
|
else
|
||
|
render :new
|
||
|
end
|
||
|
end
|
||
|
|
||
|
def edit
|
||
|
end
|
||
|
|
||
|
def update
|
||
|
if @promotion.update(resource_params)
|
||
|
log_action :update, @promotion
|
||
|
flash[:notice] = I18n.t('promotions.updated_msg')
|
||
|
else
|
||
|
flash[:alert] = I18n.t('promotions.update_failed_msg')
|
||
|
end
|
||
|
redirect_to settings_promotions_path
|
||
|
end
|
||
|
|
||
|
def destroy
|
||
|
@promotion.destroy!
|
||
|
log_action :destroy, @promotion
|
||
|
flash[:notice] = I18n.t('promotions.destroyed_msg')
|
||
|
redirect_to settings_promotions_path
|
||
|
end
|
||
|
|
||
|
private
|
||
|
|
||
|
def set_promotion
|
||
|
@promotion = Promotion.find(params[:id])
|
||
|
end
|
||
|
|
||
|
def set_filter_params
|
||
|
@filter_params = filter_params.to_hash.symbolize_keys
|
||
|
end
|
||
|
|
||
|
def resource_params
|
||
|
params.require(:promotion).permit(:expires_at, :status_id, :timeline_id, :position)
|
||
|
end
|
||
|
end
|