Refactored log controller, added log editing

Refactored log controller, added log editing
This commit is contained in:
Jason Denney
2012-12-17 10:19:02 -05:00
parent c98c53de76
commit 939ea5b9db
5 changed files with 118 additions and 35 deletions
@@ -1,10 +1,12 @@
class ActsAsLoggable::LogsController < AuthenticatedController
before_filter :set_loggable_id
def index
if params[:loggable_id]
@logs = ActsAsLoggable::Log.where( :loggable_type => @loggable_type, :loggable_id => @loggable_id).order('id').paginate(:page => params[:page])
set_loggable_path
@loggable_path = ActsAsLoggable::Log.new( :loggable_type => @loggable_type,
:loggable_id => params[:loggable_id]).loggable_path
@logs = ActsAsLoggable::Log.where( :loggable_type => @loggable_type,
:loggable_id => params[:loggable_id])
.order('id').paginate(:page => params[:page])
else
@logs = ActsAsLoggable::Log.order('id').paginate(:page => params[:page])
end
@@ -14,8 +16,7 @@ class ActsAsLoggable::LogsController < AuthenticatedController
end
def new
@log = ActsAsLoggable::Log.new(:loggable_type => @loggable_type, :loggable_id => @loggable_id)
set_loggable_path
@log = ActsAsLoggable::Log.new(:loggable_type => @loggable_type, :loggable_id => params[:loggable_id])
end
def create
@@ -23,27 +24,25 @@ class ActsAsLoggable::LogsController < AuthenticatedController
params[:acts_as_loggable_log][:logger_type] = current_user.class.to_s
log = ActsAsLoggable::Log.new(params[:acts_as_loggable_log])
if log.save
set_loggable_path
redirect_to @loggable_path
redirect_to log.loggable_path
else
puts log.errors.inspect
render :new
end
end
def edit
@log = ActsAsLoggable::Log.find_by_id(params[:id])
end
def update
@log = ActsAsLoggable::Log.find_by_id(params[:id])
@log.update_attributes(params[:acts_as_loggable_log].except(:loggable_type, :loggable_type,
:logger_type, :logger_id,))
redirect_to @log.loggable_path
end
def destroy
end
private
def set_loggable_id
@loggable_id = params[:loggable_id]
end
def set_loggable_path
@loggable_path = "/#{@loggable_type.pluralize.downcase}/#{@loggable_id}/logs"
end
end
@@ -1,4 +1,4 @@
= form_for @log, :html => { :class => 'form-horizontal' }, :url => @loggable_path do |f|
= form_for @log, :html => { :class => 'form-horizontal' }, :url => @log.loggable_path do |f|
- if @log.loggable_type or @log.loggable_id
= f.hidden_field :loggable_id, :class => 'number_field'
= f.hidden_field :loggable_type, :class => 'text_field'
@@ -44,4 +44,4 @@
= f.number_field :action_id, :class => 'number_field'
.form-actions
= f.submit nil, :class => 'btn btn-primary'
= link_to t('.cancel', :default => t("helpers.links.cancel")), @loggable_path, :class => 'btn'
= link_to t('.cancel', :default => t("helpers.links.cancel")), @log.loggable_path, :class => 'btn'
@@ -0,0 +1,4 @@
- model_class = @log.class
.page-header
%h1=t '.title', :default => t('helpers.titles.edit', :model => model_class.model_name.human, :default => "Edit #{model_class.model_name.human}")
= render :partial => "form"