Class: Decidim::EndorsementsController
- Inherits:
 - 
      Components::BaseController
      
        
- Object
 - DecidimController
 - ApplicationController
 - Components::BaseController
 - Decidim::EndorsementsController
 
 
- Includes:
 - EndorsableHelper
 
- Defined in:
 - app/controllers/decidim/endorsements_controller.rb
 
Overview
Exposes the ‘Endorsements` so that users can endorse resources.
Instance Method Summary collapse
- #create ⇒ Object
 - 
  
    
      #current_component  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
should be pubic in order to be visible in NeedsPermission#permissions_context.
 - #destroy ⇒ Object
 - #identities ⇒ Object
 
Methods included from EndorsableHelper
#current_user_can_endorse?, #endorsement_buttons_cell, #endorsements_blocked?, #endorsements_enabled?, #endorsers_list_cell, #fully_endorsed?, #path_to_create_endorsement, #path_to_destroy_endorsement, #render_endorsement_identity, #show_endorsements_card?
Methods inherited from Components::BaseController
#current_manifest, #permission_class_chain, #permission_scope, #redirect_unless_feature_private, #set_component_breadcrumb_item, #share_token
Methods included from RegistersPermissions
Methods included from UserBlockedChecker
#check_user_block_status, #check_user_not_blocked
Methods included from NeedsSnippets
Methods included from Headers::HttpCachingDisabler
Methods included from HasStoredPath
#skip_store_location?, #store_current_location
Methods included from TranslatableAttributes
Methods included from NeedsOrganization
enhance_controller, extended, included
Instance Method Details
#create ⇒ Object
      15 16 17 18 19 20 21 22 23 24 25 26 27 28 29  | 
    
      # File 'app/controllers/decidim/endorsements_controller.rb', line 15 def create (:create, :endorsement, resource:) user_group_id = params[:user_group_id] EndorseResource.call(resource, current_user, user_group_id) do on(:ok) do resource.reload render :update_buttons_and_counters end on(:invalid) do render json: { error: I18n.t("resource_endorsements.create.error", scope: "decidim") }, status: :unprocessable_entity end end end  | 
  
#current_component ⇒ Object
should be pubic in order to be visible in NeedsPermission#permissions_context
      52 53 54  | 
    
      # File 'app/controllers/decidim/endorsements_controller.rb', line 52 def current_component resource.component end  | 
  
#destroy ⇒ Object
      31 32 33 34 35 36 37 38 39 40 41 42  | 
    
      # File 'app/controllers/decidim/endorsements_controller.rb', line 31 def destroy (:withdraw, :endorsement, resource:) user_group_id = params[:user_group_id] user_group = user_groups.find(user_group_id) if user_group_id UnendorseResource.call(resource, current_user, user_group) do on(:ok) do resource.reload render :update_buttons_and_counters end end end  | 
  
#identities ⇒ Object
      44 45 46 47 48 49  | 
    
      # File 'app/controllers/decidim/endorsements_controller.rb', line 44 def identities (:create, :endorsement, resource:) @user_verified_groups = Decidim::UserGroups::ManageableUserGroups.for(current_user).verified render :identities, layout: false end  |