diff --git a/app/controllers/public/account_controller.rb b/app/controllers/public/account_controller.rb index 14fc0c7..06a19a8 100644 --- a/app/controllers/public/account_controller.rb +++ b/app/controllers/public/account_controller.rb @@ -32,14 +32,6 @@ class AccountController < PublicController render :action => 'login', :layout => false end - def login_block - if logged_in? - render :action => 'user_info', :layout => 'block' - else - render :action => 'login_block', :layout => 'block' - end - end - # action to register an user to the application def signup begin diff --git a/app/helpers/boxes_helper.rb b/app/helpers/boxes_helper.rb index 3953f7b..4f72a9a 100644 --- a/app/helpers/boxes_helper.rb +++ b/app/helpers/boxes_helper.rb @@ -51,6 +51,10 @@ module BoxesHelper else content end + when Proc + self.instance_eval(&content) + else + raise "Unsupported content for block (#{content.class})" end classes = ['block', block.css_class_name ].uniq.join(' ') diff --git a/app/models/environment.rb b/app/models/environment.rb index f435e2a..2401708 100644 --- a/app/models/environment.rb +++ b/app/models/environment.rb @@ -36,6 +36,8 @@ class Environment < ActiveRecord::Base env.boxes[1].blocks << EnvironmentStatisticsBlock.new env.boxes[1].blocks << RecentDocumentsBlock.new + env.boxes[2].blocks << LoginBlock.new + end # One Environment can be reached by many domains diff --git a/app/models/login_block.rb b/app/models/login_block.rb index 5b33a4f..2ba0f24 100644 --- a/app/models/login_block.rb +++ b/app/models/login_block.rb @@ -5,7 +5,13 @@ class LoginBlock < Block end def content - { :controller => 'account', :action => 'login_block' } + lambda do + if logged_in? + render :file => 'account/user_info' + else + render :file => 'account/login_block' + end + end end end diff --git a/app/views/account/login_block.rhtml b/app/views/account/login_block.rhtml index 09c89d8..4d9ed77 100644 --- a/app/views/account/login_block.rhtml +++ b/app/views/account/login_block.rhtml @@ -15,7 +15,7 @@ <%= link_to _("New user"), :controller => 'account', :action => 'signup' %> <% else %> -