Show More
Commit Description:
merge
Commit Description:
merge
References:
File last commit:
Show/Diff file:
Action:
app/controllers/announcements_controller.rb | 116 lines | 3.2 KiB | text/x-ruby | RubyLexer |
class AnnouncementsController < ApplicationController
before_action :admin_authorization
in_place_edit_for :announcement, :published
# GET /announcements
# GET /announcements.xml
def index
@announcements = Announcement.order(created_at: :desc)
respond_to do |format|
format.html # index.html.erb
format.xml { render :xml => @announcements }
end
end
# GET /announcements/1
# GET /announcements/1.xml
def show
@announcement = Announcement.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.xml { render :xml => @announcement }
end
end
# GET /announcements/new
# GET /announcements/new.xml
def new
@announcement = Announcement.new
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @announcement }
end
end
# GET /announcements/1/edit
def edit
@announcement = Announcement.find(params[:id])
end
# POST /announcements
# POST /announcements.xml
def create
@announcement = Announcement.new(announcement_params)
respond_to do |format|
if @announcement.save
flash[:notice] = 'Announcement was successfully created.'
format.html { redirect_to(@announcement) }
format.xml { render :xml => @announcement, :status => :created, :location => @announcement }
else
format.html { render :action => "new" }
format.xml { render :xml => @announcement.errors, :status => :unprocessable_entity }
end
end
end
# PUT /announcements/1
# PUT /announcements/1.xml
def update
@announcement = Announcement.find(params[:id])
respond_to do |format|
if @announcement.update_attributes(announcement_params)
flash[:notice] = 'Announcement was successfully updated.'
format.html { redirect_to(@announcement) }
format.js {}
format.xml { head :ok }
else
format.html { render :action => "edit" }
format.js {}
format.xml { render :xml => @announcement.errors, :status => :unprocessable_entity }
end
end
end
def toggle
@announcement = Announcement.find(params[:id])
@announcement.update_attributes( published: !@announcement.published? )
respond_to do |format|
format.js { render partial: 'toggle_button',
locals: {button_id: "#announcement_toggle_#{@announcement.id}",button_on: @announcement.published? } }
end
end
def toggle_front
@announcement = Announcement.find(params[:id])
@announcement.update_attributes( frontpage: !@announcement.frontpage? )
respond_to do |format|
format.js { render partial: 'toggle_button',
locals: {button_id: "#announcement_toggle_front_#{@announcement.id}",button_on: @announcement.frontpage? } }
end
end
# DELETE /announcements/1
# DELETE /announcements/1.xml
def destroy
@announcement = Announcement.find(params[:id])
@announcement.destroy
respond_to do |format|
format.html { redirect_to(announcements_url) }
format.xml { head :ok }
end
end
private
def announcement_params
params.require(:announcement).permit(:author, :body, :published, :frontpage, :contest_only, :title, :on_nav_bar)
end
end