1 <%doc>Copyright (C) 2010 HDE, Inc.</%doc>
2 <%inherit file="../include/common.part" />
4 <script type="text/javascript">
6 function get_activity(id) {
8 $(id).children().each(function() {
9 if ($(this).html() == "${_('Connecting')}") {
16 $(document).ready(function(){
17 $("#network_storage_list").tablesorter({
18 widgets: ['zebra', 'select']
21 $("#add_network_storage").click(function() {
23 "${ctx.homepath}${ctx.path}?mode=input",
24 "${_('Network_Storage Settings')}",
25 "${ctx.homepath}${ctx.path}");
28 // display detail in detail window
29 $("tr[id*='network_storage_row']").click(function(){
33 id = $(this).attr("id").replace("network_storage_row", "");
34 uri = "${ctx.homepath}${ctx.path}".replace(".part", "");
35 var url = uri + "/" + "default" + '.part?iqn=' + id;
44 $("tr[id*='network_storage_row']").each(function() {
45 $(this).click(function() {
47 $("#edit_network_storage").unbind("click");
48 $("#edit_network_storage").click(function() {
49 var uri = "${ctx.homepath}${ctx.path}".replace(".part", "");
50 var target_id = selected_row('network_storage_row');
52 if (target_id == undefined) {
53 alert_on(".alert", "ERROR", "${_('Please select a target.')}");
54 tool_reset("#edit_network_storage");
56 var url = uri + "/" + "default" + ".part?mode=input&iqn=" + target_id;
60 "${_('Network_Storage Settings')}",
61 "${ctx.homepath}${ctx.path}");
64 tool_reset("#edit_network_storage");
67 if (get_activity(this) == false) {
68 $("#delete_network_storage").unbind("click");
69 $("#delete_network_storage").click(function() {
70 var uri = "${ctx.homepath}${ctx.path}".replace(".part", "");
71 var target_id = selected_row("network_storage_row");
73 if (target_id == undefined){
74 alert_on(".alert", "ERROR", "${_('Please select a target.')}");
75 tool_reset("#delete_network_storage");
77 var url = uri + "/" + "default" + ".part?iqn=" + target_id;
79 delete_dialog("#network_storage_dialog", url, param, "${ctx.homepath}${ctx.path}", "#delete_network_storage");
82 tool_reset("#delete_network_storage");
84 tool_invalid("#delete_network_storage");
87 if (get_activity(this) == false) {
88 $("#start_network_storage").unbind("click");
89 $("#start_network_storage").click(function() {
90 var uri = "${ctx.homepath}${ctx.path}".replace(".part", "");
91 var target_id = selected_row("network_storage_row");
93 if (target_id == undefined){
94 alert_on(".alert", "ERROR", "${_('Please select a target.')}");
95 tool_reset("#start_network_storage");
97 var url = uri + "/" + "default" + "/" + "status.part?iqn=" + target_id;
100 {"status" : NETWORK_STORAGE_START},
101 function(data, status){},
103 "${ctx.homepath}${ctx.path}"
107 tool_reset("#start_network_storage");
109 tool_invalid("#start_network_storage");
112 if (get_activity(this) == true) {
113 $("#stop_network_storage").unbind("click");
114 $("#stop_network_storage").click(function() {
115 var uri = "${ctx.homepath}${ctx.path}".replace(".part", "");
116 var target_id = selected_row("network_storage_row");
118 if (target_id == undefined){
119 alert_on(".alert", "ERROR", "${_('Please select a target.')}");
120 tool_reset("#stop_network_storage");
122 var url = uri + "/" + "default" + "/" + "status.part?iqn=" + target_id;
125 {"status" : NETWORK_STORAGE_STOP},
126 function(data, status){},
128 "${ctx.homepath}${ctx.path}"
132 tool_reset("#stop_network_storage");
134 tool_invalid("#stop_network_storage");
140 $("#action>a").hover(
141 function(){tool_over(this);},
142 function(){tool_over(this);}
143 ).mousedown(function(){
144 var id = $(this).attr("id");
148 tool_invalid("#edit_network_storage");
149 tool_invalid("#delete_network_storage");
150 tool_invalid("#start_network_storage");
151 tool_invalid("#stop_network_storage");
152 renew_main_event("#tool_renew", "${ctx.homepath}${ctx.path}");
158 <div id="network_storage">
159 <div id="network_storage_dialog"></div>
161 <div class="left"></div>
162 <a href="#" name="add_network_storage" id="add_network_storage" class="tool-link">
163 <div class="tool-mid">
164 <div class="tool-left"></div>
165 <div class="tool-img">
166 <img src="${ctx.homepath}/static/images/tool-add.png" alt="" />
168 <div class="tool-right">
169 <div class="tool-text" >${_('Add')}</div>
173 <a href="#" name="edit_network_storage" id="edit_network_storage" class="tool-link">
174 <div class="tool-mid">
175 <div class="tool-left"></div>
176 <div class="tool-img">
177 <img src="${ctx.homepath}/static/images/tool-edit.png" alt="" />
179 <div class="tool-right">
180 <div class="tool-text" >${_('Edit')}</div>
184 <a href="#" name="delete_network_storage" id="delete_network_storage" class="tool-link">
185 <div class="tool-mid">
186 <div class="tool-left"></div>
187 <div class="tool-img">
188 <img src="${ctx.homepath}/static/images/tool-trash.png" alt="" />
190 <div class="tool-right">
191 <div class="tool-text" >${_('Delete')}</div>
195 <a href="#" name="start_network_storage" id="start_network_storage" class="tool-link">
196 <div class="tool-mid">
197 <div class="tool-left"></div>
198 <div class="tool-img">
199 <img src="${ctx.homepath}/static/images/tool-start.png" alt="" />
201 <div class="tool-right">
202 <div class="tool-text" >${_('Start')}</div>
206 <a href="#" name="stop_network_storage" id="stop_network_storage" class="tool-link">
207 <div class="tool-mid">
208 <div class="tool-left"></div>
209 <div class="tool-img">
210 <img src="${ctx.homepath}/static/images/tool-stop.png" alt="" />
212 <div class="tool-right">
213 <div class="tool-text" >${_('Stop')}</div>
218 <a href="#" class="tool-link" >
219 <div class="tool-mid">
220 <img src="${ctx.homepath}/static/images/reload.gif" alt="renew" id="tool_renew"/>
225 <br style="clear: both;"/>
227 <div class="space"></div>
228 <div class="alert"></div>
233 <table id="network_storage_list" class="tablesorter">
240 現在はiSCSIのみ。他にはNFSなどを想定している。
241 ・接続先のホスト名(iSCSIの場合は勝手にIPアドレスになる)
243 iSCSIターゲットを一意に識別するためのユニークキー
244 一つのホストで複数のIQNを持っている場合があります
248 <th>${_('Network Storage Type')}</th>
249 <th>${_('Target host name')}</th>
250 <th>${_('Target IQN')}</th>
251 <th>${_('Status')}</th>
252 <th>${_('Autostart')}
257 % for network_storage in network_storages:
258 <tr id="network_storage_row${network_storage['iqn']}">
259 <td>${network_storage['type'] |h}</td>
260 <td>${network_storage['hostname']|h}</td>
261 <td>${network_storage['iqn']|h}</td>
262 % if network_storage['activity'] == 1:
263 <td>${_('Connecting')}</td>
265 <td>${_('Disconnect')}</td>
267 % if network_storage['autostart'] == 1:
276 <br style="clear: both;"/>
281 <br style="clear: both;"/>
282 <div class="space"></div>
286 <span class="title"> </span>
287 <p class="point"> </p>
290 <img src="${ctx.homepath}/static/images/tree-open.gif" alt="" id="show_detail_switch" class="tree-toggle-button"/><span class="msg-title">${_('Details')}</span><br />
291 <span id="detail_value">--</span>
293 <dl><dt> </dt></dl>
298 <br style="clear: both;"/>