From d766256a1856eb99de6b405f013c025b8a66ec10 Mon Sep 17 00:00:00 2001 From: Victor Ghita <tomi.gvf@gmail.com> Date: Thu, 14 Dec 2023 11:53:31 +0100 Subject: [PATCH] Apply badge type to manually awardable badges --- app/controllers/badges_controller.rb | 18 +++++++++--------- app/views/badges/award.html.erb | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/app/controllers/badges_controller.rb b/app/controllers/badges_controller.rb index 5d7b3d28e..a96a27f07 100644 --- a/app/controllers/badges_controller.rb +++ b/app/controllers/badges_controller.rb @@ -62,16 +62,16 @@ class BadgesController < ApplicationController end def award_save + permitted_parameters = params.require(:user_badge).permit(:badge_type, :badge_source_type, + :badge_source_id, :user, :badge) + @user = User.find_by(id: permitted_parameters[:user]) + @badge = Badge.find_by(id: permitted_parameters[:badge]) + @user_badge = UserBadge.new(permitted_parameters.merge(user: @user, badge: @badge, + badge_type: permitted_parameters[:badge_type])) + @entity_types = badge_source_types - @user = User.find_by(id: params[:user_badge][:user]) - @badge = Badge.find_by(id: params[:user_badge][:badge]) - @user_badge = UserBadge.new(params.require(:user_badge).permit(:badge_type, :badge_source_type, - :badge_source_id) - .merge(user: @user, badge: @badge, - badge_type: params[:user_badge][:badge_type].to_i)) - - unless badge_source_types.include? @user_badge.badge_source_type - flash[:danger] = 'Post Type is invalid.' + unless @entity_types.include? @user_badge.badge_source_type + flash[:danger] = 'Entity Type is invalid.' redirect_to :award, status: :bad_request return end diff --git a/app/views/badges/award.html.erb b/app/views/badges/award.html.erb index af291cd3a..ddadfed59 100644 --- a/app/views/badges/award.html.erb +++ b/app/views/badges/award.html.erb @@ -21,7 +21,7 @@ <div class="form-group"> <%= f.label :badge_type, 'Type', class: 'form-element' %> - <%= f.select :badge_type, UserBadge.badge_types.keys, + <%= f.select :badge_type, options_for_select(UserBadge.badge_types.keys.to_a ), { include_blank: false }, class: 'form-element' %> </div> -- GitLab