redhat_access 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/Gemfile +24 -0
- data/LICENSE.txt +620 -0
- data/README.rdoc +7 -0
- data/Rakefile +131 -0
- data/app/assets/javascripts/insights/app.module.js +64 -0
- data/app/assets/javascripts/insights/application.js +18 -0
- data/app/assets/javascripts/insights/configuration.controller.js +66 -0
- data/app/assets/javascripts/insights/configuration.service.js +28 -0
- data/app/assets/javascripts/insights/views/configuration.html +85 -0
- data/app/assets/javascripts/insights/views/error.html +13 -0
- data/app/assets/javascripts/insights/views/help.html +16 -0
- data/app/assets/javascripts/redhat_access/analytics_dashboard.js +2 -0
- data/app/assets/javascripts/redhat_access/application.js +15 -0
- data/app/assets/javascripts/redhat_access/redhat_access.module.js +126 -0
- data/app/assets/stylesheets/insights/application.css +14 -0
- data/app/assets/stylesheets/insights/insights.css +21 -0
- data/app/assets/stylesheets/redhat_access/application.css +14 -0
- data/app/assets/stylesheets/redhat_access/telemetry_configuration.css +4 -0
- data/app/controllers/redhat_access/analytics_dashboard_controller.rb +12 -0
- data/app/controllers/redhat_access/api/api_controller.rb +24 -0
- data/app/controllers/redhat_access/api/attachments_controller.rb +40 -0
- data/app/controllers/redhat_access/api/logs_controller.rb +49 -0
- data/app/controllers/redhat_access/api/machine_telemetry_api_controller.rb +112 -0
- data/app/controllers/redhat_access/api/strata_proxy_controller.rb +81 -0
- data/app/controllers/redhat_access/api/telemetry_api_controller.rb +179 -0
- data/app/controllers/redhat_access/application_controller.rb +2 -0
- data/app/controllers/redhat_access/cases_controller.rb +14 -0
- data/app/controllers/redhat_access/configuration_controller.rb +21 -0
- data/app/controllers/redhat_access/log_viewer_controller.rb +9 -0
- data/app/controllers/redhat_access/redhat_access_controller.rb +8 -0
- data/app/controllers/redhat_access/search_controller.rb +9 -0
- data/app/controllers/redhat_access/strata_credentials_controller.rb +48 -0
- data/app/controllers/redhat_access/telemetry_configurations_controller.rb +38 -0
- data/app/controllers/redhat_access/telemetry_controller.rb +6 -0
- data/app/helpers/redhat_access/analytics_dashboard_helper.rb +13 -0
- data/app/helpers/redhat_access/application_helper.rb +4 -0
- data/app/helpers/redhat_access/attachments_helper.rb +4 -0
- data/app/helpers/redhat_access/cases_helper.rb +4 -0
- data/app/helpers/redhat_access/log_viewer_helper.rb +4 -0
- data/app/helpers/redhat_access/logs_helper.rb +4 -0
- data/app/helpers/redhat_access/redhat_access_helper.rb +4 -0
- data/app/helpers/redhat_access/search_helper.rb +4 -0
- data/app/helpers/redhat_access/telemetry_configuration_helper.rb +4 -0
- data/app/models/redhat_access/concerns/organization_extensions.rb +10 -0
- data/app/models/redhat_access/telemetry_configuration.rb +11 -0
- data/app/models/redhat_access/telemetry_proxy_credentials.rb +10 -0
- data/app/services/redhat_access/authentication/client_authentication.rb +80 -0
- data/app/services/redhat_access/telemetry/look_ups.rb +233 -0
- data/app/services/redhat_access/telemetry/portal_client.rb +39 -0
- data/app/views/redhat_access/analytics_dashboard/configuration.html.erb +85 -0
- data/app/views/redhat_access/analytics_dashboard/error.html.erb +13 -0
- data/app/views/redhat_access/analytics_dashboard/help.html.erb +16 -0
- data/app/views/redhat_access/analytics_dashboard/index.html.erb +69 -0
- data/app/views/redhat_access/analytics_dashboard/welcome.html.erb +8 -0
- data/app/views/redhat_access/redhat_access/index.html.erb +34 -0
- data/ca/rh_cert-api_chain.pem +74 -0
- data/config/config.yml.example +15 -0
- data/config/environments/development.rb +5 -0
- data/config/initializers/load_config.rb +5 -0
- data/config/mount_engine.rb +3 -0
- data/config/routes.rb +36 -0
- data/db/migrate/20141204161152_create_redhat_access_telemetry_proxy_credentials.rb +11 -0
- data/db/migrate/20150319153744_create_redhat_access_telemetry_configurations.rb +13 -0
- data/db/migrate/20160425175501_add_email_to_telemetry_configurations.rb +5 -0
- data/db/seeds.d/200-update-insights-roles.rb +11 -0
- data/lib/redhat_access/configuration.rb +8 -0
- data/lib/redhat_access/engine.rb +225 -0
- data/lib/redhat_access/sos_reports/generator.rb +58 -0
- data/lib/redhat_access/strata/client.rb +39 -0
- data/lib/redhat_access/version.rb +3 -0
- data/lib/redhat_access.rb +5 -0
- data/lib/tasks/redhat_access_tasks.rake +41 -0
- data/locale/Makefile +62 -0
- data/locale/de/LC_MESSAGES/redhat_access.mo +0 -0
- data/locale/de/redhat_access.po +589 -0
- data/locale/es/LC_MESSAGES/redhat_access.mo +0 -0
- data/locale/es/redhat_access.po +589 -0
- data/locale/fr/LC_MESSAGES/redhat_access.mo +0 -0
- data/locale/fr/redhat_access.po +593 -0
- data/locale/gemspec.rb +2 -0
- data/locale/it/LC_MESSAGES/redhat_access.mo +0 -0
- data/locale/it/redhat_access.po +589 -0
- data/locale/ja/LC_MESSAGES/redhat_access.mo +0 -0
- data/locale/ja/redhat_access.po +569 -0
- data/locale/ko/LC_MESSAGES/redhat_access.mo +0 -0
- data/locale/ko/redhat_access.po +570 -0
- data/locale/pt/LC_MESSAGES/redhat_access.mo +0 -0
- data/locale/pt/redhat_access.po +588 -0
- data/locale/redhat_access.pot +34 -0
- data/locale/ru/LC_MESSAGES/redhat_access.mo +0 -0
- data/locale/ru/redhat_access.po +580 -0
- data/locale/zh/LC_MESSAGES/redhat_access.mo +0 -0
- data/locale/zh/redhat_access.po +561 -0
- data/redhat_access.gemspec +30 -0
- data/script/rails +8 -0
- data/script/sos_reports/foreman_sosreport.pam +9 -0
- data/script/sos_reports/foreman_sosreport_console.apps +3 -0
- data/script/sos_reports/foreman_sosreport_wrapper.py +65 -0
- data/test/dummy/README.rdoc +261 -0
- data/test/dummy/Rakefile +7 -0
- data/test/dummy/app/assets/javascripts/application.js +15 -0
- data/test/dummy/app/assets/stylesheets/application.css +13 -0
- data/test/dummy/app/controllers/application_controller.rb +3 -0
- data/test/dummy/app/helpers/application_helper.rb +2 -0
- data/test/dummy/app/views/layouts/application.html.erb +14 -0
- data/test/dummy/config/application.rb +59 -0
- data/test/dummy/config/boot.rb +10 -0
- data/test/dummy/config/database.yml +25 -0
- data/test/dummy/config/environment.rb +5 -0
- data/test/dummy/config/environments/development.rb +37 -0
- data/test/dummy/config/environments/production.rb +67 -0
- data/test/dummy/config/environments/test.rb +37 -0
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
- data/test/dummy/config/initializers/inflections.rb +15 -0
- data/test/dummy/config/initializers/mime_types.rb +5 -0
- data/test/dummy/config/initializers/secret_token.rb +7 -0
- data/test/dummy/config/initializers/session_store.rb +8 -0
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
- data/test/dummy/config/locales/en.yml +5 -0
- data/test/dummy/config/routes.rb +4 -0
- data/test/dummy/config.ru +4 -0
- data/test/dummy/public/404.html +26 -0
- data/test/dummy/public/422.html +26 -0
- data/test/dummy/public/500.html +25 -0
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/script/rails +6 -0
- data/test/fixtures/redhat_access/telemetry_configurations.yml +11 -0
- data/test/fixtures/redhat_access/telemetry_proxy_credentials.yml +11 -0
- data/test/functional/redhat_access/analytics_dashboard_controller_test.rb +11 -0
- data/test/functional/redhat_access/attachments_controller_test.rb +11 -0
- data/test/functional/redhat_access/cases_controller_test.rb +16 -0
- data/test/functional/redhat_access/configuration_controller_test.rb +11 -0
- data/test/functional/redhat_access/log_viewer_controller_test.rb +11 -0
- data/test/functional/redhat_access/logs_controller_test.rb +9 -0
- data/test/functional/redhat_access/redhat_access_controller_test.rb +11 -0
- data/test/functional/redhat_access/search_controller_test.rb +11 -0
- data/test/functional/redhat_access/telemetry_configuration_controller_test.rb +26 -0
- data/test/integration/navigation_test.rb +10 -0
- data/test/models/redhat_access/telemetry_proxy_credentials_test.rb +9 -0
- data/test/redhat_access_test.rb +7 -0
- data/test/sos-report-test.rb +32 -0
- data/test/test_helper.rb +15 -0
- data/test/unit/helpers/redhat_access/analytics_dashboard_helper_test.rb +6 -0
- data/test/unit/helpers/redhat_access/attachments_helper_test.rb +6 -0
- data/test/unit/helpers/redhat_access/cases_helper_test.rb +6 -0
- data/test/unit/helpers/redhat_access/log_viewer_helper_test.rb +6 -0
- data/test/unit/helpers/redhat_access/logs_helper_test.rb +6 -0
- data/test/unit/helpers/redhat_access/redhat_access_helper_test.rb +6 -0
- data/test/unit/helpers/redhat_access/search_helper_test.rb +6 -0
- data/test/unit/helpers/redhat_access/telemetry_configuration_helper_test.rb +6 -0
- data/test/unit/redhat_access/telemetry_configuration_test.rb +9 -0
- data/vendor/assets/fonts/fonts/FontAwesome.otf +0 -0
- data/vendor/assets/fonts/fonts/fontawesome-webfont.eot +0 -0
- data/vendor/assets/fonts/fonts/fontawesome-webfont.svg +655 -0
- data/vendor/assets/fonts/fonts/fontawesome-webfont.ttf +0 -0
- data/vendor/assets/fonts/fonts/fontawesome-webfont.woff +0 -0
- data/vendor/assets/fonts/fonts/icomoon.eot +0 -0
- data/vendor/assets/fonts/fonts/icomoon.svg +22 -0
- data/vendor/assets/fonts/fonts/icomoon.ttf +0 -0
- data/vendor/assets/fonts/fonts/icomoon.woff +0 -0
- data/vendor/assets/fonts/fonts/overpass_bold-web.eot +0 -0
- data/vendor/assets/fonts/fonts/overpass_bold-web.svg +454 -0
- data/vendor/assets/fonts/fonts/overpass_bold-web.ttf +0 -0
- data/vendor/assets/fonts/fonts/overpass_bold-web.woff +0 -0
- data/vendor/assets/fonts/fonts/overpass_light-webfont.eot +0 -0
- data/vendor/assets/fonts/fonts/overpass_light-webfont.svg +2105 -0
- data/vendor/assets/fonts/fonts/overpass_light-webfont.ttf +0 -0
- data/vendor/assets/fonts/fonts/overpass_light-webfont.woff +0 -0
- data/vendor/assets/fonts/fonts/overpass_regular-web.eot +0 -0
- data/vendor/assets/fonts/fonts/overpass_regular-web.svg +454 -0
- data/vendor/assets/fonts/fonts/overpass_regular-web.ttf +0 -0
- data/vendor/assets/fonts/fonts/overpass_regular-web.woff +0 -0
- data/vendor/assets/fonts/fonts/portalicons.eot +0 -0
- data/vendor/assets/fonts/fonts/portalicons.svg +145 -0
- data/vendor/assets/fonts/fonts/portalicons.ttf +0 -0
- data/vendor/assets/fonts/fonts/portalicons.woff +0 -0
- data/vendor/assets/images/images/Icon_RH_Document_Blueprint_RGB_Button.png +0 -0
- data/vendor/assets/images/images/Icon_RH_Misc_Lifestyle_RGB_Button.png +0 -0
- data/vendor/assets/images/images/Icon_RH_Software_Data_CMYK_Button.png +0 -0
- data/vendor/assets/images/images/Icon_RH_Software_Transfer-Upload_CMYK_Button.png +0 -0
- data/vendor/assets/images/images/bg1.jpg +0 -0
- data/vendor/assets/images/images/bg_body.jpg +0 -0
- data/vendor/assets/images/images/bg_chart-shadow.png +0 -0
- data/vendor/assets/images/images/bg_dount-hole-na.png +0 -0
- data/vendor/assets/images/images/bg_glow.jpg +0 -0
- data/vendor/assets/images/images/bg_pattern.png +0 -0
- data/vendor/assets/images/images/i_chart.png +0 -0
- data/vendor/assets/images/images/img-insights-connection-sat.png +0 -0
- data/vendor/assets/images/images/img-insights-connection.png +0 -0
- data/vendor/assets/images/images/img-sat5-step2-admin.png +0 -0
- data/vendor/assets/images/images/img-sat5-step3-completed.png +0 -0
- data/vendor/assets/images/images/img-sat5-step3-pending.png +0 -0
- data/vendor/assets/images/images/img-sat5-step3-setup.png +0 -0
- data/vendor/assets/images/images/img-sat5-step5-overview.png +0 -0
- data/vendor/assets/images/images/img-sat5-step5-reports.png +0 -0
- data/vendor/assets/images/images/img-sat5-step5-systems.png +0 -0
- data/vendor/assets/images/images/img-sat6-step2.jpg +0 -0
- data/vendor/assets/images/images/img-sat6-step3.jpg +0 -0
- data/vendor/assets/images/images/img-sat6-step3.png +0 -0
- data/vendor/assets/images/images/img-sat6-step4.jpg +0 -0
- data/vendor/assets/images/images/img-sat6-step5a.jpg +0 -0
- data/vendor/assets/images/images/img-sat6-step5b.jpg +0 -0
- data/vendor/assets/images/images/img-sat6-step5c.jpg +0 -0
- data/vendor/assets/images/images/img-sat6-step5d.jpg +0 -0
- data/vendor/assets/images/images/keynote-snap.jpg +0 -0
- data/vendor/assets/images/images/keynote-snap.png +0 -0
- data/vendor/assets/images/images/splash-gettingstarted.jpg +0 -0
- data/vendor/assets/images/images/splash-learnmore.jpg +0 -0
- data/vendor/assets/images/images/splash-security.jpg +0 -0
- data/vendor/assets/javascripts/angular/angular.js +20131 -0
- data/vendor/assets/javascripts/redhat_access/redhat_access_angular_ui-deps.js +14103 -0
- data/vendor/assets/javascripts/redhat_access/redhat_access_angular_ui.js +7854 -0
- data/vendor/assets/javascripts/telemetry/insights.js +39 -0
- data/vendor/assets/stylesheets/redhat_access/redhat_access_angular_ui-deps.css +11 -0
- data/vendor/assets/stylesheets/redhat_access/redhat_access_angular_ui.css +1 -0
- data/vendor/assets/stylesheets/telemetry/sat6.css +18 -0
- metadata +341 -0
data/Rakefile
ADDED
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
#!/usr/bin/env rake
|
|
2
|
+
begin
|
|
3
|
+
require 'bundler/setup'
|
|
4
|
+
rescue LoadError
|
|
5
|
+
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
|
6
|
+
end
|
|
7
|
+
begin
|
|
8
|
+
require 'rdoc/task'
|
|
9
|
+
rescue LoadError
|
|
10
|
+
require 'rdoc/rdoc'
|
|
11
|
+
require 'rake/rdoctask'
|
|
12
|
+
RDoc::Task = Rake::RDocTask
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
RDoc::Task.new(:rdoc) do |rdoc|
|
|
16
|
+
rdoc.rdoc_dir = 'rdoc'
|
|
17
|
+
rdoc.title = 'RedhatAccess'
|
|
18
|
+
rdoc.options << '--line-numbers'
|
|
19
|
+
rdoc.rdoc_files.include('README.rdoc')
|
|
20
|
+
rdoc.rdoc_files.include('lib/**/*.rb')
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
APP_RAKEFILE = File.expand_path("../test/dummy/Rakefile", __FILE__)
|
|
24
|
+
load 'rails/tasks/engine.rake'
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
Bundler::GemHelper.install_tasks
|
|
29
|
+
|
|
30
|
+
require 'rake/testtask'
|
|
31
|
+
|
|
32
|
+
#----Temp lifted from https://github.com/ejholmes/sprockets-gem-paths ....#
|
|
33
|
+
def self.rubygems_latest_specs
|
|
34
|
+
# If newer Rubygems
|
|
35
|
+
if ::Gem::Specification.respond_to? :latest_specs
|
|
36
|
+
::Gem::Specification.latest_specs
|
|
37
|
+
else
|
|
38
|
+
::Gem.source_index.latest_specs
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def append_gem_paths env
|
|
43
|
+
try_paths = [
|
|
44
|
+
%w{ assets },
|
|
45
|
+
%w{ app },
|
|
46
|
+
%w{ app assets },
|
|
47
|
+
%w{ vendor },
|
|
48
|
+
%w{ vendor assets },
|
|
49
|
+
%w{ lib },
|
|
50
|
+
%w{ lib assets }
|
|
51
|
+
].inject([]) do |sum, v|
|
|
52
|
+
sum + [
|
|
53
|
+
File.join(v, 'javascripts'),
|
|
54
|
+
File.join(v, 'stylesheets'),
|
|
55
|
+
File.join(v, 'images'),
|
|
56
|
+
File.join(v, 'fonts')
|
|
57
|
+
]
|
|
58
|
+
end
|
|
59
|
+
(rubygems_latest_specs.map(&:full_gem_path)).each do |root_path|
|
|
60
|
+
try_paths.map {|p| File.join(root_path, p) }.
|
|
61
|
+
select {|p| File.directory?(p) }.
|
|
62
|
+
each {|path| env.append_path(path) }
|
|
63
|
+
end
|
|
64
|
+
end
|
|
65
|
+
#-----end lift
|
|
66
|
+
|
|
67
|
+
Rake::TestTask.new(:test) do |t|
|
|
68
|
+
t.libs << 'lib'
|
|
69
|
+
t.libs << 'test'
|
|
70
|
+
t.pattern = 'test/**/*_test.rb'
|
|
71
|
+
t.verbose = false
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
desc 'Compile stand alone engine assets'
|
|
75
|
+
|
|
76
|
+
task 'a:c' do
|
|
77
|
+
#Alias for commandline execution
|
|
78
|
+
Rake::Task['assets:precompile:engine'].invoke
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
task 'assets:precompile:engine' do
|
|
82
|
+
require 'sprockets'
|
|
83
|
+
require 'sprockets/railtie'
|
|
84
|
+
require 'uglifier'
|
|
85
|
+
require 'sass/rails/compressor'
|
|
86
|
+
require 'angular-rails-templates'
|
|
87
|
+
Sprockets::Engines #force autoloading
|
|
88
|
+
Sprockets.register_engine '.html', AngularRailsTemplates::Template
|
|
89
|
+
|
|
90
|
+
precompile = [
|
|
91
|
+
'redhat_access/application.js',
|
|
92
|
+
'redhat_access/application.css',
|
|
93
|
+
'proactive_support/application.js',
|
|
94
|
+
'insights/application.js',
|
|
95
|
+
'insights/application.css'
|
|
96
|
+
]
|
|
97
|
+
|
|
98
|
+
env = Sprockets::Environment.new(RedhatAccess::Engine.root)
|
|
99
|
+
env.js_compressor = Uglifier.new(:mangle=>false)
|
|
100
|
+
env.css_compressor = Sass::Rails::CssCompressor.new
|
|
101
|
+
|
|
102
|
+
paths = [
|
|
103
|
+
'app/assets/stylesheets',
|
|
104
|
+
'app/assets/javascripts',
|
|
105
|
+
'vendor/assets/javascripts',
|
|
106
|
+
'vendor/assets/stylesheets'
|
|
107
|
+
]
|
|
108
|
+
|
|
109
|
+
paths.each do |path|
|
|
110
|
+
env.append_path(path)
|
|
111
|
+
end
|
|
112
|
+
append_gem_paths(env)
|
|
113
|
+
|
|
114
|
+
target = File.join(RedhatAccess::Engine.root, 'public', 'assets')
|
|
115
|
+
rm_rf target
|
|
116
|
+
compiler = Sprockets::StaticCompiler.new(env,
|
|
117
|
+
target,
|
|
118
|
+
precompile,
|
|
119
|
+
:manifest_path => File.join(target),
|
|
120
|
+
:digest => true,
|
|
121
|
+
:manifest => true)
|
|
122
|
+
puts 'Compiling assets'
|
|
123
|
+
compiler.compile
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
# task 'build' do
|
|
127
|
+
# Rake::Task['assets:precompile:engine'].invoke
|
|
128
|
+
# gem build 'redhat_access.gemspec'
|
|
129
|
+
# end
|
|
130
|
+
|
|
131
|
+
task :default => :test
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
(function() {
|
|
2
|
+
'use strict';
|
|
3
|
+
angular.module('RedhatAccessInsights', [
|
|
4
|
+
'ui.router',
|
|
5
|
+
'ui.bootstrap',
|
|
6
|
+
'insights',
|
|
7
|
+
'templates'
|
|
8
|
+
])
|
|
9
|
+
.config(['$httpProvider', '$stateProvider', '$urlRouterProvider', '$locationProvider', '$provide', 'InsightsConfigProvider', '$injector',
|
|
10
|
+
function($httpProvider, $stateProvider, $urlRouterProvider, $locationProvider, $provide, InsightsConfigProvider, $injector) {
|
|
11
|
+
$httpProvider.defaults.headers.common = {
|
|
12
|
+
'X-CSRF-TOKEN': $('meta[name=csrf-token]').attr('content')
|
|
13
|
+
};
|
|
14
|
+
$provide.factory('AuthInterceptor', ['$injector',
|
|
15
|
+
function($injector) {
|
|
16
|
+
return {
|
|
17
|
+
responseError: function(response) {
|
|
18
|
+
var $q = $injector.get('$q');
|
|
19
|
+
var $window = $injector.get('$window');
|
|
20
|
+
if (response.status === 401) {
|
|
21
|
+
$window.location.reload();
|
|
22
|
+
} else
|
|
23
|
+
if (response.status === 403) {
|
|
24
|
+
var message = 'You are not authorized to perform this action.';
|
|
25
|
+
response.data.errors = [message];
|
|
26
|
+
response.data.displayMessage = message;
|
|
27
|
+
$window.location.reload();
|
|
28
|
+
}
|
|
29
|
+
return $q.reject(response);
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
]);
|
|
34
|
+
$httpProvider.interceptors.push('AuthInterceptor');
|
|
35
|
+
$stateProvider.state('manage', {
|
|
36
|
+
url: '/manage',
|
|
37
|
+
templateUrl: '/redhat_access/insights/templates/configuration', //TODO HACK!
|
|
38
|
+
controller: 'ConfigurationCtrl'
|
|
39
|
+
});
|
|
40
|
+
$stateProvider.state('help', {
|
|
41
|
+
url: '/help',
|
|
42
|
+
templateUrl: '/redhat_access/insights/templates/help' //TODO HACK
|
|
43
|
+
});
|
|
44
|
+
$stateProvider.state('serviceerror', {
|
|
45
|
+
url: '/proxyerror',
|
|
46
|
+
templateUrl: '/redhat_access/insights/templates/error' //TODO HACK
|
|
47
|
+
});
|
|
48
|
+
$urlRouterProvider.otherwise('/overview');
|
|
49
|
+
$locationProvider.html5Mode(true);
|
|
50
|
+
|
|
51
|
+
// Insights UI configuration
|
|
52
|
+
InsightsConfigProvider.setApiPrefix('/redhat_access/r/insights/view/api/');
|
|
53
|
+
InsightsConfigProvider.setCanUnregisterSystems(REDHAT_ACCESS_SETTINGS.Insights.canUnregisterSystems);
|
|
54
|
+
InsightsConfigProvider.setCanIgnoreRules(REDHAT_ACCESS_SETTINGS.Insights.canIgnoreRules);
|
|
55
|
+
InsightsConfigProvider.setGettingStartedLink('https://access.redhat.com/insights/getting-started/satellite/6/');
|
|
56
|
+
InsightsConfigProvider.setAllowExport(true);
|
|
57
|
+
}
|
|
58
|
+
]).value('SAT_CONFIG', {
|
|
59
|
+
enableBasicAuth: REDHAT_ACCESS_SETTINGS.Insights.allowBasicAuth,
|
|
60
|
+
isOrgSelected: REDHAT_ACCESS_SETTINGS.Insights.isOrgSelected,
|
|
61
|
+
isSubscribedToRedhat: REDHAT_ACCESS_SETTINGS.Insights.isSubscribedToRedhat,
|
|
62
|
+
isOrgDisconnected: REDHAT_ACCESS_SETTINGS.Insights.isOrgDisconnected,
|
|
63
|
+
}).value('currentLocale', REDHAT_ACCESS_SETTINGS.currentLocale);
|
|
64
|
+
})();
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/* Copyright 2015 Red Hat, Inc.
|
|
2
|
+
*
|
|
3
|
+
* This software is licensed to you under the GNU General Public
|
|
4
|
+
* License as published by the Free Software Foundation; either version
|
|
5
|
+
* 2 of the License (GPLv2) or (at your option) any later version.
|
|
6
|
+
* There is NO WARRANTY for this software, express or implied,
|
|
7
|
+
* including the implied warranties of MERCHANTABILITY,
|
|
8
|
+
* NON-INFRINGEMENT, or FITNESS FOR A PARTICULAR PURPOSE. You should
|
|
9
|
+
* have received a copy of GPLv2 along with this software; if not, see
|
|
10
|
+
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
|
|
11
|
+
*
|
|
12
|
+
*/
|
|
13
|
+
//= require "telemetry/insights"
|
|
14
|
+
//= require "angular-rails-templates"
|
|
15
|
+
//= require_tree ./views
|
|
16
|
+
//= require "insights/app.module"
|
|
17
|
+
//= require "insights/configuration.service"
|
|
18
|
+
//= require "insights/configuration.controller"
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/*global angular, $scope */
|
|
2
|
+
|
|
3
|
+
(function() {
|
|
4
|
+
'use strict';
|
|
5
|
+
|
|
6
|
+
angular.module('RedhatAccessInsights')
|
|
7
|
+
.controller('ConfigurationCtrl', ['$scope', '$http', 'ConfigurationService', 'SAT_CONFIG',
|
|
8
|
+
function($scope, $http, ConfigurationService, SAT_CONFIG) {
|
|
9
|
+
$scope.loading = true;
|
|
10
|
+
$scope.accountLoading = true;
|
|
11
|
+
$scope.env = {
|
|
12
|
+
enableBasicAuth: SAT_CONFIG.enableBasicAuth
|
|
13
|
+
};
|
|
14
|
+
$scope.config = {};
|
|
15
|
+
$scope.portalAccount = {};
|
|
16
|
+
$scope.load = function() {
|
|
17
|
+
ConfigurationService.getConfig().success(function(data) {
|
|
18
|
+
//$scope.index();
|
|
19
|
+
$scope.loading = false;
|
|
20
|
+
$scope.config = data;
|
|
21
|
+
$scope.originalConfig = angular.copy(data);
|
|
22
|
+
//console.log("Loaded...");
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
$scope.update = function() {
|
|
26
|
+
$scope.loading = true;
|
|
27
|
+
ConfigurationService.postConfig($scope.config).success(function() {
|
|
28
|
+
//$scope.index();
|
|
29
|
+
$scope.loading = false;
|
|
30
|
+
$scope.originalConfig = angular.copy($scope.config);
|
|
31
|
+
$scope.getAccountInfo();
|
|
32
|
+
}).error(function(response) {
|
|
33
|
+
$scope.getAccountInfo();
|
|
34
|
+
})
|
|
35
|
+
|
|
36
|
+
};
|
|
37
|
+
$scope.disableUpdateButton = function() {
|
|
38
|
+
return $scope.loading || angular.equals($scope.config, $scope.originalConfig);
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
$scope.getAccountInfo = function() {
|
|
42
|
+
$scope.accountLoading = true;
|
|
43
|
+
ConfigurationService.getAccountInfo().success(function(data) {
|
|
44
|
+
$scope.portalAccount = data;
|
|
45
|
+
$scope.accountLoading = false;
|
|
46
|
+
}).
|
|
47
|
+
error(function(data, status, headers, config) {
|
|
48
|
+
$scope.accountLoading = false;
|
|
49
|
+
$scope.portalAccount = {
|
|
50
|
+
connectionStatus: data.connectionStatus,
|
|
51
|
+
account: 'Unknown',
|
|
52
|
+
company: 'Unknown'
|
|
53
|
+
}
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
$scope.showConnectionStatus = function() {
|
|
58
|
+
return $scope.originalConfig ? $scope.originalConfig.enable_telemetry : false ;
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
$scope.load();
|
|
63
|
+
$scope.getAccountInfo();
|
|
64
|
+
}
|
|
65
|
+
]);
|
|
66
|
+
}());
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/*global angular, $scope */
|
|
2
|
+
|
|
3
|
+
(function() {
|
|
4
|
+
'use strict';
|
|
5
|
+
|
|
6
|
+
var conf_url = '/redhat_access/telemetry_configuration';
|
|
7
|
+
|
|
8
|
+
angular.module('RedhatAccessInsights').factory('ConfigurationService', ['$http','InsightsConfig', function($http,InsightsConfig) {
|
|
9
|
+
|
|
10
|
+
var postConfig = function(data) {
|
|
11
|
+
return $http.put(conf_url, data);
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
var getConfig = function() {
|
|
15
|
+
return $http.get(conf_url);
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
var getAccountInfo = function(){
|
|
19
|
+
return $http.get(InsightsConfig.apiRoot + 'me');
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
return{
|
|
23
|
+
getConfig : getConfig,
|
|
24
|
+
postConfig : postConfig,
|
|
25
|
+
getAccountInfo : getAccountInfo
|
|
26
|
+
};
|
|
27
|
+
}]);
|
|
28
|
+
}());
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
<div class="section">
|
|
2
|
+
<div class="row margin-top">
|
|
3
|
+
<div class="col-sm-12">
|
|
4
|
+
<h1 class="page-title">Manage</h1>
|
|
5
|
+
</div>
|
|
6
|
+
</div>
|
|
7
|
+
<div class="row row-short">
|
|
8
|
+
<div class="col-sm-12">
|
|
9
|
+
<div class="panel panel-default">
|
|
10
|
+
<div class="panel-heading">Access Insights Service Configuration</div>
|
|
11
|
+
<div>
|
|
12
|
+
<i ng-show="loading" class="fa fa-spinner fa-spin fa-1-5x"></i>
|
|
13
|
+
</div>
|
|
14
|
+
<div class="panel-body">
|
|
15
|
+
<form class="form-horizontal">
|
|
16
|
+
<div class="form-group">
|
|
17
|
+
<label for="rha-insights-enabled" class="col-lg-3 control-label">Enable Service </label>
|
|
18
|
+
<div class="col-lg-6">
|
|
19
|
+
<div class="checkbox">
|
|
20
|
+
<input id="rha-insights-enabled" type="checkbox" ng-model="config.enable_telemetry" ng-disabled="loading" />
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
23
|
+
</div>
|
|
24
|
+
<div class="form-group" ng-show="env.enableBasicAuth">
|
|
25
|
+
<label for="rha-insights-password" class="col-lg-3 control-label">Customer Portal Username</label>
|
|
26
|
+
<div class="col-lg-6">
|
|
27
|
+
<input id="rha-insights-password" type="text" size="32" ng-model="config.portal_user" ng-disabled="loading" class="form-control" />
|
|
28
|
+
</div>
|
|
29
|
+
</div>
|
|
30
|
+
<div class="form-group" ng-show="env.enableBasicAuth">
|
|
31
|
+
<label for="rha-insights-password" class="col-lg-3 control-label">Customer Portal Password</label>
|
|
32
|
+
<div class="col-lg-6">
|
|
33
|
+
<input id="rha-insights-password" type="password" size="32" ng-model="config.portal_password" ng-disabled="loading" class="form-control" />
|
|
34
|
+
</div>
|
|
35
|
+
</div>
|
|
36
|
+
<div class="form-group">
|
|
37
|
+
<div class="col-lg-offset-3 col-lg-6">
|
|
38
|
+
<input type="submit" value="Save" ng-click="update()" ng-hide="disableUpdateButton()" class="btn btn-success" />
|
|
39
|
+
</div>
|
|
40
|
+
</div>
|
|
41
|
+
</form>
|
|
42
|
+
</div>
|
|
43
|
+
</div>
|
|
44
|
+
<div class="panel panel-default" ng-show="showConnectionStatus()">
|
|
45
|
+
<div class="panel-heading">Insights Engine Connection</div>
|
|
46
|
+
<div>
|
|
47
|
+
<i ng-show="accountLoading" class="fa fa-spinner fa-spin fa-1-5x"></i>
|
|
48
|
+
</div>
|
|
49
|
+
<div class="panel-body">
|
|
50
|
+
<form class="form-horizontal">
|
|
51
|
+
<div class="form-group">
|
|
52
|
+
<label class="control-label col-sm-2" for="connectionStatus">Status:</label>
|
|
53
|
+
<div class="col-sm-10">
|
|
54
|
+
<p class="form-control-static"> {{portalAccount.connectionStatus}} </p>
|
|
55
|
+
</div>
|
|
56
|
+
</div>
|
|
57
|
+
<div class="form-group">
|
|
58
|
+
<label class="control-label col-sm-2" for="account">Account Number:</label>
|
|
59
|
+
<div class="col-sm-10">
|
|
60
|
+
<p class="form-control-static">{{portalAccount.account}}</p>
|
|
61
|
+
</div>
|
|
62
|
+
</div>
|
|
63
|
+
<div class="form-group" ng-show="portalAccount.company">
|
|
64
|
+
<label class="control-label col-sm-2" for="company">Company:</label>
|
|
65
|
+
<div class="col-sm-10">
|
|
66
|
+
<p class="form-control-static"> {{portalAccount.company}} </p>
|
|
67
|
+
</div>
|
|
68
|
+
</div>
|
|
69
|
+
<div class="form-group" ng-show="portalAccount.orgId">
|
|
70
|
+
<label class="control-label col-sm-2" for="orgid">Organization ID:</label>
|
|
71
|
+
<div class="col-sm-10">
|
|
72
|
+
<p class="form-control-static"> {{portalAccount.orgId}} </p>
|
|
73
|
+
</div>
|
|
74
|
+
</div>
|
|
75
|
+
<div class="form-group">
|
|
76
|
+
<div class="col-sm-offset-2 col-sm-2">
|
|
77
|
+
<input type="submit" value="Check Connection" ng-click="getAccountInfo()" ng-hide="accountLoading" class="btn btn-success" />
|
|
78
|
+
</div>
|
|
79
|
+
</div>
|
|
80
|
+
</form>
|
|
81
|
+
</div>
|
|
82
|
+
</div>
|
|
83
|
+
</div>
|
|
84
|
+
</div>
|
|
85
|
+
</div>
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
<div class="section">
|
|
2
|
+
<section>
|
|
3
|
+
<h3>
|
|
4
|
+
<i ng-class="severityClass" class="fa i-error fa-times-circle"></i>
|
|
5
|
+
Error communicating with Red Hat Access Insights Service
|
|
6
|
+
</h3>
|
|
7
|
+
<p></p>
|
|
8
|
+
<p>
|
|
9
|
+
Please verify that you have a valid subscription manifest in your organization and that your Satellite server is configured to allow HTTPS communications to <i>cert-api.redhat.access.com</i>.
|
|
10
|
+
</p>
|
|
11
|
+
|
|
12
|
+
</section>
|
|
13
|
+
</div>
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
<div class="section">
|
|
2
|
+
<section>
|
|
3
|
+
<h3>
|
|
4
|
+
General Information
|
|
5
|
+
</h3>
|
|
6
|
+
<p>
|
|
7
|
+
For an overview of the Red Hat Insights service, please refer to the <a href="https://access.redhat.com/insights/info/" target="_blank">general information page</a>.
|
|
8
|
+
</p>
|
|
9
|
+
<h3>
|
|
10
|
+
Getting Started
|
|
11
|
+
</h3>
|
|
12
|
+
<p>
|
|
13
|
+
For help with configuring and enabling the Red Hat Insights service in Satellite 6, please refer to the <a href="https://access.redhat.com/insights/getting-started/satellite/6/" target="_blank">Getting Started Guide</a>.
|
|
14
|
+
</p>
|
|
15
|
+
</section>
|
|
16
|
+
</div>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/* Copyright 2013 Red Hat, Inc.
|
|
2
|
+
*
|
|
3
|
+
* This software is licensed to you under the GNU General Public
|
|
4
|
+
* License as published by the Free Software Foundation; either version
|
|
5
|
+
* 2 of the License (GPLv2) or (at your option) any later version.
|
|
6
|
+
* There is NO WARRANTY for this software, express or implied,
|
|
7
|
+
* including the implied warranties of MERCHANTABILITY,
|
|
8
|
+
* NON-INFRINGEMENT, or FITNESS FOR A PARTICULAR PURPOSE. You should
|
|
9
|
+
* have received a copy of GPLv2 along with this software; if not, see
|
|
10
|
+
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
|
|
11
|
+
*/
|
|
12
|
+
//= require "angular/angular"
|
|
13
|
+
//= require "redhat_access/redhat_access_angular_ui-deps"
|
|
14
|
+
//= require "redhat_access/redhat_access_angular_ui"
|
|
15
|
+
//= require "redhat_access/redhat_access.module"
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright 2014 Red Hat, Inc.
|
|
3
|
+
*
|
|
4
|
+
* This software is licensed to you under the GNU General Public
|
|
5
|
+
* License as published by the Free Software Foundation; either version
|
|
6
|
+
* 2 of the License (GPLv2) or (at your option) any later version.
|
|
7
|
+
* There is NO WARRANTY for this software, express or implied,
|
|
8
|
+
* including the implied warranties of MERCHANTABILITY,
|
|
9
|
+
* NON-INFRINGEMENT, or FITNESS FOR A PARTICULAR PURPOSE. You should
|
|
10
|
+
* have received a copy of GPLv2 along with this software; if not, see
|
|
11
|
+
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
*
|
|
16
|
+
*/
|
|
17
|
+
angular.module('RedhatAccess', [
|
|
18
|
+
'ngSanitize',
|
|
19
|
+
'RedhatAccess.header',
|
|
20
|
+
'RedhatAccess.template',
|
|
21
|
+
'RedhatAccess.security',
|
|
22
|
+
'RedhatAccess.search',
|
|
23
|
+
'RedhatAccess.cases',
|
|
24
|
+
'RedhatAccess.logViewer',
|
|
25
|
+
'ui.router',
|
|
26
|
+
'ui.bootstrap'
|
|
27
|
+
|
|
28
|
+
]).config(['$urlRouterProvider',
|
|
29
|
+
'$httpProvider', '$locationProvider', '$provide',
|
|
30
|
+
function($urlRouterProvider, $httpProvider, $locationProvider, $provide) {
|
|
31
|
+
$urlRouterProvider.otherwise('/search');
|
|
32
|
+
$httpProvider.defaults.headers.common = {
|
|
33
|
+
'X-CSRF-TOKEN': $('meta[name=csrf-token]').attr('content')
|
|
34
|
+
};
|
|
35
|
+
$provide.factory('AuthInterceptor', ['$injector',
|
|
36
|
+
function($injector) {
|
|
37
|
+
return {
|
|
38
|
+
responseError: function(response) {
|
|
39
|
+
var $q = $injector.get('$q');
|
|
40
|
+
var $window = $injector.get('$window');
|
|
41
|
+
if (response.status === 401) {
|
|
42
|
+
$window.location.reload();
|
|
43
|
+
} else
|
|
44
|
+
if (response.status === 403) {
|
|
45
|
+
var message = 'You are not authorized to perform this action.';
|
|
46
|
+
response.data.errors = [message];
|
|
47
|
+
response.data.displayMessage = message;
|
|
48
|
+
}
|
|
49
|
+
return $q.reject(response);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
]);
|
|
54
|
+
$httpProvider.interceptors.push('AuthInterceptor');
|
|
55
|
+
$locationProvider.html5Mode(true);
|
|
56
|
+
}
|
|
57
|
+
]).value('LOGIN_VIEW_CONFIG', { verbose: true
|
|
58
|
+
}).value('SECURITY_CONFIG', {
|
|
59
|
+
displayLoginStatus: true,
|
|
60
|
+
autoCheckLogin: true,
|
|
61
|
+
loginURL: '',
|
|
62
|
+
logoutURL: '',
|
|
63
|
+
forceLogin: true
|
|
64
|
+
}).value('NEW_CASE_CONFIG', {
|
|
65
|
+
'showRecommendations': true,
|
|
66
|
+
'showAttachments': true,
|
|
67
|
+
'showServerSideAttachments': false
|
|
68
|
+
}).value('EDIT_CASE_CONFIG', {
|
|
69
|
+
'showDetails': true,
|
|
70
|
+
'showDescription': true,
|
|
71
|
+
'showBugzillas': true,
|
|
72
|
+
'showAttachments': true,
|
|
73
|
+
'showRecommendations': true,
|
|
74
|
+
'showComments': true,
|
|
75
|
+
'showServerSideAttachments': false,
|
|
76
|
+
'showEmailNotifications': true
|
|
77
|
+
}).run(['COMMON_CONFIG',
|
|
78
|
+
'$http', 'securityService', 'hideMachinesDropdown', 'NEW_DEFAULTS', 'currentLocale', 'gettextCatalog',
|
|
79
|
+
function(COMMON_CONFIG, $http, securityService, hideMachinesDropdown, NEW_DEFAULTS, currentLocale, gettextCatalog) {
|
|
80
|
+
COMMON_CONFIG.showTitle = true;
|
|
81
|
+
hideMachinesDropdown.value = true;
|
|
82
|
+
NEW_DEFAULTS.product = "Red Hat Satellite or Proxy"; //TODO read from server config
|
|
83
|
+
NEW_DEFAULTS.version = "6.1"; //TODO read from server config
|
|
84
|
+
gettextCatalog.currentLanguage = currentLocale;
|
|
85
|
+
//console.log('Setting language to ' + currentLocale);
|
|
86
|
+
// $http({
|
|
87
|
+
// method: 'GET',
|
|
88
|
+
// url: 'configuration'
|
|
89
|
+
// }).
|
|
90
|
+
// success(function (data, status, headers, config) {
|
|
91
|
+
// if (data) {
|
|
92
|
+
// if (data.strataHostName) {
|
|
93
|
+
// strata.setStrataHostname(data.strataHostName);
|
|
94
|
+
// } else {
|
|
95
|
+
// console.log("Invalid configuration object " + data);
|
|
96
|
+
// }
|
|
97
|
+
// if (data.strataClientId) {
|
|
98
|
+
// strata.setRedhatClientID(data.strataClientId);
|
|
99
|
+
// } else {
|
|
100
|
+
// strata.setRedhatClientID("foreman-strata-client");
|
|
101
|
+
// console.log("Invalid configuration object " + data);
|
|
102
|
+
// }
|
|
103
|
+
// }
|
|
104
|
+
// securityService.validateLogin(false).then(
|
|
105
|
+
// function (authedUser) {
|
|
106
|
+
// console.log("logged in user is " + authedUser)
|
|
107
|
+
// },
|
|
108
|
+
// function (error) {
|
|
109
|
+
// console.log("Unable to get user credentials");
|
|
110
|
+
// });
|
|
111
|
+
// }).
|
|
112
|
+
// error(function (data, status, headers, config) {
|
|
113
|
+
// console.log("Failed to read app configuration");
|
|
114
|
+
// strata.setRedhatClientID("foreman-strata-client");
|
|
115
|
+
// securityService.validateLogin(false).then(
|
|
116
|
+
// function (authedUser) {
|
|
117
|
+
// console.log("logged in user is " + authedUser)
|
|
118
|
+
// },
|
|
119
|
+
// function (error) {
|
|
120
|
+
// console.log("Unable to get user credentials");
|
|
121
|
+
// });
|
|
122
|
+
// });
|
|
123
|
+
}
|
|
124
|
+
]);
|
|
125
|
+
|
|
126
|
+
//angular.module('RedhatAccess.logViewer').value('hideMachinesDropdown.value);
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This is a manifest file that'll be compiled into application.css, which will include all the files
|
|
3
|
+
* listed below.
|
|
4
|
+
*
|
|
5
|
+
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
|
|
6
|
+
* or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
|
|
7
|
+
*
|
|
8
|
+
* You're free to add application-wide styles to this file and they'll appear at the top of the
|
|
9
|
+
* compiled file, but it's generally better to create a new file per style scope.
|
|
10
|
+
*
|
|
11
|
+
*= require_self
|
|
12
|
+
*= require telemetry/sat6.css
|
|
13
|
+
*= require insights/insights.css
|
|
14
|
+
*/
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
.insights-main-content .alert {
|
|
2
|
+
font-weight: 500;
|
|
3
|
+
padding: 7px;
|
|
4
|
+
font-size: 12px;
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
.insights-main-content .alert.alert-danger {
|
|
8
|
+
background: #FFF;
|
|
9
|
+
color: #C00;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.alert-dismissable .close {
|
|
13
|
+
right: auto;
|
|
14
|
+
top: auto;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
.insights-main-content .legend {
|
|
18
|
+
margin-left: 0px;
|
|
19
|
+
width : auto;
|
|
20
|
+
height :auto;
|
|
21
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This is a manifest file that'll be compiled into application.css, which will include all the files
|
|
3
|
+
* listed below.
|
|
4
|
+
*
|
|
5
|
+
* Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets,
|
|
6
|
+
* or vendor/assets/stylesheets of plugins, if any, can be referenced here using a relative path.
|
|
7
|
+
*
|
|
8
|
+
* You're free to add application-wide styles to this file and they'll appear at the top of the
|
|
9
|
+
* compiled file, but it's generally better to create a new file per style scope.
|
|
10
|
+
*
|
|
11
|
+
*= require_self
|
|
12
|
+
*= require redhat_access/redhat_access_angular_ui-deps.css
|
|
13
|
+
*= require redhat_access/redhat_access_angular_ui.css
|
|
14
|
+
*/
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
require_dependency "redhat_access/application_controller"
|
|
2
|
+
|
|
3
|
+
module RedhatAccess
|
|
4
|
+
class AnalyticsDashboardController < ApplicationController
|
|
5
|
+
def index
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def template
|
|
9
|
+
render template: "redhat_access/analytics_dashboard/#{params[:page]}", :layout => false
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
end
|