feat(announce): super admin can create announce

This commit is contained in:
Colin Darie 2023-10-03 16:20:13 +02:00
parent 0d626f1811
commit ff8ed6016e
No known key found for this signature in database
GPG key ID: 8C76CADD40253590
12 changed files with 234 additions and 2 deletions

View file

@ -0,0 +1,52 @@
class SuperAdmins::ReleaseNotesController < ApplicationController
before_action :authenticate_super_admin!
before_action :set_note, only: [:edit, :update]
def index
@release_notes = ReleaseNote
.order(released_on: :desc, id: :asc)
.with_rich_text_body
end
def show
# allows refreshing a submitted page in error
redirect_to edit_super_admins_release_note_path(params[:id])
end
def new
@release_note = ReleaseNote.new(released_on: Date.current)
end
def create
@release_note = ReleaseNote.new(release_note_params)
if @release_note.save
redirect_to edit_super_admins_release_note_path(@release_note), notice: t('.success')
else
flash.now[:alert] = [t('.error'), @release_note.errors.full_messages].flatten
render :new
end
end
def edit
@release_note = ReleaseNote.find(params[:id])
end
def update
if @release_note.update(release_note_params)
redirect_to edit_super_admins_release_note_path(@release_note), notice: t('.success')
else
flash.now[:alert] = [t('.error'), @release_note.errors.full_messages].flatten
render :edit
end
end
private
def release_note_params
params.require(:release_note).permit(:released_on, :published, :body, categories: [])
end
def set_note
@release_note = ReleaseNote.find(params[:id])
end
end