Add announcements (#12662)
* Add announcements Fix #11006 * Add reactions to announcements * Add admin UI for announcements * Add unit tests * Fix issues - Add `with_dismissed` param to announcements API - Fix end date not being formatted when time range is given - Fix announcement delete causing reactions to send streaming updates - Fix announcements container growing too wide and mascot too small - Fix `all_day` being settable when no time range is given - Change text "Update" to "Announcement" * Fix scheduler unpublishing announcements before they are due * Fix filter params not being passed to announcements filter
This commit is contained in:
		
					parent
					
						
							
								81cc86bb1f
							
						
					
				
			
			
				commit
				
					
						f52c988e12
					
				
			
		
					 65 changed files with 1779 additions and 22 deletions
				
			
		
							
								
								
									
										29
									
								
								app/controllers/api/v1/announcements/reactions_controller.rb
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								app/controllers/api/v1/announcements/reactions_controller.rb
									
										
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,29 @@ | |||
| # frozen_string_literal: true | ||||
| 
 | ||||
| class Api::V1::Announcements::ReactionsController < Api::BaseController | ||||
|   before_action -> { doorkeeper_authorize! :write, :'write:favourites' } | ||||
|   before_action :require_user! | ||||
| 
 | ||||
|   before_action :set_announcement | ||||
|   before_action :set_reaction, except: :update | ||||
| 
 | ||||
|   def update | ||||
|     @announcement.announcement_reactions.create!(account: current_account, name: params[:id]) | ||||
|     render_empty | ||||
|   end | ||||
| 
 | ||||
|   def destroy | ||||
|     @reaction.destroy! | ||||
|     render_empty | ||||
|   end | ||||
| 
 | ||||
|   private | ||||
| 
 | ||||
|   def set_reaction | ||||
|     @reaction = @announcement.announcement_reactions.where(account: current_account).find_by!(name: params[:id]) | ||||
|   end | ||||
| 
 | ||||
|   def set_announcement | ||||
|     @announcement = Announcement.published.find(params[:announcement_id]) | ||||
|   end | ||||
| end | ||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue