Commit 0c8abae20ae213cdfbb2b4491956d577cab7d4e5
1 parent
bac820e8
Exists in
master
and in
28 other branches
ActionItem93: reactivated permissions and made tests pass
git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@1062 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing
10 changed files
with
19 additions
and
20 deletions
Show diff stats
app/controllers/my_profile/cms_controller.rb
app/controllers/my_profile/consumed_products_controller.rb
app/controllers/my_profile/enterprise_editor_controller.rb
| ... | ... | @@ -2,8 +2,9 @@ class EnterpriseEditorController < MyProfileController |
| 2 | 2 | protect 'edit_profile', :profile, :user, :except => :destroy |
| 3 | 3 | protect 'destroy_profile', :profile, :only => :destroy |
| 4 | 4 | |
| 5 | - before_filter :check_enterprise | |
| 6 | - | |
| 5 | + requires_profile_class(Enterprise) | |
| 6 | + before_filter :enterprise | |
| 7 | + | |
| 7 | 8 | # Show details about an enterprise |
| 8 | 9 | def index |
| 9 | 10 | end |
| ... | ... | @@ -35,13 +36,9 @@ class EnterpriseEditorController < MyProfileController |
| 35 | 36 | end |
| 36 | 37 | end |
| 37 | 38 | |
| 38 | - protected | |
| 39 | + protected | |
| 39 | 40 | |
| 40 | - def check_enterprise | |
| 41 | - if profile.is_a?(Enterprise) | |
| 42 | - @enterprise = profile | |
| 43 | - else | |
| 44 | - redirect_to :controller => 'account' #:controller => 'profile_editor', :profile => current_user.login and return | |
| 45 | - end | |
| 41 | + def enterprise | |
| 42 | + @enterprise = @profile | |
| 46 | 43 | end |
| 47 | 44 | end | ... | ... |
app/controllers/my_profile/manage_products_controller.rb
app/controllers/my_profile/profile_editor_controller.rb
app/controllers/my_profile/profile_members_controller.rb
app/models/profile.rb
| ... | ... | @@ -9,6 +9,7 @@ class Profile < ActiveRecord::Base |
| 9 | 9 | 'manage_memberships' => N_('Manage memberships'), |
| 10 | 10 | 'post_content' => N_('Post content'), |
| 11 | 11 | 'edit_profile_design' => N_('Edit profile design'), |
| 12 | + 'manage_products' => N_('Manage products'), | |
| 12 | 13 | } |
| 13 | 14 | |
| 14 | 15 | acts_as_accessible | ... | ... |
test/functional/cms_controller_test.rb
| ... | ... | @@ -13,7 +13,8 @@ class CmsControllerTest < Test::Unit::TestCase |
| 13 | 13 | @request = ActionController::TestRequest.new |
| 14 | 14 | @response = ActionController::TestResponse.new |
| 15 | 15 | |
| 16 | - @profile = create_user('testinguser').person | |
| 16 | + @profile = create_user_with_permission('testinguser', 'post_content') | |
| 17 | + login_as :testinguser | |
| 17 | 18 | end |
| 18 | 19 | |
| 19 | 20 | attr_reader :profile | ... | ... |
test/functional/enterprise_editor_controller_test.rb
| ... | ... | @@ -67,12 +67,12 @@ class EnterpriseEditorControllerTest < Test::Unit::TestCase |
| 67 | 67 | user = create_user_with_permission('test_user', 'edit_profile', ent) |
| 68 | 68 | login_as :test_user |
| 69 | 69 | |
| 70 | - post 'update', :profile => 'test_enterprise', :enterprise => {:name => 'test_name'} | |
| 70 | + post 'update', :profile => 'test_enterprise', :organization_info => {:acronym => 'bla'} | |
| 71 | 71 | |
| 72 | 72 | assert_response :redirect |
| 73 | 73 | assert_redirected_to :action => 'index' |
| 74 | 74 | ent.reload |
| 75 | - assert_equal 'test_name', ent.name | |
| 75 | + assert_equal 'bla', ent.organization_info.acronym | |
| 76 | 76 | end |
| 77 | 77 | |
| 78 | 78 | should 'destroy' do | ... | ... |
test/test_helper.rb
| ... | ... | @@ -63,15 +63,16 @@ class Test::Unit::TestCase |
| 63 | 63 | :password_confirmation => name.underscore) |
| 64 | 64 | end |
| 65 | 65 | |
| 66 | - def create_user_with_permission(name, permission, target) | |
| 66 | + def create_user_with_permission(name, permission, target= nil) | |
| 67 | 67 | user = create_user(name).person |
| 68 | + target ||= user | |
| 68 | 69 | i = 0 |
| 69 | 70 | while Role.find_by_name('test_role' + i.to_s) |
| 70 | 71 | i+=1 |
| 71 | 72 | end |
| 72 | 73 | |
| 73 | 74 | role = Role.create!(:name => 'test_role' + i.to_s, :permissions => [permission]) |
| 74 | - assert user.add_role(role, target) | |
| 75 | + assert user.add_role(role, target) | |
| 75 | 76 | assert user.has_permission?(permission, target) |
| 76 | 77 | user |
| 77 | 78 | end | ... | ... |