From: Julien Lancelot Date: Mon, 2 Jun 2014 09:50:52 +0000 (+0200) Subject: SONAR-5306 Create a WS to return component viewer extension X-Git-Tag: 4.4-RC1~705 X-Git-Url: https://source.dussan.org/?a=commitdiff_plain;h=108bc7d2ee5aaeac89b0ca0fcb65216339236ca9;p=sonarqube.git SONAR-5306 Create a WS to return component viewer extension --- diff --git a/sonar-server/src/main/webapp/WEB-INF/app/controllers/resource_controller.rb b/sonar-server/src/main/webapp/WEB-INF/app/controllers/resource_controller.rb index 2174b89015d..62dadb3a84b 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/controllers/resource_controller.rb +++ b/sonar-server/src/main/webapp/WEB-INF/app/controllers/resource_controller.rb @@ -80,6 +80,22 @@ class ResourceController < ApplicationController :group_index => params[:group_index], :external => (resource.root_id != original_resource.root_id)} end + # Call by new component viewer to display plugin extension + def extension + @resource = Project.by_key(params[:id]) + not_found('Resource not found') unless @resource + @resource = @resource.permanent_resource + access_denied unless has_role?(:user, @resource) + + @snapshot = @resource.last_snapshot + load_extensions() if @snapshot + if @extension + render :partial => 'extension' + else + not_found('Extension not found') + end + end + private def render_partial_index @@ -367,7 +383,7 @@ class ResourceController < ApplicationController end def render_extension() - render :partial => 'extension' + render :partial => 'extension_with_tabs' end def render_nothing() diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/resource/_extension.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/resource/_extension.html.erb index 1e6e4762245..cfee6afffcc 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/resource/_extension.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/resource/_extension.html.erb @@ -1,16 +1,9 @@ -
-
- <%= render :partial => 'tabs' -%> -
-
- <% if @extension.isGwt() %> -
- - <% elsif @extension.getTarget() # ruby on rails page %> - <%= render :inline => @extension.getTarget().getTemplate() -%> - <% end %> -
-
+<% if @extension.isGwt() %> +
+ +<% elsif @extension.getTarget() # ruby on rails page %> + <%= render :inline => @extension.getTarget().getTemplate() -%> +<% end %> diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/resource/_extension_with_tabs.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/resource/_extension_with_tabs.html.erb new file mode 100644 index 00000000000..ab58d15c1e4 --- /dev/null +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/resource/_extension_with_tabs.html.erb @@ -0,0 +1,8 @@ +
+
+ <%= render :partial => 'tabs' -%> +
+
+ <%= render :partial => 'extension' -%> +
+