Created
December 11, 2009 23:17
-
-
Save Florent2/254595 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
diff --git a/vendor/plugins/admin_data/app/controllers/admin_data/main_controller.rb b/vendor/plugins/admin_data/app/controllers/admin_data/main_controller.rb | |
index 9aabf67..85a8516 100644 | |
--- a/vendor/plugins/admin_data/app/controllers/admin_data/main_controller.rb | |
+++ b/vendor/plugins/admin_data/app/controllers/admin_data/main_controller.rb | |
@@ -70,7 +70,8 @@ class AdminData::MainController < AdminData::BaseController | |
def update | |
model_name_underscored = @klass.name.underscore | |
model_attrs = params[model_name_underscored] | |
- if @model.update_attributes(model_attrs) | |
+ @model.send(:attributes=, model_attrs, false) | |
+ if @model.save | |
flash[:success] = "Record was updated" | |
redirect_to admin_data_on_k_path(:id => @model, :klass => @klass.name.underscore) | |
else | |
diff --git a/vendor/plugins/admin_data/test/functional/main_controller_test.rb b/vendor/plugins/admin_data/test/functional/main_controller_test.rb | |
index f148cc9..18b81f7 100644 | |
--- a/vendor/plugins/admin_data/test/functional/main_controller_test.rb | |
+++ b/vendor/plugins/admin_data/test/functional/main_controller_test.rb | |
@@ -354,6 +354,21 @@ class AdminData::MainControllerTest < ActionController::TestCase | |
should_not_change('article count') { Article.count } | |
end | |
+ context 'update article status protected attribute successful' do | |
+ setup do | |
+ grant_update_access | |
+ post :update, { :klass => Article.name.underscore, | |
+ :id => @article, | |
+ :article => {:title => 'new title', :status => 'something'}} | |
+ end | |
+ should_respond_with :redirect | |
+ should_redirect_to('show page') { admin_data_on_k_path( :id => Article.last, | |
+ :klass => Article.name.underscore) } | |
+ should_set_the_flash_to /Record was updated/ | |
+ should_not_change('article count') { Article.count } | |
+ should_change "@article.status", :from => 'published', :to => 'something' | |
+ end | |
+ | |
context 'update car successful' do | |
setup do | |
grant_update_access | |
diff --git a/vendor/plugins/admin_data/test/rails_root/app/models/article.rb b/vendor/plugins/admin_data/test/rails_root/app/models/article.rb | |
index 5e79815..7e61aa9 100644 | |
--- a/vendor/plugins/admin_data/test/rails_root/app/models/article.rb | |
+++ b/vendor/plugins/admin_data/test/rails_root/app/models/article.rb | |
@@ -2,6 +2,8 @@ class Article < ActiveRecord::Base | |
set_primary_key 'article_id' | |
+ attr_protected :status | |
+ | |
has_many :comments, :dependent => :destroy | |
belongs_to :magazine, :polymorphic => true |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment