Class: Decidim::Posts::ReactionsController

Inherits:
Components::BaseController
  • Object
show all
Defined in:
app/controllers/decidim/posts/reactions_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# File 'app/controllers/decidim/posts/reactions_controller.rb', line 8

def create
  enforce_permission_to(:create, :reaction, resource:)

  reaction_type_id = params[:reaction_type_id]
  user_group_id = params[:user_group_id]

  AddReactionToResource.call(resource, current_user, user_group_id, reaction_type_id) do
    on(:ok) do
      resource.reload
      render partial: "update_buttons_and_counters", locals: { resource: resource }
      #render json: { success: true, reaction_type: @reaction.reaction_type }, status: :ok
    end

    on(:invalid) do
      render json: { error: I18n.t("resource_reactions.create.error", scope: "decidim") }, status: :unprocessable_entity
      #render json: { success: false, errors: @reaction.errors.full_messages }, status: :unprocessable_entity
    end
  end
end

#destroyObject



28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'app/controllers/decidim/posts/reactions_controller.rb', line 28

def destroy
  enforce_permission_to(:withdraw, :reaction, resource:)
  
  user_group_id = params[:user_group_id]
  user_group = user_groups.find(user_group_id) if user_group_id

  RemoveReactionFromResource.call(resource, current_user, user_group) do
    on(:ok) do
      resource.reload
      render :update_buttons_and_counters
    end
  end
end