mno-enterprise-core 2.0.9 → 3.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 +4 -4
- data/app/controllers/mno_enterprise/application_controller.rb +10 -20
- data/app/models/mno_enterprise/base_resource.rb +1 -2
- data/app/models/mno_enterprise/impac/dashboard.rb +24 -22
- data/app/models/mno_enterprise/impac/kpi.rb +1 -1
- data/app/models/mno_enterprise/impac/widget.rb +1 -1
- data/app/models/mno_enterprise/user.rb +2 -1
- data/config/initializers/audit_log.rb +2 -0
- data/config/initializers/config.rb +3 -0
- data/config/locales/models/app/en.yml +25 -0
- data/config/locales/models/app/id.yml +25 -0
- data/config/locales/models/app/zh.yml +25 -0
- data/config/locales/models/app_instance/en.yml +24 -0
- data/config/locales/models/app_instance/id.yml +24 -0
- data/config/locales/models/app_instance/zh.yml +24 -0
- data/config/locales/models/credit_card/en.yml +23 -0
- data/config/locales/models/credit_card/id.yml +23 -0
- data/config/locales/models/credit_card/zh.yml +23 -0
- data/config/locales/models/deletion_request/en.yml +9 -0
- data/config/locales/models/deletion_request/id.yml +9 -0
- data/config/locales/models/deletion_request/zh.yml +9 -0
- data/config/locales/models/impac/dashboard/en.yml +13 -0
- data/config/locales/models/impac/dashboard/id.yml +13 -0
- data/config/locales/models/impac/dashboard/zh.yml +13 -0
- data/config/locales/models/impac/widget/en.yml +13 -0
- data/config/locales/models/impac/widget/id.yml +13 -0
- data/config/locales/models/impac/widget/zh.yml +13 -0
- data/config/locales/models/invoice/en.yml +9 -0
- data/config/locales/models/invoice/id.yml +9 -0
- data/config/locales/models/invoice/zh.yml +9 -0
- data/config/locales/models/org_invite/en.yml +9 -0
- data/config/locales/models/org_invite/id.yml +9 -0
- data/config/locales/models/org_invite/zh.yml +9 -0
- data/config/locales/models/org_team/en.yml +9 -0
- data/config/locales/models/org_team/id.yml +9 -0
- data/config/locales/models/org_team/zh.yml +9 -0
- data/config/locales/models/organization/en.yml +24 -0
- data/config/locales/models/organization/id.yml +24 -0
- data/config/locales/models/organization/zh.yml +24 -0
- data/config/locales/models/user/en.yml +45 -0
- data/config/locales/models/user/id.yml +45 -0
- data/config/locales/models/user/zh.yml +44 -0
- data/config/locales/templates/components/en.yml +21 -0
- data/config/locales/templates/components/id.yml +21 -0
- data/config/locales/templates/components/zh.yml +21 -0
- data/config/locales/templates/dashboard/en.yml +60 -0
- data/config/locales/templates/dashboard/id.yml +50 -0
- data/config/locales/templates/dashboard/marketplace/en.yml +16 -0
- data/config/locales/templates/dashboard/marketplace/id.yml +14 -0
- data/config/locales/templates/dashboard/marketplace/zh.yml +14 -0
- data/config/locales/templates/dashboard/organization/en.yml +107 -0
- data/config/locales/templates/dashboard/organization/id.yml +103 -0
- data/config/locales/templates/dashboard/organization/zh.yml +103 -0
- data/config/locales/templates/dashboard/teams/en.yml +48 -0
- data/config/locales/templates/dashboard/teams/id.yml +43 -0
- data/config/locales/templates/dashboard/teams/zh.yml +43 -0
- data/config/locales/templates/dashboard/zh.yml +54 -0
- data/config/locales/templates/impac/en.yml +24 -0
- data/config/locales/templates/impac/id.yml +24 -0
- data/config/locales/templates/impac/modals/en.yml +31 -0
- data/config/locales/templates/impac/modals/id.yml +29 -0
- data/config/locales/templates/impac/modals/zh.yml +28 -0
- data/config/locales/templates/impac/widgets/common/en.yml +9 -0
- data/config/locales/templates/impac/widgets/common/id.yml +9 -0
- data/config/locales/templates/impac/widgets/common/zh.yml +9 -0
- data/config/locales/templates/impac/widgets/en.yml +66 -0
- data/config/locales/templates/impac/widgets/id.yml +58 -0
- data/config/locales/templates/impac/widgets/settings/en.yml +23 -0
- data/config/locales/templates/impac/widgets/settings/id.yml +19 -0
- data/config/locales/templates/impac/widgets/settings/zh.yml +19 -0
- data/config/locales/templates/impac/widgets/zh.yml +58 -0
- data/config/locales/templates/impac/zh.yml +24 -0
- data/config/locales/templates/modals/en.yml +9 -0
- data/config/locales/templates/modals/id.yml +9 -0
- data/config/locales/templates/modals/zh.yml +9 -0
- data/config/locales/views/auth/confirmations/en.yml +17 -0
- data/config/locales/views/auth/confirmations/id.yml +17 -0
- data/config/locales/views/auth/confirmations/zh.yml +17 -0
- data/config/locales/views/auth/passwords/en.yml +10 -0
- data/config/locales/views/auth/passwords/id.yml +10 -0
- data/config/locales/views/auth/passwords/zh.yml +10 -0
- data/config/locales/views/auth/registrations/en.yml +9 -0
- data/config/locales/views/auth/registrations/id.yml +9 -0
- data/config/locales/views/auth/registrations/zh.yml +8 -0
- data/config/locales/views/auth/sessions/en.yml +7 -0
- data/config/locales/views/auth/sessions/id.yml +7 -0
- data/config/locales/views/auth/sessions/zh.yml +7 -0
- data/config/locales/views/auth/shared/en.yml +12 -0
- data/config/locales/views/auth/shared/id.yml +11 -0
- data/config/locales/views/auth/shared/zh.yml +11 -0
- data/config/locales/views/auth/unlocks/en.yml +7 -0
- data/config/locales/views/auth/unlocks/id.yml +7 -0
- data/config/locales/views/auth/unlocks/zh.yml +7 -0
- data/config/locales/views/pages/en.yml +19 -0
- data/config/locales/views/pages/id.yml +18 -0
- data/config/locales/views/pages/zh.yml +18 -0
- data/config/locales/views/provision/en.yml +12 -0
- data/config/locales/views/provision/id.yml +11 -0
- data/config/locales/views/provision/zh.yml +11 -0
- data/config/locales/views/webhook/o_auth/en.yml +6 -0
- data/config/locales/views/webhook/o_auth/id.yml +6 -0
- data/config/locales/views/webhook/o_auth/providers/en.yml +15 -0
- data/config/locales/views/webhook/o_auth/providers/id.yml +15 -0
- data/config/locales/views/webhook/o_auth/providers/zh.yml +15 -0
- data/config/locales/views/webhook/o_auth/zh.yml +6 -0
- data/lib/devise/models/remote_authenticatable.rb +1 -1
- data/lib/devise_extension.rb +6 -2
- data/lib/generators/mno_enterprise/dummy/dummy_generator.rb +7 -0
- data/lib/generators/mno_enterprise/dummy/templates/rails/routes.rb +0 -6
- data/lib/generators/mno_enterprise/install/install_generator.rb +79 -33
- data/lib/generators/mno_enterprise/install/templates/Procfile +1 -1
- data/lib/generators/mno_enterprise/install/templates/Procfile.dev +2 -0
- data/lib/generators/mno_enterprise/install/templates/config/application.yml +11 -0
- data/lib/generators/mno_enterprise/install/templates/config/initializers/mno_enterprise.rb +18 -15
- data/lib/generators/mno_enterprise/install/templates/config/settings.yml +7 -0
- data/lib/generators/mno_enterprise/install/templates/config/settings/development.yml +6 -0
- data/lib/generators/mno_enterprise/install/templates/config/settings/production.yml +6 -0
- data/lib/generators/mno_enterprise/install/templates/config/settings/test.yml +6 -0
- data/lib/generators/mno_enterprise/install/templates/config/settings/uat.yml +6 -0
- data/lib/generators/mno_enterprise/install/templates/stylesheets/{main.less_erb → main.less} +16 -3
- data/lib/generators/mno_enterprise/templates/scripts/puma.rb +3 -3
- data/lib/her_extension/model/relation.rb +0 -13
- data/lib/mno_enterprise/concerns/controllers/auth/confirmations_controller.rb +24 -19
- data/lib/mno_enterprise/concerns/controllers/i18n.rb +16 -0
- data/lib/mno_enterprise/concerns/models/app_instance.rb +0 -4
- data/lib/mno_enterprise/concerns/models/organization.rb +1 -1
- data/lib/mno_enterprise/core.rb +20 -7
- data/lib/mno_enterprise/engine.rb +19 -0
- data/lib/mno_enterprise/testing_support/common_rake.rb +1 -1
- data/lib/mno_enterprise/testing_support/factories/impac/kpis.rb +1 -0
- data/lib/mno_enterprise/testing_support/factories/org_invite.rb +1 -5
- data/lib/mno_enterprise/testing_support/mno_enterprise_api_test_helper.rb +1 -2
- data/lib/mno_enterprise/testing_support/shared_contexts/rake_task.rb +21 -0
- data/lib/mno_enterprise/version.rb +1 -1
- data/lib/tasks/mno_enterprise_tasks.rake +3 -5
- data/spec/controllers/mno_enterprise/i18n_spec.rb +42 -0
- data/spec/lib/her_extension/model/relation_spec.rb +0 -71
- data/spec/lib/mno_enterprise/core_engine_spec.rb +16 -0
- data/spec/mno_enterprise_spec.rb +2 -2
- data/spec/models/mno_enterprise/base_resource_spec.rb +0 -22
- metadata +152 -18
- data/lib/her_extension/middleware/mnoe_raise_error.rb +0 -21
- data/lib/her_extension/model/associations/belongs_to_association.rb +0 -25
- data/spec/controllers/mno_enterprise/application_controller_spec.rb +0 -15
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA1:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: dfe546808d905e473abc105da4fbe5234f124896
|
|
4
|
+
data.tar.gz: 7e8dd015d9a5b54ee9ba1fce03695f7a67af9702
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 5e36dd230d6124d058ee0f1cee11c5557df773693728292d401698d833f4332b242a8eab68e5f1ef4c6d4e60bcaf994e5697381cf9279d4eac1efcda4d91fb3e
|
|
7
|
+
data.tar.gz: 8ffb8ac19763e88b91288a3aeb665a12d38e6eaffbcc45b63bf97a99f151283649823df6909b7d42a4412323abf6680813fc704cfc585b01b0d8eacbc4b99d98
|
|
@@ -8,6 +8,12 @@ module MnoEnterprise
|
|
|
8
8
|
before_filter :store_location
|
|
9
9
|
before_filter :perform_return_to
|
|
10
10
|
|
|
11
|
+
|
|
12
|
+
# I18n
|
|
13
|
+
if MnoEnterprise.i18n_enabled
|
|
14
|
+
include MnoEnterprise::Concerns::Controllers::I18n
|
|
15
|
+
end
|
|
16
|
+
|
|
11
17
|
# Angular CSRF
|
|
12
18
|
if MnoEnterprise.include_angular_csrf
|
|
13
19
|
include MnoEnterprise::Concerns::Controllers::AngularCSRF
|
|
@@ -92,41 +98,25 @@ module MnoEnterprise
|
|
|
92
98
|
# Redirect to previous url and reset it
|
|
93
99
|
def after_sign_in_path_for(resource)
|
|
94
100
|
previous_url = session.delete(:previous_url)
|
|
95
|
-
url =
|
|
101
|
+
url = MnoEnterprise.router.dashboard_path || main_app.root_url
|
|
96
102
|
return (return_to_url(resource) || previous_url || url)
|
|
97
103
|
end
|
|
98
104
|
|
|
99
105
|
# Some controllers needs to redirect to 'MySpace' which breaks if you dont use mnoe-frontend
|
|
100
|
-
# Rather than relying on the MainApp to define
|
|
106
|
+
# Rather than relying on the MainApp to define dashboard_path we check it here
|
|
101
107
|
# The MainApp can redefine this two methods to fit its structure
|
|
102
108
|
# Some of these are extracted to individuals methods like after_provision_path.
|
|
103
109
|
def mnoe_home_path
|
|
104
|
-
|
|
110
|
+
MnoEnterprise.router.dashboard_path || main_app.root_path
|
|
105
111
|
end
|
|
106
112
|
|
|
107
113
|
def mnoe_home_url
|
|
108
|
-
|
|
114
|
+
MnoEnterprise.router.dashboard_path || main_app.root_url
|
|
109
115
|
end
|
|
110
116
|
|
|
111
117
|
# Overwriting the sign_out redirect path method
|
|
112
118
|
def after_sign_out_path_for(resource_or_scope)
|
|
113
119
|
MnoEnterprise.router.after_sign_out_url || super
|
|
114
120
|
end
|
|
115
|
-
|
|
116
|
-
private
|
|
117
|
-
|
|
118
|
-
# Append params to the fragment part of an existing url String
|
|
119
|
-
# add_param("/#/platform/accounts", 'foo', 'bar')
|
|
120
|
-
# => "/#/platform/accounts?foo=bar"
|
|
121
|
-
# add_param("/#/platform/dashboard/he/43?en=690", 'foo', 'bar')
|
|
122
|
-
# => "/#/platform/dashboard/he/43?en=690&foo=bar"
|
|
123
|
-
def add_param_to_fragment(url, param_name, param_value)
|
|
124
|
-
uri = URI(url)
|
|
125
|
-
fragment = URI(uri.fragment || "")
|
|
126
|
-
params = URI.decode_www_form(fragment.query || "") << [param_name, param_value]
|
|
127
|
-
fragment.query = URI.encode_www_form(params)
|
|
128
|
-
uri.fragment = fragment.to_s
|
|
129
|
-
uri.to_s
|
|
130
|
-
end
|
|
131
121
|
end
|
|
132
122
|
end
|
|
@@ -3,29 +3,31 @@ module MnoEnterprise
|
|
|
3
3
|
|
|
4
4
|
attributes :name, :widgets_order, :organization_ids, :widgets_templates, :currency
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
6
|
+
has_many :widgets, class_name: 'MnoEnterprise::Impac::Widget', dependent: :destroy
|
|
7
|
+
has_many :kpis, class_name: 'MnoEnterprise::Impac::Kpi', dependent: :destroy
|
|
8
|
+
belongs_to :owner, polymorphic: true
|
|
9
|
+
|
|
10
|
+
#============================================
|
|
11
|
+
# Instance methods
|
|
12
|
+
#============================================
|
|
13
|
+
# Return the full name of this dashboard
|
|
14
|
+
# Currently a simple accessor to the dashboard name (used to include the company name)
|
|
15
|
+
def full_name
|
|
16
|
+
self.name
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# Return all the organizations linked to this dashboard and to which
|
|
20
|
+
# the user has access
|
|
21
|
+
def organizations
|
|
22
|
+
self.organization_ids.map do |uid|
|
|
23
|
+
MnoEnterprise::Organization.find_by(uid: uid)
|
|
24
|
+
end
|
|
25
|
+
end
|
|
9
26
|
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
# Currently a simple accessor to the dashboard name (used to include the company name)
|
|
15
|
-
def full_name
|
|
16
|
-
self.name
|
|
17
|
-
end
|
|
18
|
-
|
|
19
|
-
# Return all the organizations linked to this dashboard and to which
|
|
20
|
-
# the user has access
|
|
21
|
-
def organizations
|
|
22
|
-
MnoEnterprise::Organization.where('uid.in' => self.organization_ids).to_a
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
def sorted_widgets
|
|
26
|
-
order = self.widgets_order.map(&:to_i) | self.widgets.map{|w| w.id }
|
|
27
|
-
order.map { |id| self.widgets.to_a.find{ |w| w.id == id} }.compact
|
|
28
|
-
end
|
|
27
|
+
def sorted_widgets
|
|
28
|
+
order = self.widgets_order.map(&:to_i) | self.widgets.map{|w| w.id }
|
|
29
|
+
order.map { |id| self.widgets.to_a.find{ |w| w.id == id} }.compact
|
|
30
|
+
end
|
|
29
31
|
|
|
30
32
|
def to_audit_event
|
|
31
33
|
name
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
module MnoEnterprise
|
|
2
2
|
class Impac::Kpi < BaseResource
|
|
3
3
|
|
|
4
|
-
attributes :settings, :targets, :extra_params, :endpoint, :source, :element_watched
|
|
4
|
+
attributes :name, :settings, :targets, :extra_params, :endpoint, :source, :element_watched
|
|
5
5
|
|
|
6
6
|
belongs_to :dashboard, class_name: 'MnoEnterprise::Impac::Dashboard'
|
|
7
7
|
|
|
@@ -47,7 +47,7 @@ module MnoEnterprise
|
|
|
47
47
|
:remember_created_at, :sign_in_count, :current_sign_in_at, :last_sign_in_at, :current_sign_in_ip,
|
|
48
48
|
:last_sign_in_ip, :confirmation_token, :confirmed_at, :confirmation_sent_at, :unconfirmed_email,
|
|
49
49
|
:failed_attempts, :unlock_token, :locked_at, :name, :surname, :company, :phone, :phone_country_code,
|
|
50
|
-
:geo_country_code, :geo_state_code, :geo_city, :website, :orga_on_create, :sso_session, :current_password_required
|
|
50
|
+
:geo_country_code, :geo_state_code, :geo_city, :website, :orga_on_create, :sso_session, :current_password_required
|
|
51
51
|
|
|
52
52
|
define_model_callbacks :validation #required by Devise
|
|
53
53
|
devise :remote_authenticatable, :registerable, :recoverable, :rememberable,
|
|
@@ -56,6 +56,7 @@ module MnoEnterprise
|
|
|
56
56
|
#================================
|
|
57
57
|
# Validation
|
|
58
58
|
#================================
|
|
59
|
+
validates_uniqueness_of :email, allow_blank: true, if: :email_changed?
|
|
59
60
|
|
|
60
61
|
if Devise.password_regex
|
|
61
62
|
validates :password, format: { with: Devise.password_regex, message: Devise.password_regex_message }, if: :password_required?
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
en:
|
|
2
|
+
activemodel:
|
|
3
|
+
models:
|
|
4
|
+
mno_enterprise/app: App
|
|
5
|
+
attributes:
|
|
6
|
+
mno_enterprise/app:
|
|
7
|
+
categories: Categories
|
|
8
|
+
created_at: Created at
|
|
9
|
+
description: Description
|
|
10
|
+
id: Id
|
|
11
|
+
key_benefits: Key benefits
|
|
12
|
+
key_features: Key features
|
|
13
|
+
logo: Logo
|
|
14
|
+
name: Name
|
|
15
|
+
nid: Nid
|
|
16
|
+
pictures: Pictures
|
|
17
|
+
popup_description: Popup description
|
|
18
|
+
slug: Slug
|
|
19
|
+
stack: Stack
|
|
20
|
+
terms_url: Link to terms of use
|
|
21
|
+
testimonials: Testimonials
|
|
22
|
+
tiny_description: Short description
|
|
23
|
+
updated_at: Updated at
|
|
24
|
+
website: Website
|
|
25
|
+
worldwide_usage: Worldwide usage
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
id:
|
|
2
|
+
activemodel:
|
|
3
|
+
models:
|
|
4
|
+
mno_enterprise/app: Aplikasi
|
|
5
|
+
attributes:
|
|
6
|
+
mno_enterprise/app:
|
|
7
|
+
categories: Kategori
|
|
8
|
+
created_at: Dibuat pada
|
|
9
|
+
description: Deskripsi
|
|
10
|
+
id: Id
|
|
11
|
+
key_benefits: Manfaat utama
|
|
12
|
+
key_features: Fitur utama
|
|
13
|
+
logo: Logo
|
|
14
|
+
name: Nama
|
|
15
|
+
nid: Nid
|
|
16
|
+
pictures: Gambar
|
|
17
|
+
popup_description: Deskripsi popup
|
|
18
|
+
slug: Slug
|
|
19
|
+
stack: Susunan
|
|
20
|
+
terms_url: Tautan ke ketentuan penggunaan
|
|
21
|
+
testimonials: Testimoni
|
|
22
|
+
tiny_description: Deskripsi singkat
|
|
23
|
+
updated_at: Diperbarui pada
|
|
24
|
+
website: Situs web
|
|
25
|
+
worldwide_usage: Penggunaan di seluruh dunia
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
zh:
|
|
2
|
+
activemodel:
|
|
3
|
+
models:
|
|
4
|
+
mno_enterprise/app: "应用程序"
|
|
5
|
+
attributes:
|
|
6
|
+
mno_enterprise/app:
|
|
7
|
+
categories: "类别"
|
|
8
|
+
created_at: "创建于"
|
|
9
|
+
description: "说明"
|
|
10
|
+
id: Id
|
|
11
|
+
key_benefits: "主要优点"
|
|
12
|
+
key_features: "主要特点"
|
|
13
|
+
logo: "图标"
|
|
14
|
+
name: "名称"
|
|
15
|
+
nid: "节点id"
|
|
16
|
+
pictures: "图片"
|
|
17
|
+
popup_description: "弹出窗口说明"
|
|
18
|
+
slug: "别名"
|
|
19
|
+
stack: "堆叠"
|
|
20
|
+
terms_url: "使用条款链接"
|
|
21
|
+
testimonials: "客户见证"
|
|
22
|
+
tiny_description: "简介"
|
|
23
|
+
updated_at: "更新于"
|
|
24
|
+
website: "网址"
|
|
25
|
+
worldwide_usage: "全球使用"
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
en:
|
|
2
|
+
activemodel:
|
|
3
|
+
models:
|
|
4
|
+
mno_enterprise/app_instance: App instance
|
|
5
|
+
attributes:
|
|
6
|
+
mno_enterprise/app_instance:
|
|
7
|
+
app_id: App
|
|
8
|
+
autostop_at: Autostop at
|
|
9
|
+
autostop_interval: Autostop interval
|
|
10
|
+
billing_type: Billing type
|
|
11
|
+
created_at: Created at
|
|
12
|
+
id: Id
|
|
13
|
+
name: Name
|
|
14
|
+
next_status: Next status
|
|
15
|
+
owner_id: Owner
|
|
16
|
+
owner_type: Owner type
|
|
17
|
+
soa_enabled: Soa enabled
|
|
18
|
+
stack: Stack
|
|
19
|
+
started_at: Started at
|
|
20
|
+
status: Status
|
|
21
|
+
stopped_at: Stopped at
|
|
22
|
+
terminated_at: Terminated at
|
|
23
|
+
uid: Uid
|
|
24
|
+
updated_at: Updated at
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
id:
|
|
2
|
+
activemodel:
|
|
3
|
+
models:
|
|
4
|
+
mno_enterprise/app_instance: App instance
|
|
5
|
+
attributes:
|
|
6
|
+
mno_enterprise/app_instance:
|
|
7
|
+
app_id: Aplikasi
|
|
8
|
+
autostop_at: Autostop pada
|
|
9
|
+
autostop_interval: Interval autostop
|
|
10
|
+
billing_type: Jenis penagihan
|
|
11
|
+
created_at: Dibuat pada
|
|
12
|
+
id: Id
|
|
13
|
+
name: Nama
|
|
14
|
+
next_status: Status berikutnya
|
|
15
|
+
owner_id: Pemilik
|
|
16
|
+
owner_type: Jenis pemilik
|
|
17
|
+
soa_enabled: Soa diaktifkan
|
|
18
|
+
stack: Susunan
|
|
19
|
+
started_at: Dimulai pada
|
|
20
|
+
status: Status
|
|
21
|
+
stopped_at: Berhenti pada
|
|
22
|
+
terminated_at: Diakhiri pada
|
|
23
|
+
uid: Uid
|
|
24
|
+
updated_at: Diperbarui pada
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
zh:
|
|
2
|
+
activemodel:
|
|
3
|
+
models:
|
|
4
|
+
mno_enterprise/app_instance: "应用程序实例"
|
|
5
|
+
attributes:
|
|
6
|
+
mno_enterprise/app_instance:
|
|
7
|
+
app_id: "应用程序"
|
|
8
|
+
autostop_at: "自动停止于"
|
|
9
|
+
autostop_interval: "自动停止间隔"
|
|
10
|
+
billing_type: "计费类型"
|
|
11
|
+
created_at: "创建于"
|
|
12
|
+
id: Id
|
|
13
|
+
name: "名称"
|
|
14
|
+
next_status: "下一个状态"
|
|
15
|
+
owner_id: "所有者"
|
|
16
|
+
owner_type: "所有者类型"
|
|
17
|
+
soa_enabled: "Soa已启用"
|
|
18
|
+
stack: "堆叠"
|
|
19
|
+
started_at: "开始于"
|
|
20
|
+
status: "状态"
|
|
21
|
+
stopped_at: "停止于"
|
|
22
|
+
terminated_at: "终止于"
|
|
23
|
+
uid: Uid
|
|
24
|
+
updated_at: "更新于"
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
en:
|
|
2
|
+
activemodel:
|
|
3
|
+
models:
|
|
4
|
+
mno_enterprise/credit_card: Credit card
|
|
5
|
+
attributes:
|
|
6
|
+
mno_enterprise/credit_card:
|
|
7
|
+
billing_address: Billing address
|
|
8
|
+
billing_city: City
|
|
9
|
+
billing_country: Country
|
|
10
|
+
billing_postcode: Postcode
|
|
11
|
+
country: Country
|
|
12
|
+
created_at: Created at
|
|
13
|
+
first_name: First name
|
|
14
|
+
id: Id
|
|
15
|
+
last_name: Last name
|
|
16
|
+
masked_number: Masked number
|
|
17
|
+
month: Month
|
|
18
|
+
number: Number
|
|
19
|
+
organization_id: Organization
|
|
20
|
+
title: Title
|
|
21
|
+
updated_at: Updated at
|
|
22
|
+
verification_value: CVV
|
|
23
|
+
year: Year
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
id:
|
|
2
|
+
activemodel:
|
|
3
|
+
models:
|
|
4
|
+
mno_enterprise/credit_card: Kartu kredit
|
|
5
|
+
attributes:
|
|
6
|
+
mno_enterprise/credit_card:
|
|
7
|
+
billing_address: Alamat penagihan
|
|
8
|
+
billing_city: Kota
|
|
9
|
+
billing_country: Negara
|
|
10
|
+
billing_postcode: Kode pos
|
|
11
|
+
country: Negara
|
|
12
|
+
created_at: Dibuat pada
|
|
13
|
+
first_name: Nama depan
|
|
14
|
+
id: Id
|
|
15
|
+
last_name: Nama belakang
|
|
16
|
+
masked_number: Nomor bermasker
|
|
17
|
+
month: Bulan
|
|
18
|
+
number: Nomor
|
|
19
|
+
organization_id: Organisasi
|
|
20
|
+
title: Judul
|
|
21
|
+
updated_at: Diperbarui pada
|
|
22
|
+
verification_value: Verifikasi Kartu Nilai (CVV)
|
|
23
|
+
year: Tahun
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
zh:
|
|
2
|
+
activemodel:
|
|
3
|
+
models:
|
|
4
|
+
mno_enterprise/credit_card: "信用卡"
|
|
5
|
+
attributes:
|
|
6
|
+
mno_enterprise/credit_card:
|
|
7
|
+
billing_address: "帐单地址"
|
|
8
|
+
billing_city: "城市"
|
|
9
|
+
billing_country: "国家"
|
|
10
|
+
billing_postcode: "邮编"
|
|
11
|
+
country: "国家"
|
|
12
|
+
created_at: "创建于"
|
|
13
|
+
first_name: "名"
|
|
14
|
+
id: Id
|
|
15
|
+
last_name: "姓"
|
|
16
|
+
masked_number: "掩码"
|
|
17
|
+
month: "月"
|
|
18
|
+
number: "号码"
|
|
19
|
+
organization_id: "公司"
|
|
20
|
+
title: "标题"
|
|
21
|
+
updated_at: "更新于"
|
|
22
|
+
verification_value: CVV
|
|
23
|
+
year: "年"
|