Commit 35fba7896b88651d2d7ff85ca1f8e3546ea819b9

Authored by Daniela Feitosa
Committed by Antonio Terceiro
1 parent 275fdc75

ActionItem866: fix: don't expand variables when editing header/footer

app/helpers/boxes_helper.rb
@@ -23,9 +23,9 @@ module BoxesHelper @@ -23,9 +23,9 @@ module BoxesHelper
23 content = boxes.reverse.map { |item| display_box(item, main_content) }.join("\n") 23 content = boxes.reverse.map { |item| display_box(item, main_content) }.join("\n")
24 content = main_content if (content.blank?) 24 content = main_content if (content.blank?)
25 25
26 - maybe_display_custom_element(holder, :custom_header, :id => 'profile-header') + 26 + maybe_display_custom_element(holder, :custom_header_expanded, :id => 'profile-header') +
27 content_tag('div', content, :class => 'boxes', :id => 'boxes' ) + 27 content_tag('div', content, :class => 'boxes', :id => 'boxes' ) +
28 - maybe_display_custom_element(holder, :custom_footer, :id => 'profile-footer') 28 + maybe_display_custom_element(holder, :custom_footer_expanded, :id => 'profile-footer')
29 end 29 end
30 30
31 def maybe_display_custom_element(holder, element, options = {}) 31 def maybe_display_custom_element(holder, element, options = {})
app/models/profile.rb
@@ -461,6 +461,10 @@ class Profile < ActiveRecord::Base @@ -461,6 +461,10 @@ class Profile < ActiveRecord::Base
461 end 461 end
462 462
463 def custom_header 463 def custom_header
  464 + self[:custom_header] || environment.custom_header
  465 + end
  466 +
  467 + def custom_header_expanded
464 header = self[:custom_header] || environment.custom_header 468 header = self[:custom_header] || environment.custom_header
465 if header 469 if header
466 if self.respond_to?(:name) && header.include?('{name}') 470 if self.respond_to?(:name) && header.include?('{name}')
@@ -472,6 +476,10 @@ class Profile < ActiveRecord::Base @@ -472,6 +476,10 @@ class Profile < ActiveRecord::Base
472 end 476 end
473 477
474 def custom_footer 478 def custom_footer
  479 + self[:custom_footer] || environment.custom_footer
  480 + end
  481 +
  482 + def custom_footer_expanded
475 footer = self[:custom_footer] || environment.custom_footer 483 footer = self[:custom_footer] || environment.custom_footer
476 if footer 484 if footer
477 %w[contact_person contact_email contact_phone location address economic_activity city state country zip_code].each do |att| 485 %w[contact_person contact_email contact_phone location address economic_activity city state country zip_code].each do |att|
test/unit/boxes_helper_test.rb
@@ -9,7 +9,7 @@ class BoxesHelperTest < Test::Unit::TestCase @@ -9,7 +9,7 @@ class BoxesHelperTest < Test::Unit::TestCase
9 holder = mock 9 holder = mock
10 holder.stubs(:boxes).returns([]) 10 holder.stubs(:boxes).returns([])
11 holder.stubs(:boxes_limit).returns(0) 11 holder.stubs(:boxes_limit).returns(0)
12 - holder.stubs(:custom_header).returns('my custom header') 12 + holder.stubs(:custom_header_expanded).returns('my custom header')
13 13
14 assert_tag_in_string display_boxes(holder, 'main content'), :tag => "div", :attributes => { :id => 'profile-header' }, :content => 'my custom header' 14 assert_tag_in_string display_boxes(holder, 'main content'), :tag => "div", :attributes => { :id => 'profile-header' }, :content => 'my custom header'
15 end 15 end
@@ -18,7 +18,7 @@ class BoxesHelperTest < Test::Unit::TestCase @@ -18,7 +18,7 @@ class BoxesHelperTest < Test::Unit::TestCase
18 holder = mock 18 holder = mock
19 holder.stubs(:boxes).returns([]) 19 holder.stubs(:boxes).returns([])
20 holder.stubs(:boxes_limit).returns(0) 20 holder.stubs(:boxes_limit).returns(0)
21 - holder.stubs(:custom_footer).returns('my custom footer') 21 + holder.stubs(:custom_footer_expanded).returns('my custom footer')
22 22
23 assert_tag_in_string display_boxes(holder, 'main content'), :tag => "div", :attributes => { :id => 'profile-footer' }, :content => 'my custom footer' 23 assert_tag_in_string display_boxes(holder, 'main content'), :tag => "div", :attributes => { :id => 'profile-footer' }, :content => 'my custom footer'
24 end 24 end
test/unit/profile_test.rb
@@ -768,7 +768,8 @@ class ProfileTest < Test::Unit::TestCase @@ -768,7 +768,8 @@ class ProfileTest < Test::Unit::TestCase
768 end 768 end
769 769
770 should 'provide custom header with variables' do 770 should 'provide custom header with variables' do
771 - assert_equal 'Custom header of Test', Profile.new(:custom_header => 'Custom header of {name}', :name => 'Test').custom_header 771 + assert_equal 'Custom header of {name}', Profile.new(:custom_header => 'Custom header of {name}', :name => 'Test').custom_header
  772 + assert_equal 'Custom header of Test', Profile.new(:custom_header => 'Custom header of {name}', :name => 'Test').custom_header_expanded
772 end 773 end
773 774
774 should 'provide custom footer' do 775 should 'provide custom footer' do
@@ -780,27 +781,33 @@ class ProfileTest < Test::Unit::TestCase @@ -780,27 +781,33 @@ class ProfileTest < Test::Unit::TestCase
780 end 781 end
781 782
782 should 'replace variables on custom_footer' do 783 should 'replace variables on custom_footer' do
783 - assert_equal 'Address for test', Profile.new(:custom_footer => '{address}', :address => 'Address for test').custom_footer 784 + assert_equal '{address}', Profile.new(:custom_footer => '{address}', :address => 'Address for test').custom_footer
  785 + assert_equal 'Address for test', Profile.new(:custom_footer => '{address}', :address => 'Address for test').custom_footer_expanded
784 end 786 end
785 787
786 should 'replace variables on custom_footer with title' do 788 should 'replace variables on custom_footer with title' do
787 - assert_equal 'Address: Address for test', Profile.new(:custom_footer => '{Address: address}', :address => 'Address for test').custom_footer 789 + assert_equal '{Address: address}', Profile.new(:custom_footer => '{Address: address}', :address => 'Address for test').custom_footer
  790 + assert_equal 'Address: Address for test', Profile.new(:custom_footer => '{Address: address}', :address => 'Address for test').custom_footer_expanded
788 end 791 end
789 792
790 should 'replace variables on custom_footer when it is nil' do 793 should 'replace variables on custom_footer when it is nil' do
791 - assert_equal '', Profile.new(:custom_footer => '{address}').custom_footer 794 + assert_equal '{address}', Profile.new(:custom_footer => '{address}').custom_footer
  795 + assert_equal '', Profile.new(:custom_footer => '{address}').custom_footer_expanded
792 end 796 end
793 797
794 should 'replace variables on custom_footer when it is blank' do 798 should 'replace variables on custom_footer when it is blank' do
795 - assert_equal '', Enterprise.new(:custom_footer => '{ZIP Code: zip_code}', :zip_code => '').custom_footer 799 + assert_equal '{ZIP Code: zip_code}', Enterprise.new(:custom_footer => '{ZIP Code: zip_code}', :zip_code => '').custom_footer
  800 + assert_equal '', Enterprise.new(:custom_footer => '{ZIP Code: zip_code}', :zip_code => '').custom_footer_expanded
796 end 801 end
797 802
798 should 'replace variables in custom_footer when more than one' do 803 should 'replace variables in custom_footer when more than one' do
799 - assert_equal 'Phone: 9999999', Profile.new(:custom_footer => '{Address: address}{Phone: contact_phone}', :contact_phone => '9999999').custom_footer 804 + assert_equal '{Address: address}{Phone: contact_phone}', Profile.new(:custom_footer => '{Address: address}{Phone: contact_phone}', :contact_phone => '9999999').custom_footer
  805 + assert_equal 'Phone: 9999999', Profile.new(:custom_footer => '{Address: address}{Phone: contact_phone}', :contact_phone => '9999999').custom_footer_expanded
800 end 806 end
801 807
802 should 'replace variables on custom_footer with title when it is nil' do 808 should 'replace variables on custom_footer with title when it is nil' do
803 - assert_equal '', Profile.new(:custom_footer => '{Address: address}').custom_footer 809 + assert_equal '{Address: address}', Profile.new(:custom_footer => '{Address: address}').custom_footer
  810 + assert_equal '', Profile.new(:custom_footer => '{Address: address}').custom_footer_expanded
804 end 811 end
805 812
806 should 'provide environment header if profile header is blank' do 813 should 'provide environment header if profile header is blank' do
@@ -991,7 +998,8 @@ class ProfileTest < Test::Unit::TestCase @@ -991,7 +998,8 @@ class ProfileTest < Test::Unit::TestCase
991 p.apply_template(template) 998 p.apply_template(template)
992 999
993 assert_equal '{name}', p[:custom_header] 1000 assert_equal '{name}', p[:custom_header]
994 - assert_equal 'test prof', p.custom_header 1001 + assert_equal '{name}', p.custom_header
  1002 + assert_equal 'test prof', p.custom_header_expanded
995 end 1003 end
996 1004
997 should 'copy footer when applying template' do 1005 should 'copy footer when applying template' do
@@ -1003,7 +1011,8 @@ class ProfileTest < Test::Unit::TestCase @@ -1003,7 +1011,8 @@ class ProfileTest < Test::Unit::TestCase
1003 p.apply_template(template) 1011 p.apply_template(template)
1004 1012
1005 assert_equal '{address}', p[:custom_footer] 1013 assert_equal '{address}', p[:custom_footer]
1006 - assert_equal 'Profile address', p.custom_footer 1014 + assert_equal '{address}', p.custom_footer
  1015 + assert_equal 'Profile address', p.custom_footer_expanded
1007 end 1016 end
1008 1017
1009 should 'copy homepage when applying template' do 1018 should 'copy homepage when applying template' do