aboutsummaryrefslogtreecommitdiffstats
path: root/sonar-server
diff options
context:
space:
mode:
authorDavid Gageot <david@gageot.net>2012-05-10 08:57:32 +0200
committerDavid Gageot <david@gageot.net>2012-05-10 10:32:11 +0200
commit7f07203bb8f7fa0fd7799c8d1594d6023981379d (patch)
tree590954e2e138123ae2e5ee6e2bdf1841a6240b77 /sonar-server
parente0bf9f67f760c73d1204de7a557e0289478c297f (diff)
downloadsonarqube-7f07203bb8f7fa0fd7799c8d1594d6023981379d.tar.gz
sonarqube-7f07203bb8f7fa0fd7799c8d1594d6023981379d.zip
Better dashboard administration pages
Diffstat (limited to 'sonar-server')
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/app/models/active_dashboard.rb6
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/app/views/admin_dashboards/_list.html.erb16
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/app/views/admin_dashboards/index.html.erb90
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/app/views/dashboards/_create.html.erb14
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/app/views/dashboards/_edit.html.erb41
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/app/views/dashboards/_list.html.erb34
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/app/views/dashboards/index.html.erb104
-rw-r--r--sonar-server/src/main/webapp/WEB-INF/app/views/layouts/_layout.html.erb4
-rw-r--r--sonar-server/src/main/webapp/stylesheets/dashboard.css75
9 files changed, 200 insertions, 184 deletions
diff --git a/sonar-server/src/main/webapp/WEB-INF/app/models/active_dashboard.rb b/sonar-server/src/main/webapp/WEB-INF/app/models/active_dashboard.rb
index a9b4247ab46..6dd4a976e3d 100644
--- a/sonar-server/src/main/webapp/WEB-INF/app/models/active_dashboard.rb
+++ b/sonar-server/src/main/webapp/WEB-INF/app/models/active_dashboard.rb
@@ -35,6 +35,10 @@ class ActiveDashboard < ActiveRecord::Base
dashboard.shared
end
+ def global?
+ dashboard.global
+ end
+
def owner?(user)
dashboard.owner?(user)
end
@@ -61,4 +65,4 @@ class ActiveDashboard < ActiveRecord::Base
def self.default_dashboards
find(:all, :include => 'dashboard', :conditions => ['user_id IS NULL'], :order => 'order_index')
end
-end \ No newline at end of file
+end
diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/admin_dashboards/_list.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/admin_dashboards/_list.html.erb
index 1fd1227ee48..4f805bc6360 100644
--- a/sonar-server/src/main/webapp/WEB-INF/app/views/admin_dashboards/_list.html.erb
+++ b/sonar-server/src/main/webapp/WEB-INF/app/views/admin_dashboards/_list.html.erb
@@ -1,32 +1,32 @@
<table class="data">
<thead>
<tr>
- <th><%= message('name') -%></th>
+ <th class="dashboard_name"><%= message('name') -%></th>
<th><%= message('shared_by') -%></th>
- <th colspan="2" class="right"><%= message('operations') -%></th>
+ <th><%= message('order') -%></th>
+ <th class="right"><%= message('operations') -%></th>
</tr>
</thead>
<tbody>
<% if active_dashboards.empty? %>
<tr class="even">
- <td colspan="5">No results.</td>
+ <td colspan="4"><%= message('dashboard.no_dashboard') -%></td>
</tr>
<% else %>
<% active_dashboards.each_with_index do |active, index| %>
<tr id="active-<%= u active.name -%>" class="<%= cycle('even', 'odd', :name => group) -%>">
<td>
- <%= h(active.name(true)) %>
- <br>
- <span style="font-size: 85%;font-weight: normal;"><%= active.dashboard.description %></span>
+ <div><%= h(active.name(true)) -%></div>
+ <div class="description"><%= active.dashboard.description -%></div>
</td>
<td><%= h(active.dashboard.user.name) if active.dashboard.user %></td>
<td>
- <% if index>0 %>
+ <% if index > 0 %>
<%= link_to image_tag('blue-up.png'), {:action => :up, :id => active.id}, :method => :post, :id => "up-#{u active.name}" %>
<% else %>
<%= image_tag('transparent_16.gif') %>
<% end %>
- <% if index<active_dashboards.size-1 %>
+ <% if index < active_dashboards.size-1 %>
<%= link_to image_tag('blue-down.png'), {:action => :down, :id => active.id}, :method => :post, :id => "down-#{u active.name}" %>
<% end %>
</td>
diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/admin_dashboards/index.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/admin_dashboards/index.html.erb
index 6a2b0bddeeb..14139e71d48 100644
--- a/sonar-server/src/main/webapp/WEB-INF/app/views/admin_dashboards/index.html.erb
+++ b/sonar-server/src/main/webapp/WEB-INF/app/views/admin_dashboards/index.html.erb
@@ -1,57 +1,55 @@
-<h1>Default global dashboards</h1>
-<p class="marginbottom10">These dashboards are displayed to anonymous users or users who have not customized their dashboards.</p>
+<div id="default_dashboards">
+ <h1><%= message('dashboard.global_dashboards') -%></h1>
-<%= render :partial => 'list', :locals => { :active_dashboards => @actives.select { |a| a.dashboard.global }, :group => 'activeGlobal' } %>
+ <p><%= message('dashboard.global_dashboards.description') -%></p>
-<br/><br/>
+ <%= render :partial => 'list', :locals => {:active_dashboards => @actives.select(&:global?), :group => 'activeGlobal'} %>
-<h1>Default project dashboards</h1>
-<p class="marginbottom10">These dashboards are displayed to anonymous users or users who have not customized their dashboards.</p>
+ <h1><%= message('dashboard.project_dashboards') -%></h1>
-<%= render :partial => 'list', :locals => { :active_dashboards => @actives.reject { |a| a.dashboard.global }, :group => 'activeProject' } %>
+ <p><%= message('dashboard.project_dashboards.description') -%></p>
-<br/><br/>
+ <%= render :partial => 'list', :locals => {:active_dashboards => @actives.reject(&:global?), :group => 'activeProject'} %>
-<h1>Shared dashboards</h1>
-<p class="marginbottom10">These dashboards can be added to default dashboards.</p>
+ <h1><%= message('dashboard.shared_dashboards') -%></h1>
-<table class="data" id="shared">
- <thead>
- <tr>
- <th><%= message('name') -%></th>
- <th><%= message('global') -%></th>
- <th><%= message('shared_by') -%></th>
- <th colspan="2" class="right"><%= message('operations') -%></th>
- </tr>
- </thead>
- <tbody>
- <% if @default_dashboards.nil? || @default_dashboards.empty? %>
- <tr class="even">
- <td colspan="4">No results.</td>
+ <p><%= message('dashboard.shared_dashboards.description') -%></p>
+
+ <table class="data" id="shared">
+ <thead>
+ <tr>
+ <th class="dashboard_name"><%= message('name') -%></th>
+ <th><%= message('shared_by') -%></th>
+ <th><%= message('global') -%></th>
+ <th class="right"><%= message('operations') -%></th>
</tr>
- <% else %>
- <% @default_dashboards.each do |dashboard| %>
- <tr class="<%= cycle('even', 'odd') -%>">
- <td>
- <%= h(dashboard.name(true)) -%>
- <br>
- <span class="small"><%= dashboard.description %></span>
- </td>
- <td>
- <%= boolean_icon(dashboard.global) -%>
- </td>
- <td><%= h(dashboard.user.name) if dashboard.user %></td>
- <td class="thin nowrap right">
- <%= link_to 'Add to defaults', {:action => 'add', :id => dashboard.id}, {:method => :post, :id => "add-#{u dashboard.name}", :class => 'link-action'} %>
- </td>
- <td class="thin nowrap right">
- <% if dashboard.provided_programmatically? %>
- <%= link_to 'Delete', {:action => 'delete', :id => dashboard.id}, {:confirm => "Do you want to delete the dashboard #{dashboard.name(true)}?", :method => :post, :id => "delete-#{u dashboard.name}", :class => 'link-action'} %>
- <% end %>
- </td>
+ </thead>
+ <tbody>
+ <% if @default_dashboards.nil? || @default_dashboards.empty? %>
+ <tr class="even">
+ <td colspan="4"><%= message('dashboard.no_results') -%></td>
</tr>
+ <% else %>
+ <% @default_dashboards.each do |dashboard| %>
+ <tr class="<%= cycle('even', 'odd') -%>">
+ <td>
+ <div><%= h(dashboard.name(true)) -%></div>
+ <div class="description"><%= dashboard.description -%></div>
+ </td>
+ <td><%= h(dashboard.user.name) if dashboard.user -%></td>
+ <td>
+ <%= boolean_icon(dashboard.global) -%>
+ </td>
+ <td class="thin nowrap right">
+ <%= link_to 'Add to defaults', {:action => 'add', :id => dashboard.id}, {:method => :post, :id => "add-#{u dashboard.name}", :class => 'link-action'} %>
+ <% if dashboard.provided_programmatically? %>
+ <%= link_to 'Delete', {:action => 'delete', :id => dashboard.id}, {:confirm => "Do you want to delete the dashboard #{dashboard.name(true)}?", :method => :post, :id => "delete-#{u dashboard.name}", :class => 'link-action'} %>
+ <% end %>
+ </td>
+ </tr>
+ <% end %>
<% end %>
- <% end %>
- </tbody>
-</table>
+ </tbody>
+ </table>
+</div>
diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/dashboards/_create.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/dashboards/_create.html.erb
index ce07999c2f4..6541ca6f3e1 100644
--- a/sonar-server/src/main/webapp/WEB-INF/app/views/dashboards/_create.html.erb
+++ b/sonar-server/src/main/webapp/WEB-INF/app/views/dashboards/_create.html.erb
@@ -1,10 +1,9 @@
-<table class="admintable" width="100%">
- <form action="<%= url_for :action => 'create', :resource => params[:resource] -%>" id="create-dashboard-form" method="POST">
+<h1><%= message('dashboard.create_dashboard') -%></h1>
+
+<form action="<%= url_for :action => 'create', :resource => params[:resource] -%>" id="create-dashboard-form" method="POST">
+ <table class="admintable" width="100%">
<tbody>
<tr>
- <td colspan="2"><h1><%= message('dashboard.create_dashboard') -%></h1></td>
- </tr>
- <tr>
<td class="left" valign="top" colspan="2">
<%= message('name') -%>:<br/><input type="text" name="name" size="30" maxlength="256">
</td>
@@ -30,8 +29,9 @@
</td>
</tr>
</tbody>
- </form>
-</table>
+ </table>
+</form>
+
<script>
$('create-dashboard-form').name.focus();
</script>
diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/dashboards/_edit.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/dashboards/_edit.html.erb
index 2b616de9166..39ad21462ea 100644
--- a/sonar-server/src/main/webapp/WEB-INF/app/views/dashboards/_edit.html.erb
+++ b/sonar-server/src/main/webapp/WEB-INF/app/views/dashboards/_edit.html.erb
@@ -1,28 +1,27 @@
+<h1><%= message('dashboard.edit_dashboard') -%></h1>
+
<form action="<%= url_for :action => 'update', :id => @dashboard.id, :resource => params[:resource] -%>" method="POST">
-<table class="admintable" width="100%">
+ <table class="admintable" width="100%">
<tbody>
- <tr>
- <td colspan="2"><h1><%= message('dashboard.edit_dashboard') -%></h1></td>
- </tr>
- <tr>
- <td class="left" valign="top" colspan="2">
+ <tr>
+ <td class="left" valign="top" colspan="2">
<%= message('name') -%>:<br/><input type="text" name="name" size="30" maxlength="256" value="<%= @dashboard.name -%>">
- </td>
- </tr>
- <tr>
- <td class="left" valign="top" colspan="2">
+ </td>
+ </tr>
+ <tr>
+ <td class="left" valign="top" colspan="2">
<%= message('description') -%>:<br/><input type="text" name="description" size="30" maxlength="1000" value="<%= @dashboard.description -%>">
- </td>
- </tr>
- <tr>
+ </td>
+ </tr>
+ <tr>
+ <td class="left" valign="top">
+ <%= message('global') -%>:<br/><input type="checkbox" name="global" value="true" <%= 'checked' if @dashboard.global -%>>
+ </td>
+ <% if is_admin? %>
<td class="left" valign="top">
- <%= message('global') -%>:<br/><input type="checkbox" name="global" value="true" <%= 'checked' if @dashboard.global -%>>
+ <%= message('shared') -%>:<br/><input type="checkbox" name="shared" value="true" <%= 'checked' if @dashboard.shared -%>>
</td>
- <% if is_admin? %>
- <td class="left" valign="top">
- <%= message('shared') -%>:<br/><input type="checkbox" name="shared" value="true" <%= 'checked' if @dashboard.shared -%>>
- </td>
- </tr>
+ </tr>
<% end %>
<tr>
<td class="left" valign="top" colspan="2">
@@ -30,6 +29,6 @@
<a href="<%= url_for :action => 'index', :resource => params[:resource] -%>"><%= message('cancel') -%></a>
</td>
</tr>
- </tbody>
-</table>
+ </tbody>
+ </table>
</form>
diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/dashboards/_list.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/dashboards/_list.html.erb
index ce3fe14c330..d3f1523f5e5 100644
--- a/sonar-server/src/main/webapp/WEB-INF/app/views/dashboards/_list.html.erb
+++ b/sonar-server/src/main/webapp/WEB-INF/app/views/dashboards/_list.html.erb
@@ -1,8 +1,9 @@
-<h1 class="marginbottom10"><%= message(labelKey) -%></h1>
-<table class="data marginbottom10" id="dashboards">
+<h1><%= message(labelKey) -%></h1>
+
+<table class="data" id="dashboards">
<thead>
<tr>
- <th><%= message('name') -%></th>
+ <th class="dashboard_name"><%= message('name') -%></th>
<% if is_admin %>
<th><%= message('shared') -%></th>
<% end %>
@@ -13,17 +14,14 @@
<tbody>
<% if active_dashboards.nil? || active_dashboards.empty? %>
<tr class="even">
- <td colspan="5"><%= message('dashboard.no_dashboard') -%></td>
+ <td colspan="4"><%= message('dashboard.no_dashboard') -%></td>
</tr>
- <%
- else
- active_dashboards.each_with_index do |active, index| %>
+ <% else %>
+ <% active_dashboards.each_with_index do |active, index| %>
<tr id="dashboard-<%= u active.name -%>" class="<%= cycle('even', 'odd', :name => group) -%>">
<td>
- <%= link_to active.name(true), {:controller => :dashboard, :action => :index, :did => active.dashboard_id, :id => (params[:resource] unless active.dashboard.global) } -%>
- <% if active.dashboard.description.present? %>
- <p class="small"><%= h active.dashboard.description -%></p>
- <% end %>
+ <%= link_to active.name(true), {:controller => :dashboard, :action => :index, :did => active.dashboard_id, :id => (params[:resource] unless active.global?)} -%>
+ <div class="description"><%= h active.dashboard.description -%></div>
</td>
<% if is_admin %>
<td>
@@ -31,27 +29,29 @@
</td>
<% end %>
<td>
- <% if index>0 %>
+ <% if index > 0 %>
<%= link_to image_tag('blue-up.png'), {:action => 'up', :id => active.dashboard_id, :resource => params[:resource]}, :method => :post, :id => "up-#{u active.name}" %>
<% else %>
<%= image_tag('transparent_16.gif') %>
<% end %>
- <% if index<active_dashboards.size-1 %>
+ <% if index < active_dashboards.size-1 %>
<%= link_to image_tag('blue-down.png'), {:action => 'down', :id => active.dashboard.id, :resource => params[:resource]}, :method => :post, :id => "down-#{u active.name}" %>
<% end %>
</td>
<td class="thin nowrap right">
<% if active.owner?(current_user) %>
- <%= link_to message('dashboard.configure_widgets'), {:controller => :dashboard, :action => 'configure', :did => active.dashboard_id, :id => (params[:resource] unless active.dashboard.global)},
+ <%= link_to message('dashboard.configure_widgets'), {:controller => :dashboard, :action => :configure, :did => active.dashboard_id, :id => (params[:resource] unless active.global?)},
:id => "configure-#{u active.name}", :class => 'link-action' %>
|
- <%= link_to_remote message('edit'), {:update => "admin_form", :url => {:action => "edit", :id => active.dashboard_id, :resource => params[:resource]}},
+ <%= link_to_remote message('edit'), {:update => "create_dashboard", :url => {:action => :edit, :id => active.dashboard_id, :resource => params[:resource]}},
{:id => "edit-#{u active.name}", :method => :get, :class => 'link-action'} %>
+ <% if active_dashboards.size() > 1 %>
|
- <%= link_to message('delete'), {:action => 'delete', :id => active.dashboard_id, :resource => params[:resource]}, :method => :post,
+ <%= link_to message('delete'), {:action => :delete, :id => active.dashboard_id, :resource => params[:resource]}, :method => :post,
:confirm => message('dashboard.do_you_want_to_delete_dashboard'), :id => "delete-#{u active.name}", :class => 'link-action' %>
+ <% end %>
<% elsif active_dashboards.size() > 1 %>
- <%= link_to message('unfollow'), {:action => 'unfollow', :id => active.dashboard_id, :resource => params[:resource]}, :method => :post,
+ <%= link_to message('unfollow'), {:action => :unfollow, :id => active.dashboard_id, :resource => params[:resource]}, :method => :post,
:id => "unfollow-#{u active.name}", :class => 'link-action' %>
<% end %>
</td>
diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/dashboards/index.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/dashboards/index.html.erb
index aee17d43285..ef1fd2245b5 100644
--- a/sonar-server/src/main/webapp/WEB-INF/app/views/dashboards/index.html.erb
+++ b/sonar-server/src/main/webapp/WEB-INF/app/views/dashboards/index.html.erb
@@ -1,61 +1,51 @@
<% is_admin=is_admin? %>
-<table width="100%">
- <tr>
- <td valign="top">
- <%= render :partial => 'list', :locals => { :active_dashboards => @actives.select { |a| a.dashboard.global }, :group => 'dashboardsGlobal', :labelKey => 'dashboard.my_project_dashboards', :is_admin => is_admin } %>
- <br/><br/>
+<div id="my_dasboards">
+ <%= render :partial => 'list', :locals => {:active_dashboards => @actives.select(&:global?), :group => 'dashboardsGlobal', :labelKey => 'dashboard.my_global_dashboards', :is_admin => is_admin} %>
+ <%= render :partial => 'list', :locals => {:active_dashboards => @actives.reject(&:global?), :group => 'dashboardsProject', :labelKey => 'dashboard.my_project_dashboards', :is_admin => is_admin} %>
- <%= render :partial => 'list', :locals => { :active_dashboards => @actives.reject { |a| a.dashboard.global }, :group => 'dashboardsProject', :labelKey => 'dashboard.my_global_dashboards', :is_admin => is_admin } %>
- <br/><br/>
-
- <h1 class="marginbottom10"><%= message('dashboard.shared_dashboards') -%></h1>
- <table class="data" id="shared-dashboards">
- <thead>
- <tr>
- <th><%= message('name') -%></th>
- <th><%= message('global') -%></th>
- <th><%= message('shared_by') -%></th>
- <th><%= message('operations') -%></th>
+ <h1><%= message('dashboard.shared_dashboards') -%></h1>
+ <table class="data" id="shared-dashboards">
+ <thead>
+ <tr>
+ <th class="dashboard_name"><%= message('name') -%></th>
+ <th><%= message('shared_by') -%></th>
+ <th><%= message('global') -%></th>
+ <th class="right"><%= message('operations') -%></th>
+ </tr>
+ </thead>
+ <tbody>
+ <% if @shared_dashboards.nil? || @shared_dashboards.empty? %>
+ <tr class="even">
+ <td colspan="5"><%= message('dashboard.no_dashboard') -%></td>
+ </tr>
+ <%
+ else
+ @shared_dashboards.each do |dashboard| %>
+ <tr id="shared-dashboard-<%= u dashboard.name -%>" class="<%= cycle('even', 'odd', :name => 'shared') -%>">
+ <td>
+ <%= link_to dashboard.name(true), {:controller => :dashboard, :action => :index, :id => params[:resource], :did => dashboard.id} -%>
+ <% if dashboard.description.present? %>
+ <p class="small"><%= h dashboard.description -%></p>
+ <% end %>
+ </td>
+ <td>
+ <%= dashboard.user_name -%>
+ </td>
+ <td>
+ <%= boolean_icon(dashboard.global) -%>
+ </td>
+ <td class="thin nowrap right">
+ <%= link_to message('follow'), {:action => 'follow', :id => dashboard.id, :resource => params[:resource]}, :method => :post, :id => "follow-#{u dashboard.name}", :class => 'link-action' %>
+ </td>
</tr>
- </thead>
- <tbody>
- <% if @shared_dashboards.nil? || @shared_dashboards.empty? %>
- <tr class="even">
- <td colspan="5"><%= message('dashboard.no_dashboard') -%></td>
- </tr>
- <%
- else
- @shared_dashboards.each do |dashboard| %>
- <tr id="shared-dashboard-<%= u dashboard.name -%>" class="<%= cycle('even', 'odd', :name => 'shared') -%>">
- <td>
- <%= link_to dashboard.name(true), {:controller => :dashboard, :action => :index, :id => params[:resource], :did => dashboard.id} -%>
- <% if dashboard.description.present? %>
- <p class="small"><%= h dashboard.description -%></p>
- <% end %>
- </td>
- <td>
- <%= boolean_icon(dashboard.global) -%>
- </td>
- <td>
- <%= dashboard.user_name -%>
- </td>
- <td class="thin nowrap right">
- <%= link_to message('follow'), {:action => 'follow', :id => dashboard.id, :resource => params[:resource]}, :method => :post, :id => "follow-#{u dashboard.name}",
- :class => 'link-action' %>
- </td>
- </tr>
- <% end
- end
- %>
- </tbody>
- </table>
- </td>
- <td class="sep"></td>
- <td width="210" valign="top" align="right">
- <div id="admin_form">
- <%= render :partial => 'dashboards/create' %>
- </div>
- </td>
- </tr>
-</table>
+ <% end
+ end
+ %>
+ </tbody>
+ </table>
+</div>
+
+<div id="create_dashboard">
+ <%= render :partial => 'dashboards/create' %>
+</div>
diff --git a/sonar-server/src/main/webapp/WEB-INF/app/views/layouts/_layout.html.erb b/sonar-server/src/main/webapp/WEB-INF/app/views/layouts/_layout.html.erb
index fb6bc50d62f..bd130391597 100644
--- a/sonar-server/src/main/webapp/WEB-INF/app/views/layouts/_layout.html.erb
+++ b/sonar-server/src/main/webapp/WEB-INF/app/views/layouts/_layout.html.erb
@@ -42,7 +42,7 @@
<li class="<%= 'selected' if controller.controller_path=='dependencies' -%>">
<a href="<%= ApplicationController.root_context -%>/dependencies/index"><%= message('dependencies.page') -%></a></li>
- <% ActiveDashboard.user_dashboards(current_user).select { |active_dashboard| active_dashboard.dashboard.global }.each do |active_dashboard| %>
+ <% ActiveDashboard.user_dashboards(current_user).select(&:global?).each do |active_dashboard| %>
<li class="<%= 'selected' if @dashboard && controller.controller_path=='dashboard' && active_dashboard.dashboard_id==@dashboard.id -%>">
<a href="<%= ApplicationController.root_context -%>/dashboard/?did=<%= active_dashboard.dashboard_id -%>"><%= active_dashboard.dashboard.name(true) -%></a>
</li>
@@ -57,7 +57,7 @@
<% end %>
<% elsif selected_section==Navigation::SECTION_RESOURCE %>
- <% ActiveDashboard.user_dashboards(current_user).select { |active_dashboard| !active_dashboard.dashboard.global }.each do |active_dashboard| %>
+ <% ActiveDashboard.user_dashboards(current_user).reject(&:global?).each do |active_dashboard| %>
<li class="<%= 'selected' if @dashboard && controller.controller_path=='dashboard' && active_dashboard.dashboard_id==@dashboard.id -%>">
<a href="<%= ApplicationController.root_context -%>/dashboard/index/<%= @project.id -%>?did=<%= active_dashboard.dashboard_id -%><%= "&"+period_param if period_param -%>"><%= active_dashboard.dashboard.name(true) -%></a>
</li>
diff --git a/sonar-server/src/main/webapp/stylesheets/dashboard.css b/sonar-server/src/main/webapp/stylesheets/dashboard.css
index bbdca6b8a7b..edca2dd3cb3 100644
--- a/sonar-server/src/main/webapp/stylesheets/dashboard.css
+++ b/sonar-server/src/main/webapp/stylesheets/dashboard.css
@@ -26,7 +26,7 @@
}
#dashboard .block {
- margin: 0 0 10px 0;
+ margin: 0 0 10px 0;
}
#dashboard .configure_widget {
@@ -44,43 +44,43 @@
}
#dashboard .widget .widget-title {
- font-style: italic;
- font-weight: bold;
- margin-bottom: 10px;
+ font-style: italic;
+ font-weight: bold;
+ margin-bottom: 10px;
}
/*CONFIGURATION*/
#dashboard #configure {
- position: relative;
- height: 260px;
- margin: 5px 0 10px 0;
+ position: relative;
+ height: 260px;
+ margin: 5px 0 10px 0;
}
#dashboard #widget_defs, #dashboard #edit-layout {
- background-color: #FFF6BF;
- border: 2px solid #FFD324;
- padding: 3px;
- -moz-border-radius: 3px;
- -webkit-border-radius: 3px;
+ background-color: #FFF6BF;
+ border: 2px solid #FFD324;
+ padding: 3px;
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
}
#dashboard #widget_defs {
- margin-right: 104px;
- overflow-y: auto;
- height: 250px;
+ margin-right: 104px;
+ overflow-y: auto;
+ height: 250px;
}
#dashboard #edit-layout {
- width: 86px;
- height: 248px;
- position: absolute;
- right: 0;
- top: 0;
- padding-top: 5px;
+ width: 86px;
+ height: 248px;
+ position: absolute;
+ right: 0;
+ top: 0;
+ padding-top: 5px;
}
#dashboard #edit-layout p {
- margin-bottom: 5px;
+ margin-bottom: 5px;
}
#dashboard #widget_defs td {
@@ -108,15 +108,40 @@
}
#dashboard .select-layout {
- float: left;
+ float: left;
}
#dashboard .select-layout img {
- border: 3px solid #FFF6BF;
+ border: 3px solid #FFF6BF;
}
#dashboard .select-layout.selected img {
- border: 3px solid #4B9FD5;
+ border: 3px solid #4B9FD5;
+}
+
+#default_dashboards table, #my_dasboards table {
+ margin-top: 10px;
+ margin-bottom: 50px;
+}
+
+#default_dashboards .dashboard_name, #my_dasboards .dashboard_name {
+ width: 200px;
+}
+
+#default_dashboards .description, #my_dasboards .description {
+ font-size: 85%;
+ font-weight: normal;
+}
+
+#my_dasboards {
+ margin-right: 260px;
+}
+
+#create_dashboard {
+ width: 240px;
+ position: absolute;
+ top: 10px;
+ right: 10px;
}
/*OPERATIONS*/