Commit 3edf123793384bda9020004ef6435e8033d67c27

Authored by Daniela Feitosa
Committed by Antonio Terceiro
1 parent f442790a

ActionItem1223: short_name in header/control panel

app/models/profile.rb
@@ -543,11 +543,12 @@ class Profile < ActiveRecord::Base @@ -543,11 +543,12 @@ class Profile < ActiveRecord::Base
543 def custom_header_expanded 543 def custom_header_expanded
544 header = custom_header 544 header = custom_header
545 if header 545 if header
546 - if self.respond_to?(:name) && header.include?('{name}')  
547 - header.gsub('{name}', self.name)  
548 - else  
549 - header 546 + %w[name short_name].each do |att|
  547 + if self.respond_to?(att) && header.include?("{#{att}}")
  548 + header.gsub!("{#{att}}", self.send(att))
  549 + end
550 end 550 end
  551 + header
551 end 552 end
552 end 553 end
553 554
app/views/profile_editor/index.rhtml
1 <div id="profile-editor-index"> 1 <div id="profile-editor-index">
2 2
3 <h1 class="block-title"> 3 <h1 class="block-title">
4 - <span class='control-panel-title'><%= profile.name %></span> 4 + <span class='control-panel-title'><%= profile.short_name %></span>
5 <span class='control-panel-sep'>&#150;</span> 5 <span class='control-panel-sep'>&#150;</span>
6 <span class='control-panel-subtitle'><%= _('Control Panel') %></span> 6 <span class='control-panel-subtitle'><%= _('Control Panel') %></span>
7 </h1> 7 </h1>
test/functional/profile_editor_controller_test.rb
@@ -816,4 +816,20 @@ class ProfileEditorControllerTest &lt; Test::Unit::TestCase @@ -816,4 +816,20 @@ class ProfileEditorControllerTest &lt; Test::Unit::TestCase
816 end 816 end
817 end 817 end
818 818
  819 + should 'show profile nickname on title' do
  820 + person = create_user('testuser', {}, :nickname => 'my nick').person
  821 + get :index, :profile => 'testuser'
  822 + assert_tag :tag => 'h1', :attributes => { :class => 'block-title'}, :descendant => {
  823 + :tag => 'span', :attributes => { :class => 'control-panel-title' }, :content => 'my nick'
  824 + }
  825 + end
  826 +
  827 + should 'show profile name on title when no nickname' do
  828 + person = create_user('testuser').person
  829 + get :index, :profile => 'testuser'
  830 + assert_tag :tag => 'h1', :attributes => { :class => 'block-title'}, :descendant => {
  831 + :tag => 'span', :attributes => { :class => 'control-panel-title' }, :content => 'testuser'
  832 + }
  833 + end
  834 +
819 end 835 end
test/unit/profile_test.rb
@@ -809,6 +809,18 @@ class ProfileTest &lt; Test::Unit::TestCase @@ -809,6 +809,18 @@ class ProfileTest &lt; Test::Unit::TestCase
809 assert_equal 'Custom header of Test', Profile.new(:custom_header => 'Custom header of {name}', :name => 'Test').custom_header_expanded 809 assert_equal 'Custom header of Test', Profile.new(:custom_header => 'Custom header of {name}', :name => 'Test').custom_header_expanded
810 end 810 end
811 811
  812 + should 'provide custom header with nickname when use short_name variable' do
  813 + profile = Profile.new(:custom_header => 'Custom header of {short_name}', :name => 'Test', :nickname => 'Nickname test')
  814 + assert_equal 'Custom header of {short_name}', profile.custom_header
  815 + assert_equal 'Custom header of Nickname test', profile.custom_header_expanded
  816 + end
  817 +
  818 + should 'provide custom header with name when use short_name variable and no nickname' do
  819 + profile = Profile.new(:custom_header => 'Custom header of {short_name}', :name => 'Test')
  820 + assert_equal 'Custom header of {short_name}', profile.custom_header
  821 + assert_equal 'Custom header of Test', profile.custom_header_expanded
  822 + end
  823 +
812 should 'provide custom footer' do 824 should 'provide custom footer' do
813 assert_equal 'my custom footer', Profile.new(:custom_footer => 'my custom footer').custom_footer 825 assert_equal 'my custom footer', Profile.new(:custom_footer => 'my custom footer').custom_footer
814 end 826 end