diff options
author | David Gageot <david@gageot.net> | 2012-05-03 15:34:35 +0200 |
---|---|---|
committer | David Gageot <david@gageot.net> | 2012-05-03 16:00:31 +0200 |
commit | 4b5fad1f58747fc904b025bfd856738beac863bb (patch) | |
tree | 7a3164cd940c2ef869ab4a044006dd72863f712e | |
parent | 25d597e5a964aec5739c50c9befb674a247b2b8f (diff) | |
download | sonarqube-4b5fad1f58747fc904b025bfd856738beac863bb.tar.gz sonarqube-4b5fad1f58747fc904b025bfd856738beac863bb.zip |
SONAR-1927 Dashboard and Detached controller and views are now almost the same
16 files changed, 190 insertions, 150 deletions
diff --git a/sonar-server/src/main/webapp/WEB-INF/app/helpers/dashboard_helper.rb b/sonar-server/src/main/webapp/WEB-INF/app/helpers/dashboard_helper.rb index a5082f7087c..0688adfd643 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/helpers/dashboard_helper.rb +++ b/sonar-server/src/main/webapp/WEB-INF/app/helpers/dashboard_helper.rb @@ -21,59 +21,63 @@ module DashboardHelper include WidgetPropertiesHelper include MetricsHelper + def dashboard_action(action_name, opts={}) + { :action => action_name, :did => @dashboard.id, :id => @resource.id }.merge!(opts) + end + def formatted_value(measure, default='') - measure ? measure.formatted_value : default + measure ? measure.formatted_value : default end def measure(metric_key) - @snapshot.measure(metric_key) + @snapshot.measure(metric_key) end def period_select_options(snapshot, index) - label=period_label(snapshot, index) - if label - selected=(params[:period]==index.to_s ? 'selected' : '') - "<option value='#{index}' #{selected}>Δ #{label}</option>" - else - nil - end + label=period_label(snapshot, index) + if label + selected=(params[:period]==index.to_s ? 'selected' : '') + "<option value='#{index}' #{selected}>Δ #{label}</option>" + else + nil + end end def violation_period_select_options(snapshot, index) - return nil if snapshot.nil? || snapshot.project_snapshot.nil? - mode=snapshot.project_snapshot.send "period#{index}_mode" - mode_param=snapshot.project_snapshot.send "period#{index}_param" - date=snapshot.project_snapshot.send "period#{index}_date" + return nil if snapshot.nil? || snapshot.project_snapshot.nil? + mode=snapshot.project_snapshot.send "period#{index}_mode" + mode_param=snapshot.project_snapshot.send "period#{index}_param" + date=snapshot.project_snapshot.send "period#{index}_date" - if mode - if mode=='days' - label = message('added_over_x_days', :params => mode_param.to_s) - elsif mode=='version' - label = message('added_since_version', :params => mode_param.to_s) - elsif mode=='previous_analysis' - if !date.nil? - label = message('added_since_previous_analysis_detailed', :params => date.strftime("%Y %b. %d").to_s) - else - label = message('added_since_previous_analysis') - end - elsif mode=='date' - label = message('added_since', :params => date.strftime("%Y %b %d").to_s) - end - if label - selected=(params[:period]==index.to_s ? 'selected' : '') - "<option value='#{index}' #{selected}>#{label}</option>" - end - else - nil - end + if mode + if mode=='days' + label = message('added_over_x_days', :params => mode_param.to_s) + elsif mode=='version' + label = message('added_since_version', :params => mode_param.to_s) + elsif mode=='previous_analysis' + if !date.nil? + label = message('added_since_previous_analysis_detailed', :params => date.strftime("%Y %b. %d").to_s) + else + label = message('added_since_previous_analysis') + end + elsif mode=='date' + label = message('added_since', :params => date.strftime("%Y %b %d").to_s) + end + if label + selected=(params[:period]==index.to_s ? 'selected' : '') + "<option value='#{index}' #{selected}>#{label}</option>" + end + else + nil + end end def measure_or_variation_value(measure) - if measure - @period_index ? measure.variation(@period_index) : measure.value - else - nil - end + if measure + @period_index ? measure.variation(@period_index) : measure.value + else + nil + end end -end
\ No newline at end of file +end diff --git a/sonar-server/src/main/webapp/WEB-INF/app/helpers/detached_helper.rb b/sonar-server/src/main/webapp/WEB-INF/app/helpers/detached_helper.rb new file mode 100644 index 00000000000..0dbdb7335e8 --- /dev/null +++ b/sonar-server/src/main/webapp/WEB-INF/app/helpers/detached_helper.rb @@ -0,0 +1,24 @@ +# +# Sonar, entreprise quality control tool. +# Copyright (C) 2008-2012 SonarSource +# mailto:contact AT sonarsource DOT com +# +# Sonar is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 3 of the License, or (at your option) any later version. +# +# Sonar is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with Sonar; if not, write to the Free Software +# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02 +# +module DetachedHelper + def dashboard_action(action_name, opts={}) + { :action => action_name, :id => @dashboard.id }.merge!(opts) + end +end diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/dashboard/_header.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/dashboard/_header.html.erb index 2d45e7756bb..4b380a85f58 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/dashboard/_header.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/dashboard/_header.html.erb @@ -2,11 +2,11 @@ <% if logged_in? %> <ul class="operations"> <% if back %> - <li class="last"><%= link_to message('dashboard.back_to_dashboard'), {:action => 'index', :did => @dashboard.id, :id => @resource.id } -%></li> + <li class="last"><%= link_to message('dashboard.back_to_dashboard'), dashboard_action(:index) -%></li> <% else %> <% if @dashboard.editable_by?(current_user) %> - <li><%= link_to message('dashboard.configure_widgets'), {:action => 'configure', :did => @dashboard.id, :id => @resource.id } -%></li> - <li><%= link_to message('dashboard.edit_layout'), {:action => 'edit_layout', :did => @dashboard.id, :id => @resource.id } -%></li> + <li><%= link_to message('dashboard.configure_widgets'), dashboard_action(:configure) -%></li> + <li><%= link_to message('dashboard.edit_layout'), dashboard_action(:edit_layout) -%></li> <% end %> <li class="last"><%= link_to message('dashboard.manage_dashboards'), {:controller => 'dashboards', :action => 'index', :resource => @resource.id } -%></li> <% end %> diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/dashboard/_widget.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/dashboard/_widget.html.erb index a2beaac861c..79e4460e941 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/dashboard/_widget.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/dashboard/_widget.html.erb @@ -27,9 +27,9 @@ <% else %> <div class="widget"> <p> - <a href="<%= url_for :action => :configure, :did => @dashboard.id, :id => @resource.id -%>"><%= message('dashboard.please_configure_the_widget_x', :params => widget.java_definition.getTitle()) -%></a> + <a href="<%= url_for(dashboard_action(:configure, :id => @dashboard.id)) -%>"><%= message('dashboard.please_configure_the_widget_x', :params => widget.java_definition.getTitle()) -%></a> </p> </div> <% end %> <div style="clear: both;"></div> -</div>
\ No newline at end of file +</div> diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/dashboard/_widget_definition.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/dashboard/_widget_definition.html.erb index 69851577870..d26ecd1e825 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/dashboard/_widget_definition.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/dashboard/_widget_definition.html.erb @@ -3,9 +3,9 @@ <p><b><%= h message('widget.' + definition.getId() + '.name', :default => definition.getTitle()) -%></b></p> <p><%= h message('widget.' + definition.getId() + '.description', :default => definition.getDescription()) -%></p> - <%= form_tag :action => 'add_widget', :did => dashboard_id, :id => resource_id, :widget => definition.getId() %> - <input type="hidden" name="category" value="<%= category -%>"> - <input type="submit" value="<%= message('dashboard.add_widget') -%>" id="add-widget-<%= u(definition.getId()) -%>"> - </form> + <% form_tag dashboard_action(:add_widget, :widget => definition.getId()) do -%> + <input type="hidden" name="category" value="<%= category -%>"> + <input type="submit" value="<%= message('dashboard.add_widget') -%>" id="add-widget-<%= u(definition.getId()) -%>"> + <% end -%> </div> </td> diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/dashboard/configure.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/dashboard/configure.html.erb index dd08b02822a..66843e2872b 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/dashboard/configure.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/dashboard/configure.html.erb @@ -14,7 +14,7 @@ highlight_duration:2, highlight_startcolor:'#cae3f2', highlight_endcolor:'#ffffff', - saveurl:'<%= url_for :action => 'set_dashboard', :did => @dashboard.id, :id => @resource.id -%>' + saveurl:'<%= url_for dashboard_action(:set_dashboard) -%>' }; var portal; function init_dashboard() { diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/dashboard/edit_layout.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/dashboard/edit_layout.html.erb index c1039f85f5b..cd3f8269ce5 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/dashboard/edit_layout.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/dashboard/edit_layout.html.erb @@ -2,27 +2,19 @@ <%= render :partial => 'header', :locals => {:back => true} %> <div id="edit-layout" class="admin"> - <p class="note"><%= message('dashboard.click_to_choose_layout') -%>: </p><br/> + <p class="note"><%= message('dashboard.click_to_choose_layout') -%>: </p><br/> - <div class="select-layout <%= 'selected' if @dashboard.layout=='100%' -%>" style="text-align:center;width: 20%;"> - <%= link_to image_tag('layout100.png'), {:action => 'set_layout', :did => @dashboard.id, :id => @resource.id, :layout => "100%"}, :method => :post %> + <% {'100%', 'layout100.png', + '50%-50%', 'layout5050.png', + '30%-70%', 'layout3070.png', + '70%-30%', 'layout7030.png', + '33%-33%-33%', 'layout333333.png' + }.each_pair do |layout, picto| %> + <div class="select-layout <%= 'selected' if @dashboard.layout==layout -%>" style="text-align:center;width: 20%;"> + <%= link_to image_tag(picto), dashboard_action(:set_layout, :layout => layout), :method => :post %> </div> + <% end %> - <div class="select-layout <%= 'selected' if @dashboard.layout=="50%-50%" -%>" style="text-align:center;width: 20%;"> - <%= link_to image_tag('layout5050.png'), {:action => 'set_layout', :did => @dashboard.id, :id => @resource.id, :layout => "50%-50%"}, :method => :post %> - </div> - - <div class="select-layout <%= 'selected' if @dashboard.layout=="30%-70%" -%>" style="text-align:center;width: 20%;"> - <%= link_to image_tag('layout3070.png'), {:action => 'set_layout', :did => @dashboard.id, :id => @resource.id, :layout => "30%-70%"}, :method => :post %> - </div> - - <div class="select-layout <%= 'selected' if @dashboard.layout=="70%-30%" -%>" style="text-align:center;width: 20%;"> - <%= link_to image_tag('layout7030.png'), {:action => 'set_layout', :did => @dashboard.id, :id => @resource.id, :layout => "70%-30%"}, :method => :post %> - </div> - - <div class="select-layout <%= 'selected' if @dashboard.layout=="33%-33%-33%" -%>" style="text-align:center;width: 19%;"> - <%= link_to image_tag('layout333333.png'), {:action => 'set_layout', :did => @dashboard.id, :id => @resource.id, :layout => "33%-33%-33%"}, :method => :post %> - </div> - <div style="clear:both;"></div> + <div style="clear:both;"></div> </div> </div> diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/detached/_configure_widget.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/detached/_configure_widget.html.erb index c32dd623af4..6fd94a29e6f 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/detached/_configure_widget.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/detached/_configure_widget.html.erb @@ -11,7 +11,7 @@ <div class="widget-header"> <div class="widget-actions"> <% if widget.java_definition.isEditable() %> - <a class="link-action" onclick="portal.editWidget(<%= widget.id -%>);return false;"><%= message('edit') -%></a> + <a class="link-action" onclick="portal.editWidget(<%= widget.id -%>);return false;"><%= message('edit') -%></a> <% end %> <a class="link-action" onclick="portal.deleteWidget(this);return false;"><%= message('delete') -%></a> </div> @@ -29,26 +29,26 @@ <div id="widget_<%= widget.id -%>" class="configure_widget <%= h widget.java_definition.getId() -%>" style="height:100%;<%= 'display:none;' if !widget.configured -%>"> <!--[if lte IE 6]> <style type="text/css"> - #dashboard .block .content .transparent { - display: none; - } + #dashboard .block .content .transparent { + display: none; + } </style> <![endif]--> <div class="transparent"></div> <% if widget_body.include? '<' %> - <% - default_layout=(widget.layout=='DEFAULT') - if default_layout - %> - <div class="widget"> - <% end %> - <%= widget_body -%> - <% if default_layout %> - <div class="clear"></div> - </div> - <% end %> + <% + default_layout=(widget.layout=='DEFAULT') + if default_layout + %> + <div class="widget"> + <% end %> + <%= widget_body -%> + <% if default_layout %> + <div class="clear"></div> + </div> + <% end %> <% else %> - <div class="widget"><p><%= message('no_data') -%></p></div> + <div class="widget"><p><%= message('no_data') -%></p></div> <% end %> <div style="clear: both;"></div> </div> diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/detached/_header.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/detached/_header.html.erb index 86032adc517..ccb1744a9a6 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/detached/_header.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/detached/_header.html.erb @@ -1,15 +1,15 @@ <div class="line-block"> <% if logged_in? %> - <ul class="operations"> - <% if back %> - <li class="last"><%= link_to message('dashboard.back_to_dashboard'), {:action => 'index', :id => @dashboard.id } -%></li> - <% else %> - <% if @dashboard.editable_by?(current_user) %> - <li><%= link_to message('dashboard.configure_widgets'), {:action => 'configure', :id => @dashboard.id } -%></li> - <li><%= link_to message('dashboard.edit_layout'), {:action => 'edit_layout', :id => @dashboard.id } -%></li> - <% end %> - <% end %> - </ul> + <ul class="operations"> + <% if back %> + <li class="last"><%= link_to message('dashboard.back_to_dashboard'), dashboard_action(:index) -%></li> + <% else %> + <% if @dashboard.editable_by?(current_user) %> + <li><%= link_to message('dashboard.configure_widgets'), dashboard_action(:configure) -%></li> + <li><%= link_to message('dashboard.edit_layout'), dashboard_action(:edit_layout) -%></li> + <% end %> + <% end %> + </ul> <% end %> <% if @snapshot %> @@ -18,7 +18,7 @@ <%= link_to_favourite(@project) -%> <%= "Version #{@snapshot.version} - " if @snapshot.version.present? -%><%= l @snapshot.created_at -%> <% if @snapshot.project_snapshot.periods? %> <form method="GET" action="<%= url_for :controller => 'dashboard', :action => 'index', :id => @resource.id -%>" style="display: inline" class="spacer-left"> - <input type="hidden" name="did" value="<%= @dashboard.id -%>" /> + <input type="hidden" name="did" value="<%= @dashboard.id -%>"/> <select id="select-comparison" name="period" onchange="submit()" class="small"> <option value=""><%= message('time_changes') -%>...</option> <%= period_select_options(@snapshot, 1) -%> diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/detached/_widget.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/detached/_widget.html.erb index ec6f9d9140d..79e4460e941 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/detached/_widget.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/detached/_widget.html.erb @@ -27,7 +27,7 @@ <% else %> <div class="widget"> <p> - <a href="<%= url_for :action => :configure, :id => @dashboard.id -%>"><%= message('dashboard.please_configure_the_widget_x', :params => widget.java_definition.getTitle()) -%></a> + <a href="<%= url_for(dashboard_action(:configure, :id => @dashboard.id)) -%>"><%= message('dashboard.please_configure_the_widget_x', :params => widget.java_definition.getTitle()) -%></a> </p> </div> <% end %> diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/detached/_widget_definition.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/detached/_widget_definition.html.erb index 247190a732c..d26ecd1e825 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/detached/_widget_definition.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/detached/_widget_definition.html.erb @@ -3,9 +3,9 @@ <p><b><%= h message('widget.' + definition.getId() + '.name', :default => definition.getTitle()) -%></b></p> <p><%= h message('widget.' + definition.getId() + '.description', :default => definition.getDescription()) -%></p> - <%= form_tag :action => 'add_widget', :id => dashboard_id, :widget => definition.getId() %> - <input type="hidden" name="category" value="<%= category -%>"> - <input type="submit" value="<%= message('dashboard.add_widget') -%>" id="add-widget-<%= u(definition.getId()) -%>"> - </form> + <% form_tag dashboard_action(:add_widget, :widget => definition.getId()) do -%> + <input type="hidden" name="category" value="<%= category -%>"> + <input type="submit" value="<%= message('dashboard.add_widget') -%>" id="add-widget-<%= u(definition.getId()) -%>"> + <% end -%> </div> </td> diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/detached/_widget_definitions.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/detached/_widget_definitions.html.erb index 2b0d25506ac..8be3f00e94a 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/detached/_widget_definitions.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/detached/_widget_definitions.html.erb @@ -3,21 +3,21 @@ <li><%= message('filter_verb') -%>: </li> <li class="<%= 'selected' if category.blank? -%>"><a href="#" onClick="return filterWidgets('')" id="widget-filter-none"><%= message('none') -%></a></li> <% @widget_categories.each do |c| %> - <li class="<%= 'selected' if category==c -%>"><a href="#" onClick="return filterWidgets('<%= escape_javascript(c) -%>')" id="widget-filter-<%= u(c) -%>"><%= h(c) -%></a></li> + <li class="<%= 'selected' if category==c -%>"><a href="#" onClick="return filterWidgets('<%= escape_javascript(c) -%>')" id="widget-filter-<%= u(c) -%>"><%= h(c) -%></a></li> <% end %> </ul> <%= image_tag 'loading.gif', :style=>'vertical-align: top;display: none', :id => 'filter-widgets-loading' -%> </p> <table width="100%"> <% @widget_definitions.each_with_index do |definition, index| %> - <% if index%4==0 %><tr><% end %> - <%= render :partial => 'widget_definition', :locals => {:definition => definition, :dashboard_id => dashboard_id, :category => category} %> - <% if index%4==3 %></tr><% end %> + <% if index%4==0 %><tr><% end %> + <%= render :partial => 'widget_definition', :locals => {:definition => definition, :dashboard_id => dashboard_id, :category => category} %> + <% if index%4==3 %></tr><% end %> <% end %> <% for i in 0..(4-(@widget_definitions.size%4)) %> - <td> </td> + <td> </td> <% end %> <% if @widget_definitions.size%4<3 %> - </tr> + </tr> <% end %> </table> diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/detached/_widget_properties.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/detached/_widget_properties.html.erb index d4fa2588773..abcd69ca28d 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/detached/_widget_properties.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/detached/_widget_properties.html.erb @@ -2,29 +2,29 @@ :method => :post, :update => {:failure => "error#{widget.id}"}, :failure => "$('error#{widget.id}').show()" do -%> - <div id="error<%= widget.id -%>" class="error" style="display: none"></div> - <table class="table width100"> - <tbody> - <% widget.java_definition.getWidgetProperties().sort {|w1, w2| natural_comparison(w1.key, w2.key) }.each do |property_def| %> - <tr> - <td class="form-key-cell"><%= property_def.key() -%><%= "*" unless property_def.optional()==true -%></td> - <td class="form-val-cell" id="row_<%= property_def.key() -%>"> - <%= property_value_field(property_def, widget.property_text_value(property_def.key())) -%> - <div class="form-val-note"> - <%= message("widget." + widget.key + ".param." + property_def.key(), :default => property_def.description()) -%> - </div> - </td> - </tr> - <% end %> + <div id="error<%= widget.id -%>" class="error" style="display: none"></div> + <table class="table width100"> + <tbody> + <% widget.java_definition.getWidgetProperties().sort {|w1, w2| natural_comparison(w1.key, w2.key) }.each do |property_def| %> <tr> - <td colspan="2"> - <%= submit_tag message('save') %> - <% if widget.configured %> - <a href="#" onClick="portal.cancelEditWidget(<%= widget.id -%>);return false;"><%= message('cancel') -%></a> - <% end %> + <td class="form-key-cell"><%= property_def.key() -%><%= "*" unless property_def.optional()==true -%></td> + <td class="form-val-cell" id="row_<%= property_def.key() -%>"> + <%= property_value_field(property_def, widget.property_text_value(property_def.key())) -%> + <div class="form-val-note"> + <%= message("widget." + widget.key + ".param." + property_def.key(), :default => property_def.description()) -%> + </div> </td> </tr> - </tbody> - </table> - <%= hidden_field_tag "widgetid", "", :class => "widgetid" %> -<% end -%> + <% end %> + <tr> + <td colspan="2"> + <%= submit_tag message('save') %> + <% if widget.configured %> + <a href="#" onClick="portal.cancelEditWidget(<%= widget.id -%>);return false;"><%= message('cancel') -%></a> + <% end %> + </td> + </tr> + </tbody> + </table> + <%= hidden_field_tag "widgetid", "", :class => "widgetid" %> +<% end -%>
\ No newline at end of file diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/detached/configure.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/detached/configure.html.erb index 037c71d66b8..a1dbbc595ed 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/detached/configure.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/detached/configure.html.erb @@ -14,7 +14,7 @@ highlight_duration:2, highlight_startcolor:'#cae3f2', highlight_endcolor:'#ffffff', - saveurl:'<%= url_for :action => 'set_dashboard', :id => @dashboard.id -%>' + saveurl:'<%= url_for dashboard_action(:set_dashboard) -%>' }; var portal; function init_dashboard() { diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/detached/edit_layout.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/detached/edit_layout.html.erb index 3023388e47d..cd3f8269ce5 100644 --- a/sonar-server/src/main/webapp/WEB-INF/app/views/detached/edit_layout.html.erb +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/detached/edit_layout.html.erb @@ -2,27 +2,19 @@ <%= render :partial => 'header', :locals => {:back => true} %> <div id="edit-layout" class="admin"> - <p class="note"><%= message('dashboard.click_to_choose_layout') -%>: </p><br/> + <p class="note"><%= message('dashboard.click_to_choose_layout') -%>: </p><br/> - <div class="select-layout <%= 'selected' if @dashboard.layout=='100%' -%>" style="text-align:center;width: 20%;"> - <%= link_to image_tag('layout100.png'), {:action => 'set_layout', :id => @dashboard.id, :layout => "100%"}, :method => :post %> + <% {'100%', 'layout100.png', + '50%-50%', 'layout5050.png', + '30%-70%', 'layout3070.png', + '70%-30%', 'layout7030.png', + '33%-33%-33%', 'layout333333.png' + }.each_pair do |layout, picto| %> + <div class="select-layout <%= 'selected' if @dashboard.layout==layout -%>" style="text-align:center;width: 20%;"> + <%= link_to image_tag(picto), dashboard_action(:set_layout, :layout => layout), :method => :post %> </div> + <% end %> - <div class="select-layout <%= 'selected' if @dashboard.layout=="50%-50%" -%>" style="text-align:center;width: 20%;"> - <%= link_to image_tag('layout5050.png'), {:action => 'set_layout', :id => @dashboard.id, :layout => "50%-50%"}, :method => :post %> - </div> - - <div class="select-layout <%= 'selected' if @dashboard.layout=="30%-70%" -%>" style="text-align:center;width: 20%;"> - <%= link_to image_tag('layout3070.png'), {:action => 'set_layout', :id => @dashboard.id, :layout => "30%-70%"}, :method => :post %> - </div> - - <div class="select-layout <%= 'selected' if @dashboard.layout=="70%-30%" -%>" style="text-align:center;width: 20%;"> - <%= link_to image_tag('layout7030.png'), {:action => 'set_layout', :id => @dashboard.id, :layout => "70%-30%"}, :method => :post %> - </div> - - <div class="select-layout <%= 'selected' if @dashboard.layout=="33%-33%-33%" -%>" style="text-align:center;width: 19%;"> - <%= link_to image_tag('layout333333.png'), {:action => 'set_layout', :id => @dashboard.id, :layout => "33%-33%-33%"}, :method => :post %> - </div> - <div style="clear:both;"></div> + <div style="clear:both;"></div> </div> </div> diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/detached/no_dashboard.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/detached/no_dashboard.html.erb new file mode 100644 index 00000000000..4043a26546b --- /dev/null +++ b/sonar-server/src/main/webapp/WEB-INF/app/views/detached/no_dashboard.html.erb @@ -0,0 +1,28 @@ +<%= render :partial => 'gwt/base', :locals => {:resource => nil, :popup => false, :metric => nil} -%> +<%= render :partial => 'gwt/resource_viewers' -%> + +<img id="page_loading" src="<%= ApplicationController.root_context -%>/images/loading.gif"> +<div id="resource_container"></div> + +<script type="text/javascript"> + // see if an anchor has been passed + var anchor; + var stripped_url = document.location.toString().split("#"); + if (stripped_url.length > 1) { + anchor = stripped_url[1]; + } + + // and call the resource page + new Ajax.Updater('resource_container', '<%= url_for params.merge({:controller => 'resource', :action => 'index', :id => @file.id}) -%>', + { + asynchronous:true, + evalScripts:true, + onComplete:function (transport) { + $('page_loading').hide(); + if (anchor!=null) { + window.location.hash = anchor; + } + } + }); + +</script>
\ No newline at end of file |