Add publish/unpublish controls to announcements in admin UI (#12967)
This commit is contained in:
		
					parent
					
						
							
								4363d06986
							
						
					
				
			
			
				commit
				
					
						663ea84b08
					
				
			
		
					 7 changed files with 49 additions and 7 deletions
				
			
		|  | @ -22,7 +22,7 @@ class Admin::AnnouncementsController < Admin::BaseController | |||
|     if @announcement.save | ||||
|       PublishScheduledAnnouncementWorker.perform_async(@announcement.id) if @announcement.published? | ||||
|       log_action :create, @announcement | ||||
|       redirect_to admin_announcements_path | ||||
|       redirect_to admin_announcements_path, notice: @announcement.published? ? I18n.t('admin.announcements.published_msg') : I18n.t('admin.announcements.scheduled_msg') | ||||
|     else | ||||
|       render :new | ||||
|     end | ||||
|  | @ -38,18 +38,34 @@ class Admin::AnnouncementsController < Admin::BaseController | |||
|     if @announcement.update(resource_params) | ||||
|       PublishScheduledAnnouncementWorker.perform_async(@announcement.id) if @announcement.published? | ||||
|       log_action :update, @announcement | ||||
|       redirect_to admin_announcements_path | ||||
|       redirect_to admin_announcements_path, notice: I18n.t('admin.announcements.updated_msg') | ||||
|     else | ||||
|       render :edit | ||||
|     end | ||||
|   end | ||||
| 
 | ||||
|   def publish | ||||
|     authorize :announcement, :update? | ||||
|     @announcement.publish! | ||||
|     PublishScheduledAnnouncementWorker.perform_async(@announcement.id) | ||||
|     log_action :update, @announcement | ||||
|     redirect_to admin_announcements_path, notice: I18n.t('admin.announcements.published_msg') | ||||
|   end | ||||
| 
 | ||||
|   def unpublish | ||||
|     authorize :announcement, :update? | ||||
|     @announcement.unpublish! | ||||
|     UnpublishAnnouncementWorker.perform_async(@announcement.id) | ||||
|     log_action :update, @announcement | ||||
|     redirect_to admin_announcements_path, notice: I18n.t('admin.announcements.unpublished_msg') | ||||
|   end | ||||
| 
 | ||||
|   def destroy | ||||
|     authorize :announcement, :destroy? | ||||
|     @announcement.destroy! | ||||
|     UnpublishAnnouncementWorker.perform_async(@announcement.id) if @announcement.published? | ||||
|     log_action :destroy, @announcement | ||||
|     redirect_to admin_announcements_path | ||||
|     redirect_to admin_announcements_path, notice: I18n.t('admin.announcements.destroyed_msg') | ||||
|   end | ||||
| 
 | ||||
|   private | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue