zuora_connect 2.0.5zz → 2.0.5
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 +4 -4
- data/app/controllers/zuora_connect/static_controller.rb +17 -4
- data/app/helpers/zuora_connect/application_helper.rb +0 -10
- data/app/models/zuora_connect/app_instance_base.rb +40 -75
- data/app/models/zuora_connect/zuora_user.rb +0 -1
- data/app/views/zuora_connect/static/invalid_app_instance_error.html.erb +65 -0
- data/app/views/zuora_connect/static/invalid_launch_request.html.erb +81 -0
- data/app/views/zuora_connect/static/launch.html.erb +75 -74
- data/app/views/zuora_connect/static/permission_error.html.erb +80 -0
- data/app/views/zuora_connect/static/session_error.html.erb +63 -0
- data/config/routes.rb +2 -0
- data/lib/resque/plugins/custom_logger.rb +1 -1
- data/lib/zuora_connect/configuration.rb +3 -3
- data/lib/zuora_connect/controllers/helpers.rb +180 -234
- data/lib/zuora_connect/engine.rb +1 -2
- data/lib/zuora_connect/railtie.rb +6 -10
- data/lib/zuora_connect/version.rb +1 -1
- data/lib/zuora_connect/views/helpers.rb +9 -0
- data/lib/zuora_connect.rb +42 -59
- metadata +54 -54
- data/app/views/zuora_connect/static/error_handled.html.erb +0 -77
- data/app/views/zuora_connect/static/error_unhandled.erb +0 -76
- data/config/initializers/patches.rb +0 -9
- data/db/migrate/20190520232222_add_unique_index.rb +0 -6
- data/lib/middleware/json_parse_errors.rb +0 -22
@@ -1,79 +1,80 @@
|
|
1
|
-
<html>
|
2
|
-
<
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
}
|
1
|
+
<html><head>
|
2
|
+
<title>Select Task ID</title>
|
3
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
4
|
+
<style>
|
5
|
+
body {
|
6
|
+
background-color: #EFEFEF;
|
7
|
+
color: #2E2F30;
|
8
|
+
text-align: center;
|
9
|
+
font-family: arial, sans-serif;
|
10
|
+
margin: 0;
|
11
|
+
}
|
13
12
|
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
13
|
+
div.dialog {
|
14
|
+
width: 95%;
|
15
|
+
max-width: 33em;
|
16
|
+
margin: 4em auto 0;
|
17
|
+
}
|
19
18
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
19
|
+
div.dialog > div {
|
20
|
+
margin: 0 0 1em;
|
21
|
+
border: 1px solid #CCC;
|
22
|
+
border-right-color: #999;
|
23
|
+
border-left-color: #999;
|
24
|
+
border-bottom-color: #BBB;
|
25
|
+
border-top: #3D4B5A solid 4px;
|
26
|
+
border-top-left-radius: 9px;
|
27
|
+
border-top-right-radius: 9px;
|
28
|
+
border-bottom-left-radius: 9px;
|
29
|
+
border-bottom-right-radius: 9px;
|
30
|
+
background-color: white;
|
31
|
+
padding: 7px 12% 0;
|
32
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
33
|
+
}
|
35
34
|
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
35
|
+
h1 {
|
36
|
+
font-size: 100%;
|
37
|
+
color: #3D4B5A;
|
38
|
+
line-height: 1.5em;
|
39
|
+
}
|
41
40
|
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
41
|
+
|
42
|
+
div.launch_button {
|
43
|
+
margin: 1em 0 1em;
|
44
|
+
margin-right: auto;
|
45
|
+
margin-left: auto;
|
46
|
+
padding: 1em;
|
47
|
+
width: 300px;
|
48
|
+
font-size: 12pt;
|
49
|
+
font-weight: bold;
|
50
|
+
background-color: #F7F7F7;
|
51
|
+
border: 1px solid #CCC;
|
52
|
+
border-right-color: #999;
|
53
|
+
border-left-color: #999;
|
54
|
+
border-bottom-color: #999;
|
55
|
+
border-top-left-radius: 4px;
|
56
|
+
border-top-right-radius: 4px;
|
57
|
+
border-bottom-left-radius: 4px;
|
58
|
+
border-bottom-right-radius: 4px;
|
59
|
+
border-top-color: #999;
|
60
|
+
color: #666;
|
61
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
62
|
+
}
|
63
|
+
</style>
|
64
|
+
</head>
|
65
|
+
|
66
|
+
<body style='background: white;'>
|
67
|
+
<div class="dialog">
|
68
|
+
<div>
|
69
|
+
<h1>Please select the instance you would like to launch.</h1>
|
70
|
+
<% names.each do |id, name| %>
|
71
|
+
<div class="launch_button" >
|
72
|
+
<% label = name.present? ? "#{id} - #{name}" : id %>
|
73
|
+
<%= link_to label, root_path(app_instance_id: id) %>
|
74
|
+
</div>
|
75
|
+
<% end %>
|
77
76
|
</div>
|
78
|
-
</
|
79
|
-
|
77
|
+
</div>
|
78
|
+
|
79
|
+
|
80
|
+
</body></html>
|
@@ -0,0 +1,80 @@
|
|
1
|
+
<html><head>
|
2
|
+
<title>Select Task ID</title>
|
3
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
4
|
+
<style>
|
5
|
+
body {
|
6
|
+
background-color: #EFEFEF;
|
7
|
+
color: #2E2F30;
|
8
|
+
text-align: center;
|
9
|
+
font-family: arial, sans-serif;
|
10
|
+
margin: 0;
|
11
|
+
}
|
12
|
+
|
13
|
+
div.dialog {
|
14
|
+
width: 95%;
|
15
|
+
max-width: 33em;
|
16
|
+
margin: 4em auto 0;
|
17
|
+
}
|
18
|
+
|
19
|
+
div.dialog > div {
|
20
|
+
margin: 0 0 1em;
|
21
|
+
border: 1px solid #CCC;
|
22
|
+
border-right-color: #999;
|
23
|
+
border-left-color: #999;
|
24
|
+
border-bottom-color: #BBB;
|
25
|
+
border-top: #3D4B5A solid 4px;
|
26
|
+
border-top-left-radius: 9px;
|
27
|
+
border-top-right-radius: 9px;
|
28
|
+
border-bottom-left-radius: 9px;
|
29
|
+
border-bottom-right-radius: 9px;
|
30
|
+
background-color: white;
|
31
|
+
padding: 7px 12% 0;
|
32
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
33
|
+
}
|
34
|
+
|
35
|
+
h1 {
|
36
|
+
font-size: 100%;
|
37
|
+
color: #3D4B5A;
|
38
|
+
line-height: 1.5em;
|
39
|
+
}
|
40
|
+
|
41
|
+
|
42
|
+
div.launch_button {
|
43
|
+
margin: 1em 0 1em;
|
44
|
+
margin-right: auto;
|
45
|
+
margin-left: auto;
|
46
|
+
padding: 1em;
|
47
|
+
width: 300px;
|
48
|
+
font-size: 12pt;
|
49
|
+
font-weight: bold;
|
50
|
+
background-color: #F7F7F7;
|
51
|
+
border: 1px solid #CCC;
|
52
|
+
border-right-color: #999;
|
53
|
+
border-left-color: #999;
|
54
|
+
border-bottom-color: #999;
|
55
|
+
border-top-left-radius: 4px;
|
56
|
+
border-top-right-radius: 4px;
|
57
|
+
border-bottom-left-radius: 4px;
|
58
|
+
border-bottom-right-radius: 4px;
|
59
|
+
border-top-color: #999;
|
60
|
+
color: #666;
|
61
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
62
|
+
}
|
63
|
+
</style>
|
64
|
+
</head>
|
65
|
+
|
66
|
+
<body style='background: white;'>
|
67
|
+
<div class="dialog">
|
68
|
+
<div>
|
69
|
+
<h1>You currently don't have access to the deployed workflow instance.</h1>
|
70
|
+
<p style='text-align:left'>Please contact one of the below system administrators and have them give you access.</p>
|
71
|
+
<ul style='text-align:left'>
|
72
|
+
<% admins.each do |admin| %>
|
73
|
+
<li><%= admin.username %></li>
|
74
|
+
<% end %>
|
75
|
+
</ul>
|
76
|
+
</div>
|
77
|
+
</div>
|
78
|
+
|
79
|
+
|
80
|
+
</body></html>
|
@@ -0,0 +1,63 @@
|
|
1
|
+
<html><head>
|
2
|
+
<title>We're sorry, but something went wrong (500)</title>
|
3
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
4
|
+
<style>
|
5
|
+
body {
|
6
|
+
background-color: #EFEFEF;
|
7
|
+
color: #2E2F30;
|
8
|
+
text-align: center;
|
9
|
+
font-family: arial, sans-serif;
|
10
|
+
margin: 0;
|
11
|
+
}
|
12
|
+
|
13
|
+
div.dialog {
|
14
|
+
width: 95%;
|
15
|
+
max-width: 33em;
|
16
|
+
margin: 4em auto 0;
|
17
|
+
}
|
18
|
+
|
19
|
+
div.dialog > div {
|
20
|
+
border: 1px solid #CCC;
|
21
|
+
border-right-color: #999;
|
22
|
+
border-left-color: #999;
|
23
|
+
border-bottom-color: #BBB;
|
24
|
+
border-top: #B00100 solid 4px;
|
25
|
+
border-top-left-radius: 9px;
|
26
|
+
border-top-right-radius: 9px;
|
27
|
+
background-color: white;
|
28
|
+
padding: 7px 12% 0;
|
29
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
30
|
+
}
|
31
|
+
|
32
|
+
h1 {
|
33
|
+
font-size: 100%;
|
34
|
+
color: #730E15;
|
35
|
+
line-height: 1.5em;
|
36
|
+
}
|
37
|
+
|
38
|
+
div.dialog > p {
|
39
|
+
margin: 0 0 1em;
|
40
|
+
padding: 1em;
|
41
|
+
background-color: #F7F7F7;
|
42
|
+
border: 1px solid #CCC;
|
43
|
+
border-right-color: #999;
|
44
|
+
border-left-color: #999;
|
45
|
+
border-bottom-color: #999;
|
46
|
+
border-bottom-left-radius: 4px;
|
47
|
+
border-bottom-right-radius: 4px;
|
48
|
+
border-top-color: #DADADA;
|
49
|
+
color: #666;
|
50
|
+
box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
|
51
|
+
}
|
52
|
+
</style>
|
53
|
+
</head>
|
54
|
+
|
55
|
+
<body>
|
56
|
+
<!-- This file lives in public/500.html -->
|
57
|
+
<div class="dialog">
|
58
|
+
<div>
|
59
|
+
<h1>Session is invalid</h1>
|
60
|
+
</div>
|
61
|
+
<p>Please try relaunching the application from connect.zuora.com</p>
|
62
|
+
</div>
|
63
|
+
</body></html>
|
data/config/routes.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
ZuoraConnect::Engine.routes.draw do
|
2
2
|
get '/health' => 'static#health'
|
3
3
|
get '/internal/data' => 'static#metrics'
|
4
|
+
get '/invalid_session' => 'static#session_error', :as => :invalid_session
|
5
|
+
get '/invalid_instance' => "static#invalid_app_instance_error", :as => :invalid_instance
|
4
6
|
post '/initialize_app' => 'static#initialize_app'
|
5
7
|
|
6
8
|
namespace :api do
|
@@ -7,7 +7,7 @@ module Resque
|
|
7
7
|
module Plugins
|
8
8
|
module CustomLogger
|
9
9
|
def before_perform(*args)
|
10
|
-
Rails.logger.with_fields = { trace_id: SecureRandom.uuid, name: "RailsWorker"} if Rails.logger.class.to_s == 'Ougai::Logger'
|
10
|
+
Rails.logger.with_fields = { trace_id: SecureRandom.uuid, name: "RailsWorker"} if Rails.logger.class.to_s == 'Ougai::Logger'
|
11
11
|
case args.class.to_s
|
12
12
|
when "Array"
|
13
13
|
if args.first.class == Hash
|
@@ -3,11 +3,11 @@ module ZuoraConnect
|
|
3
3
|
|
4
4
|
attr_accessor :default_locale, :default_time_zone, :url, :mode, :delayed_job,:private_key, :additional_apartment_models
|
5
5
|
|
6
|
-
attr_accessor :enable_metrics, :telegraf_endpoint, :telegraf_debug, :custom_prometheus_update_block, :silencer_resque_finish, :blpop_queue
|
6
|
+
attr_accessor :enable_metrics, :telegraf_endpoint, :telegraf_debug, :custom_prometheus_update_block, :silencer_resque_finish, :blpop_queue, :app_access_permissions
|
7
7
|
|
8
8
|
attr_accessor :oauth_client_id, :oauth_client_secret, :oauth_client_redirect_uri
|
9
9
|
|
10
|
-
attr_accessor :dev_mode_logins, :dev_mode_options, :dev_mode_mode, :dev_mode_appinstance, :dev_mode_user, :dev_mode_pass, :dev_mode_admin, :dev_mode_secret_access_key,:dev_mode_access_key_id,:aws_region, :s3_bucket_name, :s3_folder_name
|
10
|
+
attr_accessor :dev_mode_logins, :dev_mode_options, :dev_mode_mode, :dev_mode_appinstance, :dev_mode_user, :dev_mode_pass, :dev_mode_admin, :dev_mode_secret_access_key,:dev_mode_access_key_id,:aws_region, :s3_bucket_name, :s3_folder_name
|
11
11
|
|
12
12
|
def initialize
|
13
13
|
@default_locale = :en
|
@@ -19,6 +19,7 @@ module ZuoraConnect
|
|
19
19
|
@additional_apartment_models = []
|
20
20
|
@silencer_resque_finish = true
|
21
21
|
@blpop_queue = false
|
22
|
+
@app_access_permissions = false
|
22
23
|
|
23
24
|
# Setting the app name for telegraf write
|
24
25
|
@enable_metrics = false
|
@@ -42,7 +43,6 @@ module ZuoraConnect
|
|
42
43
|
@aws_region = "us-west-2"
|
43
44
|
@s3_bucket_name = "rbm-apps"
|
44
45
|
@s3_folder_name = Rails.application.class.parent_name
|
45
|
-
@json_logging = Rails.env.to_s == 'development' ? false : true
|
46
46
|
end
|
47
47
|
|
48
48
|
def private_key
|