Undelete
This commit is contained in:
@@ -26,7 +26,7 @@ class ApplicationController < ActionController::Base
|
||||
before_filter :set_timezone
|
||||
|
||||
# Força o login para algumas áreas do sistema
|
||||
before_filter :require_login, :only => [ :edit, :new, :create, :update, :delete, :destroy, :undelete ]
|
||||
before_filter :require_login, :only => [ :edit, :new, :create, :update, :delete, :destroy ]
|
||||
|
||||
protected
|
||||
def rescue_action(exception)
|
||||
|
||||
@@ -19,8 +19,9 @@ class AttachmentsController < ApplicationController
|
||||
#verify :method => :post, :only => [ :destroy, :create, :update ],
|
||||
# :redirect_to => { :controller => 'courses', :action => :show }
|
||||
|
||||
before_filter :find_attachment, :except => [ :undelete ]
|
||||
#after_filter :cache_sweep, :only => [ :create, :update, :destroy ]
|
||||
|
||||
before_filter :find_attachment
|
||||
|
||||
def show
|
||||
respond_to do |format|
|
||||
@@ -84,9 +85,9 @@ class AttachmentsController < ApplicationController
|
||||
def destroy
|
||||
@attachment.destroy
|
||||
flash[:notice] = 'Attachment removed'[]
|
||||
flash[:undo] = undelete_course_attachment_url(@course, @attachment)
|
||||
|
||||
AttachmentDeleteLogEntry.create!(:target_id => @attachment.id, :user => @current_user, :course => @course)
|
||||
log = AttachmentDeleteLogEntry.create!(:target_id => @attachment.id, :user => @current_user, :course => @course)
|
||||
flash[:undo] = undo_course_log_url(@course, log)
|
||||
|
||||
respond_to do |format|
|
||||
format.html { redirect_to course_url(@course) }
|
||||
@@ -103,14 +104,6 @@ class AttachmentsController < ApplicationController
|
||||
:streaming => 'true')
|
||||
end
|
||||
|
||||
def undelete
|
||||
@attachment = Attachment.find_with_deleted(params[:id])
|
||||
@attachment.recover!
|
||||
flash[:notice] = 'Attachment restored'[]
|
||||
AttachmentRestoreLogEntry.create!(:target_id => @attachment.id, :user => @current_user, :course => @attachment.course)
|
||||
redirect_to course_attachment_url(@attachment.course, @attachment)
|
||||
end
|
||||
|
||||
protected
|
||||
def find_attachment
|
||||
params[:course_id] = Course.find(:first, :conditions => ['short_name = ?', params[:course_id]], :order => 'period desc').id if !params[:course_id].is_numeric? and !Course.find_by_short_name(params[:course_id]).nil?
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
class EventsController < ApplicationController
|
||||
|
||||
before_filter :find_event, :except => [ :mini_calendar, :undelete ]
|
||||
before_filter :find_event, :except => [ :mini_calendar ]
|
||||
#after_filter :cache_sweep, :only => [ :create, :update, :destroy ]
|
||||
|
||||
def index
|
||||
@@ -76,9 +76,9 @@ class EventsController < ApplicationController
|
||||
def destroy
|
||||
@event.destroy
|
||||
flash[:notice] = 'Event removed'[]
|
||||
flash[:undo] = undelete_course_event_url(@course, @event)
|
||||
|
||||
EventDeleteLogEntry.create!(:target_id => @event.id, :user => @current_user, :course => @course, :version => @event.version)
|
||||
log = EventDeleteLogEntry.create!(:target_id => @event.id, :user => @current_user, :course => @course, :version => @event.version)
|
||||
flash[:undo] = undo_course_log_url(@course, log)
|
||||
|
||||
respond_to do |format|
|
||||
format.html { redirect_to course_events_path(@course) }
|
||||
@@ -98,19 +98,6 @@ class EventsController < ApplicationController
|
||||
render :template => 'widgets/calendario', :layout => false
|
||||
end
|
||||
|
||||
def undelete
|
||||
@event = Event.find_with_deleted(params[:id])
|
||||
@event.recover!
|
||||
|
||||
flash[:notice] = "Event restored"[]
|
||||
EventRestoreLogEntry.create!(:target_id => @event.id, :user => @current_user, :course => @event.course, :version => @event.version)
|
||||
|
||||
respond_to do |format|
|
||||
format.html { redirect_to course_event_url(@event.course, @event) }
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
protected
|
||||
def find_event
|
||||
params[:course_id] = Course.find(:first, :conditions => ['short_name = ?', params[:course_id]], :order => 'period desc').id if !params[:course_id].is_numeric? and !Course.find_by_short_name(params[:course_id]).nil?
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
|
||||
class LogController < ApplicationController
|
||||
|
||||
before_filter :find_course
|
||||
before_filter :require_login, :only => [ :undo ]
|
||||
|
||||
def index
|
||||
if @course
|
||||
@@ -39,7 +39,12 @@ class LogController < ApplicationController
|
||||
@log_entry.undo!(@current_user)
|
||||
|
||||
respond_to do |format|
|
||||
format.html { redirect_to course_log_url }
|
||||
format.html do
|
||||
redirect_to course_event_url(@log_entry.course, @log_entry.target_id) if @log_entry.kind_of?(EventDeleteLogEntry)
|
||||
redirect_to course_attachment_url(@log_entry.course, @log_entry.target_id) if @log_entry.kind_of?(AttachmentDeleteLogEntry)
|
||||
redirect_to course_news_instance_url(@log_entry.course, @log_entry.target_id) if @log_entry.kind_of?(NewsDeleteLogEntry)
|
||||
redirect_to course_wiki_instance_url(@log_entry.course, @log_entry.target_id) if @log_entry.kind_of?(WikiDeleteLogEntry)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@@ -20,7 +20,6 @@ class NewsController < ApplicationController
|
||||
#verify :method => :post, :only => [ :destroy, :create, :update ],
|
||||
# :redirect_to => { :action => :list }
|
||||
|
||||
before_filter :find_new, :except => [ :undelete ]
|
||||
#after_filter :cache_sweep, :only => [ :create, :update, :destroy ]
|
||||
|
||||
def index
|
||||
@@ -80,9 +79,9 @@ class NewsController < ApplicationController
|
||||
def destroy
|
||||
@news.destroy
|
||||
flash[:notice] = 'News removed'[]
|
||||
flash[:undo] = undelete_course_news_instance_url(@course, @news)
|
||||
|
||||
NewsDeleteLogEntry.create!(:target_id => @news.id, :user => @current_user, :course => @course, :version => @news.version)
|
||||
log = NewsDeleteLogEntry.create!(:target_id => @news.id, :user => @current_user, :course => @course, :version => @news.version)
|
||||
flash[:undo] = undo_course_log_url(@course, log)
|
||||
|
||||
respond_to do |format|
|
||||
format.html { redirect_to course_news_path(@course) }
|
||||
@@ -90,19 +89,6 @@ class NewsController < ApplicationController
|
||||
end
|
||||
end
|
||||
|
||||
def undelete
|
||||
@news = News.find_with_deleted(params[:id])
|
||||
@news.recover!
|
||||
|
||||
flash[:notice] = "News restored"[]
|
||||
NewsRestoreLogEntry.create!(:target_id => @news.id, :user => @current_user, :course => @news.course, :version => @news.version)
|
||||
|
||||
respond_to do |format|
|
||||
format.html { redirect_to course_news_instance_url(@news.course, @news) }
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
protected
|
||||
def find_new
|
||||
params[:course_id] = Course.find(:first, :conditions => ['short_name = ?', params[:course_id]], :order => 'period desc').id if !params[:course_id].is_numeric? and !Course.find_by_short_name(params[:course_id]).nil?
|
||||
|
||||
@@ -23,9 +23,9 @@ class WikiController < ApplicationController
|
||||
#after_filter :cache_sweep, :only => [ :create, :update, :destroy, :move_up,
|
||||
# :move_down, :undelete ]
|
||||
|
||||
before_filter :find_wiki, :except => [ :preview, :undelete ]
|
||||
before_filter :find_wiki, :except => [ :preview ]
|
||||
before_filter :require_login, :only => [ :new, :create, :edit, :update, :destroy,
|
||||
:move_up, :move_down, :undelete ]
|
||||
:move_up, :move_down ]
|
||||
|
||||
def index
|
||||
respond_to do |format|
|
||||
@@ -87,11 +87,12 @@ class WikiController < ApplicationController
|
||||
end
|
||||
|
||||
def destroy
|
||||
@wiki_page.remove_from_list
|
||||
@wiki_page.destroy
|
||||
flash[:notice] = "Wiki page removed"[]
|
||||
flash[:undo] = undelete_course_wiki_instance_url(@course, @wiki_page.id)
|
||||
|
||||
WikiDeleteLogEntry.create!(:target_id => @wiki_page.id, :user => @current_user, :course => @course)
|
||||
log = WikiDeleteLogEntry.create!(:target_id => @wiki_page.id, :user => @current_user, :course => @course)
|
||||
flash[:undo] = undo_course_log_url(@course, log)
|
||||
|
||||
respond_to do |format|
|
||||
format.html { redirect_to course_url(@course) }
|
||||
@@ -146,19 +147,6 @@ class WikiController < ApplicationController
|
||||
end
|
||||
end
|
||||
|
||||
def undelete
|
||||
@wiki_page = WikiPage.find_with_deleted(params[:id])
|
||||
@wiki_page.recover!
|
||||
@wiki_page.insert_at(1)
|
||||
flash[:notice] = "Wiki page restored"[]
|
||||
|
||||
WikiRestoreLogEntry.create!(:target_id => @wiki_page.id, :user => @current_user, :course => @wiki_page.course)
|
||||
|
||||
respond_to do |format|
|
||||
format.html { redirect_to course_wiki_instance_url(@wiki_page.course, @wiki_page) }
|
||||
end
|
||||
end
|
||||
|
||||
protected
|
||||
def find_wiki
|
||||
params[:course_id] = Course.find(:first, :conditions => ['short_name = ?', params[:course_id]], :order => 'period desc').id if !params[:course_id].is_numeric? and !Course.find_by_short_name(params[:course_id]).nil?
|
||||
|
||||
Reference in New Issue
Block a user