Module: Decidim::Accountability::Admin::HasResultCommand
- Included in:
 - CreateImportedResult, CreateResult, UpdateImportedResult, UpdateResult
 
- Defined in:
 - app/commands/decidim/accountability/admin/has_result_command.rb
 
Instance Method Summary collapse
- #link_meetings ⇒ Object
 - #link_projects ⇒ Object
 - #link_proposals ⇒ Object
 - #meeting_ids ⇒ Object
 - #meetings ⇒ Object
 - #notify_proposal_followers ⇒ Object
 - #projects ⇒ Object
 - #proposals ⇒ Object
 
Instance Method Details
#link_meetings ⇒ Object
      33 34 35  | 
    
      # File 'app/commands/decidim/accountability/admin/has_result_command.rb', line 33 def link_meetings resource.link_resources(meetings, "meetings_through_proposals") end  | 
  
#link_projects ⇒ Object
      29 30 31  | 
    
      # File 'app/commands/decidim/accountability/admin/has_result_command.rb', line 29 def link_projects resource.link_resources(projects, "included_projects") end  | 
  
#link_proposals ⇒ Object
      25 26 27  | 
    
      # File 'app/commands/decidim/accountability/admin/has_result_command.rb', line 25 def link_proposals resource.link_resources(proposals, "included_proposals") end  | 
  
#meeting_ids ⇒ Object
      15 16 17 18 19  | 
    
      # File 'app/commands/decidim/accountability/admin/has_result_command.rb', line 15 def meeting_ids @meeting_ids ||= proposals.flat_map do |proposal| proposal.linked_resources(:meetings, "proposals_from_meeting").pluck(:id) end.uniq end  | 
  
#meetings ⇒ Object
      21 22 23  | 
    
      # File 'app/commands/decidim/accountability/admin/has_result_command.rb', line 21 def meetings @meetings ||= resource.sibling_scope(:meetings).where(id: meeting_ids) end  | 
  
#notify_proposal_followers ⇒ Object
      37 38 39 40 41 42 43 44 45 46 47 48 49 50  | 
    
      # File 'app/commands/decidim/accountability/admin/has_result_command.rb', line 37 def notify_proposal_followers proposals.each do |proposal| Decidim::EventsManager.publish( event: "decidim.events.accountability.proposal_linked", event_class: Decidim::Accountability::ProposalLinkedEvent, resource:, affected_users: proposal.notifiable_identities, followers: proposal.followers - proposal.notifiable_identities, extra: { proposal_id: proposal.id } ) end end  | 
  
#projects ⇒ Object
      11 12 13  | 
    
      # File 'app/commands/decidim/accountability/admin/has_result_command.rb', line 11 def projects @projects ||= resource.sibling_scope(:projects).where(id: form.project_ids) end  | 
  
#proposals ⇒ Object
      7 8 9  | 
    
      # File 'app/commands/decidim/accountability/admin/has_result_command.rb', line 7 def proposals @proposals ||= resource.sibling_scope(:proposals).where(id: form.proposal_ids) end  |