Commit d6e63a774e18f40ca70538ea62f7a20d5f919155

Authored by Francisco Júnior
1 parent 305736e5

dspace_plugin : return to previous page if unable to contact dspace rest api

Showing 1 changed file with 31 additions and 0 deletions   Show diff stats
plugins/dspace/lib/dspace_plugin.rb
@@ -33,4 +33,35 @@ class DspacePlugin < Noosfero::Plugin @@ -33,4 +33,35 @@ class DspacePlugin < Noosfero::Plugin
33 false 33 false
34 end 34 end
35 35
  36 + def cms_controller_filters
  37 + block = proc do
  38 +
  39 + dspace_content_type = params[:type]
  40 +
  41 + case dspace_content_type
  42 +
  43 + when 'DspacePlugin::Communityy'
  44 + parent = DspacePlugin::Library.find_by_id(params[:parent_id])
  45 + children = Dspace::Community.get_all_communities_from parent.dspace_server_url
  46 +
  47 + when 'DspacePlugin::Collection'
  48 + parent = DspacePlugin::Communityy.find_by_id(params[:parent_id])
  49 + children = Dspace::Collection.get_all_collections_from parent.parent.dspace_server_url
  50 +
  51 + end
  52 +
  53 + if dspace_content_type == 'DspacePlugin::Communityy' || dspace_content_type == 'DspacePlugin::Collection'
  54 + if children.nil?
  55 + session[:notice] = _('Unable to contact DSpace server')
  56 + redirect_to parent.view_url
  57 + end
  58 + end
  59 +
  60 + end
  61 +
  62 + { :type => 'before_filter',
  63 + :method_name => 'new',
  64 + :block => block }
  65 + end
  66 +
36 end 67 end