discourse/app/controllers/admin/badges_controller.rb

44 lines
1.1 KiB
Ruby
Raw Normal View History

2014-03-05 07:52:20 -05:00
class Admin::BadgesController < Admin::AdminController
def badge_types
badge_types = BadgeType.all.to_a
render_serialized(badge_types, BadgeTypeSerializer, root: "badge_types")
end
def create
badge = Badge.new
update_badge_from_params(badge)
badge.save!
render_serialized(badge, BadgeSerializer, root: "badge")
end
def update
badge = find_badge
update_badge_from_params(badge)
badge.save!
render_serialized(badge, BadgeSerializer, root: "badge")
end
def destroy
find_badge.destroy
render nothing: true
end
private
def find_badge
params.require(:id)
Badge.find(params[:id])
end
def update_badge_from_params(badge)
2014-07-03 03:44:16 -04:00
params.permit(:name, :description, :badge_type_id, :allow_title, :multiple_grant, :listable)
2014-03-05 07:52:20 -05:00
badge.name = params[:name]
badge.description = params[:description]
badge.badge_type = BadgeType.find(params[:badge_type_id])
badge.allow_title = params[:allow_title]
2014-05-21 03:22:42 -04:00
badge.multiple_grant = params[:multiple_grant]
badge.icon = params[:icon]
2014-07-03 03:44:16 -04:00
badge.listable = params[:listable]
2014-03-05 07:52:20 -05:00
badge
end
end