mno-enterprise-core 3.2.1 → 3.3.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 +4 -4
- data/app/controllers/mno_enterprise/application_controller.rb +5 -5
- data/app/helpers/mno_enterprise/image_helper.rb +32 -0
- data/app/models/mno_enterprise/app.rb +11 -2
- data/app/models/mno_enterprise/base_resource.rb +2 -0
- data/app/models/mno_enterprise/credit_card.rb +7 -4
- data/app/models/mno_enterprise/impac/dashboard.rb +4 -1
- data/app/models/mno_enterprise/impac/widget.rb +10 -4
- data/app/models/mno_enterprise/org_invite.rb +7 -3
- data/app/models/mno_enterprise/shared_entity.rb +17 -0
- data/app/models/mno_enterprise/user.rb +7 -2
- data/app/pdf/mno_enterprise/invoice_pdf.rb +176 -183
- data/app/views/system_notifications/email-change.html.erb +1 -1
- data/app/views/system_notifications/email-change.text.erb +1 -1
- data/config/initializers/audit_log.rb +28 -1
- data/config/locales/templates/components/en.yml +29 -4
- data/config/locales/templates/dashboard/en.yml +2 -2
- data/config/locales/templates/dashboard/marketplace/en.yml +5 -5
- data/config/locales/templates/dashboard/organization/en.yml +14 -8
- data/config/locales/templates/dashboard/organization/id.yml +4 -4
- data/config/locales/templates/dashboard/organization/zh.yml +4 -4
- data/config/locales/templates/dashboard/teams/en.yml +3 -3
- data/config/locales/templates/dashboard/teams/id.yml +3 -3
- data/config/locales/templates/dashboard/teams/zh.yml +3 -3
- data/config/locales/templates/onboarding/en.yml +45 -0
- data/config/locales/views/auth/confirmations/en.yml +5 -3
- data/config/locales/views/webhook/o_auth/providers/en.yml +2 -2
- data/lib/generators/mno_enterprise/install/install_generator.rb +19 -1
- data/lib/generators/mno_enterprise/install/templates/Procfile.dev +1 -0
- data/lib/generators/mno_enterprise/install/templates/config/initializers/mno_enterprise.rb +7 -50
- data/lib/generators/mno_enterprise/install/templates/config/newrelic.yml +3 -3
- data/lib/generators/mno_enterprise/install/templates/config/settings.yml +49 -2
- data/lib/generators/mno_enterprise/install/templates/nginx.conf +71 -0
- data/lib/generators/mno_enterprise/install/templates/stylesheets/variables.less +148 -141
- data/lib/html_processor.rb +14 -14
- data/lib/mno_enterprise/concerns/controllers/auth/registrations_controller.rb +18 -15
- data/lib/mno_enterprise/concerns/models/ability.rb +6 -3
- data/lib/mno_enterprise/concerns/models/app_instance.rb +2 -3
- data/lib/mno_enterprise/concerns/models/intercom_user.rb +22 -0
- data/lib/mno_enterprise/concerns/models/organization.rb +8 -0
- data/lib/mno_enterprise/concerns/models/shared_entity.rb +36 -0
- data/lib/mno_enterprise/concerns/models/team.rb +7 -0
- data/lib/mno_enterprise/testing_support/common_rake.rb +1 -1
- data/lib/mno_enterprise/testing_support/factories/apps.rb +6 -0
- data/lib/mno_enterprise/testing_support/factories/audit_event.rb +2 -0
- data/lib/mno_enterprise/testing_support/mno_enterprise_api_test_helper.rb +47 -16
- data/lib/mno_enterprise/testing_support/organizations_shared_helpers.rb +6 -9
- data/lib/mno_enterprise/version.rb +1 -1
- data/spec/config/initializers/audit_log_spec.rb +5 -0
- data/spec/controllers/mno_enterprise/application_controller_spec.rb +4 -4
- data/spec/helpers/image_helper_spec.rb +69 -0
- data/spec/models/mno_enterprise/ability_spec.rb +5 -0
- data/spec/models/mno_enterprise/app_spec.rb +1 -1
- data/spec/models/mno_enterprise/base_resource_spec.rb +37 -0
- data/spec/models/mno_enterprise/credit_card_spec.rb +18 -0
- data/spec/models/mno_enterprise/organization_spec.rb +16 -0
- data/spec/models/mno_enterprise/shared_entity_spec.rb +7 -0
- data/spec/models/mno_enterprise/user_spec.rb +83 -15
- metadata +15 -2
@@ -31,7 +31,7 @@ module MnoEnterprise::TestingSupport::OrganizationsSharedHelpers
|
|
31
31
|
'email' => user.email,
|
32
32
|
'role' => user.role(organization)
|
33
33
|
}
|
34
|
-
u
|
34
|
+
u['uid'] = user.uid if admin
|
35
35
|
list.push(u)
|
36
36
|
end
|
37
37
|
|
@@ -53,13 +53,12 @@ module MnoEnterprise::TestingSupport::OrganizationsSharedHelpers
|
|
53
53
|
'id' => organization.id,
|
54
54
|
'name' => organization.name,
|
55
55
|
'soa_enabled' => organization.soa_enabled,
|
56
|
+
'account_frozen' => organization.account_frozen,
|
56
57
|
'payment_restriction' => organization.payment_restriction
|
57
58
|
}
|
58
59
|
|
59
60
|
if admin
|
60
|
-
ret.
|
61
|
-
'uid' => organization.uid
|
62
|
-
})
|
61
|
+
ret['uid'] = organization.uid
|
63
62
|
end
|
64
63
|
|
65
64
|
ret
|
@@ -115,9 +114,7 @@ module MnoEnterprise::TestingSupport::OrganizationsSharedHelpers
|
|
115
114
|
'organization' => partial_hash_for_organization(organization),
|
116
115
|
'current_user' => partial_hash_for_current_user(organization, user)
|
117
116
|
}
|
118
|
-
hash['organization']
|
119
|
-
'members' => partial_hash_for_members(organization)
|
120
|
-
)
|
117
|
+
hash['organization']['members'] = partial_hash_for_members(organization)
|
121
118
|
|
122
119
|
if user.role(organization) == 'Super Admin'
|
123
120
|
hash.merge!(partial_hash_for_billing(organization))
|
@@ -138,8 +135,8 @@ module MnoEnterprise::TestingSupport::OrganizationsSharedHelpers
|
|
138
135
|
def admin_hash_for_organization(organization)
|
139
136
|
hash = {}
|
140
137
|
hash['organization'] = partial_hash_for_organization(organization, true)
|
141
|
-
hash['organization']
|
142
|
-
hash['organization']
|
138
|
+
hash['organization']['members'] = partial_hash_for_members(organization, true)
|
139
|
+
hash['organization']['credit_card'] = {'presence' => false}
|
143
140
|
hash['organization'].merge!(admin_partial_hash_for_invoices(organization))
|
144
141
|
hash['organization'].merge!(admin_partial_hash_for_active_apps(organization))
|
145
142
|
hash
|
@@ -13,10 +13,10 @@ module MnoEnterprise
|
|
13
13
|
end
|
14
14
|
|
15
15
|
describe '#add_param_to_fragment' do
|
16
|
-
it { expect(controller.add_param_to_fragment('
|
17
|
-
it { expect(controller.add_param_to_fragment('/', 'foo', 'bar')).to eq('
|
18
|
-
it { expect(controller.add_param_to_fragment('
|
19
|
-
it { expect(controller.add_param_to_fragment('
|
16
|
+
it { expect(controller.add_param_to_fragment('/#!/platform/accounts', 'foo', 'bar')).to eq('/#!/platform/accounts?foo=bar') }
|
17
|
+
it { expect(controller.add_param_to_fragment('/', 'foo', 'bar')).to eq('/#!?foo=bar') }
|
18
|
+
it { expect(controller.add_param_to_fragment('/#!/platform/dashboard/he/43?en=690', 'foo', 'bar')).to eq('/#!/platform/dashboard/he/43?en=690&foo=bar') }
|
19
|
+
it { expect(controller.add_param_to_fragment('/#!/platform/dashboard/he/43?en=690', 'foo', [{msg: 'yolo'}])).to eq('/#!/platform/dashboard/he/43?en=690&foo=%7B%3Amsg%3D%3E%22yolo%22%7D') }
|
20
20
|
end
|
21
21
|
|
22
22
|
describe '#after_sign_in_path_for' do
|
@@ -0,0 +1,69 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
module MnoEnterprise
|
4
|
+
describe ImageHelper do
|
5
|
+
|
6
|
+
let(:folder) { "/app/assets/images/mno_enterprise" }
|
7
|
+
let(:root) {"#{Rails.root}#{folder}"}
|
8
|
+
let(:path_engine_main_logo) { "#{MnoEnterprise::Engine.root}#{folder}/main-logo.png" }
|
9
|
+
let(:path_main_logo) { "#{root}/main-logo.png" }
|
10
|
+
let(:path_main_logo_white) { "#{root}/main-logo-whitebg.png" }
|
11
|
+
|
12
|
+
describe "#main_logo_white_bg_path" do
|
13
|
+
|
14
|
+
context "when no logos exist" do
|
15
|
+
|
16
|
+
it "returns the engine main-logo filename" do
|
17
|
+
expect(helper.main_logo_white_bg_path).to match("mno_enterprise/main-logo.png")
|
18
|
+
end
|
19
|
+
|
20
|
+
it "returns the engine main-logo full path" do
|
21
|
+
expect(helper.main_logo_white_bg_path(true)).to match(path_engine_main_logo)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
context "when main-logo.png exists and main-logo-whitebg.png do not exist" do
|
26
|
+
before { allow(File).to receive(:exists?).with(path_main_logo_white).and_return(false) }
|
27
|
+
before { allow(File).to receive(:exists?).with(path_main_logo).and_return(true) }
|
28
|
+
|
29
|
+
it "returns the main-logo filename" do
|
30
|
+
expect(helper.main_logo_white_bg_path).to match("mno_enterprise/main-logo.png")
|
31
|
+
end
|
32
|
+
|
33
|
+
it "returns the main-logo full path" do
|
34
|
+
expect(helper.main_logo_white_bg_path(true)).to match(path_main_logo)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
context "when main-logo-whitebg.png exists" do
|
39
|
+
before { allow(File).to receive(:exists?).with(path_main_logo_white).and_return(true) }
|
40
|
+
|
41
|
+
it "returns the filename" do
|
42
|
+
expect(helper.main_logo_white_bg_path).to match("mno_enterprise/main-logo-whitebg.png")
|
43
|
+
end
|
44
|
+
|
45
|
+
it "returns the full path" do
|
46
|
+
expect(helper.main_logo_white_bg_path(true)).to match(path_main_logo_white)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
describe "#main_logo_path" do
|
52
|
+
|
53
|
+
context "when there are no logos" do
|
54
|
+
|
55
|
+
it "returns the engines main-logo " do
|
56
|
+
expect(helper.main_logo_path).to match(path_engine_main_logo)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
|
60
|
+
context "when main-logo.png exists" do
|
61
|
+
before { allow(File).to receive(:exists?).with(path_main_logo).and_return(true) }
|
62
|
+
|
63
|
+
it "returns the full path" do
|
64
|
+
expect(helper.main_logo_path).to match(path_main_logo)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
@@ -15,6 +15,11 @@ RSpec.describe MnoEnterprise::Ability, type: :model do
|
|
15
15
|
it { is_expected.to be_able_to(:manage_app_instances, organization) }
|
16
16
|
end
|
17
17
|
|
18
|
+
context 'when User#admin_role has a random case' do
|
19
|
+
let(:admin_role) { 'ADmIn' }
|
20
|
+
it { is_expected.to be_able_to(:manage_app_instances, organization) }
|
21
|
+
end
|
22
|
+
|
18
23
|
context 'when no User#admin_role' do
|
19
24
|
it { is_expected.not_to be_able_to(:manage_app_instances, organization) }
|
20
25
|
end
|
@@ -26,7 +26,7 @@ module MnoEnterprise
|
|
26
26
|
end
|
27
27
|
|
28
28
|
describe 'appinfo methods' do
|
29
|
-
%i(single_billing? coming_soon? add_on?).each do |method|
|
29
|
+
%i(single_billing? coming_soon? add_on? connec_ready? star_ready? responsive?).each do |method|
|
30
30
|
it { expect(described_class.new).to respond_to(method) }
|
31
31
|
end
|
32
32
|
end
|
@@ -46,5 +46,42 @@ module MnoEnterprise
|
|
46
46
|
it { expect(User.new.cache_key).to eq('mno_enterprise/users/new') }
|
47
47
|
end
|
48
48
|
end
|
49
|
+
|
50
|
+
# Not the best spec as this still pass without the attributes deletion
|
51
|
+
describe '#clear_association_cache' do
|
52
|
+
let(:user) { build(:user, :with_organizations) }
|
53
|
+
let(:dashboard) { build(:impac_dashboard) }
|
54
|
+
|
55
|
+
# Prime the cache and clear the stubs
|
56
|
+
before do
|
57
|
+
api_stub_for(get: "/users/#{user.id}/dashboards", response: from_api([dashboard]))
|
58
|
+
user.dashboards.count
|
59
|
+
user.organizations.count
|
60
|
+
clear_api_stubs
|
61
|
+
end
|
62
|
+
|
63
|
+
context 'without clearing the cache' do
|
64
|
+
# We can get the widget count without hitting the API
|
65
|
+
it 'is cached' do
|
66
|
+
# ivar
|
67
|
+
expect(user.dashboards.count).to eq(1)
|
68
|
+
# attribute
|
69
|
+
expect(user.organizations.count).to eq(1)
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
context 'when the cache is cleared' do
|
74
|
+
before { user.clear_association_cache }
|
75
|
+
|
76
|
+
# It tries to hit the API
|
77
|
+
it 'clears the resource cache (ivar)' do
|
78
|
+
expect{user.dashboards.count}.to raise_error(MnoeFaradayTestAdapter::Stubs::NotFound)
|
79
|
+
end
|
80
|
+
|
81
|
+
it 'clears the resource cache (attributes)' do
|
82
|
+
expect{user.organizations.count}.to raise_error(MnoeFaradayTestAdapter::Stubs::NotFound)
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
49
86
|
end
|
50
87
|
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
module MnoEnterprise
|
4
|
+
RSpec.describe CreditCard, type: :model do
|
5
|
+
describe '#expiry_date' do
|
6
|
+
|
7
|
+
context 'with a valid date' do
|
8
|
+
let(:credit_card) { build(:credit_card, year: 2020, month: 5) }
|
9
|
+
it { expect(credit_card.expiry_date).to eq(Date.new(2020,5,31)) }
|
10
|
+
end
|
11
|
+
|
12
|
+
context 'without a date' do
|
13
|
+
let(:credit_card) { MnoEnterprise::CreditCard.new }
|
14
|
+
it { expect(credit_card.expiry_date).to be nil }
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
@@ -20,5 +20,21 @@ module MnoEnterprise
|
|
20
20
|
it { is_expected.to eq(['visa']) }
|
21
21
|
end
|
22
22
|
end
|
23
|
+
|
24
|
+
describe '#has_credit_card_details?' do
|
25
|
+
let(:organization) { FactoryGirl.build(:organization) }
|
26
|
+
subject { organization.has_credit_card_details? }
|
27
|
+
|
28
|
+
context 'with a credit card' do
|
29
|
+
before { organization.credit_card = FactoryGirl.build(:credit_card) }
|
30
|
+
it { is_expected.to be true }
|
31
|
+
end
|
32
|
+
|
33
|
+
context 'without a credit card' do
|
34
|
+
# Her return a new object if non existing
|
35
|
+
before { organization.credit_card = MnoEnterprise::CreditCard.new }
|
36
|
+
it { is_expected.to be false }
|
37
|
+
end
|
38
|
+
end
|
23
39
|
end
|
24
40
|
end
|
@@ -2,6 +2,14 @@ require 'rails_helper'
|
|
2
2
|
|
3
3
|
module MnoEnterprise
|
4
4
|
RSpec.describe User, type: :model do
|
5
|
+
def reload_user
|
6
|
+
# Reload User class to redefine the validation
|
7
|
+
# Removes MnoEnterprise::User from object-space:
|
8
|
+
MnoEnterprise.send(:remove_const, :User)
|
9
|
+
# Reloads the module (require might also work):
|
10
|
+
load 'app/models/mno_enterprise/user.rb'
|
11
|
+
end
|
12
|
+
|
5
13
|
describe 'password strength' do
|
6
14
|
let(:user) do
|
7
15
|
# Initialize this way so the class reload is taken into account (the factory doesnt reload the User class)
|
@@ -17,12 +25,7 @@ module MnoEnterprise
|
|
17
25
|
context 'with password regex' do
|
18
26
|
before do
|
19
27
|
Devise.password_regex = /(?=.*\d)(?=.*[a-z])(?=.*[A-Z])/
|
20
|
-
|
21
|
-
# Reload User class to redefine the validation
|
22
|
-
# Removes MnoEnterprise::User from object-space:
|
23
|
-
MnoEnterprise.send(:remove_const, :User)
|
24
|
-
# Reloads the module (require might also work):
|
25
|
-
load 'app/models/mno_enterprise/user.rb'
|
28
|
+
reload_user
|
26
29
|
end
|
27
30
|
|
28
31
|
it 'validates the password strength' do
|
@@ -39,12 +42,18 @@ module MnoEnterprise
|
|
39
42
|
end
|
40
43
|
end
|
41
44
|
|
42
|
-
describe
|
43
|
-
let(:user) { MnoEnterprise::User.new(email: 'admin@example.com') }
|
44
|
-
|
45
|
+
describe 'IntercomUser' do
|
45
46
|
context 'without Intercom' do
|
46
47
|
# default
|
47
|
-
|
48
|
+
let(:user) { MnoEnterprise::User.new(email: 'admin@example.com') }
|
49
|
+
|
50
|
+
describe :intercom_data do
|
51
|
+
it { expect(user).not_to respond_to(:intercom_data) }
|
52
|
+
end
|
53
|
+
|
54
|
+
describe :intercom_user_hash do
|
55
|
+
it { expect(user).not_to respond_to(:intercom_user_hash) }
|
56
|
+
end
|
48
57
|
end
|
49
58
|
|
50
59
|
context 'with Intercom' do
|
@@ -56,16 +65,43 @@ module MnoEnterprise
|
|
56
65
|
MnoEnterprise.send(:remove_const, :User)
|
57
66
|
load 'app/models/mno_enterprise/user.rb'
|
58
67
|
end
|
59
|
-
|
60
|
-
it 'returns the user intercom hash' do
|
61
|
-
expect(user.intercom_user_hash).not_to be_nil
|
62
|
-
end
|
63
|
-
|
64
68
|
after do
|
65
69
|
# Reset to default
|
66
70
|
MnoEnterprise.send(:remove_const, :User)
|
67
71
|
load 'app/models/mno_enterprise/user.rb'
|
68
72
|
end
|
73
|
+
|
74
|
+
let(:user) { MnoEnterprise::User.new(attributes_for(:user, admin_role: 'admin')) }
|
75
|
+
|
76
|
+
describe :intercom_user_hash do
|
77
|
+
it 'returns the user intercom secure hash' do
|
78
|
+
expect(user.intercom_user_hash).not_to be_nil
|
79
|
+
end
|
80
|
+
end
|
81
|
+
|
82
|
+
describe :intercom_data do
|
83
|
+
let(:expected) {
|
84
|
+
{
|
85
|
+
user_id: user.id,
|
86
|
+
name: [user.name, user.surname].join(' '),
|
87
|
+
email: user.email,
|
88
|
+
created_at: user.created_at.to_i,
|
89
|
+
last_seen_ip: user.last_sign_in_ip,
|
90
|
+
custom_attributes: {
|
91
|
+
first_name: user.name,
|
92
|
+
surname: user.surname,
|
93
|
+
confirmed_at: user.confirmed_at,
|
94
|
+
phone: user.phone,
|
95
|
+
admin_role: user.admin_role
|
96
|
+
},
|
97
|
+
update_last_request_at: true
|
98
|
+
}
|
99
|
+
}
|
100
|
+
|
101
|
+
it {
|
102
|
+
expect(user.intercom_data).to eq(expected)
|
103
|
+
}
|
104
|
+
end
|
69
105
|
end
|
70
106
|
end
|
71
107
|
|
@@ -278,5 +314,37 @@ module MnoEnterprise
|
|
278
314
|
end
|
279
315
|
end
|
280
316
|
end
|
317
|
+
|
318
|
+
describe 'Devise' do
|
319
|
+
subject { MnoEnterprise::User.new }
|
320
|
+
describe 'registerable?' do
|
321
|
+
context 'default' do
|
322
|
+
before { reload_user }
|
323
|
+
it 'is registerable' do
|
324
|
+
expect(MnoEnterprise::User.ancestors).to include(Devise::Models::Registerable)
|
325
|
+
end
|
326
|
+
end
|
327
|
+
|
328
|
+
context 'enabled' do
|
329
|
+
before do
|
330
|
+
Settings.merge!(devise: { registration: { disabled: false } })
|
331
|
+
reload_user
|
332
|
+
end
|
333
|
+
it 'is registerable' do
|
334
|
+
expect(MnoEnterprise::User.ancestors).to include(Devise::Models::Registerable)
|
335
|
+
end
|
336
|
+
end
|
337
|
+
|
338
|
+
context 'disabled' do
|
339
|
+
before do
|
340
|
+
Settings.merge!(devise: { registration: { disabled: true } })
|
341
|
+
reload_user
|
342
|
+
end
|
343
|
+
it 'is not registerable' do
|
344
|
+
expect(MnoEnterprise::User.ancestors).not_to include(Devise::Models::Registerable)
|
345
|
+
end
|
346
|
+
end
|
347
|
+
end
|
348
|
+
end
|
281
349
|
end
|
282
350
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mno-enterprise-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 3.
|
4
|
+
version: 3.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Arnaud Lachaume
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2017-
|
12
|
+
date: 2017-06-20 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -328,6 +328,7 @@ files:
|
|
328
328
|
- app/assets/stylesheets/mno_enterprise/mail.css
|
329
329
|
- app/controllers/mno_enterprise/application_controller.rb
|
330
330
|
- app/helpers/mno_enterprise/application_helper.rb
|
331
|
+
- app/helpers/mno_enterprise/image_helper.rb
|
331
332
|
- app/helpers/mno_enterprise/impersonate_helper.rb
|
332
333
|
- app/models/mno_enterprise/ability.rb
|
333
334
|
- app/models/mno_enterprise/app.rb
|
@@ -352,6 +353,7 @@ files:
|
|
352
353
|
- app/models/mno_enterprise/invoice.rb
|
353
354
|
- app/models/mno_enterprise/org_invite.rb
|
354
355
|
- app/models/mno_enterprise/organization.rb
|
356
|
+
- app/models/mno_enterprise/shared_entity.rb
|
355
357
|
- app/models/mno_enterprise/team.rb
|
356
358
|
- app/models/mno_enterprise/tenant.rb
|
357
359
|
- app/models/mno_enterprise/tenant_invoice.rb
|
@@ -447,6 +449,7 @@ files:
|
|
447
449
|
- config/locales/templates/modals/en.yml
|
448
450
|
- config/locales/templates/modals/id.yml
|
449
451
|
- config/locales/templates/modals/zh.yml
|
452
|
+
- config/locales/templates/onboarding/en.yml
|
450
453
|
- config/locales/views/auth/confirmations/en.yml
|
451
454
|
- config/locales/views/auth/confirmations/id.yml
|
452
455
|
- config/locales/views/auth/confirmations/zh.yml
|
@@ -513,6 +516,7 @@ files:
|
|
513
516
|
- lib/generators/mno_enterprise/install/templates/config/settings/test.yml
|
514
517
|
- lib/generators/mno_enterprise/install/templates/config/settings/uat.yml
|
515
518
|
- lib/generators/mno_enterprise/install/templates/javascripts/mno_enterprise_extensions.js
|
519
|
+
- lib/generators/mno_enterprise/install/templates/nginx.conf
|
516
520
|
- lib/generators/mno_enterprise/install/templates/stylesheets/main.less
|
517
521
|
- lib/generators/mno_enterprise/install/templates/stylesheets/theme.less_erb
|
518
522
|
- lib/generators/mno_enterprise/install/templates/stylesheets/variables.less
|
@@ -557,6 +561,7 @@ files:
|
|
557
561
|
- lib/mno_enterprise/concerns/models/app_instance.rb
|
558
562
|
- lib/mno_enterprise/concerns/models/intercom_user.rb
|
559
563
|
- lib/mno_enterprise/concerns/models/organization.rb
|
564
|
+
- lib/mno_enterprise/concerns/models/shared_entity.rb
|
560
565
|
- lib/mno_enterprise/concerns/models/team.rb
|
561
566
|
- lib/mno_enterprise/core.rb
|
562
567
|
- lib/mno_enterprise/database_extendable.rb
|
@@ -600,9 +605,11 @@ files:
|
|
600
605
|
- lib/mno_enterprise/testing_support/user_action_shared.rb
|
601
606
|
- lib/mno_enterprise/version.rb
|
602
607
|
- lib/tasks/mno_enterprise_tasks.rake
|
608
|
+
- spec/config/initializers/audit_log_spec.rb
|
603
609
|
- spec/controllers/mno_enterprise/angular_csrf_spec.rb
|
604
610
|
- spec/controllers/mno_enterprise/application_controller_spec.rb
|
605
611
|
- spec/controllers/mno_enterprise/i18n_spec.rb
|
612
|
+
- spec/helpers/image_helper_spec.rb
|
606
613
|
- spec/lib/devise/model/remote_authenticable_spec.rb
|
607
614
|
- spec/lib/her_extension/her_orm_adapter.rb
|
608
615
|
- spec/lib/her_extension/model/relation_spec.rb
|
@@ -620,11 +627,13 @@ files:
|
|
620
627
|
- spec/models/mno_enterprise/app_instance_spec.rb
|
621
628
|
- spec/models/mno_enterprise/app_spec.rb
|
622
629
|
- spec/models/mno_enterprise/base_resource_spec.rb
|
630
|
+
- spec/models/mno_enterprise/credit_card_spec.rb
|
623
631
|
- spec/models/mno_enterprise/deletion_request_spec.rb
|
624
632
|
- spec/models/mno_enterprise/identity_spec.rb
|
625
633
|
- spec/models/mno_enterprise/impac/dashboard_spec.rb
|
626
634
|
- spec/models/mno_enterprise/invoice_spec.rb
|
627
635
|
- spec/models/mno_enterprise/organization_spec.rb
|
636
|
+
- spec/models/mno_enterprise/shared_entity_spec.rb
|
628
637
|
- spec/models/mno_enterprise/user_spec.rb
|
629
638
|
- spec/rails_helper.rb
|
630
639
|
- spec/spec_helper.rb
|
@@ -657,10 +666,12 @@ test_files:
|
|
657
666
|
- spec/models/mno_enterprise/organization_spec.rb
|
658
667
|
- spec/models/mno_enterprise/app_instance_spec.rb
|
659
668
|
- spec/models/mno_enterprise/impac/dashboard_spec.rb
|
669
|
+
- spec/models/mno_enterprise/credit_card_spec.rb
|
660
670
|
- spec/models/mno_enterprise/deletion_request_spec.rb
|
661
671
|
- spec/models/mno_enterprise/identity_spec.rb
|
662
672
|
- spec/models/mno_enterprise/ability_spec.rb
|
663
673
|
- spec/models/mno_enterprise/invoice_spec.rb
|
674
|
+
- spec/models/mno_enterprise/shared_entity_spec.rb
|
664
675
|
- spec/models/mno_enterprise/user_spec.rb
|
665
676
|
- spec/models/mno_enterprise/base_resource_spec.rb
|
666
677
|
- spec/spec_helper.rb
|
@@ -680,4 +691,6 @@ test_files:
|
|
680
691
|
- spec/controllers/mno_enterprise/i18n_spec.rb
|
681
692
|
- spec/controllers/mno_enterprise/angular_csrf_spec.rb
|
682
693
|
- spec/controllers/mno_enterprise/application_controller_spec.rb
|
694
|
+
- spec/config/initializers/audit_log_spec.rb
|
683
695
|
- spec/mno_enterprise_spec.rb
|
696
|
+
- spec/helpers/image_helper_spec.rb
|