wakame-vdc-webui 11.06.0 → 11.12.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.
- data/Rakefile +7 -7
- data/app/controllers/application_controller.rb +5 -1
- data/app/controllers/dialog_controller.rb +5 -8
- data/app/controllers/instances_controller.rb +25 -7
- data/app/controllers/keypairs_controller.rb +2 -3
- data/app/controllers/security_groups_controller.rb +14 -15
- data/app/controllers/sessions_controller.rb +4 -0
- data/app/controllers/snapshots_controller.rb +3 -3
- data/app/controllers/volumes_controller.rb +18 -12
- data/app/models/dcmgr_resource/instance.rb +18 -2
- data/app/models/dcmgr_resource/security_group.rb +38 -0
- data/app/models/dcmgr_resource/ssh_key_pair.rb +0 -1
- data/app/views/dialog/attach_volume.html.erb +7 -11
- data/app/views/dialog/create_and_edit_security_group.html.erb +10 -12
- data/app/views/dialog/create_ssh_keypair.html.erb +9 -14
- data/app/views/dialog/delete_security_group.html.erb +1 -1
- data/app/views/dialog/reboot_instances.html.erb +2 -2
- data/app/views/dialog/start_instances.html.erb +1 -1
- data/app/views/dialog/stop_instances.html.erb +2 -2
- data/app/views/instances/index.html.erb +114 -110
- data/app/views/keypairs/index.html.erb +4 -4
- data/app/views/layouts/login.html.erb +1 -1
- data/app/views/security_groups/index.html.erb +11 -11
- data/app/views/sessions/information.html.erb +0 -0
- data/app/views/sessions/new.html.erb +24 -31
- data/app/views/snapshots/index.html.erb +3 -0
- data/app/views/volumes/index.html.erb +0 -5
- data/config/application.rb +1 -1
- data/config/dcmgr_gui.yml +8 -0
- data/{app/api/config/environment.rb → config/environment-auth.rb} +1 -1
- data/config/environments/development.rb +1 -1
- data/config/environments/production.rb +38 -41
- data/config/environments/test.rb +1 -1
- data/config/initializers/site.rb +1 -1
- data/config/locales/en.yml +16 -7
- data/config/locales/ja.yml +6 -4
- data/config/routes.rb +3 -0
- data/db/migrations/0001_origin.rb +96 -0
- data/lib/cli/account.rb +43 -88
- data/lib/cli/user.rb +0 -37
- data/lib/tasks/dcmgr_gui.rake +2 -2
- data/public/i18n/Messages_en.properties +34 -0
- data/public/i18n/Messages_ja-JP.properties +0 -0
- data/public/i18n/Messages_ja.properties +32 -0
- data/public/javascripts/dcmgr_gui/application.js +7 -7
- data/public/javascripts/dcmgr_gui/core.js +33 -8
- data/public/javascripts/dcmgr_gui/image_panel.js +6 -8
- data/public/javascripts/dcmgr_gui/instance_panel.js +29 -29
- data/public/javascripts/dcmgr_gui/security_group_panel.js +8 -29
- data/public/javascripts/dcmgr_gui/sshkeypair_panel.js +2 -22
- data/public/javascripts/dcmgr_gui/volume_panel.js +16 -21
- data/public/javascripts/jquery-ui-1.8.4.custom.min.js +0 -0
- data/public/stylesheets/common.css +45 -0
- metadata +336 -332
- data/app/models/dcmgr_resource/netfilter_group.rb +0 -29
@@ -100,11 +100,6 @@ jQuery(function($){
|
|
100
100
|
<td class="title"><%= t("volumes.details.created_at") %>:</td>
|
101
101
|
<td colspan="7">${item.created_at}</td>
|
102
102
|
</tr>
|
103
|
-
<tr>
|
104
|
-
<td class="padcell"></td>
|
105
|
-
<td class="title"><%= t("volumes.details.updated_at") %>:</td>
|
106
|
-
<td colspan="7">${item.updated_at}</td>
|
107
|
-
</tr>
|
108
103
|
</table>
|
109
104
|
</div>
|
110
105
|
</script>
|
data/config/application.rb
CHANGED
@@ -3,7 +3,7 @@ require File.expand_path('../boot', __FILE__)
|
|
3
3
|
# require 'rails/all'
|
4
4
|
# require "active_record/railtie"
|
5
5
|
require "action_controller/railtie"
|
6
|
-
require "action_mailer/railtie"
|
6
|
+
#require "action_mailer/railtie"
|
7
7
|
require "active_resource/railtie"
|
8
8
|
require "rails/test_unit/railtie"
|
9
9
|
|
@@ -15,7 +15,7 @@ DcmgrGui::Application.configure do
|
|
15
15
|
config.action_controller.perform_caching = false
|
16
16
|
|
17
17
|
# Don't care if the mailer can't send
|
18
|
-
config.action_mailer.raise_delivery_errors = false
|
18
|
+
#config.action_mailer.raise_delivery_errors = false
|
19
19
|
|
20
20
|
# Print deprecation notices to the Rails logger
|
21
21
|
config.active_support.deprecation = :log
|
@@ -1,49 +1,46 @@
|
|
1
1
|
DcmgrGui::Application.configure do
|
2
2
|
# Settings specified here will take precedence over those in config/environment.rb
|
3
3
|
|
4
|
-
#
|
5
|
-
#
|
6
|
-
|
4
|
+
# In the development environment your application's code is reloaded on
|
5
|
+
# every request. This slows down response time but is perfect for development
|
6
|
+
# since you don't have to restart the webserver when you make code changes.
|
7
|
+
config.cache_classes = true
|
7
8
|
|
8
|
-
#
|
9
|
-
config.
|
10
|
-
config.action_controller.perform_caching = true
|
11
|
-
|
12
|
-
# Specifies the header that your server uses for sending files
|
13
|
-
config.action_dispatch.x_sendfile_header = "X-Sendfile"
|
14
|
-
|
15
|
-
# For nginx:
|
16
|
-
# config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect'
|
17
|
-
|
18
|
-
# If you have no front-end server that supports something like X-Sendfile,
|
19
|
-
# just comment this out and Rails will serve the files
|
20
|
-
|
21
|
-
# See everything in the log (default is :info)
|
22
|
-
# config.log_level = :debug
|
23
|
-
|
24
|
-
# Use a different logger for distributed setups
|
25
|
-
# config.logger = SyslogLogger.new
|
9
|
+
# Log error messages when you accidentally call methods on nil.
|
10
|
+
config.whiny_nils = true
|
26
11
|
|
27
|
-
#
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
# In production, Apache or nginx will already do this
|
32
|
-
config.serve_static_assets = false
|
33
|
-
|
34
|
-
# Enable serving of images, stylesheets, and javascripts from an asset server
|
35
|
-
# config.action_controller.asset_host = "http://assets.example.com"
|
36
|
-
|
37
|
-
# Disable delivery errors, bad email addresses will be ignored
|
38
|
-
# config.action_mailer.raise_delivery_errors = false
|
39
|
-
|
40
|
-
# Enable threaded mode
|
41
|
-
# config.threadsafe!
|
12
|
+
# Show full error reports and disable caching
|
13
|
+
config.consider_all_requests_local = false
|
14
|
+
config.action_view.debug_rjs = false
|
15
|
+
config.action_controller.perform_caching = true
|
42
16
|
|
43
|
-
#
|
44
|
-
#
|
17
|
+
# Don't care if the mailer can't send
|
18
|
+
#config.action_mailer.raise_delivery_errors = false
|
19
|
+
|
20
|
+
# Print deprecation notices to the Rails logger
|
21
|
+
config.active_support.deprecation = :log
|
22
|
+
|
23
|
+
# Only use best-standards-support built into browsers
|
24
|
+
config.action_dispatch.best_standards_support = :builtin
|
25
|
+
|
26
|
+
# Config authentication for WebAPI
|
27
|
+
# Setting proxy server
|
28
|
+
config.proxy_host = "127.0.0.1"
|
29
|
+
config.proxy_port = 8080
|
30
|
+
config.proxy_scheme = "http"
|
31
|
+
config.proxy_dcmgr_host = "127.0.0.1"
|
32
|
+
config.proxy_dcmgr_port = 9001
|
33
|
+
config.proxy_root_user = 'root'
|
34
|
+
config.proxy_nginx = '/opt/nginx/sbin/nginx'
|
35
|
+
|
36
|
+
# Setting authentication server
|
37
|
+
config.auth_host = "127.0.0.1"
|
38
|
+
config.auth_port = 3000
|
39
|
+
config.auth_root_user = 'root'
|
40
|
+
|
41
|
+
config.i18n.load_path += Dir[Rails.root.join('locales', '*.{rb,yml}').to_s]
|
42
|
+
config.i18n.default_locale = :en
|
43
|
+
#config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect'
|
44
|
+
|
45
45
|
config.i18n.fallbacks = true
|
46
|
-
|
47
|
-
# Send deprecation notices to registered listeners
|
48
|
-
config.active_support.deprecation = :notify
|
49
46
|
end
|
data/config/environments/test.rb
CHANGED
@@ -23,7 +23,7 @@ DcmgrGui::Application.configure do
|
|
23
23
|
# Tell Action Mailer not to deliver emails to the real world.
|
24
24
|
# The :test delivery method accumulates sent emails in the
|
25
25
|
# ActionMailer::Base.deliveries array.
|
26
|
-
config.action_mailer.delivery_method = :test
|
26
|
+
#config.action_mailer.delivery_method = :test
|
27
27
|
|
28
28
|
# Use SQL instead of Active Record's schema dumper when creating the test database.
|
29
29
|
# This is necessary if your schema can't be completely dumped by the schema dumper,
|
data/config/initializers/site.rb
CHANGED
data/config/locales/en.yml
CHANGED
@@ -20,6 +20,8 @@ en:
|
|
20
20
|
attach: "Yes, Attach"
|
21
21
|
detach: "Yes, Detach"
|
22
22
|
launch: "Launch"
|
23
|
+
start: "Start"
|
24
|
+
stop: "Stop"
|
23
25
|
selectmenu:
|
24
26
|
select_action: "Select an Action"
|
25
27
|
select_region: "Region: "
|
@@ -34,10 +36,10 @@ en:
|
|
34
36
|
dialog:
|
35
37
|
terminate_instances:
|
36
38
|
header: "Terminate Instances"
|
37
|
-
message: "Are you sure you want to terminate
|
39
|
+
message: "Are you sure you want to terminate those instances?"
|
38
40
|
reboot_instances:
|
39
41
|
header: "Reboot Instances"
|
40
|
-
message: "Are you sure you want to reboot
|
42
|
+
message: "Are you sure you want to reboot those instances?"
|
41
43
|
launch_instance:
|
42
44
|
header: "Launch Instance"
|
43
45
|
wmi_id: "WMI ID"
|
@@ -77,7 +79,6 @@ en:
|
|
77
79
|
edit_security_group:
|
78
80
|
header: "Edit Security Group"
|
79
81
|
create_and_edit_security_group:
|
80
|
-
name: "Name"
|
81
82
|
description: "Description"
|
82
83
|
rule: "Rule"
|
83
84
|
delete_security_group:
|
@@ -85,11 +86,16 @@ en:
|
|
85
86
|
message: "Are you sure you want to delete the following security_group?"
|
86
87
|
create_ssh_keypair:
|
87
88
|
header: "Create SSH Key Pair"
|
88
|
-
keypair_name: "Key Pair Name"
|
89
89
|
download_once: "Download Once"
|
90
90
|
delete_ssh_keypair:
|
91
91
|
header: "Delete SSH Key Pair"
|
92
92
|
message: "Are you sure you want to delete the following key pair?"
|
93
|
+
start_instances:
|
94
|
+
header: "Start Instances"
|
95
|
+
message: "Are you sure you want to start those instances?"
|
96
|
+
stop_instances:
|
97
|
+
header: "Stop Instances"
|
98
|
+
message: "Are you sure you want to stop those instances?"
|
93
99
|
login:
|
94
100
|
sign_in: "Sign In"
|
95
101
|
user: "User"
|
@@ -127,6 +133,8 @@ en:
|
|
127
133
|
header: "Instance Actions"
|
128
134
|
terminate: "Terminate"
|
129
135
|
reboot: "Reboot"
|
136
|
+
start: "Start"
|
137
|
+
stop: "Stop"
|
130
138
|
list:
|
131
139
|
instance_id: "Instance ID"
|
132
140
|
wmi_id: "WMI ID"
|
@@ -229,6 +237,7 @@ en:
|
|
229
237
|
capacity: "Capacity"
|
230
238
|
origin_volume_id: "OriginVolumeID"
|
231
239
|
destination: "Destiantion"
|
240
|
+
backing_store: "BackingStore"
|
232
241
|
status: "Status"
|
233
242
|
created_at: "Created At"
|
234
243
|
updated_at: "Updated At"
|
@@ -257,12 +266,12 @@ en:
|
|
257
266
|
delete_security_group: "Delete Security Group"
|
258
267
|
edit_security_group: "Edit"
|
259
268
|
list:
|
260
|
-
name: "
|
269
|
+
name: "Security Group ID"
|
261
270
|
descriptions: "Description"
|
262
271
|
action: "Action"
|
263
272
|
details:
|
264
273
|
header: "Details"
|
265
|
-
name: "
|
274
|
+
name: "Security Group ID"
|
266
275
|
description: "Description"
|
267
276
|
created_at: "Created At"
|
268
277
|
updated_at: "Updated At"
|
@@ -277,7 +286,7 @@ en:
|
|
277
286
|
secret_access_key: "Secret Access Key"
|
278
287
|
details:
|
279
288
|
header: "Details"
|
280
|
-
|
289
|
+
uuid: "UUID"
|
281
290
|
fingerprint: "Fingerprint"
|
282
291
|
created_at: "Created"
|
283
292
|
updated_at: "Updated"
|
data/config/locales/ja.yml
CHANGED
@@ -19,6 +19,8 @@ ja:
|
|
19
19
|
attach: "アタッチ"
|
20
20
|
detach: "デタッチ"
|
21
21
|
launch: "起動"
|
22
|
+
start: "再開"
|
23
|
+
stop: "一時停止"
|
22
24
|
selectmenu:
|
23
25
|
select_action: "アクション"
|
24
26
|
select_region: "データセンタ: "
|
@@ -76,7 +78,6 @@ ja:
|
|
76
78
|
edit_security_group:
|
77
79
|
header: "セキュリティグループを編集"
|
78
80
|
create_and_edit_security_group:
|
79
|
-
name: "セキュリティグループ名"
|
80
81
|
description: "詳細"
|
81
82
|
rule: "ルール"
|
82
83
|
delete_security_group:
|
@@ -84,7 +85,6 @@ ja:
|
|
84
85
|
message: "セキュリティーグループを削除します。よろしいですか?"
|
85
86
|
create_ssh_keypair:
|
86
87
|
header: "キーペアを作成"
|
87
|
-
keypair_name: "キーペア名"
|
88
88
|
download_once: "1回限り"
|
89
89
|
delete_ssh_keypair:
|
90
90
|
header: "キーペアを削除"
|
@@ -126,6 +126,8 @@ ja:
|
|
126
126
|
header: "アクション"
|
127
127
|
terminate: "停止"
|
128
128
|
reboot: "再起動"
|
129
|
+
start: "再開"
|
130
|
+
stop: "一時停止"
|
129
131
|
list:
|
130
132
|
instance_id: "インスタンスID"
|
131
133
|
wmi_id: "WMI ID"
|
@@ -227,6 +229,7 @@ ja:
|
|
227
229
|
capacity: "容量"
|
228
230
|
origin_volume_id: "ボリューム元ID"
|
229
231
|
destination: "保存先"
|
232
|
+
backing_store: "バッキングストア"
|
230
233
|
status: "状態"
|
231
234
|
created_at: "作成日"
|
232
235
|
updated_at: "更新日"
|
@@ -260,7 +263,6 @@ ja:
|
|
260
263
|
action: "アクション"
|
261
264
|
details:
|
262
265
|
header: "詳細"
|
263
|
-
name: "名前"
|
264
266
|
description: "詳細"
|
265
267
|
created_at: "作成日"
|
266
268
|
updated_at: "更新日"
|
@@ -275,7 +277,7 @@ ja:
|
|
275
277
|
secret_access_key: "シークレットキー"
|
276
278
|
details:
|
277
279
|
header: "詳細"
|
278
|
-
|
280
|
+
uuid: "UUID"
|
279
281
|
fingerprint: "フィンガープリント"
|
280
282
|
created_at: "作成日"
|
281
283
|
updated_at: "更新日"
|
data/config/routes.rb
CHANGED
@@ -57,6 +57,8 @@ DcmgrGui::Application.routes.draw do
|
|
57
57
|
post 'instances/reboot' ,:to => 'instances#reboot'
|
58
58
|
post 'instances' ,:to => 'instances#create'
|
59
59
|
get 'instances/show/:id' ,:to => 'instances#show'
|
60
|
+
post 'instances/start' ,:to => 'instances#start'
|
61
|
+
post 'instances/stop' ,:to => 'instances#stop'
|
60
62
|
|
61
63
|
#instance_specs
|
62
64
|
get 'instance_specs/all' ,:to => 'instance_specs#show_instance_specs'
|
@@ -93,6 +95,7 @@ DcmgrGui::Application.routes.draw do
|
|
93
95
|
#sessions
|
94
96
|
get 'login' => 'sessions#new', :as => :login
|
95
97
|
get 'logout' => 'sessions#destroy', :as => :logout
|
98
|
+
get 'sessions/information', :to => 'sessions#information'
|
96
99
|
resource :session, :only => [:new, :create, :destroy]
|
97
100
|
|
98
101
|
#storage_pools
|
@@ -0,0 +1,96 @@
|
|
1
|
+
Sequel.migration do
|
2
|
+
up do
|
3
|
+
create_table(:accounts, :ignore_index_errors=>true) do
|
4
|
+
primary_key :id
|
5
|
+
String :uuid, :null=>false, :size=>8, :fixed=>true
|
6
|
+
DateTime :created_at, :null=>false
|
7
|
+
DateTime :updated_at, :null=>false
|
8
|
+
String :name, :null=>false, :size=>255
|
9
|
+
String :description, :size=>255
|
10
|
+
TrueClass :enable, :default=>true
|
11
|
+
DateTime :deleted_at
|
12
|
+
TrueClass :is_deleted, :default=>false
|
13
|
+
|
14
|
+
index [:uuid], :unique=>true, :name=>:uuid
|
15
|
+
end
|
16
|
+
|
17
|
+
create_table(:authzs) do
|
18
|
+
primary_key :id
|
19
|
+
DateTime :created_at, :null=>false
|
20
|
+
DateTime :updated_at, :null=>false
|
21
|
+
Integer :user_id, :null=>false
|
22
|
+
Integer :account_id, :null=>false
|
23
|
+
Integer :type_id, :null=>false
|
24
|
+
end
|
25
|
+
|
26
|
+
create_table(:information) do
|
27
|
+
primary_key :id
|
28
|
+
DateTime :created_at, :null=>false
|
29
|
+
DateTime :updated_at, :null=>false
|
30
|
+
String :title, :size=>255
|
31
|
+
String :link, :text=>true
|
32
|
+
String :description, :text=>true
|
33
|
+
end
|
34
|
+
|
35
|
+
create_table(:oauth_consumers, :ignore_index_errors=>true) do
|
36
|
+
primary_key :id
|
37
|
+
DateTime :created_at, :null=>false
|
38
|
+
DateTime :updated_at, :null=>false
|
39
|
+
String :key, :null=>false, :size=>40
|
40
|
+
String :secret, :null=>false, :size=>40
|
41
|
+
Integer :account_id, :null=>false
|
42
|
+
|
43
|
+
index [:account_id], :unique=>true, :name=>:account_id
|
44
|
+
index [:key], :unique=>true
|
45
|
+
end
|
46
|
+
|
47
|
+
create_table(:tag_mappings, :ignore_index_errors=>true) do
|
48
|
+
primary_key :id
|
49
|
+
Integer :tag_id, :null=>false
|
50
|
+
Integer :target_type
|
51
|
+
Integer :target_id, :null=>false
|
52
|
+
|
53
|
+
index [:tag_id, :target_type, :target_id]
|
54
|
+
end
|
55
|
+
|
56
|
+
create_table(:tags, :ignore_index_errors=>true) do
|
57
|
+
primary_key :id
|
58
|
+
String :uuid, :null=>false, :size=>8, :fixed=>true
|
59
|
+
DateTime :created_at, :null=>false
|
60
|
+
DateTime :updated_at, :null=>false
|
61
|
+
Integer :account_id, :null=>false
|
62
|
+
Integer :owner_id, :null=>false
|
63
|
+
String :name, :null=>false, :size=>32, :fixed=>true
|
64
|
+
|
65
|
+
index [:account_id]
|
66
|
+
index [:uuid], :unique=>true, :name=>:uuid
|
67
|
+
end
|
68
|
+
|
69
|
+
create_table(:users, :ignore_index_errors=>true) do
|
70
|
+
primary_key :id
|
71
|
+
String :uuid, :null=>false, :size=>8, :fixed=>true
|
72
|
+
DateTime :created_at, :null=>false
|
73
|
+
DateTime :updated_at, :null=>false
|
74
|
+
DateTime :last_login_at, :null=>false
|
75
|
+
String :name, :null=>false, :size=>200, :fixed=>true
|
76
|
+
String :login_id, :size=>255
|
77
|
+
String :password, :null=>false, :size=>255
|
78
|
+
String :primary_account_id, :size=>255
|
79
|
+
String :locale, :null=>false, :size=>255
|
80
|
+
String :time_zone, :null=>false, :size=>255
|
81
|
+
|
82
|
+
index [:login_id], :unique=>true, :name=>:login_id
|
83
|
+
index [:uuid], :unique=>true, :name=>:uuid
|
84
|
+
end
|
85
|
+
|
86
|
+
create_table(:users_accounts) do
|
87
|
+
primary_key :id
|
88
|
+
Integer :user_id, :null=>false
|
89
|
+
Integer :account_id, :null=>false
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
down do
|
94
|
+
drop_table(:accounts, :authzs, :information, :oauth_consumers, :tag_mappings, :tags, :users, :users_accounts)
|
95
|
+
end
|
96
|
+
end
|
data/lib/cli/account.rb
CHANGED
@@ -7,48 +7,11 @@ require 'yaml'
|
|
7
7
|
module Cli
|
8
8
|
class AccountCli < Base
|
9
9
|
namespace :account
|
10
|
-
#M=Dcmgr::Models
|
11
|
-
|
12
|
-
#no_tasks {
|
13
|
-
#def before_task
|
14
|
-
## Setup DB connections and load paths for dcmgr_gui
|
15
|
-
#root_dir = File.expand_path('../../../', __FILE__)
|
16
|
-
|
17
|
-
##get the database details
|
18
|
-
##TODO:get this path in a less hard-coded way?
|
19
|
-
#content = File.new(File.expand_path('../../frontend/dcmgr_gui/config/database.yml', root_dir)).read
|
20
|
-
#settings = YAML::load content
|
21
|
-
|
22
|
-
##load the database variables
|
23
|
-
##TODO: get environment from RAILS_ENV
|
24
|
-
#db_environment = 'development'
|
25
|
-
#db_adapter = settings[db_environment]['adapter']
|
26
|
-
#db_host = settings[db_environment]['host']
|
27
|
-
#db_name = settings[db_environment]['database']
|
28
|
-
#db_user = settings[db_environment]['user']
|
29
|
-
#db_pwd = settings[db_environment]['password']
|
30
|
-
|
31
|
-
##Connect to the database
|
32
|
-
#url = "#{db_adapter}://#{db_host}/#{db_name}?user=#{db_user}&password=#{db_pwd}"
|
33
|
-
#db = Sequel.connect(url)
|
34
|
-
|
35
|
-
##load the cli environment
|
36
|
-
#$LOAD_PATH.unshift File.expand_path('../../frontend/dcmgr_gui/config', root_dir)
|
37
|
-
#$LOAD_PATH.unshift File.expand_path('../../frontend/dcmgr_gui/app/models', root_dir)
|
38
|
-
##require 'account'
|
39
|
-
#require 'environment-cli'
|
40
|
-
|
41
|
-
##Associate the models with their respective database
|
42
|
-
#Account.db = db
|
43
|
-
#User.db = db
|
44
|
-
#end
|
45
|
-
#}
|
46
10
|
|
47
11
|
desc "add [options]", "Create a new account."
|
48
|
-
method_option :name, :type => :string, :aliases => "-n", :required => true, :desc => "The name for the new account."
|
12
|
+
method_option :name, :type => :string, :aliases => "-n", :required => true, :desc => "The name for the new account."
|
49
13
|
method_option :uuid, :type => :string, :aliases => "-u", :desc => "The UUID for the new account."
|
50
14
|
method_option :description, :type => :string, :aliases => "-d", :default => "", :desc => "The description for this account."
|
51
|
-
#method_option :verbose, :type => :boolean, :aliases => "-v", :desc => "Print feedback on what is happening."
|
52
15
|
def add
|
53
16
|
#Check if the data we got is valid
|
54
17
|
if options[:name] != nil && options[:name].length > 255
|
@@ -58,24 +21,6 @@ module Cli
|
|
58
21
|
raise "Account description can not be longer than 100 chracters."
|
59
22
|
end
|
60
23
|
|
61
|
-
#Put them in the backend
|
62
|
-
#fields = {:description => options[:description], :enabled => M::Account::ENABLED}
|
63
|
-
#fields.merge!({:uuid => options[:uuid]}) unless options[:uuid].nil?
|
64
|
-
|
65
|
-
#new_uuid = super(M::Account,fields)
|
66
|
-
|
67
|
-
##This should never happen as long as the databases remain synchronized.
|
68
|
-
#begin
|
69
|
-
#raise "A uuid collision occurred. This means the account databases are not synchronized." if Account[new_uuid] != nil
|
70
|
-
#rescue
|
71
|
-
#M::Account[new_uuid].delete
|
72
|
-
#raise
|
73
|
-
#end
|
74
|
-
|
75
|
-
#Put them in the frontend
|
76
|
-
#super(Account,{:uuid => new_uuid,:name => options[:name],:description => options[:description]})
|
77
|
-
|
78
|
-
#puts new_uuid
|
79
24
|
fields = {:name => options[:name],:description => options[:description], :enable => Account::ENABLED}
|
80
25
|
fields.merge!({:uuid => options[:uuid]}) unless options[:uuid].nil?
|
81
26
|
puts super(Account,fields)
|
@@ -85,8 +30,7 @@ module Cli
|
|
85
30
|
method_option :deleted, :type => :boolean, :default => false, :aliases => "-d", :desc => "Show deleted accounts."
|
86
31
|
def show(uuid = nil)
|
87
32
|
if uuid
|
88
|
-
|
89
|
-
acc = Account[uuid] || raise(Thor::Error, "Unknown Account UUID: #{uuid}")
|
33
|
+
acc = Account[uuid] || UnknownUUIDError.raise(uuid)
|
90
34
|
puts ERB.new(<<__END, nil, '-').result(binding)
|
91
35
|
Account UUID:
|
92
36
|
<%- if acc.class == Account -%>
|
@@ -135,22 +79,22 @@ __END
|
|
135
79
|
end
|
136
80
|
|
137
81
|
desc "modify UUID [options]", "Modify an existing account."
|
138
|
-
method_option :name, :type => :string, :aliases => "-n", :desc => "The new name for the account."
|
82
|
+
method_option :name, :type => :string, :aliases => "-n", :desc => "The new name for the account."
|
139
83
|
method_option :description, :type => :string, :aliases => "-d", :desc => "The new description for the account."
|
140
|
-
#method_option :verbose, :type => :boolean, :aliases => "-v", :desc => "Print feedback on what is happening."
|
141
84
|
def modify(uuid)
|
142
85
|
raise "Account name can not be longer than 255 characters." if options[:name] != nil && options[:name].length > 255
|
143
86
|
raise "Description can not be longer than 100 characters." if options[:description] != nil && options[:description].length > 100
|
144
87
|
super(Account,uuid,{:name => options[:name],:description => options[:description]})
|
145
|
-
#super(M::Account,uuid,{:description => options[:description]})
|
146
88
|
end
|
147
89
|
|
148
90
|
#TODO: show account to confirm deletion
|
149
91
|
desc "del UUID [options]", "Deletes an existing account."
|
150
92
|
method_option :verbose, :type => :boolean, :aliases => "-v", :desc => "Print feedback on what is happening."
|
151
93
|
def del(uuid)
|
94
|
+
to_do = Account[uuid]
|
95
|
+
Error.raise("Unknown frontend account UUID: #{uuid}", 100) if to_do == nil or to_do.is_deleted
|
96
|
+
|
152
97
|
super(Account,uuid)
|
153
|
-
#super(M::Account,uuid)
|
154
98
|
|
155
99
|
puts "Account #{uuid} has been deleted." if options[:verbose]
|
156
100
|
end
|
@@ -160,19 +104,14 @@ __END
|
|
160
104
|
def enable(uuid)
|
161
105
|
to_enable = Account[uuid]
|
162
106
|
Error.raise("Unknown frontend account UUID: #{uuid}", 100) if to_enable == nil or to_enable.is_deleted
|
163
|
-
#to_enable_back = M::Account[uuid] || Error.raise("Unknown backend account UUID: #{uuid}", 100)
|
164
107
|
|
165
|
-
if to_enable.enable
|
108
|
+
if to_enable.enable?
|
166
109
|
puts "Account #{uuid} is already enabled." if options[:verbose]
|
167
|
-
else
|
110
|
+
else
|
168
111
|
to_enable.enable = Account::ENABLED
|
169
112
|
to_enable.updated_at = Time.now.utc.iso8601
|
170
|
-
to_enable.save
|
171
|
-
|
172
|
-
#to_enable_back.enabled = Dcmgr::Models::Account::ENABLED
|
173
|
-
#to_enable_back.updated_at = Time.now.utc.iso8601
|
174
|
-
#to_enable_back.save
|
175
|
-
|
113
|
+
to_enable.save
|
114
|
+
|
176
115
|
puts "Account #{uuid} has been enabled." if options[:verbose]
|
177
116
|
end
|
178
117
|
end
|
@@ -182,19 +121,14 @@ __END
|
|
182
121
|
def disable(uuid)
|
183
122
|
to_disable = Account[uuid]
|
184
123
|
UnknownUUIDError.raise(uuid) if to_disable == nil or to_disable.is_deleted
|
185
|
-
#to_disable_back = M::Account[uuid] || Error.raise("Unknown backend account UUID: #{uuid}", 100)
|
186
124
|
|
187
|
-
if to_disable.disable?
|
125
|
+
if to_disable.disable?
|
188
126
|
puts "Account #{id} is already disabled." if options[:verbose]
|
189
127
|
else
|
190
128
|
to_disable.enable = Account::DISABLED
|
191
129
|
to_disable.updated_at = Time.now.utc.iso8601
|
192
130
|
to_disable.save
|
193
131
|
|
194
|
-
#to_disable_back.enabled = M::Account::DISABLED
|
195
|
-
#to_disable_back.updated_at = Time.now.utc.iso8601
|
196
|
-
#to_disable_back.save
|
197
|
-
|
198
132
|
puts "Account #{uuid} has been disabled." if options[:verbose]
|
199
133
|
end
|
200
134
|
end
|
@@ -249,16 +183,37 @@ __END
|
|
249
183
|
}
|
250
184
|
end
|
251
185
|
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
186
|
+
|
187
|
+
desc "oauth UUID [options]", "Generate or show OAuth key and secret"
|
188
|
+
def oauth(uuid)
|
189
|
+
require 'oauth'
|
190
|
+
acc = Account[uuid]
|
191
|
+
Error.raise("Unknown frontend account UUID: #{uuid}", 100) if acc == nil or acc.is_deleted
|
192
|
+
|
193
|
+
oauth_token = OauthToken.new
|
194
|
+
oauth_token.generate_keys
|
195
|
+
oauth_consumer = OauthConsumer.find(:account_id => acc.id)
|
196
|
+
if oauth_consumer.nil?
|
197
|
+
oauth_consumer = OauthConsumer.create(
|
198
|
+
:key => oauth_token.token,
|
199
|
+
:secret => oauth_token.secret,
|
200
|
+
:account_id => acc.id
|
201
|
+
)
|
202
|
+
end
|
203
|
+
|
204
|
+
puts ERB.new(<<__END, nil, '-').result(binding)
|
205
|
+
Account UUID:
|
206
|
+
<%- if acc.class == Account -%>
|
207
|
+
<%= acc.canonical_uuid %>
|
208
|
+
<%- else -%>
|
209
|
+
<%= Account.uuid_prefix%>-<%= acc.uuid %>
|
210
|
+
<%- end -%>
|
211
|
+
|
212
|
+
Consumer Key:
|
213
|
+
<%= oauth_consumer.key %>
|
214
|
+
Consumer Secret:
|
215
|
+
<%= oauth_consumer.secret %>
|
216
|
+
__END
|
217
|
+
end
|
263
218
|
end
|
264
219
|
end
|