Commit 8a5479a33c669aad92b33ee0ec9d399cafa8e77c
1 parent
3d5ee0f6
Exists in
master
and in
29 other branches
ActionItem153: reworking login block; adding it to environments by default
git-svn-id: https://svn.colivre.coop.br/svn/noosfero/trunk@1296 3f533792-8f58-4932-b0fe-aaf55b0a4547
Showing
8 changed files
with
27 additions
and
23 deletions
Show diff stats
app/controllers/public/account_controller.rb
| ... | ... | @@ -32,14 +32,6 @@ class AccountController < PublicController |
| 32 | 32 | render :action => 'login', :layout => false |
| 33 | 33 | end |
| 34 | 34 | |
| 35 | - def login_block | |
| 36 | - if logged_in? | |
| 37 | - render :action => 'user_info', :layout => 'block' | |
| 38 | - else | |
| 39 | - render :action => 'login_block', :layout => 'block' | |
| 40 | - end | |
| 41 | - end | |
| 42 | - | |
| 43 | 35 | # action to register an user to the application |
| 44 | 36 | def signup |
| 45 | 37 | begin | ... | ... |
app/helpers/boxes_helper.rb
app/models/environment.rb
| ... | ... | @@ -36,6 +36,8 @@ class Environment < ActiveRecord::Base |
| 36 | 36 | env.boxes[1].blocks << EnvironmentStatisticsBlock.new |
| 37 | 37 | env.boxes[1].blocks << RecentDocumentsBlock.new |
| 38 | 38 | |
| 39 | + env.boxes[2].blocks << LoginBlock.new | |
| 40 | + | |
| 39 | 41 | end |
| 40 | 42 | |
| 41 | 43 | # One Environment can be reached by many domains | ... | ... |
app/models/login_block.rb
| ... | ... | @@ -5,7 +5,13 @@ class LoginBlock < Block |
| 5 | 5 | end |
| 6 | 6 | |
| 7 | 7 | def content |
| 8 | - { :controller => 'account', :action => 'login_block' } | |
| 8 | + lambda do | |
| 9 | + if logged_in? | |
| 10 | + render :file => 'account/user_info' | |
| 11 | + else | |
| 12 | + render :file => 'account/login_block' | |
| 13 | + end | |
| 14 | + end | |
| 9 | 15 | end |
| 10 | 16 | |
| 11 | 17 | end | ... | ... |
app/views/account/login_block.rhtml
app/views/account/user_info.rhtml
test/functional/account_controller_test.rb
| ... | ... | @@ -246,18 +246,6 @@ class AccountControllerTest < Test::Unit::TestCase |
| 246 | 246 | assert_no_tag :tag => "body" # e.g. no layout |
| 247 | 247 | end |
| 248 | 248 | |
| 249 | - should 'provide login block' do | |
| 250 | - get :login_block | |
| 251 | - assert_template 'login_block' | |
| 252 | - assert_tag :tag => 'body', :attributes => { :class => 'noosfero-block' } | |
| 253 | - end | |
| 254 | - | |
| 255 | - should 'display user info in login block when logged in' do | |
| 256 | - login_as('ze') | |
| 257 | - get :login_block | |
| 258 | - assert_template 'user_info' | |
| 259 | - end | |
| 260 | - | |
| 261 | 249 | protected |
| 262 | 250 | def create_user(options = {}) |
| 263 | 251 | post :signup, :user => { :login => 'quire', :email => 'quire@example.com', | ... | ... |
test/unit/login_block_test.rb
| ... | ... | @@ -12,7 +12,15 @@ class LoginBlockTest < Test::Unit::TestCase |
| 12 | 12 | end |
| 13 | 13 | |
| 14 | 14 | should 'point to account/login_block' do |
| 15 | - assert_equal({ :controller => 'account', :action => 'login_block' }, block.content) | |
| 15 | + self.expects(:logged_in?).returns(false) | |
| 16 | + self.expects(:render).with(:file => 'account/login_block') | |
| 17 | + self.instance_eval(& block.content) | |
| 18 | + end | |
| 19 | + | |
| 20 | + should 'display user_info if not logged' do | |
| 21 | + self.expects(:logged_in?).returns(true) | |
| 22 | + self.expects(:render).with(:file => 'account/user_info') | |
| 23 | + self.instance_eval(& block.content) | |
| 16 | 24 | end |
| 17 | 25 | |
| 18 | 26 | end | ... | ... |