summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorSean McGivern <sean@gitlab.com>2017-04-05 13:29:48 +0100
committerRémy Coutable <remy@rymai.me>2017-04-14 15:20:55 +0200
commit0483019e9800dc1b4ef4493890f815f047b7c04e (patch)
tree24430c787a2e69166ccd214cc1e15a489f32e9e9 /app
parentebd5e9b4549ebc80155a5a8f139efdb40b6f8b12 (diff)
downloadgitlab-ce-0483019e9800dc1b4ef4493890f815f047b7c04e.tar.gz
Port 'Add more usage data to EE ping' to CE
CE port of https://gitlab.com/gitlab-org/gitlab-ee/merge_requests/735
Diffstat (limited to 'app')
-rw-r--r--app/assets/javascripts/application_settings.js.es616
-rw-r--r--app/assets/javascripts/dispatcher.js3
-rw-r--r--app/controllers/admin/application_settings_controller.rb7
-rw-r--r--app/views/admin/application_settings/_form.html.haml8
-rw-r--r--app/workers/gitlab_usage_ping_worker.rb9
5 files changed, 32 insertions, 11 deletions
diff --git a/app/assets/javascripts/application_settings.js.es6 b/app/assets/javascripts/application_settings.js.es6
new file mode 100644
index 00000000000..ce7d5129d8d
--- /dev/null
+++ b/app/assets/javascripts/application_settings.js.es6
@@ -0,0 +1,16 @@
+(global => {
+ global.gl = global.gl || {};
+
+ gl.ApplicationSettings = function() {
+ var usage_data_url = $('.usage-data').data('endpoint');
+
+ $.ajax({
+ type: "GET",
+ url: usage_data_url,
+ dataType: "html",
+ success: function (html) {
+ $(".usage-data").html(html);
+ }
+ });
+ };
+})(window);
diff --git a/app/assets/javascripts/dispatcher.js b/app/assets/javascripts/dispatcher.js
index f277e1dddc7..9d8f965dee0 100644
--- a/app/assets/javascripts/dispatcher.js
+++ b/app/assets/javascripts/dispatcher.js
@@ -365,6 +365,9 @@ const ShortcutsBlob = require('./shortcuts_blob');
case 'admin':
new Admin();
switch (path[1]) {
+ case 'application_settings':
+ new gl.ApplicationSettings();
+ break;
case 'groups':
new UsersSelect();
break;
diff --git a/app/controllers/admin/application_settings_controller.rb b/app/controllers/admin/application_settings_controller.rb
index 82b01be5a11..73b03b41594 100644
--- a/app/controllers/admin/application_settings_controller.rb
+++ b/app/controllers/admin/application_settings_controller.rb
@@ -17,6 +17,13 @@ class Admin::ApplicationSettingsController < Admin::ApplicationController
end
end
+ def usage_data
+ respond_to do |format|
+ format.html { render html: Gitlab::Highlight.highlight('payload.json', Gitlab::UsageData.to_json) }
+ format.json { render json: Gitlab::UsageData.to_json }
+ end
+ end
+
def reset_runners_token
@application_setting.reset_runners_registration_token!
flash[:notice] = 'New runners registration token has been generated!'
diff --git a/app/views/admin/application_settings/_form.html.haml b/app/views/admin/application_settings/_form.html.haml
index d8b6ce13ca4..f671af477ad 100644
--- a/app/views/admin/application_settings/_form.html.haml
+++ b/app/views/admin/application_settings/_form.html.haml
@@ -492,9 +492,11 @@
= f.label :usage_ping_enabled do
= f.check_box :usage_ping_enabled
Usage ping enabled
- .help-block
- Every week GitLab will report license usage back to GitLab, Inc.
- Disable this option if you do not want this to occur.
+ .container
+ .help-block
+ Every week GitLab will report license usage back to GitLab, Inc.
+ Disable this option if you do not want this to occur. This is the JSON payload that will be sent:
+ %pre.usage-data.js-syntax-highlight.code.highlight{ "data-endpoint" => usage_data_admin_application_settings_path(format: :html) }
%fieldset
%legend Email
diff --git a/app/workers/gitlab_usage_ping_worker.rb b/app/workers/gitlab_usage_ping_worker.rb
index 2e039b7f3c5..866f5d03d8b 100644
--- a/app/workers/gitlab_usage_ping_worker.rb
+++ b/app/workers/gitlab_usage_ping_worker.rb
@@ -15,7 +15,7 @@ class GitlabUsagePingWorker
begin
HTTParty.post(url,
- body: data.to_json,
+ body: Gitlab::UsageData.to_json,
headers: { 'Content-type' => 'application/json' }
)
rescue HTTParty::Error => e
@@ -27,13 +27,6 @@ class GitlabUsagePingWorker
Gitlab::ExclusiveLease.new('gitlab_usage_ping_worker:ping', timeout: LEASE_TIMEOUT).try_obtain
end
- def data
- usage_data = { version: Gitlab::VERSION,
- active_user_count: User.active.acount }
-
- usage_data
- end
-
def url
'https://version.gitlab.com/usage_data'
end