diff --git a/app/views/groups/analytics/show.html.haml b/app/views/groups/analytics/show.html.haml index 3a9bf59230a73007cb190b0783b0b86054fba24b..de97b07c5230aac2cd27c9d70d48c79054257841 100644 --- a/app/views/groups/analytics/show.html.haml +++ b/app/views/groups/analytics/show.html.haml @@ -1,143 +1,143 @@ -- page_title "Contribution Analytics" -- header_title group_title(@group, "Contribution Analytics", group_analytics_path(@group)) -- content_for :page_specific_javascripts do - = page_specific_javascript_tag('lib/chart.js') - -.sub-header-block - .pull-right - .dropdown.inline - %button.dropdown-toggle.btn{ type: 'button', 'data-toggle' => 'dropdown' } - = icon('calendar-o') - %b.caret - %ul.dropdown-menu.dropdown-menu-align-right - %li - = link_to group_analytics_path(@group, start_date: Date.today - 1.week) do - Last week - %li - = link_to group_analytics_path(@group, start_date: Date.today - 1.month) do - Last month - %li - = link_to group_analytics_path(@group, start_date: Date.today - 3.months) do - Last 3 months - .oneline - Contribution analytics for issues, merge requests and push events since #{@start_date} - -%h3 Push - -.row - .col-md-4 - %ul - %li - = @events.code_push.count - times - %li - more than - = @events.code_push.map(&:commits_count).sum - commits - %li - by - = pluralize @events.code_push.pluck(:author_id).uniq.count, 'person' - - .col-md-8 - %div - %p.light Push events per group member - %canvas#push{ height: 250 } - -%h3 Merge Requests - -.row - .col-md-4 - %ul - %li - = @events.merge_requests.created.count - created - %li - = @events.merge_requests.merged.count - accepted - - .col-md-8 - %div - %p.light Merge requests created per group member - %canvas#merge_requests{ height: 250 } - -%h3 Issues - -.row - .col-md-4 - %ul - %li - = @events.issues.created.count - created - %li - = @events.issues.closed.pluck(:target_id).uniq.count - closed - - .col-md-8 - %div - %p.light Issues closed per group member - %canvas#issues{ height: 250 } - -.gray-content-block - .oneline - Contributions per group member - -.table-holder - %table.table.sortable-table#event-stats - %thead - %tr - %th.sortable - Name - = icon('sort') - %th.sortable - Pushed - = icon('sort') - %th.sortable - Opened issues - = icon('sort') - %th.sortable - Closed issues - = icon('sort') - %th.sortable - Opened MR - = icon('sort') - %th.sortable - Accepted MR - = icon('sort') - %th.sortable - Total Contributions - = icon('sort') - %tbody - - @users.each do |user| - %tr - %td - %strong - = link_to user.name, user - %td= @events.code_push.where(author_id: user).count - %td= @events.issues.created.where(author_id: user).count - %td= @events.issues.closed.where(author_id: user).count - %td= @events.merge_requests.created.where(author_id: user).count - %td= @events.merge_requests.merged.where(author_id: user).count - %td= @events.where(author_id: user).count - - - -- [:push, :issues, :merge_requests].each do |scope| - :javascript - var data = { - labels : #{@users.map(&:name).to_json}, - datasets : [ - { - fillColor : "rgba(220,220,220,0.5)", - strokeColor : "rgba(220,220,220,1)", - barStrokeWidth: 1, - barValueSpacing: 1, - barDatasetSpacing: 1, - data : #{@stats[scope].to_json} - } - ] - } - var ctx = $("##{scope}").get(0).getContext("2d"); - new Chart(ctx).Bar(data,{"scaleOverlay": true, responsive: true, maintainAspectRatio: false}); - -:javascript - $("#event-stats").tablesorter(); +- page_title "Contribution Analytics" +- header_title group_title(@group, "Contribution Analytics", group_analytics_path(@group)) +- content_for :page_specific_javascripts do + = page_specific_javascript_bundle_tag('lib_chart') + +.sub-header-block + .pull-right + .dropdown.inline + %button.dropdown-toggle.btn{ type: 'button', 'data-toggle' => 'dropdown' } + = icon('calendar-o') + %b.caret + %ul.dropdown-menu.dropdown-menu-align-right + %li + = link_to group_analytics_path(@group, start_date: Date.today - 1.week) do + Last week + %li + = link_to group_analytics_path(@group, start_date: Date.today - 1.month) do + Last month + %li + = link_to group_analytics_path(@group, start_date: Date.today - 3.months) do + Last 3 months + .oneline + Contribution analytics for issues, merge requests and push events since #{@start_date} + +%h3 Push + +.row + .col-md-4 + %ul + %li + = @events.code_push.count + times + %li + more than + = @events.code_push.map(&:commits_count).sum + commits + %li + by + = pluralize @events.code_push.pluck(:author_id).uniq.count, 'person' + + .col-md-8 + %div + %p.light Push events per group member + %canvas#push{ height: 250 } + +%h3 Merge Requests + +.row + .col-md-4 + %ul + %li + = @events.merge_requests.created.count + created + %li + = @events.merge_requests.merged.count + accepted + + .col-md-8 + %div + %p.light Merge requests created per group member + %canvas#merge_requests{ height: 250 } + +%h3 Issues + +.row + .col-md-4 + %ul + %li + = @events.issues.created.count + created + %li + = @events.issues.closed.pluck(:target_id).uniq.count + closed + + .col-md-8 + %div + %p.light Issues closed per group member + %canvas#issues{ height: 250 } + +.gray-content-block + .oneline + Contributions per group member + +.table-holder + %table.table.sortable-table#event-stats + %thead + %tr + %th.sortable + Name + = icon('sort') + %th.sortable + Pushed + = icon('sort') + %th.sortable + Opened issues + = icon('sort') + %th.sortable + Closed issues + = icon('sort') + %th.sortable + Opened MR + = icon('sort') + %th.sortable + Accepted MR + = icon('sort') + %th.sortable + Total Contributions + = icon('sort') + %tbody + - @users.each do |user| + %tr + %td + %strong + = link_to user.name, user + %td= @events.code_push.where(author_id: user).count + %td= @events.issues.created.where(author_id: user).count + %td= @events.issues.closed.where(author_id: user).count + %td= @events.merge_requests.created.where(author_id: user).count + %td= @events.merge_requests.merged.where(author_id: user).count + %td= @events.where(author_id: user).count + + + +- [:push, :issues, :merge_requests].each do |scope| + :javascript + var data = { + labels : #{@users.map(&:name).to_json}, + datasets : [ + { + fillColor : "rgba(220,220,220,0.5)", + strokeColor : "rgba(220,220,220,1)", + barStrokeWidth: 1, + barValueSpacing: 1, + barDatasetSpacing: 1, + data : #{@stats[scope].to_json} + } + ] + } + var ctx = $("##{scope}").get(0).getContext("2d"); + new Chart(ctx).Bar(data,{"scaleOverlay": true, responsive: true, maintainAspectRatio: false}); + +:javascript + $("#event-stats").tablesorter(); diff --git a/changelogs/unreleased-ee/fix-analytics-contribution.yml b/changelogs/unreleased-ee/fix-analytics-contribution.yml new file mode 100644 index 0000000000000000000000000000000000000000..727c92c669049bdc1cdd22f15e9d54fe431966ff --- /dev/null +++ b/changelogs/unreleased-ee/fix-analytics-contribution.yml @@ -0,0 +1,4 @@ +--- +title: Change how analytics loads javascript. +merge_request: +author: