diff --git a/plugins/mezuro/lib/kalibro/client/project_client.rb b/plugins/mezuro/lib/kalibro/client/project_client.rb index 159ef08..a701e59 100644 --- a/plugins/mezuro/lib/kalibro/client/project_client.rb +++ b/plugins/mezuro/lib/kalibro/client/project_client.rb @@ -46,7 +46,15 @@ class Kalibro::Client::ProjectClient end def project(project_name) - hash = @port.request(:get_project, {:project_name => project_name})[:project] + begin + hash = @port.request(:get_project, {:project_name => project_name})[:project] + rescue Exception => error + if (error.to_s =~ /There is no project named/) != nil + return nil + else + raise error + end + end Kalibro::Entities::Project.from_hash(hash) end diff --git a/plugins/mezuro/lib/mezuro_plugin/project_content.rb b/plugins/mezuro/lib/mezuro_plugin/project_content.rb index f847a67..6ca5472 100644 --- a/plugins/mezuro/lib/mezuro_plugin/project_content.rb +++ b/plugins/mezuro/lib/mezuro_plugin/project_content.rb @@ -14,19 +14,10 @@ class MezuroPlugin::ProjectContent < Article include ActionView::Helpers::TagHelper def to_html(options = {}) lambda do - - render :file => 'content_viewer/show_project.rhtml', :locals => { :project => project_kalibro, :error_kalibro => error_kalibro } + render :file => 'content_viewer/show_project.rhtml' end end - def rescue_error_kalibro - error_kalibro = false - begin - project_kalibro = project - rescue - error_kalibro = true - end - end def project @project ||= Kalibro::Client::ProjectClient.project(name) diff --git a/plugins/mezuro/test/unit/kalibro/client/project_client_test.rb b/plugins/mezuro/test/unit/kalibro/client/project_client_test.rb index 0476312..19b1dd0 100644 --- a/plugins/mezuro/test/unit/kalibro/client/project_client_test.rb +++ b/plugins/mezuro/test/unit/kalibro/client/project_client_test.rb @@ -16,6 +16,13 @@ class ProjectClientTest < ActiveSupport::TestCase @port.expects(:request).with(:get_project, request_body).returns(response_hash) assert_equal @project, Kalibro::Client::ProjectClient.project(@project.name) end + + should 'raise error when project doesnt exist' do + request_body = {:project_name => @project.name} + @port.expects(:request).with(:get_project, request_body) + .raises(Exception.new("(S:Server) There is no project named " + @project.name)) + assert_nil Kalibro::Client::ProjectClient.project(@project.name) + end should 'save project' do create_project_content_mock diff --git a/plugins/mezuro/test/unit/mezuro_plugin/project_content_test.rb b/plugins/mezuro/test/unit/mezuro_plugin/project_content_test.rb index 730f6c1..82c2c9f 100644 --- a/plugins/mezuro/test/unit/mezuro_plugin/project_content_test.rb +++ b/plugins/mezuro/test/unit/mezuro_plugin/project_content_test.rb @@ -31,11 +31,6 @@ class ProjectContentTest < ActiveSupport::TestCase should 'have an html view' do assert_not_nil @content.to_html end - - should 'rescue error when project doesnt exist in kalibro' do - MezuroPlugin::ProjectContent.expects(:project).returns(create_project_error) - assert_equal true, @content.rescue_error_kalibro - end should 'get project from service' do Kalibro::Client::ProjectClient.expects(:project).with(@content.name).returns(@project) diff --git a/plugins/mezuro/views/content_viewer/show_project.rhtml b/plugins/mezuro/views/content_viewer/show_project.rhtml index a546211..046e635 100644 --- a/plugins/mezuro/views/content_viewer/show_project.rhtml +++ b/plugins/mezuro/views/content_viewer/show_project.rhtml @@ -1,8 +1,6 @@ -<% if error_kalibro %> - Projeto nao existe TODO: Perguntar oa usuário se deseja excluir o projeto do Noosfero -<% else %> -<% @project = project %> + +<% @project = @page.project %>
<%= _('Name') %> | @@ -45,4 +43,4 @@