Commit 40cccd7802ca14873a9a78d7593a04241bca450a

Authored by Joenio Costa
Committed by Daniela Feitosa
1 parent 77019ebd

Allow environment admin add RawHTMLBlock to profiles

app/controllers/my_profile/profile_design_controller.rb
@@ -37,6 +37,10 @@ class ProfileDesignController < BoxOrganizerController @@ -37,6 +37,10 @@ class ProfileDesignController < BoxOrganizerController
37 blocks << BlogArchivesBlock 37 blocks << BlogArchivesBlock
38 end 38 end
39 39
  40 + if user.is_admin?(profile.environment)
  41 + blocks << RawHTMLBlock
  42 + end
  43 +
40 blocks 44 blocks
41 end 45 end
42 46
test/functional/profile_design_controller_test.rb
@@ -342,10 +342,12 @@ class ProfileDesignControllerTest &lt; Test::Unit::TestCase @@ -342,10 +342,12 @@ class ProfileDesignControllerTest &lt; Test::Unit::TestCase
342 profile.stubs(:person?).returns(true) 342 profile.stubs(:person?).returns(true)
343 profile.stubs(:enterprise?).returns(false) 343 profile.stubs(:enterprise?).returns(false)
344 profile.stubs(:has_blog?).returns(false) 344 profile.stubs(:has_blog?).returns(false)
  345 + profile.stubs(:is_admin?).with(anything).returns(false)
345 environment = mock 346 environment = mock
346 profile.stubs(:environment).returns(environment) 347 profile.stubs(:environment).returns(environment)
347 environment.stubs(:enabled?).returns(false) 348 environment.stubs(:enabled?).returns(false)
348 @controller.stubs(:profile).returns(profile) 349 @controller.stubs(:profile).returns(profile)
  350 + @controller.stubs(:user).returns(profile)
349 assert_equal PERSON_BLOCKS, @controller.available_blocks 351 assert_equal PERSON_BLOCKS, @controller.available_blocks
350 end 352 end
351 353
@@ -355,10 +357,12 @@ class ProfileDesignControllerTest &lt; Test::Unit::TestCase @@ -355,10 +357,12 @@ class ProfileDesignControllerTest &lt; Test::Unit::TestCase
355 profile.stubs(:person?).returns(true) 357 profile.stubs(:person?).returns(true)
356 profile.stubs(:enterprise?).returns(false) 358 profile.stubs(:enterprise?).returns(false)
357 profile.stubs(:has_blog?).returns(false) 359 profile.stubs(:has_blog?).returns(false)
  360 + profile.stubs(:is_admin?).with(anything).returns(false)
358 environment = mock 361 environment = mock
359 profile.stubs(:environment).returns(environment) 362 profile.stubs(:environment).returns(environment)
360 environment.stubs(:enabled?).returns(false) 363 environment.stubs(:enabled?).returns(false)
361 @controller.stubs(:profile).returns(profile) 364 @controller.stubs(:profile).returns(profile)
  365 + @controller.stubs(:user).returns(profile)
362 assert_equal [], @controller.available_blocks - PERSON_BLOCKS_WITH_MEMBERS 366 assert_equal [], @controller.available_blocks - PERSON_BLOCKS_WITH_MEMBERS
363 end 367 end
364 368
@@ -368,10 +372,12 @@ class ProfileDesignControllerTest &lt; Test::Unit::TestCase @@ -368,10 +372,12 @@ class ProfileDesignControllerTest &lt; Test::Unit::TestCase
368 profile.stubs(:person?).returns(true) 372 profile.stubs(:person?).returns(true)
369 profile.stubs(:enterprise?).returns(false) 373 profile.stubs(:enterprise?).returns(false)
370 profile.stubs(:has_blog?).returns(true) 374 profile.stubs(:has_blog?).returns(true)
  375 + profile.stubs(:is_admin?).with(anything).returns(false)
371 environment = mock 376 environment = mock
372 profile.stubs(:environment).returns(environment) 377 profile.stubs(:environment).returns(environment)
373 environment.stubs(:enabled?).returns(false) 378 environment.stubs(:enabled?).returns(false)
374 @controller.stubs(:profile).returns(profile) 379 @controller.stubs(:profile).returns(profile)
  380 + @controller.stubs(:user).returns(profile)
375 assert_equal [], @controller.available_blocks - PERSON_BLOCKS_WITH_BLOG 381 assert_equal [], @controller.available_blocks - PERSON_BLOCKS_WITH_BLOG
376 end 382 end
377 383
@@ -381,10 +387,12 @@ class ProfileDesignControllerTest &lt; Test::Unit::TestCase @@ -381,10 +387,12 @@ class ProfileDesignControllerTest &lt; Test::Unit::TestCase
381 profile.stubs(:person?).returns(false) 387 profile.stubs(:person?).returns(false)
382 profile.stubs(:enterprise?).returns(true) 388 profile.stubs(:enterprise?).returns(true)
383 profile.stubs(:has_blog?).returns(false) 389 profile.stubs(:has_blog?).returns(false)
  390 + profile.stubs(:is_admin?).with(anything).returns(false)
384 environment = mock 391 environment = mock
385 profile.stubs(:environment).returns(environment) 392 profile.stubs(:environment).returns(environment)
386 environment.stubs(:enabled?).returns(true) 393 environment.stubs(:enabled?).returns(true)
387 @controller.stubs(:profile).returns(profile) 394 @controller.stubs(:profile).returns(profile)
  395 + @controller.stubs(:user).returns(profile)
388 assert_equal [], @controller.available_blocks - ENTERPRISE_BLOCKS 396 assert_equal [], @controller.available_blocks - ENTERPRISE_BLOCKS
389 end 397 end
390 398
@@ -394,11 +402,27 @@ class ProfileDesignControllerTest &lt; Test::Unit::TestCase @@ -394,11 +402,27 @@ class ProfileDesignControllerTest &lt; Test::Unit::TestCase
394 profile.stubs(:person?).returns(false) 402 profile.stubs(:person?).returns(false)
395 profile.stubs(:enterprise?).returns(true) 403 profile.stubs(:enterprise?).returns(true)
396 profile.stubs(:has_blog?).returns(false) 404 profile.stubs(:has_blog?).returns(false)
  405 + profile.stubs(:is_admin?).with(anything).returns(false)
397 environment = mock 406 environment = mock
398 profile.stubs(:environment).returns(environment) 407 profile.stubs(:environment).returns(environment)
399 environment.stubs(:enabled?).returns(false) 408 environment.stubs(:enabled?).returns(false)
400 @controller.stubs(:profile).returns(profile) 409 @controller.stubs(:profile).returns(profile)
  410 + @controller.stubs(:user).returns(profile)
401 assert_equal [], @controller.available_blocks - ENTERPRISE_BLOCKS_WITH_PRODUCTS_ENABLE 411 assert_equal [], @controller.available_blocks - ENTERPRISE_BLOCKS_WITH_PRODUCTS_ENABLE
402 end 412 end
403 413
  414 + should 'allow admins to add RawHTMLBlock' do
  415 + profile.stubs(:is_admin?).with(anything).returns(true)
  416 + @controller.stubs(:user).returns(profile)
  417 + get :add_block, :profile => 'designtestuser'
  418 + assert_tag :tag => 'input', :attributes => { :id => 'type_rawhtmlblock', :value => 'RawHTMLBlock' }
  419 + end
  420 +
  421 + should 'not allow normal users to add RawHTMLBlock' do
  422 + profile.stubs(:is_admin?).with(anything).returns(false)
  423 + @controller.stubs(:user).returns(profile)
  424 + get :add_block, :profile => 'designtestuser'
  425 + assert_no_tag :tag => 'input', :attributes => { :id => 'type_rawhtmlblock', :value => 'RawHTMLBlock' }
  426 + end
  427 +
404 end 428 end