mno-enterprise-core 3.2.1 → 3.3.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|