module ActiveScaffold::Actions::Duplicate
Public Class Methods
included(base)
click to toggle source
# File lib/active_scaffold/actions/duplicate.rb, line 3 def self.included(base) base.before_action :duplicate_authorized_filter, :only => :duplicate end
Public Instance Methods
duplicate()
click to toggle source
# File lib/active_scaffold/actions/duplicate.rb, line 7 def duplicate @old_record = find_if_allowed(params[:id], :read) @record = @old_record.send(active_scaffold_config.duplicate.method) if request.post? before_duplicate_save(@record) self.successful = @record.save after_duplicate_save(@record) if successful? respond_to_action(:duplicate) else params.delete :id before_duplicate_new(@record) respond_to_action(active_scaffold_config.duplicate.action_view) end end
Protected Instance Methods
after_duplicate_save(record)
click to toggle source
# File lib/active_scaffold/actions/duplicate.rb, line 25 def after_duplicate_save(record); end
before_duplicate_new(record)
click to toggle source
# File lib/active_scaffold/actions/duplicate.rb, line 24 def before_duplicate_new(record); end
before_duplicate_save(record)
click to toggle source
# File lib/active_scaffold/actions/duplicate.rb, line 23 def before_duplicate_save(record); end
duplicate_respond_to_html()
click to toggle source
# File lib/active_scaffold/actions/duplicate.rb, line 31 def duplicate_respond_to_html if successful? flash[:info] = as_(:created_model, :model => @record.to_label) if action = active_scaffold_config.duplicate.action_after_clone redirect_to params_for(:action => action, :id => @record.id) else return_to_main end else return_to_main end end
duplicate_respond_to_js()
click to toggle source
# File lib/active_scaffold/actions/duplicate.rb, line 44 def duplicate_respond_to_js do_refresh_list if successful? && active_scaffold_config.duplicate.refresh_list render :action => 'duplicate' end
duplicate_respond_to_json()
click to toggle source
# File lib/active_scaffold/actions/duplicate.rb, line 53 def duplicate_respond_to_json render :text => response_object.to_json(:only => active_scaffold_config.create.columns.visible_columns_names), :content_type => Mime::JSON, :status => response_status, :location => response_location end
duplicate_respond_to_xml()
click to toggle source
# File lib/active_scaffold/actions/duplicate.rb, line 49 def duplicate_respond_to_xml render :xml => response_object.to_xml(:only => active_scaffold_config.create.columns.visible_columns_names), :content_type => Mime::XML, :status => response_status, :location => response_location end
duplicate_respond_to_yaml()
click to toggle source
# File lib/active_scaffold/actions/duplicate.rb, line 57 def duplicate_respond_to_yaml render :text => Hash.from_xml(response_object.to_xml(:only => active_scaffold_config.create.columns.visible_columns_names)).to_yaml, :content_type => Mime::YAML, :status => response_status, :location => response_location end
Private Instance Methods
duplicate_formats()
click to toggle source
# File lib/active_scaffold/actions/duplicate.rb, line 66 def duplicate_formats (default_formats + active_scaffold_config.formats + active_scaffold_config.duplicate.formats).uniq end