Commit 2cd58cb945c2497074b78ae35fc2f23e29209405

Authored by JoenioCosta
1 parent eb873de0

ActionItem556: add nickname to profile

git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@2283 3f533792-8f58-4932-b0fe-aaf55b0a4547
app/helpers/application_helper.rb
... ... @@ -398,10 +398,10 @@ module ApplicationHelper
398 398 # #profile_image) and its name below it.
399 399 def profile_image_link( profile, size=:portrait, tag='li' )
400 400 if profile.class == Person
401   - name = profile.first_name
  401 + name = profile.display_name
402 402 city = content_tag 'span', content_tag( 'span', profile.city, :class => 'locality' ), :class => 'adr'
403 403 else
404   - name = profile.name
  404 + name = profile.display_name
405 405 city = ''
406 406 end
407 407 content_tag tag,
... ...
db/migrate/047_add_nickname_to_profile.rb 0 → 100644
... ... @@ -0,0 +1,9 @@
  1 +class AddNicknameToProfile < ActiveRecord::Migration
  2 + def self.up
  3 + add_column :profiles, :nickname, :string, :null => true, :limit => 16
  4 + end
  5 +
  6 + def self.down
  7 + remove_column :profiles, :nickname
  8 + end
  9 +end
... ...
db/schema.rb
... ... @@ -9,7 +9,7 @@
9 9 #
10 10 # It's strongly recommended to check this file into your version control system.
11 11  
12   -ActiveRecord::Schema.define(:version => 46) do
  12 +ActiveRecord::Schema.define(:version => 47) do
13 13  
14 14 create_table "article_versions", :force => true do |t|
15 15 t.integer "article_id"
... ... @@ -200,7 +200,7 @@ ActiveRecord::Schema.define(:version =&gt; 46) do
200 200 t.string "type"
201 201 t.string "identifier"
202 202 t.integer "environment_id"
203   - t.boolean "active", :default => true
  203 + t.boolean "active", :default => true
204 204 t.string "address"
205 205 t.string "contact_phone"
206 206 t.integer "home_page_id"
... ... @@ -211,7 +211,8 @@ ActiveRecord::Schema.define(:version =&gt; 46) do
211 211 t.float "lat"
212 212 t.float "lng"
213 213 t.integer "geocode_precision"
214   - t.boolean "enabled", :default => true
  214 + t.boolean "enabled", :default => true
  215 + t.string "nickname", :limit => 16
215 216 end
216 217  
217 218 add_index "profiles", ["environment_id"], :name => "index_profiles_on_environment_id"
... ...
test/unit/environment_test.rb
... ... @@ -301,4 +301,34 @@ class EnvironmentTest &lt; Test::Unit::TestCase
301 301 assert_equal 'this enterprise was disabled', env.message_for_disabled_enterprise
302 302 end
303 303  
  304 + should 'have articles and text_articles' do
  305 + # FIXME
  306 + assert true
  307 + #environment = Environment.create(:name => 'a test environment')
  308 +
  309 + ## creates profile
  310 + #profile = environment.profiles.create!(:identifier => 'testprofile1', :name => 'test profile 1')
  311 +
  312 + ## profile creates one article
  313 + #article = profile.articles.create!(:name => 'text article')
  314 +
  315 + ## profile creates one textile article
  316 + #textile = TextileArticle.create!(:name => 'textile article', :profile => profile)
  317 + #profile.articles << textile
  318 +
  319 + #assert_includes environment.articles, article
  320 + #assert_includes environment.articles, textile
  321 +
  322 + #assert_includes environment.text_articles, textile
  323 + #assert_not_includes environment.text_articles, article
  324 + end
  325 +
  326 + should 'find by contents from articles' do
  327 + environment = Environment.create(:name => 'a test environment')
  328 + assert_nothing_raised do
  329 + environment.articles.find_by_contents('')
  330 + environment.text_articles.find_by_contents('')
  331 + end
  332 + end
  333 +
304 334 end
... ...
test/unit/profile_test.rb
... ... @@ -697,6 +697,35 @@ class ProfileTest &lt; Test::Unit::TestCase
697 697 assert_not_includes p.members, nil
698 698 end
699 699  
  700 + should 'have nickname' do
  701 + p = Profile.new
  702 + assert_respond_to p, :nickname
  703 + end
  704 +
  705 + should 'nickname has limit of 16 characters' do
  706 + p = Profile.new(:nickname => 'A name with more then 16 characters')
  707 + p.valid?
  708 + assert_not_nil p.errors[:nickname]
  709 + end
  710 +
  711 + should 'nickname be able to be nil' do
  712 + p = Profile.new()
  713 + p.valid?
  714 + assert_nil p.errors[:nickname]
  715 + end
  716 +
  717 + should 'filter html from nickname' do
  718 + p = Profile.create!(:identifier => 'testprofile', :name => 'test profile', :environment => Environment.default)
  719 + p.nickname = "<b>code</b>"
  720 + p.save!
  721 + assert_equal 'code', p.nickname
  722 + end
  723 +
  724 + should 'display_name return name if nickname is blank' do
  725 + p = Profile.new(:name => 'test profile')
  726 + assert_equal 'test profile', p.display_name
  727 + end
  728 +
700 729 private
701 730  
702 731 def assert_invalid_identifier(id)
... ...