Files
grecia/app/controllers/admin/widget/cards_controller.rb
2019-01-14 20:26:47 +01:00

59 lines
1.1 KiB
Ruby

class Admin::Widget::CardsController < Admin::BaseController
include Translatable
include ImageAttributes
def new
@card = ::Widget::Card.new(header: header_card?)
end
def create
@card = ::Widget::Card.new(card_params)
if @card.save
notice = "Success"
redirect_to admin_homepage_url, notice: notice
else
render :new
end
end
def edit
@card = ::Widget::Card.find(params[:id])
end
def update
@card = ::Widget::Card.find(params[:id])
if @card.update(card_params)
notice = "Updated"
redirect_to admin_homepage_url, notice: notice
else
render :edit
end
end
def destroy
@card = ::Widget::Card.find(params[:id])
@card.destroy
notice = "Removed"
redirect_to admin_homepage_url, notice: notice
end
private
def card_params
params.require(:widget_card).permit(
:link_url, :button_text, :button_url, :alignment, :header,
translation_params(Widget::Card),
image_attributes: image_attributes
)
end
def header_card?
params[:header_card].present?
end
def resource
Widget::Card.find(params[:id])
end
end