wakame-vdc-webui 10.11.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (281) hide show
  1. data/INSTALL.txt +21 -0
  2. data/LICENSE +202 -0
  3. data/NOTICE +1 -0
  4. data/README +256 -0
  5. data/Rakefile +42 -0
  6. data/app/controllers/accounts_controller.rb +15 -0
  7. data/app/controllers/application_controller.rb +5 -0
  8. data/app/controllers/dialog_controller.rb +80 -0
  9. data/app/controllers/home_controller.rb +5 -0
  10. data/app/controllers/host_pools_controller.rb +26 -0
  11. data/app/controllers/images_controller.rb +28 -0
  12. data/app/controllers/information_controller.rb +10 -0
  13. data/app/controllers/instances_controller.rb +59 -0
  14. data/app/controllers/keypairs_controller.rb +64 -0
  15. data/app/controllers/security_groups_controller.rb +59 -0
  16. data/app/controllers/sessions_controller.rb +25 -0
  17. data/app/controllers/snapshots_controller.rb +48 -0
  18. data/app/controllers/storage_pools_controller.rb +27 -0
  19. data/app/controllers/users_controller.rb +3 -0
  20. data/app/controllers/volumes_controller.rb +86 -0
  21. data/app/helpers/accounts_helper.rb +2 -0
  22. data/app/helpers/application_helper.rb +23 -0
  23. data/app/helpers/dialog_helper.rb +2 -0
  24. data/app/helpers/home_helper.rb +2 -0
  25. data/app/helpers/host_pools_helper.rb +2 -0
  26. data/app/helpers/images_helper.rb +2 -0
  27. data/app/helpers/information_helper.rb +2 -0
  28. data/app/helpers/instances_helper.rb +2 -0
  29. data/app/helpers/keypairs_helper.rb +2 -0
  30. data/app/helpers/security_groups_helper.rb +2 -0
  31. data/app/helpers/sessions_helper.rb +2 -0
  32. data/app/helpers/snapshots_helper.rb +2 -0
  33. data/app/helpers/storage_pools_helper.rb +2 -0
  34. data/app/helpers/users_helper.rb +2 -0
  35. data/app/helpers/volumes_helper.rb +2 -0
  36. data/app/models/account.rb +104 -0
  37. data/app/models/authz.rb +102 -0
  38. data/app/models/base_new.rb +311 -0
  39. data/app/models/dcmgr_resource/account.rb +5 -0
  40. data/app/models/dcmgr_resource/base.rb +51 -0
  41. data/app/models/dcmgr_resource/host_pool.rb +11 -0
  42. data/app/models/dcmgr_resource/image.rb +11 -0
  43. data/app/models/dcmgr_resource/instance.rb +37 -0
  44. data/app/models/dcmgr_resource/mock.rb +15 -0
  45. data/app/models/dcmgr_resource/netfilter_group.rb +29 -0
  46. data/app/models/dcmgr_resource/ssh_key_pair.rb +25 -0
  47. data/app/models/dcmgr_resource/storage_pool.rb +11 -0
  48. data/app/models/dcmgr_resource/volume.rb +48 -0
  49. data/app/models/dcmgr_resource/volume_snapshot.rb +35 -0
  50. data/app/models/information.rb +9 -0
  51. data/app/models/schema.rb +51 -0
  52. data/app/models/tag.rb +121 -0
  53. data/app/models/tag_mapping.rb +25 -0
  54. data/app/models/user.rb +46 -0
  55. data/app/views/accounts/index.html.erb +68 -0
  56. data/app/views/dialog/attach_volume.html.erb +13 -0
  57. data/app/views/dialog/create_and_edit_security_group.html.erb +32 -0
  58. data/app/views/dialog/create_snapshot.html.erb +7 -0
  59. data/app/views/dialog/create_ssh_keypair.html.erb +15 -0
  60. data/app/views/dialog/create_volume.html.erb +18 -0
  61. data/app/views/dialog/create_volume_from_snapshot.html.erb +7 -0
  62. data/app/views/dialog/delete_security_group.html.erb +4 -0
  63. data/app/views/dialog/delete_snapshot.html.erb +7 -0
  64. data/app/views/dialog/delete_ssh_keypair.html.erb +4 -0
  65. data/app/views/dialog/delete_volume.html.erb +7 -0
  66. data/app/views/dialog/detach_volume.html.erb +7 -0
  67. data/app/views/dialog/launch_instance.html.erb +70 -0
  68. data/app/views/dialog/reboot_instances.html.erb +7 -0
  69. data/app/views/dialog/start_instances.html.erb +8 -0
  70. data/app/views/dialog/stop_instances.html.erb +7 -0
  71. data/app/views/dialog/terminate_instances.html.erb +7 -0
  72. data/app/views/home/index.html.erb +55 -0
  73. data/app/views/host_pools/index.html.erb +103 -0
  74. data/app/views/images/index.html.erb +126 -0
  75. data/app/views/information/index.html.erb +25 -0
  76. data/app/views/instances/index.html.erb +134 -0
  77. data/app/views/keypairs/index.html.erb +104 -0
  78. data/app/views/layouts/_footer.html.erb +4 -0
  79. data/app/views/layouts/_header.html.erb +14 -0
  80. data/app/views/layouts/_informationarea.html.erb +18 -0
  81. data/app/views/layouts/_login_header.erb +4 -0
  82. data/app/views/layouts/_service_health.erb +27 -0
  83. data/app/views/layouts/_sidemenu.html.erb +58 -0
  84. data/app/views/layouts/application.html.erb +34 -0
  85. data/app/views/layouts/login.html.erb +25 -0
  86. data/app/views/security_groups/index.html.erb +114 -0
  87. data/app/views/sessions/new.html.erb +27 -0
  88. data/app/views/snapshots/index.html.erb +110 -0
  89. data/app/views/storage_pools/index.html.erb +98 -0
  90. data/app/views/volumes/index.html.erb +117 -0
  91. data/config.ru +4 -0
  92. data/config/application.rb +48 -0
  93. data/config/boot.rb +13 -0
  94. data/config/database.yml +20 -0
  95. data/config/environment.rb +5 -0
  96. data/config/environments/development.rb +28 -0
  97. data/config/environments/production.rb +49 -0
  98. data/config/environments/test.rb +35 -0
  99. data/config/initializers/backtrace_silencers.rb +7 -0
  100. data/config/initializers/dcmgr_gui.rb +14 -0
  101. data/config/initializers/inflections.rb +10 -0
  102. data/config/initializers/mime_types.rb +5 -0
  103. data/config/initializers/secret_token.rb +7 -0
  104. data/config/initializers/session_store.rb +8 -0
  105. data/config/locales/en.yml +5 -0
  106. data/config/routes.rb +109 -0
  107. data/db/seeds.rb +7 -0
  108. data/extras/authentication.rb +94 -0
  109. data/extras/util.rb +5 -0
  110. data/lib/tasks/dcmgr_gui.rake +51 -0
  111. data/public/404.html +26 -0
  112. data/public/422.html +26 -0
  113. data/public/500.html +26 -0
  114. data/public/favicon.ico +0 -0
  115. data/public/images/app_active.gif +0 -0
  116. data/public/images/app_passive.gif +0 -0
  117. data/public/images/body_bg.gif +0 -0
  118. data/public/images/btn_change.gif +0 -0
  119. data/public/images/btn_create_security_group.gif +0 -0
  120. data/public/images/btn_create_snapshot.gif +0 -0
  121. data/public/images/btn_create_volume.gif +0 -0
  122. data/public/images/btn_createkey.gif +0 -0
  123. data/public/images/btn_de_register.gif +0 -0
  124. data/public/images/btn_delete_security_group.gif +0 -0
  125. data/public/images/btn_delete_snapshot.gif +0 -0
  126. data/public/images/btn_delete_volume.gif +0 -0
  127. data/public/images/btn_deletekey.gif +0 -0
  128. data/public/images/btn_healthdetail.gif +0 -0
  129. data/public/images/btn_hide.gif +0 -0
  130. data/public/images/btn_launch.gif +0 -0
  131. data/public/images/btn_next.gif +0 -0
  132. data/public/images/btn_prev.gif +0 -0
  133. data/public/images/btn_refresh.gif +0 -0
  134. data/public/images/btn_register_new_ami.gif +0 -0
  135. data/public/images/btn_savechange.gif +0 -0
  136. data/public/images/btn_show.gif +0 -0
  137. data/public/images/btn_show_accesskey.png +0 -0
  138. data/public/images/bup_btn_healthdetail.gif +0 -0
  139. data/public/images/bup_btn_refresh.gif +0 -0
  140. data/public/images/clear.gif +0 -0
  141. data/public/images/content_bg.png +0 -0
  142. data/public/images/content_foot_bg.gif +0 -0
  143. data/public/images/content_head_bg.gif +0 -0
  144. data/public/images/footer_bg.gif +0 -0
  145. data/public/images/head_gradation_bg.gif +0 -0
  146. data/public/images/header_logo.gif +0 -0
  147. data/public/images/icon_blockstore.gif +0 -0
  148. data/public/images/icon_caution.gif +0 -0
  149. data/public/images/icon_health.gif +0 -0
  150. data/public/images/icon_images.gif +0 -0
  151. data/public/images/icon_information.gif +0 -0
  152. data/public/images/icon_instances.gif +0 -0
  153. data/public/images/icon_resource.gif +0 -0
  154. data/public/images/icon_resource01.gif +0 -0
  155. data/public/images/icon_resource02.gif +0 -0
  156. data/public/images/icon_resource03.gif +0 -0
  157. data/public/images/icon_resource04.gif +0 -0
  158. data/public/images/icon_rss.gif +0 -0
  159. data/public/images/icon_security.gif +0 -0
  160. data/public/images/icon_service.gif +0 -0
  161. data/public/images/icon_service_stat.gif +0 -0
  162. data/public/images/icon_stop.gif +0 -0
  163. data/public/images/icon_summary.gif +0 -0
  164. data/public/images/icon_ttl_accskey.gif +0 -0
  165. data/public/images/icon_ttl_detail.gif +0 -0
  166. data/public/images/icon_ttl_instance.gif +0 -0
  167. data/public/images/icon_ttl_personal_inf.gif +0 -0
  168. data/public/images/infra_active.gif +0 -0
  169. data/public/images/infra_passive.gif +0 -0
  170. data/public/images/lastelement_bg.gif +0 -0
  171. data/public/images/lastelement_bg.png +0 -0
  172. data/public/images/listicon_useast.gif +0 -0
  173. data/public/images/loader_ball.gif +0 -0
  174. data/public/images/loader_boxes.gif +0 -0
  175. data/public/images/loading.gif +0 -0
  176. data/public/images/mainarea_bottom_bg.gif +0 -0
  177. data/public/images/mainarea_content_bg.gif +0 -0
  178. data/public/images/mainarea_h3_bg.gif +0 -0
  179. data/public/images/mainarea_wide_bottom_bg.gif +0 -0
  180. data/public/images/mainarea_wide_content_bg.gif +0 -0
  181. data/public/images/mainarea_wide_h3_bg.gif +0 -0
  182. data/public/images/menu_list_header.gif +0 -0
  183. data/public/images/menu_list_header_current.gif +0 -0
  184. data/public/images/plat_active.gif +0 -0
  185. data/public/images/plat_passive.gif +0 -0
  186. data/public/images/regionselect_bg.gif +0 -0
  187. data/public/images/select_bg_126.gif +0 -0
  188. data/public/images/select_bg_139.gif +0 -0
  189. data/public/images/sidemenu_bg.gif +0 -0
  190. data/public/images/sidemenu_bottom.gif +0 -0
  191. data/public/images/sidemenu_top.gif +0 -0
  192. data/public/images/ui-bg_diagonals-thick_18_b81900_40x40.png +0 -0
  193. data/public/images/ui-bg_diagonals-thick_20_666666_40x40.png +0 -0
  194. data/public/images/ui-bg_flat_10_000000_40x100.png +0 -0
  195. data/public/images/ui-bg_glass_100_f6f6f6_1x400.png +0 -0
  196. data/public/images/ui-bg_glass_100_fdf5ce_1x400.png +0 -0
  197. data/public/images/ui-bg_glass_55_fcf0ba_1x400.png +0 -0
  198. data/public/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  199. data/public/images/ui-bg_gloss-wave_100_ece8da_500x100.png +0 -0
  200. data/public/images/ui-bg_gloss-wave_35_f6a828_500x100.png +0 -0
  201. data/public/images/ui-bg_highlight-hard_100_f5f3e5_1x100.png +0 -0
  202. data/public/images/ui-bg_highlight-hard_100_fafaf4_1x100.png +0 -0
  203. data/public/images/ui-bg_highlight-hard_15_459e00_1x100.png +0 -0
  204. data/public/images/ui-bg_highlight-hard_95_cccccc_1x100.png +0 -0
  205. data/public/images/ui-bg_highlight-soft_100_eeeeee_1x100.png +0 -0
  206. data/public/images/ui-bg_highlight-soft_25_67b021_1x100.png +0 -0
  207. data/public/images/ui-bg_highlight-soft_75_ffe45c_1x100.png +0 -0
  208. data/public/images/ui-bg_highlight-soft_95_ffedad_1x100.png +0 -0
  209. data/public/images/ui-bg_inset-soft_15_2b2922_1x100.png +0 -0
  210. data/public/images/ui-icons_222222_256x240.png +0 -0
  211. data/public/images/ui-icons_228ef1_256x240.png +0 -0
  212. data/public/images/ui-icons_808080_256x240.png +0 -0
  213. data/public/images/ui-icons_847e71_256x240.png +0 -0
  214. data/public/images/ui-icons_8dc262_256x240.png +0 -0
  215. data/public/images/ui-icons_cd0a0a_256x240.png +0 -0
  216. data/public/images/ui-icons_eeeeee_256x240.png +0 -0
  217. data/public/images/ui-icons_ef8c08_256x240.png +0 -0
  218. data/public/images/ui-icons_ffd27a_256x240.png +0 -0
  219. data/public/images/ui-icons_ffffff_256x240.png +0 -0
  220. data/public/images/vtip_arrow.png +0 -0
  221. data/public/javascripts/controls.js +965 -0
  222. data/public/javascripts/dcmgr_gui/application.js +91 -0
  223. data/public/javascripts/dcmgr_gui/core.js +539 -0
  224. data/public/javascripts/dcmgr_gui/dashboard_panel.js +34 -0
  225. data/public/javascripts/dcmgr_gui/host_pool_panel.js +83 -0
  226. data/public/javascripts/dcmgr_gui/image_panel.js +242 -0
  227. data/public/javascripts/dcmgr_gui/instance_panel.js +197 -0
  228. data/public/javascripts/dcmgr_gui/security_group_panel.js +196 -0
  229. data/public/javascripts/dcmgr_gui/snapshot_panel.js +168 -0
  230. data/public/javascripts/dcmgr_gui/sshkeypair_panel.js +161 -0
  231. data/public/javascripts/dcmgr_gui/storage_pool_panel.js +99 -0
  232. data/public/javascripts/dcmgr_gui/volume_panel.js +311 -0
  233. data/public/javascripts/dragdrop.js +974 -0
  234. data/public/javascripts/effects.js +1123 -0
  235. data/public/javascripts/jquery-1.4.2.min.js +154 -0
  236. data/public/javascripts/jquery-ui-1.8.4.custom.min.js +763 -0
  237. data/public/javascripts/jquery.loadmask.min.js +10 -0
  238. data/public/javascripts/jquery.tmpl.js +486 -0
  239. data/public/javascripts/jsdeferred.jquery.js +385 -0
  240. data/public/javascripts/prototype.js +6001 -0
  241. data/public/javascripts/rails.js +175 -0
  242. data/public/robots.txt +5 -0
  243. data/public/stylesheets/common.css +1236 -0
  244. data/public/stylesheets/dialog.css +67 -0
  245. data/public/stylesheets/jquery-ui-1.8.4.custom.css +572 -0
  246. data/public/stylesheets/jquery.loadmask.css +40 -0
  247. data/public/stylesheets/reset.css +71 -0
  248. data/public/stylesheets/style.css +7 -0
  249. data/public/stylesheets/vtip.css +28 -0
  250. data/script/rails +6 -0
  251. data/test/functional/accounts_controller_test.rb +8 -0
  252. data/test/functional/dialog_controller_test.rb +8 -0
  253. data/test/functional/home_controller_test.rb +8 -0
  254. data/test/functional/host_pools_controller_test.rb +8 -0
  255. data/test/functional/images_controller_test.rb +8 -0
  256. data/test/functional/information_controller_test.rb +8 -0
  257. data/test/functional/instances_controller_test.rb +8 -0
  258. data/test/functional/keypairs_controller_test.rb +8 -0
  259. data/test/functional/security_groups_controller_test.rb +8 -0
  260. data/test/functional/sessions_controller_test.rb +8 -0
  261. data/test/functional/snapshots_controller_test.rb +8 -0
  262. data/test/functional/storage_pools_controller_test.rb +8 -0
  263. data/test/functional/users_controller_test.rb +8 -0
  264. data/test/functional/volumes_controller_test.rb +8 -0
  265. data/test/performance/browsing_test.rb +9 -0
  266. data/test/test_helper.rb +13 -0
  267. data/test/unit/helpers/accounts_helper_test.rb +4 -0
  268. data/test/unit/helpers/dialog_helper_test.rb +4 -0
  269. data/test/unit/helpers/home_helper_test.rb +4 -0
  270. data/test/unit/helpers/host_pools_helper_test.rb +4 -0
  271. data/test/unit/helpers/images_helper_test.rb +4 -0
  272. data/test/unit/helpers/information_helper_test.rb +4 -0
  273. data/test/unit/helpers/instances_helper_test.rb +4 -0
  274. data/test/unit/helpers/keypairs_helper_test.rb +4 -0
  275. data/test/unit/helpers/security_groups_helper_test.rb +4 -0
  276. data/test/unit/helpers/sessions_helper_test.rb +4 -0
  277. data/test/unit/helpers/snapshots_helper_test.rb +4 -0
  278. data/test/unit/helpers/storage_pools_helper_test.rb +4 -0
  279. data/test/unit/helpers/users_helper_test.rb +4 -0
  280. data/test/unit/helpers/volumes_helper_test.rb +4 -0
  281. metadata +399 -0
@@ -0,0 +1,4 @@
1
+ <div id="content_footer"></div>
2
+ <div id="footer">
3
+ <p class="copyright">Copyright &copy; 2010 The Wakame Software Foundation, Licensed under the Apache License, Version 2.0.&nbsp;-&nbsp;Designed by <a href="http://www.thedesignium.com/" target="_blank">The Designium</a> and some free icon creators.</p>
4
+ </div>
@@ -0,0 +1,14 @@
1
+ <div id="header">
2
+ <h1><a href="/">Wakame Inexhaustible Supply of Cloud Fuel.</a></h1>
3
+ <ul id="tab">
4
+ <li class="infra-act"><h2><a href="#">Infrastructure</a></h2></li>
5
+ <li class="plat-pas"><h2>Platform</h2></li>
6
+ <li class="app-pas"><h2>Application</h2></li>
7
+ </ul>
8
+ <p><span class="greeting">Welcome,
9
+ <%= @current_user.login_id %></span>|
10
+ <!-- <a href="#">Help</a><span class="spacer">|</span> -->
11
+ <!-- <a href="#">Settings</a><span class="spacer">|</span> -->
12
+ <%= link_to 'Sign Out','/logout'%></p>
13
+ </div>
14
+ <div id="content_header"></div>
@@ -0,0 +1,18 @@
1
+ <div id="informationarea">
2
+ <div class="title clearfix">
3
+ <h3>Information</h3>
4
+ <%= link_to image_tag('icon_rss.gif',:width=> 20, :height => 20),:action => 'rss',:controller => 'information' %>
5
+ </div>
6
+ <ul>
7
+ <% @informations.each do |info| %>
8
+ <li>
9
+ <h4 class="date"><%= info.created_at.strftime("%Y-%m-%d")
10
+ %></h4>
11
+ <h2><%= info.title %></h2>
12
+ <p>
13
+ <%= nl2br(info.description) %>
14
+ </p>
15
+ </li>
16
+ <% end %>
17
+ </ul>
18
+ </div>
@@ -0,0 +1,4 @@
1
+ <div id="header">
2
+ <h1><a href="#">Wakame Inexhaustible Supply of Cloud Fuel.</a></h1>
3
+ </div>
4
+ <div id="content_header"></div>
@@ -0,0 +1,27 @@
1
+ <h3><img src="images/icon_service.gif" />Service Health</h3>
2
+ <div class="maincontent">
3
+ <ul class="health">
4
+ <li class="clearfix">
5
+ <div class="eachservice">
6
+ <h4><img src="images/icon_health.gif" width="20" height="20" />Wakame-vdc (US East - N. Virginia)</h4>
7
+ <p>Details: Service is operating normally</p>
8
+ </div>
9
+ <a href="#" class="health_detail">health details</a>
10
+ </li>
11
+ <li class="clearfix">
12
+ <div class="eachservice">
13
+ <h4><img src="images/icon_caution.gif" width="20" height="20" />Wakame-vdc (US East - N. Virginia)</h4>
14
+ <p>Details: <span class="text_orange">Performance issues - hogehoge</span></p>
15
+ </div>
16
+ <a href="#" class="health_detail">health details</a>
17
+ </li>
18
+ <li class="clearfix">
19
+ <div class="eachservice">
20
+ <h4><img src="images/icon_stop.gif" width="20" height="20" />Wakame-vdc (US East - N. Virginia)</h4>
21
+ <p>Details: <span class="text_red">Service disruption - foobar</span></p>
22
+ </div>
23
+ <a href="#" class="health_detail">health details</a>
24
+ </li>
25
+ </ul>
26
+ </div>
27
+ <div class="btm_maincontent mbt0"></div>
@@ -0,0 +1,58 @@
1
+ <div id="sidemenu">
2
+ <div id="account" style="padding:5px">
3
+ <%= form_for :accounts,:url => accounts_switch_path,:remote => true do |f| %>
4
+ Change Account:&nbsp;<%= f.select "account_uuid",show_accounts,{:selected => primary_account_id} %>
5
+ <% end %>
6
+ </div>
7
+
8
+ <!-- <div id="regionselect"><img src="images/listicon_useast.gif" />US East</div>
9
+ <ul id="regionmenu">
10
+ <li><a href="#" id="list-useast"><img src="images/listicon_useast.gif" />US East</a></li>
11
+ <li><a href="#" id="list-japan"><img src="images/listicon_useast.gif" />Japan</a></li>
12
+ </ul> -->
13
+ <div class="sidemenu_top"></div><ul class="classify_parent">
14
+ <li class="parent"><h3><img src="images/icon_summary.gif" width="20" height="20" />SUMMARY</h3>
15
+ <ul>
16
+ <%= li_link_to_current('Dashboard','home')%>
17
+ </ul>
18
+ </li>
19
+ <li class="parent"><h3><img src="images/icon_instances.gif" width="20" height="20" />INSTANCES</h3>
20
+ <ul>
21
+ <%= li_link_to_current('Instances','instances')%>
22
+ </ul>
23
+ <ul>
24
+ <%= li_link_to_current('Host Pools','host_pools')%>
25
+ </ul>
26
+ </li>
27
+ <li class="parent"><h3><img src="images/icon_images.gif" width="20" height="20" />IMAGES</h3>
28
+ <ul>
29
+ <%= li_link_to_current('Machine Images','images')%>
30
+ </ul>
31
+ </li>
32
+ <li class="parent"><h3><img src="images/icon_blockstore.gif" width="20" height="20" />BLOCK STORE</h3>
33
+ <ul>
34
+ <%= li_link_to_current('Volumes','volumes')%>
35
+ </ul>
36
+ <ul>
37
+ <%= li_link_to_current('Snapshots','snapshots')%>
38
+ </ul>
39
+ <ul>
40
+ <%= li_link_to_current('Storage Pools','storage_pools')%>
41
+ </ul>
42
+ </li>
43
+ <li class="parent"><h3><img src="images/icon_security.gif" width="20" height="20" />NETWORK & SECURITY</h3>
44
+ <ul>
45
+ <%= li_link_to_current('Security Groups','security_groups')%>
46
+ </ul>
47
+ <ul>
48
+ <%= li_link_to_current('Key Pairs','keypairs')%>
49
+ </ul>
50
+ </li>
51
+ <!-- <li class="parent"><h3><img src="images/icon_information.gif" width="20" height="20" />INFORMATION</h3>
52
+ <ul>
53
+ <%= li_link_to_current('Service Status','information')%>
54
+ </ul>
55
+ </li> -->
56
+ </ul>
57
+ <div class="sidemenu_bottom"></div>
58
+ </div>
@@ -0,0 +1,34 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5
+ <meta http-equiv="Content-Style-Type" content="text/css" />
6
+ <meta name="keywords" content="あくしゅ,axsh,wakame" />
7
+ <meta name="description" content="Wakame UI">
8
+ <title>Wakame UI</title>
9
+ <%= stylesheet_link_tag :all %>
10
+ <%= yield :stylesheet %>
11
+ <%= javascript_include_tag 'jquery-1.4.2.min.js' %>
12
+ <%= javascript_include_tag 'jsdeferred.jquery.js' %>
13
+ <%= javascript_include_tag 'jquery.tmpl.js' %>
14
+ <%= javascript_include_tag 'jquery.loadmask.min.js' %>
15
+ <%= javascript_include_tag 'jquery-ui-1.8.4.custom.min.js' %>
16
+ <%= javascript_include_tag 'dcmgr_gui/core.js' %>
17
+ <%= javascript_include_tag 'dcmgr_gui/application.js' %>
18
+ <%= yield :javascript %>
19
+ <%= csrf_meta_tag %>
20
+ <link rel="shortcut icon" href="favicon.ico" />
21
+ </head>
22
+ <body>
23
+ <div id="head_gradation"></div>
24
+ <div id="content_wrapper">
25
+ <%= render :partial => 'layouts/header' %>
26
+ <div id="content" class="clearfix">
27
+ <%= render :partial => 'layouts/sidemenu' %>
28
+ <%= yield %>
29
+ </div>
30
+ <%= render :partial => 'layouts/footer'%>
31
+ </div>
32
+ <%= yield :javascript_template %>
33
+ </body>
34
+ </html>
@@ -0,0 +1,25 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml">
3
+ <head>
4
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5
+ <meta http-equiv="Content-Style-Type" content="text/css" />
6
+ <meta name="keywords" content="あくしゅ,axsh,wakame" />
7
+ <meta name="description" content="Wakame UI">
8
+ <title>Wakame UI</title>
9
+ <%= stylesheet_link_tag :all %>
10
+ <%= csrf_meta_tag %>
11
+ <%= yield :javascript %>
12
+ <%= yield :stylesheet %>
13
+ <link rel="shortcut icon" href="favicon.ico" />
14
+ </head>
15
+ <body>
16
+ <div id="head_gradation"></div>
17
+ <div id="content_wrapper">
18
+ <%= render :partial => 'layouts/login_header' %>
19
+ <div id="content" class="clearfix">
20
+ <%= yield %>
21
+ </div>
22
+ <%= render :partial => 'layouts/footer'%>
23
+ </div>
24
+ </body>
25
+ </html>
@@ -0,0 +1,114 @@
1
+ <% content_for :javascript do %>
2
+ <%= javascript_include_tag 'dcmgr_gui/security_group_panel.js' %>
3
+ <script type="text/javascript">
4
+ jQuery(function($){
5
+ dcmgrGUI.securityGroupPanel();
6
+ });
7
+ </script>
8
+
9
+ <% end %>
10
+
11
+ <% content_for :stylesheet do %>
12
+ <style type="text/css">
13
+ .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { text-align:center; float: none;}
14
+ .ui-dialog .ui-dialog-content {margin:5px;}
15
+ </style>
16
+ <% end %>
17
+
18
+ <div id="mainarea_wide">
19
+ <h3><img src="images/icon_resource.gif" />Security Groups<a href="javascript:void(0);" class="showhide"></a></h3>
20
+ <div id="list_load_mask" class="maincontent">
21
+ <div class="controller clearfix">
22
+ <a href="javascript:void(0);" class="create_security_group">Create Security Group</a>
23
+ <a href="javascript:void(0);" class="delete_security_group" >Delete</a>
24
+ <a href="javascript:void(0);" class="refresh" style="margin-left:302px">Refresh</a>
25
+ </div>
26
+ <div class="controller clearfix">
27
+ <!-- <div class="l_float">
28
+ <span class="text">Viewing:</span>
29
+ <select class="select" style="width:130px">
30
+ <option>All Security Groups</option>
31
+ </select>
32
+ <input type="text" class="search" />
33
+ </div> -->
34
+ <div id="pagenate" class="r_float">
35
+ <a href="javascript:void(0);" class="prev"></a>
36
+ <p id="viewPagenate">Items</p>
37
+ <a href="javascript:void(0);" class="next"></a>
38
+ </div>
39
+ </div>
40
+ <div id="display_security_groups" class="display_area">
41
+ <% content_for :javascript_template do %>
42
+ <script id="securityGroupsListTemplate" type="text/x-jquery-tmpl">
43
+ <table class="ptn01" frame="void" cellpadding="0" cellspacing="0" border="0">
44
+ <tr>
45
+ <th></th>
46
+ <th>Name</th>
47
+ <th>Description</th>
48
+ <th>Action</th>
49
+ </tr>
50
+ {{each(index,item) rows}}
51
+ <tr>
52
+ {{if item.uuid }}
53
+ <td class="listradiobutton"><input id="${item.uuid}" type="radio" name="select" value="${item.uuid}" ></td>
54
+ {{else}}
55
+ <td class="listradiobutton"></td>
56
+ {{/if}}
57
+ <td class="vtip" title="name" style="width:100px">${item.name}</td>
58
+ <td class="vtip" title="description" style="width:500px">${item.description}</td>
59
+ {{if item.name }}
60
+ <td class="vtip center" title="action">
61
+ <a href="javascript:void(0);" class="edit_security_group" id="edit_${item.uuid}">Edit</a>
62
+ </td>
63
+ {{else}}
64
+ <td class="vtip center" title="action"></td>
65
+ {{/if}}
66
+ </td>
67
+ </tr>
68
+ {{/each}}
69
+ </table>
70
+ </script>
71
+ <% end %>
72
+ </div>
73
+ </div>
74
+ <div id="btm_maincontent_wide"></div>
75
+ <h3><img src="images/icon_ttl_detail.gif" />Detail<a href="javascript:void(0);" class="showhide"></a></h3>
76
+ <div id="detail" class="maincontent">
77
+ <% content_for :javascript_template do %>
78
+ <script id="securityGroupsDetailTemplate" type="text/x-jquery-tmpl">
79
+ <div class="display_area">
80
+ <table class="ptn07" frame="void" cellpadding="0" cellspacing="0" border="0">
81
+ <tr>
82
+ <td class="padcell"></td>
83
+ <td class="title">Name:</td>
84
+ <td>${item.name}</td>
85
+ </tr>
86
+ <tr>
87
+ <td class="padcell"></td>
88
+ <td class="title">Description:</td>
89
+ <td>${item.description}</td>
90
+ </tr>
91
+ <tr>
92
+ <td class="padcell"></td>
93
+ <td colspan="2">
94
+ <textarea id="security_group_rule" rows="10" cols="10" style="width:630px;height:150px" disabled>${item.rule}</textarea><br />
95
+ </td>
96
+ </tr>
97
+ <tr>
98
+ <td class="padcell"></td>
99
+ <td class="title">Created:</td>
100
+ <td colspan="7">${item.created_at}</td>
101
+ </tr>
102
+ <tr>
103
+ <td class="padcell"></td>
104
+ <td class="title">Updated:</td>
105
+ <td colspan="7">${item.updated_at}</td>
106
+ </tr>
107
+ </table>
108
+ <br />
109
+ </div>
110
+ </script>
111
+ <% end %>
112
+ </div><!-- maincontent -->
113
+ <div id="btm_maincontent_wide_last"></div>
114
+ </div><!-- mainarea_wide -->
@@ -0,0 +1,27 @@
1
+ <% content_for :stylesheet do %>
2
+ <style type="text/css">
3
+ h3 {
4
+ color:#5E5E5E;
5
+ font-family:"LucidaGrande","Myriad Pro";
6
+ font-size:22px;
7
+ height:34px;
8
+ line-height:30px;
9
+ padding:0 0 0 5px;
10
+ text-shadow:1px 1px 0 rgba(255, 255, 255, 0.7);
11
+ }
12
+ </style>
13
+ <% end %>
14
+ <div style="text-align:left;height:496px">
15
+ <div style="padding:5px;">
16
+ <%= form_tag session_path do -%>
17
+ <fieldset>
18
+ <legend><h3>Sign In</h3></legend>
19
+ <p style="margin:5px;padding:5px;font-size:15px"><%= label_tag 'user' %><br />
20
+ <%= text_field_tag 'login', @login %></p>
21
+ <p style="margin:5px;padding:5px;font-size:15px"><%= label_tag 'password' %><br />
22
+ <%= password_field_tag 'password', nil %></p>
23
+ </fieldset>
24
+ <p><%= submit_tag 'login' %></p>
25
+ <% end -%>
26
+ </div>
27
+ </div>
@@ -0,0 +1,110 @@
1
+ <% content_for :javascript do %>
2
+ <%= javascript_include_tag 'dcmgr_gui/snapshot_panel.js' %>
3
+ <script type="text/javascript">
4
+ jQuery(function($){
5
+ dcmgrGUI.snapshotPanel();
6
+ });
7
+ </script>
8
+ <% end %>
9
+ <% content_for :stylesheet do %>
10
+ <style type="text/css">
11
+ .ui-dialog .ui-dialog-buttonpane .ui-dialog-buttonset { text-align:center; float: none;}
12
+ .ui-dialog .ui-dialog-content {margin:5px;}
13
+ </style>
14
+ <% end %>
15
+ <div id="mainarea_wide">
16
+ <h3><img src="images/icon_resource.gif" />Snapshots<a href="javascript:void(0);" class="showhide"></a></h3>
17
+ <div id="list_load_mask" class="maincontent">
18
+ <div class="controller clearfix">
19
+ <a href="javascript:void(0);" class="create_volume" style="margin-left:7px">Create Volume</a>
20
+ <a href="javascript:void(0);" class="delete_snapshot">Delete Snapshot</a>
21
+
22
+ <a href="javascript:void(0);" class="refresh" style="margin-left:335px">Refresh</a>
23
+ </div>
24
+ <div class="controller clearfix">
25
+ <!-- <div class="l_float">
26
+ <span class="text">Viewing:</span>
27
+ <select class="select">
28
+ <option>All Volumes</option>
29
+ </select>
30
+ <input type="text" class="search" />
31
+ </div> -->
32
+ <div id="pagenate" class="r_float">
33
+ <a href="javascript:void(0);" class="prev"></a>
34
+ <p id="viewPagenate">Snapshots</p>
35
+ <a href="javascript:void(0);" class="next"></a>
36
+ </div>
37
+ </div>
38
+ <div id="display_snapshots" class="display_area">
39
+ <% content_for :javascript_template do %>
40
+ <script id="snapshotsListTemplate" type="text/x-jquery-tmpl">
41
+ <table class="ptn01" frame="void" cellpadding="0" cellspacing="0" border="0">
42
+ <tr>
43
+ <th></th>
44
+ <th>Snapshot ID</th>
45
+ <th>Capacity</th>
46
+ <th>OriginVolumeID</th>
47
+ <th>Created</th>
48
+ <th>Status</th>
49
+ </tr>
50
+ {{each(index,item) rows}}
51
+ <tr>
52
+ {{if item.uuid }}
53
+ <td class="listcheckbox"><input type="checkbox" value="${item.uuid}" > </td>
54
+ {{else}}
55
+ <td class="listcheckbox"></td>
56
+ {{/if}}
57
+ <td class="vtip" title="volume-id">${item.uuid}</td>
58
+ <td class="vtip center" title="capacity">${item.size}</td>
59
+ <td class="vtip" title="snapshot">${item.origin_volume_id}</td>
60
+ <td class="vtip" title="created">${item.created_at}</td>
61
+ <td class="vtip center" title="status">${item.state}</td>
62
+
63
+ </tr>
64
+ {{/each}}
65
+ </table>
66
+ </script>
67
+ <% end %>
68
+ </div>
69
+ </div>
70
+ <div id="btm_maincontent_wide"></div>
71
+ <h3><img src="images/icon_ttl_detail.gif" />Details<a href="javascript:void(0);" class="showhide"></a></h3>
72
+ <div id="detail" class="maincontent">
73
+ <% content_for :javascript_template do %>
74
+ <script id="snapshotsDetailTemplate" type="text/x-jquery-tmpl">
75
+ <div id="${item.uuid}" class="display_area">
76
+ <h4 class="ptn01">Snapshot ID:<span class="instansid">${item.uuid}</span></h4>
77
+ <table class="ptn02" frame="void" cellpadding="0" cellspacing="0" border="0">
78
+ <tr>
79
+ <td class="padcell"></td>
80
+ <td class="title">Snapshot:</td>
81
+ <td class="volume_size">${item.uuid}</td>
82
+ <td class="padcell"></td>
83
+ <td class="title">Capacity:</td>
84
+ <td>${item.size}</td>
85
+ </tr>
86
+ <tr>
87
+ <td class="padcell"></td>
88
+ <td class="title">OriginVolumeID:</td>
89
+ <td>${item.origin_volume_id}</td>
90
+ <td class="padcell"></td>
91
+ <td class="title">Status:</td>
92
+ <td class="state">${item.state}</td>
93
+ </tr>
94
+ <tr>
95
+ <td class="padcell"></td>
96
+ <td class="title">Created:</td>
97
+ <td colspan="7">${item.created_at}</td>
98
+ </tr>
99
+ <tr>
100
+ <td class="padcell"></td>
101
+ <td class="title">Updated:</td>
102
+ <td colspan="7">${item.updated_at}</td>
103
+ </tr>
104
+ </table>
105
+ </div>
106
+ </script>
107
+ <% end %>
108
+ </div><!-- maincontent -->
109
+ <div id="btm_maincontent_wide_last"></div>
110
+ </div><!-- mainarea_wide -->