]> source.dussan.org Git - sonarqube.git/blob
52ae84423347ba79dd1abbf2a079b16f502203b1
[sonarqube.git] /
1 <%
2    container_id = 'widget-issue-filter-' + widget.id.to_s
3    filter_id = widget_properties['filter']
4    filter = Internal.issues.findIssueFilterById(filter_id.to_i)
5    distribution_axis = widget_properties['distributionAxis']
6    display_mode = widget_properties['displayMode']
7    is_enough_permissions = filter.shared || (current_user && filter.userLogin == current_user.login)
8
9    if @dashboard_configuration.selected_period?
10      period_date = @snapshot.period_datetime(@dashboard_configuration.period_index).strftime('%FT%T%z')
11    else
12      period_date = nil
13    end
14 %>
15
16 <% if filter %>
17
18   <% if is_enough_permissions %>
19
20     <% @widget_title = "<a href=\"#{url_for({:controller => 'component_issues', :action => 'index'})}?id=#{u(@project.key)}##{filter.data}\">#{h(filter.name)}</a>" %>
21     <% if widget_properties['displayFilterDescription'] && !filter.description.blank? %>
22       <p class="note spacer-bottom"><%= h filter.description -%></p>
23     <% end %>
24
25     <div id="<%= container_id -%>"></div>
26     <script>
27       jQuery(function () {
28         var query = '<%= filter.data -%>';
29
30         // do not show widget if the filter contains "my" criterion,
31         // and a user is not authenticated
32         if (query && query.indexOf('__me__') !== -1 && !window.SS.user) {
33           jQuery('#<%= container_id -%>').closest('.block').addClass('hidden');
34           return;
35         }
36
37         var IssueFilterWidget = require('issue-filter-widget');
38         window.requestMessages().done(function () {
39           new IssueFilterWidget({
40             el: '#<%= container_id -%>',
41             query: query,
42             distributionAxis: '<%= distribution_axis -%>',
43             displayMode: '<%= display_mode -%>',
44             <% if period_date %>
45             periodDate: '<%= period_date -%>',
46             <% end %>
47             componentUuid: '<%= @project.uuid -%>',
48             componentKey: '<%= @project.key -%>'
49           });
50         });
51       });
52     </script>
53
54   <% else %>
55
56     <p class="alert alert-warning"><%= message 'widget.issue_filter.insufficient_privileges_warning' -%></p>
57
58   <% end %>
59
60 <% else %>
61
62   <p class="alert alert-warning"><%= message 'widget.issue_filter.unknown_filter_warning' -%></p>
63
64 <% end %>