[Cluster-devel] conga/luci/storage cache_report check-batch cl ...
rmccabe at sourceware.org
rmccabe at sourceware.org
Tue Sep 25 03:50:34 UTC 2007
CVSROOT: /cvs/cluster
Module name: conga
Changes by: rmccabe at sourceware.org 2007-09-25 03:50:28
Modified files:
luci/storage : cache_report check-batch clu_portlet_fetcher
form-chooser form-macros index_html
mappings_macros mappings_provider
portlet_cluconfig portlet_cluconfig_macro
validate_html
Removed files:
luci/storage : 100wait.gif black_bar_40.png
black_right_end_40.png blue_bar_40.png
blue_cap_40.png blue_right_end_40.png
icon_bd_LV.png icon_bd_LV_snapshot.png
icon_bd_crypto.png icon_bd_ide.png
icon_bd_multipath.png icon_bd_net.png
icon_bd_partition.png icon_bd_raid.png
icon_bd_scsi.png icon_content_FS.png
icon_content_PV.png icon_mapper_PT.png
icon_mapper_VG.png icon_mapper_crypto.png
icon_mapper_multipath.png icon_mapper_raid.png
red_bar_40.png red_cap_40.png
red_right_end_40.png selection_1px_40.png
selection_bar_40.png selection_left_end_40.png
selection_right_end_40.png snapshot.gif
tree_bullet.gif tree_closed.gif tree_opened.gif
tree_transparent.gif
Log message:
Cleanup:
- First pass of making the look and feel of this consistent with the rest of the app
- Move all the image files into the site custom directory so they can be cached
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/cache_report.diff?cvsroot=cluster&r1=1.4&r2=1.5
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/check-batch.diff?cvsroot=cluster&r1=1.3&r2=1.4
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/clu_portlet_fetcher.diff?cvsroot=cluster&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/form-chooser.diff?cvsroot=cluster&r1=1.7&r2=1.8
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/form-macros.diff?cvsroot=cluster&r1=1.25&r2=1.26
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/index_html.diff?cvsroot=cluster&r1=1.10&r2=1.11
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/mappings_macros.diff?cvsroot=cluster&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/mappings_provider.diff?cvsroot=cluster&r1=1.6&r2=1.7
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/portlet_cluconfig.diff?cvsroot=cluster&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/portlet_cluconfig_macro.diff?cvsroot=cluster&r1=1.2&r2=1.3
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/validate_html.diff?cvsroot=cluster&r1=1.4&r2=1.5
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/100wait.gif.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/black_bar_40.png.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/black_right_end_40.png.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/blue_bar_40.png.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/blue_cap_40.png.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/blue_right_end_40.png.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/icon_bd_LV.png.diff?cvsroot=cluster&r1=1.2&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/icon_bd_LV_snapshot.png.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/icon_bd_crypto.png.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/icon_bd_ide.png.diff?cvsroot=cluster&r1=1.2&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/icon_bd_multipath.png.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/icon_bd_net.png.diff?cvsroot=cluster&r1=1.2&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/icon_bd_partition.png.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/icon_bd_raid.png.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/icon_bd_scsi.png.diff?cvsroot=cluster&r1=1.2&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/icon_content_FS.png.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/icon_content_PV.png.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/icon_mapper_PT.png.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/icon_mapper_VG.png.diff?cvsroot=cluster&r1=1.2&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/icon_mapper_crypto.png.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/icon_mapper_multipath.png.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/icon_mapper_raid.png.diff?cvsroot=cluster&r1=1.2&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/red_bar_40.png.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/red_cap_40.png.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/red_right_end_40.png.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/selection_1px_40.png.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/selection_bar_40.png.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/selection_left_end_40.png.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/selection_right_end_40.png.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/snapshot.gif.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/tree_bullet.gif.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/tree_closed.gif.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/tree_opened.gif.diff?cvsroot=cluster&r1=1.1&r2=NONE
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/tree_transparent.gif.diff?cvsroot=cluster&r1=1.1&r2=NONE
--- conga/luci/storage/cache_report 2007/09/11 16:04:35 1.4
+++ conga/luci/storage/cache_report 2007/09/25 03:50:27 1.5
@@ -1,15 +1,18 @@
-<span tal:define="global storagename request/storagename|nothing"
- tal:replace="string:"/>
-<span tal:define="stosystemss context/systems/storage/objectItems;
- global allowed_systems python:here.allowed_systems(stosystemss);
- global access_to_host_allowed python:here.access_to_host_allowed(storagename, allowed_systems)"
- tal:replace="string:"/>
-<span tal:define="global ricci python:here.get_ricci_communicator(storagename, allowed_systems);
- global cache_result python:here.cache_storage_report(ricci, request.SESSION)"
- tal:replace="string:"/>
-<span tal:condition="python: cache_result == True"
- tal:replace="string:OK"/>
+<tal:block tal:define="global storagename request/storagename|nothing" />
+
+<tal:block tal:define="
+ stosystemss context/systems/storage/objectItems;
+ global allowed_systems python:here.allowed_systems(stosystemss);
+ global access_to_host_allowed python:here.access_to_host_allowed(storagename, allowed_systems)" />
+
+<tal:block tal:define="
+ global ricci python:here.get_ricci_communicator(storagename, allowed_systems);
+ global cache_result python:here.cache_storage_report(ricci, request.SESSION)" />
+
+<span tal:condition="python: cache_result == True" tal:replace="string:OK" />
+
<span tal:condition="python: cache_result != True and access_to_host_allowed"
- tal:replace="structure cache_result"/>
+ tal:replace="structure cache_result" />
+
<span tal:condition="python: not access_to_host_allowed"
- tal:replace="string: Insufficient Rights"/>
+ tal:replace="string: Insufficient Rights" />
--- conga/luci/storage/check-batch 2007/09/11 16:04:35 1.3
+++ conga/luci/storage/check-batch 2007/09/25 03:50:27 1.4
@@ -1,60 +1,48 @@
-<span tal:omit-tag=""
- tal:define="global storagename request/storagename;
- global batch_id request/batch_id"/>
-<span tal:omit-tag=""
- tal:define="stosystemss context/systems/storage/objectItems;
- global allowed_systems python:here.allowed_systems(stosystemss);
- global access_to_host_allowed python:here.access_to_host_allowed(storagename, allowed_systems)"/>
-<span tal:omit-tag=""
- tal:define="global ricci python:here.get_ricci_communicator(storagename, allowed_systems)"/>
+<tal:block tal:define="
+ global storagename request/storagename;
+ global batch_id request/batch_id" />
+
+<tal:block tal:define="
+ stosystemss context/systems/storage/objectItems;
+ global allowed_systems python:here.allowed_systems(stosystemss);
+ global access_to_host_allowed python:here.access_to_host_allowed(storagename, allowed_systems)" />
+<tal:block tal:define="
+ global ricci python:here.get_ricci_communicator(storagename, allowed_systems)" />
-
-<span tal:omit-tag=""
- tal:condition="not: access_to_host_allowed">
-FAILURE
-<span tal:replace="structure context/storage/index_html/absolute_url"/>
-You are not authorized to modify storage system <span tal:replace="structure storagename"/>!!!
-</span>
-
-
-<span tal:omit-tag=""
- tal:condition="access_to_host_allowed">
- <span tal:omit-tag=""
- tal:define="index_html_URL context/storage/index_html/absolute_url;
- dummy python:here.get_storage_batch_result(storagename, ricci, index_html_URL, batch_id);
- error dummy/error;
- completed dummy/completed;
- redirect_url dummy/redirect_url;
- msg dummy/msg">
-
- <span tal:omit-tag=""
- tal:condition="not: error">
- <span tal:omit-tag=""
- tal:condition="completed">
-DONE
-<span tal:replace="structure redirect_url"/>
-<span tal:replace="structure msg"/>
- </span>
-
- <span tal:omit-tag=""
- tal:condition="not: completed">
-NOT_DONE
-<span tal:replace="structure redirect_url"/>
-<span tal:replace="structure msg"/>
- </span>
- </span>
-
-
- <span tal:omit-tag=""
- tal:condition="error">
+<tal:block tal:condition="not: access_to_host_allowed">
FAILURE
-<span tal:replace="structure redirect_url"/>
-<span tal:replace="structure msg"/>
- </span>
-
-
-
-
- </span>
-</span>
+ <span tal:replace="structure context/storage/index_html/absolute_url" />
+ You are not authorized to access system <span tal:replace="structure storagename" />
+</tal:block>
+
+<tal:block tal:condition="access_to_host_allowed">
+ <tal:block tal:define="
+ index_html_URL context/storage/index_html/absolute_url;
+ dummy python:here.get_storage_batch_result(storagename, ricci, index_html_URL, batch_id);
+ error dummy/error;
+ completed dummy/completed;
+ redirect_url dummy/redirect_url;
+ msg dummy/msg">
+
+ <tal:block tal:condition="not: error">
+ <tal:block tal:condition="completed">
+ DONE
+ <span tal:replace="structure redirect_url" />
+ <span tal:replace="structure msg" />
+ </tal:block>
+
+ <tal:block tal:condition="not: completed">
+ NOT_DONE
+ <span tal:replace="structure redirect_url" />
+ <span tal:replace="structure msg" />
+ </tal:block>
+ </tal:block>
+
+ <tal:block tal:condition="error">
+ FAILURE
+ <span tal:replace="structure redirect_url" />
+ <span tal:replace="structure msg" />
+ </tal:block>
+ </tal:block>
+</tal:block>
--- conga/luci/storage/clu_portlet_fetcher 2007/09/11 16:04:35 1.2
+++ conga/luci/storage/clu_portlet_fetcher 2007/09/25 03:50:27 1.3
@@ -1,43 +1,14 @@
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"
- i18n:domain="plone">
-
+ i18n:domain="plone">
<body>
-
<metal:leftcolumn define-macro="left_column">
-<span tal:define="global stosystems allowed_systems"/>
-<div tal:omit-tag="" metal:use-macro="here/portlet_cluconfig/macros/stochooseportlet" />
-<!--
-<span tal:omit-tag="" tal:define="global hasstoragename request/storagename |nothing"/>
-<span tal:omit-tag="" tal:condition="hasstoragename">
--->
-<span tal:omit-tag="" tal:condition="storage_report">
-<div tal:omit-tag="" metal:use-macro="here/portlet_cluconfig/macros/stoconfigportlet" />
-</span>
+ <tal:block tal:define="global stosystems allowed_systems" />
+ <div tal:omit-tag=""
+ metal:use-macro="here/portlet_cluconfig/macros/stochooseportlet" />
+ <tal:block tal:condition="storage_report">
+ <div tal:omit-tag=""
+ metal:use-macro="here/portlet_cluconfig/macros/stoconfigportlet" />
+ </tal:block>
</metal:leftcolumn>
-
-<!--
-
-<metal:rightcolumn define-macro="right_column"
- tal:define="Iterator python:modules['Products.CMFPlone'].IndexIterator;
- tabindex python:Iterator(pos=20000);"
- tal:condition="sr">
-
- <metal:block tal:repeat="slot sr">
- <tal:dontcrash tal:on-error="python:context.plone_log('Error %s on %s while rendering portlet %s'%(error.type, error.value, slot[0]))"
- tal:define="pathexpr python:slot[0];
- usemacro python:slot[1];">
-
- <tal:block tal:condition="usemacro">
- <metal:block metal:use-macro="python:path(pathexpr)" />
- </tal:block>
-
- <span tal:condition="not: usemacro"
- tal:replace="structure python:path(pathexpr)" />
-
- </tal:dontcrash>
- </metal:block>
-</metal:rightcolumn>
--->
-
</body>
</html>
--- conga/luci/storage/form-chooser 2007/09/11 16:04:35 1.7
+++ conga/luci/storage/form-chooser 2007/09/25 03:50:27 1.8
@@ -1,80 +1,69 @@
<html>
- <head>
- <title id="pagetitle" tal:content="template/title">The title</title>
- </head>
- <body>
-
- <metal:choose-form metal:define-macro="main-form">
-
- <span tal:omit-tag=""
- tal:define="global preferred_size_units python:here.set_persistent_var('preferred_size_units', 'GB')"/>
- <span tal:omit-tag=""
- tal:define="global preferred_path_display python:here.set_persistent_var('preferred_path_display', 'path')"/>
-
-<!--
- <span tal:omit-tag="" tal:condition="python: storage_report == None and storagename != None">
- <div metal:use-macro="here/form-macros/macros/error-form"/>
- </span>
--->
-
- <span tal:omit-tag="" tal:condition="python: access_to_host_allowed == False and storagename != None">
- <h2>
- Insufficient rights
- </h2>
- <div metal:use-macro="here/form-macros/macros/error-form"/>
- </span>
-
- <span tal:omit-tag="" tal:condition="python: storage_report == None and storagename != None and access_to_host_allowed">
- <div metal:use-macro="here/form-macros/macros/wait-probing-storage"/>
- </span>
-
- <span tal:omit-tag="" tal:condition="python: (pagetype == '0' or pagetype == None) and storagename == None">
- <div metal:use-macro="here/form-macros/macros/systems-form"/>
- </span>
-
- <span tal:omit-tag="" tal:condition="python: pagetype=='commit_changes' and storage_report != None">
- <div metal:use-macro="here/form-macros/macros/commit-changes"/>
- </span>
-
- <span tal:omit-tag="" tal:condition="python: pagetype == '44' and storage_report != None">
- <div metal:use-macro="here/form-macros/macros/view-mappers-all-form"/>
- </span>
-
- <span tal:omit-tag="" tal:condition="python: pagetype == '51' and storage_report != None">
- <div metal:use-macro="here/form-macros/macros/view-mappers-form"/>
- </span>
-
- <span tal:omit-tag=""
- tal:define="mapper_id request/mapper_id|nothing"
- tal:condition="mapper_id">
- <span tal:omit-tag=""
- tal:condition="python: mapper_id != 'hard_drives:' and pagetype == '62'">
- <span tal:omit-tag=""
- tal:define="global pagetype string:52"/>
- </span>
- </span>
-
- <span tal:omit-tag="" tal:condition="python: pagetype == '52' and storage_report != None">
- <div metal:use-macro="here/form-macros/macros/view-mapper-form"/>
- </span>
-
- <span tal:omit-tag="" tal:condition="python: pagetype == '61' and storage_report != None">
- <div metal:use-macro="here/form-macros/macros/view-hard-drives-form"/>
- </span>
-
- <span tal:omit-tag="" tal:condition="python: pagetype == '62' and storage_report != None">
- <div metal:use-macro="here/form-macros/macros/view-BD-form"/>
- </span>
-
- <span tal:omit-tag="" tal:condition="python: pagetype == '101' and storage_report != None">
- <div metal:use-macro="here/form-macros/macros/create-mapper-form"/>
- </span>
-
- <span tal:omit-tag="" tal:condition="python: pagetype == '102' and storage_report != None">
- <div metal:use-macro="here/form-macros/macros/add-sources-form"/>
- </span>
+<head>
+ <title id="pagetitle" tal:content="template/title" />
+</head>
+
+<body>
+<metal:choose-form metal:define-macro="main-form">
+ <tal:block tal:define="
+ global preferred_size_units python:here.set_persistent_var('preferred_size_units', 'GB')" />
+
+ <tal:block tal:define="
+ global preferred_path_display python:here.set_persistent_var('preferred_path_display', 'path')" />
+
+ <tal:block tal:condition="python: access_to_host_allowed == False and storagename != None">
+ <h2>Insufficient rights</h2>
+ <div metal:use-macro="here/form-macros/macros/error-form" />
+ </tal:block>
+
+ <tal:block tal:condition="python: storage_report == None and storagename != None and access_to_host_allowed">
+ <div metal:use-macro="here/form-macros/macros/wait-probing-storage" />
+ </tal:block>
+
+ <tal:block tal:condition="python: (pagetype == '0' or pagetype == None) and storagename == None">
+ <div metal:use-macro="here/form-macros/macros/systems-form" />
+ </tal:block>
+
+ <tal:block tal:condition="python: pagetype=='commit_changes' and storage_report != None">
+ <div metal:use-macro="here/form-macros/macros/commit-changes" />
+ </tal:block>
+
+ <tal:block tal:condition="python: pagetype == '44' and storage_report != None">
+ <div metal:use-macro="here/form-macros/macros/view-mappers-all-form" />
+ </tal:block>
+
+ <tal:block tal:condition="python: pagetype == '51' and storage_report != None">
+ <div metal:use-macro="here/form-macros/macros/view-mappers-form" />
+ </tal:block>
+
+ <tal:block tal:define="mapper_id request/mapper_id|nothing"
+ tal:condition="mapper_id">
+ <tal:block
+ tal:condition="python: mapper_id != 'hard_drives:' and pagetype == '62'">
+ <tal:block tal:define="global pagetype string:52" />
+ </tal:block>
+ </tal:block>
+
+ <tal:block tal:condition="python: pagetype == '52' and storage_report != None">
+ <div metal:use-macro="here/form-macros/macros/view-mapper-form" />
+ </tal:block>
+
+ <tal:block tal:condition="python: pagetype == '61' and storage_report != None">
+ <div metal:use-macro="here/form-macros/macros/view-hard-drives-form" />
+ </tal:block>
+
+ <tal:block tal:condition="python: pagetype == '62' and storage_report != None">
+ <div metal:use-macro="here/form-macros/macros/view-BD-form" />
+ </tal:block>
+
+ <tal:block tal:condition="python: pagetype == '101' and storage_report != None">
+ <div metal:use-macro="here/form-macros/macros/create-mapper-form" />
+ </tal:block>
+
+ <tal:block tal:condition="python: pagetype == '102' and storage_report != None">
+ <div metal:use-macro="here/form-macros/macros/add-sources-form" />
+ </tal:block>
+</metal:choose-form>
- </metal:choose-form>
-
- </body>
+</body>
</html>
--- conga/luci/storage/form-macros 2007/09/11 16:04:35 1.25
+++ conga/luci/storage/form-macros 2007/09/25 03:50:27 1.26
@@ -38,13 +38,11 @@
}
tr.props-form-header th {
background-color: #dee7ec;
- text-align: center;
+ text-align: left;
}
tr.props-form-header th:first-child {
- -moz-border-radius-topleft: 15px;
}
tr.props-form-header th:last-child {
- -moz-border-radius-topright: 15px;
}
tr.props-form-body {
@@ -68,10 +66,8 @@
padding: 3px;
}
tr.props-form-footer td:first-child {
- -moz-border-radius-bottomleft: 15px;
}
tr.props-form-footer td:last-child {
- -moz-border-radius-bottomright: 15px;
}
table.props-inner-table {
@@ -182,12 +178,12 @@
<div metal:define-macro="display-committing-changes">
<table style="width: 100%;">
<tr>
- <td align="center">
+ <td align="left">
<img src="100wait.gif" style="padding-top: 1cm;"/>
</td>
</tr>
<tr>
- <td align="center">
+ <td align="left">
<div style="padding-bottom: 4cm;">Committing Changes</div>
</td>
</tr>
@@ -236,7 +232,7 @@
<table style="width: 100%;">
<tr>
- <td align="center">
+ <td align="left">
<img src="100wait.gif" style="padding-top: 1cm;"/>
</td>
</tr>
@@ -350,7 +346,7 @@
<div metal:define-macro="error-form">
<h2>Error Form</h2>
- An error has occured, more details once implemented :)
+ An error has occurred.
</div>
@@ -599,7 +595,7 @@
<span tal:omit-tag=""
tal:define="mapper python:here.get_mapper_data(storage_report, request['mapper_id']);
properties_span_id python:mapper['mapper_id'] + '_properties_span_id'">
- <div align="center">
+ <div align="left">
<h3>
<span tal:content="python:mapper['pretty_type'] + ' '"/>
<span style="cursor: pointer; text-decoration: underline"
@@ -691,7 +687,7 @@
<div tal:attributes="id properties_span_id"
style="width: 700px; min-height: 360px; ">
<span id="warning_box"
- style="position:absolute; visibility: hidden; border: medium double red; color: red; background-color: white; text-align: center; width: 350px; ">
+ style="position:absolute; visibility: hidden; border: medium double red; color: red; background-color: white; text-align: left; width: 350px; ">
</span>
<div tal:attributes="id mapper/mapper_id;
@@ -739,7 +735,7 @@
<span tal:omit-tag=""
tal:define="bd_data python:here.get_bd_data(storage_report, request['mapper_id'], request['bd_path']);
mapper python:here.get_mapper_data(storage_report, request['mapper_id'])">
- <span tal:define="properties_span_id string:if seen in javascript error log -> FIXME">
+ <span tal:condition="bd_data">
<div metal:use-macro="here/form-macros/macros/display-BD"/>
</span>
</span>
@@ -1198,11 +1194,7 @@
input { background-image: none; }
input.validation_error { border: medium double red; background-color: orange; }
input.selected { border: thin solid orange; }
- input.form_button { background-color: #fff;
- -moz-border-radius-topleft: 7px;
- -moz-border-radius-topright: 7px;
- -moz-border-radius-bottomleft: 7px;
- -moz-border-radius-bottomright: 7px; }
+ input.form_button { background-color: #fff; }
</style>
<script language="javascript" type="text/javascript">
@@ -1940,7 +1932,7 @@
<span tal:define="act_name action/name;
act_msg action/msg;
act_link action/link"
- align="center">
+ align="left">
<span tal:condition="act_link">
<input tal:define="act_link python:act_link + '&storagename=' + storagename;
funct python:'window.location.assign(\'' + act_link + '\')'"
--- conga/luci/storage/index_html 2007/09/11 16:04:35 1.10
+++ conga/luci/storage/index_html 2007/09/25 03:50:27 1.11
@@ -79,8 +79,6 @@
}
}
-
-
var span_to_replace = "";
var replace_span_button_to_disable_id = "";
@@ -255,10 +253,6 @@
</metal:block>
</div>
-
-
-
-
</body>
</html>
</metal:page>
--- conga/luci/storage/mappings_macros 2007/09/11 16:04:35 1.2
+++ conga/luci/storage/mappings_macros 2007/09/25 03:50:27 1.3
@@ -1,133 +1,124 @@
<html>
- <head>
- <title tal:content="template/title">The title</title>
- </head>
- <body>
-
- <h2><span tal:replace="here/title_or_id">content title or id</span>
- <span tal:condition="template/title"
- tal:replace="template/title">optional template title</span></h2>
-
- This is Page Template <em tal:content="template/id">template id</em>.
- </body>
-
-
-
-
-
-
-
-
- <div metal:define-macro="draw-base-cyl"
- tal:define="cap python:cyl['color'] + '_cap_40.png'">
-
- <div tal:omit-tag=""
- tal:define="cyls cyl/cyls;
- tmp python:cyls.reverse()"
- tal:repeat="subcyl cyls">
- <div tal:define="beg subcyl/beg;
- end subcyl/end;
- id subcyl/id;
- size python:end - beg;
- right_end python:subcyl['color'] + '_right_end_40.png';
- bar python:subcyl['color'] + '_bar_40.png'"
- tal:attributes="class string:visible;
- id id;
- style python:here.add_commas('position:absolute', here.add_commas('left: ' + str(beg), 'top: 0'))">
- <img tal:attributes="src right_end;
- height string:40;
- width string:10;
- style python:here.add_commas('position:absolute', here.add_commas('left: ' + str(size), 'top: 0'))"/>
- <img tal:attributes="src bar;
- height string:40;
- width python:str(size);
- style python:here.add_commas('position:absolute', here.add_commas('left: ' + str(0), 'top: 0'))"/>
- </div>
- </div>
-
- <img tal:define="one_tmp_assignment python:here.add_commas('position:absolute', here.add_commas('left: -' + str(curve_width), 'top: 0'))"
- tal:attributes="src cap;
- height string:40;
- width string:20;
- style one_tmp_assignment"/>
-
- </div>
-
-
-
- <div metal:define-macro="draw-highlights">
-
- <div tal:omit-tag=""
- tal:repeat="high highs">
- <div tal:define="beg high/beg;
- end high/end;
- size python:end - beg;
- id high/id"
- tal:attributes="class string:invisible;
- id id;
- style python:here.add_commas('position:absolute', here.add_commas('left: ' + str(beg), 'top: 0'))">
- <span tal:omit-tag=""
- tal:condition="python:high['type'] == 'select'">
- <div metal:use-macro="here/mappings_macros/macros/draw-select"/>
- </span>
- <span tal:omit-tag=""
- tal:condition="python:high['type'] == 'snapshot'">
- <div metal:use-macro="here/mappings_macros/macros/draw-snapshot"/>
- </span>
- <span tal:omit-tag=""
- tal:condition="python:high['type'] == 'snapshot-origin'">
- <div metal:use-macro="here/mappings_macros/macros/draw-snapshot-origin"/>
- </span>
- </div>
- </div>
-
- </div>
-
-
- <div metal:define-macro="draw-select">
- <span tal:omit-tag=""
- tal:condition="python:size > 0 and size < curve_width">
- <span tal:repeat="off python:range(size)">
- <img tal:attributes="src string:selection_1px_40.png;
- height string:40;
- style python:here.add_commas('position:absolute', here.add_commas('left: ' + str(off), 'top: 0'))"/>
- </span>
- </span>
- <span tal:omit-tag=""
- tal:condition="python:size >= curve_width">
- <img tal:attributes="src string:selection_left_end_40.png;
- height string:40;
- width string:10;
- style python:here.add_commas('position:absolute', here.add_commas('left: ' + str(0), 'top: 0'))"/>
- <img tal:attributes="src string:selection_bar_40.png;
- height string:40;
- width python:str(size - curve_width);
- style python:here.add_commas('position:absolute', here.add_commas('left: ' + str(curve_width), 'top: 0'))"/>
- <img tal:attributes="src string:selection_right_end_40.png;
- height string:40;
- width string:10;
- style python:here.add_commas('position:absolute', here.add_commas('left: ' + str(size), 'top: 0'))"/>
- </span>
- </div>
-
- <div metal:define-macro="draw-snapshot">
- <div style="height:40"></div>
- <div tal:attributes="style python:here.add_commas('position:absolute', 'left: ' + str(size/2-12))">
- <img src="snapshot.gif" style="width: 25px; height: 20px;"/>
- </div>
- </div>
-
- <div metal:define-macro="draw-snapshot-origin">
-<!-- <div style="position: absolute; top: -3">
- <div style="border-top: medium dotted red; border-bottom: medium dotted red"> -->
- <div>
- <div style="border-bottom: medium dotted #0000FF">
- <div tal:attributes="style python:here.add_commas('height: 40', 'width: ' + str(size))"></div>
- </div>
- </div>
- </div>
-
-
-
+<head>
+ <title tal:content="template/title" />
+</head>
+
+<body>
+
+<h2>
+ <span tal:replace="here/title_or_id" />
+ <span tal:condition="template/title" tal:replace="template/title" />
+</h2>
+
+</body>
+
+<div metal:define-macro="draw-base-cyl"
+ tal:define="cap python:cyl['color'] + '_cap_40.png'">
+
+ <div tal:omit-tag=""
+ tal:define="
+ cyls cyl/cyls;
+ tmp python:cyls.reverse()"
+ tal:repeat="subcyl cyls">
+
+ <div
+ tal:define="
+ beg subcyl/beg;
+ end subcyl/end;
+ id subcyl/id;
+ size python:end - beg;
+ right_end python:subcyl['color'] + '_right_end_40.png';
+ bar python:subcyl['color'] + '_bar_40.png'"
+ tal:attributes="
+ class string:visible;
+ id id;
+ style python:here.add_commas('position:absolute', here.add_commas('left: ' + str(beg), 'top: 0'))">
+
+ <img height="40" width="10"
+ tal:attributes="
+ src right_end;
+ style python:here.add_commas('position:absolute', here.add_commas('left: ' + str(size), 'top: 0'))" />
+
+ <img height="40"
+ tal:attributes="
+ src bar;
+ width python:str(size);
+ style python:here.add_commas('position:absolute', here.add_commas('left: ' + str(0), 'top: 0'))" />
+ </div>
+ </div>
+
+ <img height="40" width="20"
+ tal:define="
+ one_tmp_assignment python:here.add_commas('position:absolute', here.add_commas('left: -' + str(curve_width), 'top: 0'))"
+ tal:attributes="
+ src cap;
+ style one_tmp_assignment" />
+</div>
+
+
+<div metal:define-macro="draw-highlights">
+ <div tal:omit-tag="" tal:repeat="high highs">
+ <div class="invisible"
+ tal:define="
+ beg high/beg;
+ end high/end;
+ size python:end - beg;
+ id high/id"
+ tal:attributes="
+ id id;
+ style python:here.add_commas('position:absolute', here.add_commas('left: ' + str(beg), 'top: 0'))">
+
+ <tal:block tal:condition="python:high['type'] == 'select'">
+ <div metal:use-macro="here/mappings_macros/macros/draw-select" />
+ </tal:block>
+
+ <tal:block tal:condition="python:high['type'] == 'snapshot'">
+ <div metal:use-macro="here/mappings_macros/macros/draw-snapshot"/>
+ </tal:block>
+
+ <tal:block tal:condition="python:high['type'] == 'snapshot-origin'">
+ <div metal:use-macro="here/mappings_macros/macros/draw-snapshot-origin" />
+ </tal:block>
+ </div>
+ </div>
+</div>
+
+<div metal:define-macro="draw-select">
+ <tal:block tal:condition="python:size > 0 and size < curve_width">
+ <tal:block tal:repeat="off python:range(size)">
+ <img height="40" src="selection_1px_40.png"
+ tal:attributes="style python:here.add_commas('position:absolute', here.add_commas('left: ' + str(off), 'top: 0'))" />
+ </tal:block>
+ </tal:block>
+
+ <tal:block tal:condition="python:size >= curve_width">
+ <img height="40" width="10" src="selection_left_end_40.png"
+ tal:attributes="style python:here.add_commas('position:absolute', here.add_commas('left: ' + str(0), 'top: 0'))" />
+
+ <img src="selection_bar_40.png" height="40"
+ tal:attributes="
+ width python:str(size - curve_width);
+ style python:here.add_commas('position:absolute', here.add_commas('left: ' + str(curve_width), 'top: 0'))" />
+
+ <img src="selection_right_end_40.png" height="40" width="10"
+ tal:attributes="
+ style python:here.add_commas('position:absolute', here.add_commas('left: ' + str(size), 'top: 0'))" />
+ </tal:block>
+</div>
+
+<div metal:define-macro="draw-snapshot">
+ <div style="height:40"></div>
+ <div tal:attributes="style python:here.add_commas('position:absolute', 'left: ' + str(size/2-12))">
+ <img src="snapshot.gif" style="width: 25px; height: 20px;" />
+ </div>
+</div>
+
+<div metal:define-macro="draw-snapshot-origin">
+ <div>
+ <div style="border-bottom: medium dotted #0000FF">
+ <div tal:attributes="style python:here.add_commas('height: 40', 'width: ' + str(size))" />
+ </div>
+ </div>
+</div>
</html>
--- conga/luci/storage/mappings_provider 2007/09/11 16:04:35 1.6
+++ conga/luci/storage/mappings_provider 2007/09/25 03:50:27 1.7
@@ -3,11 +3,14 @@
<span tal:omit-tag=""
tal:define="global pagetype request/pagetype|nothing;
global storagename request/storagename|nothing"/>
+
<span tal:omit-tag=""
tal:condition="not: pagetype">
+
<span tal:omit-tag=""
tal:define="global pagetype python:'0'"/>
</span>
+
<span tal:omit-tag=""
tal:define="stosystemss context/systems/storage/objectItems;
global allowed_systems python:here.allowed_systems(stosystemss);
@@ -26,157 +29,7 @@
<head>
<title tal:content="mapper/pretty_name">The title</title>
-
- <script>
-
- function ellipse(y) {
- if (y == 0)
- return 2;
-
- if (y == 1)
- return 3;
-
- if (y == 2)
- return 4;
-
- if (y == 3)
- return 5;
-
- if (y == 4)
- return 5;
-
- if (y == 5)
- return 6;
-
- if (y == 6)
- return 6;
-
- if (y == 7)
- return 7;
-
- if (y == 8)
- return 7;
-
- if (y == 9)
- return 7;
-
- if (y == 10)
- return 8;
-
- if (y == 11)
- return 8;
-
- if (y == 12)
- return 8;
-
- if (y == 13)
- return 8;
-
- if (y > 26)
- return ellipse(40 - y);
-
- else
- return 9;
- }
-
- var properties_span_id = '';
- var current_selection = '';
-
- function select_subcyl(id, h_data) {
- var old_selection = current_selection;
- unselect_cyl(old_selection, h_data);
- if (id == old_selection)
- current_selection = h_data[0][0];
- else
- current_selection = id;
- display_props(h_data);
- }
- function unselect_cyl(id, h_data) {
- for (var i=0; i<h_data.length; i++) {
- var t_id = h_data[i][0];
- if (t_id == id) {
- var list = h_data[i][1];
- for (var j=0; j<list.length; j++) {
- var el = document.getElementById(list[j]);
- el.className = 'invisible';
- }
- }
- }
- current_selection = '';
- }
- function display_props(h_data) {
- for (var i=0; i<h_data.length; i++) {
- var id = h_data[i][0];
- if (id == current_selection) {
- var list = h_data[i][1];
- for (var j=0; j<list.length; j++) {
- var el = document.getElementById(list[j]);
- el.className = 'visible';
- }
- }
- }
- parent = top.document.getElementById(properties_span_id);
- for (var i=0; i < parent.childNodes.length; i++) {
- var item = parent.childNodes[i];
- if (item.nodeName == 'SPAN' || item.nodeName == 'span' || item.nodeName == 'DIV' || item.nodeName == 'div') {
- if (item.id == current_selection)
- item.className = 'visible';
- else if (item.className == 'visible')
- item.className = 'invisible';
- }
- }
- }
-
-
-
- function cyl_click(X, Y, c_data, h_data) {
- if (Y < 0 || Y > 40)
- return;
- var x = X - ellipse(Y);
- var y = Y;
- for (var i=0; i<c_data.length; i++) {
- var elem = c_data[i];
- var id = elem[0];
- var beg = elem[1][0];
- var end = elem[1][1];
- if (x > beg && x < end)
- select_subcyl(id, h_data);
- }
- }
-
-
-
-
-
- function cyl_over(msg_board, X, Y, c_data, h_data) {
- if (Y < 0 || Y > 40) {
- msg_board.style.visibility = 'invisible';
- return;
- }
- var x = X - ellipse(Y);
- var y = Y;
- for (var i=0; i<c_data.length; i++) {
- var elem = c_data[i];
- var beg = elem[1][0];
- var end = elem[1][1];
- if (x > beg && x < end) {
- var descr = elem[2];
- msg_board.innerHTML = descr;
- msg_board.style.width = (descr.length + 1) + 'ex';
- msg_board.style.left = X - 35;
- msg_board.style.top = Y + 15;
- msg_board.style.visibility = 'visible';
- return;
- }
- }
- msg_board.style.visibility = 'invisible';
- }
-
-
-
-
-
- </script>
+ <script type="text/javascript" src="cylinder_select.js"></script>
<style>
@@ -318,7 +171,5 @@
</div>
-
-
- </body>
+</body>
</html>
--- conga/luci/storage/portlet_cluconfig 2007/09/11 16:04:35 1.2
+++ conga/luci/storage/portlet_cluconfig 2007/09/25 03:50:27 1.3
@@ -1,60 +1,55 @@
<html xmlns:tal="http://xml.zope.org/namespaces/tal"
- xmlns:metal="http://xml.zope.org/namespaces/metal">
+ xmlns:metal="http://xml.zope.org/namespaces/metal">
<body>
-
-<div metal:define-macro="stochooseportlet"
- tal:omit-tag=""
- tal:define="global data python:here.createStorageChooser(request, stosystems)">
- <dl class="portlet" id="portlet-cluconfig-tree">
- <dt class="portletHeader">
- <a href="#">
- storage
- </a>
- </dt>
- <dd class="portletItemSingle">
- <ul class="portletCluConfigTree cluConfigTreeLevel0">
- <tal:clucfgtree define=" level python:1;
- children python:data.get('children',[]);
- show_children python:True;
- isNaviTree python:False;">
- <metal:main metal:use-macro="here/portlet_cluconfig_macro/macros/cluconfig_main" />
- </tal:clucfgtree>
- </ul>
- </dd>
- </dl>
+<div metal:define-macro="stochooseportlet" tal:omit-tag=""
+ tal:define="global data python:here.createStorageChooser(request, stosystems)">
+ <dl class="portlet" id="portlet-cluconfig-tree">
+ <dt class="portletHeader">
+ <a href="#">
+ storage
+ </a>
+ </dt>
+
+ <dd class="portletItemSingle">
+ <ul class="portletCluConfigTree cluConfigTreeLevel0">
+ <tal:clucfgtree define="
+ level python:1;
+ children python:data.get('children',[]);
+ show_children python:True;
+ isNaviTree python:False;">
+ <metal:main metal:use-macro="here/portlet_cluconfig_macro/macros/cluconfig_main" />
+ </tal:clucfgtree>
+ </ul>
+ </dd>
+ </dl>
</div>
+<div metal:define-macro="stoconfigportlet" tal:omit-tag="" tal:define="
+ global data python:here.createStorageConfigTree(request, storage_report)">
-<div metal:define-macro="stoconfigportlet"
- tal:omit-tag=""
- tal:define="global data python:here.createStorageConfigTree(request, storage_report)">
- <dl class="portlet" id="portlet-cluconfig-tree">
- <dt class="portletHeader">
-<!--
- <a href="#" tal:attributes="href python:here.getClusterURL(request, modelb)">
- <div tal:omit-tag="" tal:content="python: here.getClusterName(modelb)" />
- </a>
--->
- <a href="#" tal:attributes="href python:here.getStorageURL(request, storagename)">
- <div tal:omit-tag="" tal:content="storagename" />
- </a>
- </dt>
- <dd class="portletItemSingle">
- <ul class="portletCluConfigTree cluConfigTreeLevel0">
-
- <tal:clucfgtree define=" level python:1;
- children python:data.get('children',[]);
- show_children python:True;
- isNaviTree python:False;">
- <metal:main metal:use-macro="here/portlet_cluconfig_macro/macros/cluconfig_main" />
- </tal:clucfgtree>
- </ul>
- </dd>
- </dl>
+ <dl class="portlet" id="portlet-cluconfig-tree">
+ <dt class="portletHeader">
+ <a href="#" tal:attributes="
+ href python:here.getStorageURL(request, storagename)">
+ <div tal:omit-tag="" tal:content="storagename" />
+ </a>
+ </dt>
+
+ <dd class="portletItemSingle">
+ <ul class="portletCluConfigTree cluConfigTreeLevel0">
+ <tal:clucfgtree
+ define="level python:1;
+ children python:data.get('children',[]);
+ show_children python:True;
+ isNaviTree python:False;">
+ <metal:main metal:use-macro="here/portlet_cluconfig_macro/macros/cluconfig_main" />
+ </tal:clucfgtree>
+ </ul>
+ </dd>
+ </dl>
</div>
-
</body>
</html>
--- conga/luci/storage/portlet_cluconfig_macro 2007/09/11 16:04:35 1.2
+++ conga/luci/storage/portlet_cluconfig_macro 2007/09/25 03:50:27 1.3
@@ -2,40 +2,40 @@
<body>
<metal:main define-macro="cluconfig_main">
<tal:cfgitem repeat="item children">
-<li class="cluConfigTreeItem visualNoMarker"
- tal:define="parent_shows_children show_children|nothing;
- children item/children|nothing;
- cur_item item/currentItem;"
- tal:condition="python: (cur_item or parent_shows_children or children)">
+ <li class="cluConfigTreeItem visualNoMarker"
+ tal:define="parent_shows_children show_children|nothing;
+ children item/children|nothing;
+ cur_item item/currentItem;"
+ tal:condition="python: (cur_item or parent_shows_children or children)">
- <tal:level define="item_type_class python: 'type-' + item['cfg_type'];">
- <div tal:attributes="class item_type_class">
- <a tal:condition="cur_item"
- tal:attributes="href item/absolute_url;
- title item/Description|nothing;
- class string: cluConfigTreeCurrentItem visualIconPadding"
- tal:content="item/Title|nothing">
- Selected Item Title</a>
- <tal:children condition="python: parent_shows_children or children">
- <a tal:condition="not: cur_item"
- tal:attributes="href item/absolute_url;
- title item/Description|nothing;
- class string: visualIconPadding;"
- tal:content="item/Title|nothing">
- Unselected Item Title</a>
- </tal:children>
- </div>
+ <tal:level define="item_type_class python: 'type-' + item['cfg_type'];">
+ <div tal:attributes="class item_type_class">
+ <a tal:condition="cur_item"
+ tal:attributes="href item/absolute_url;
+ title item/Description|nothing;
+ class string: cluConfigTreeCurrentItem visualIconPadding"
+ tal:content="item/Title|nothing">Selected Item Title</a>
- <ul tal:attributes="class python:'cluConfigTree cluConfigTreeLevel'+str(level)"
- tal:define="show_children item/show_children| python:True;
- level python:level+1;"
- tal:condition="python: (show_children or isNaviTree) and children">
- <metal:recurse use-macro="here/portlet_cluconfig_macro/macros/cluconfig_main"/>
- </ul>
- </tal:level>
-</li>
+ <tal:children condition="python: parent_shows_children or children">
+ <a tal:condition="not: cur_item"
+ tal:attributes="href item/absolute_url;
+ title item/Description|nothing;
+ class string: visualIconPadding;"
+ tal:content="item/Title|nothing">
+ Unselected Item Title
+ </a>
+ </tal:children>
+ </div>
+
+ <ul tal:attributes="class python:'cluConfigTree cluConfigTreeLevel'+str(level)"
+ tal:define="show_children item/show_children| python:True;
+ level python:level+1;"
+ tal:condition="python: (show_children or isNaviTree) and children">
+ <metal:recurse use-macro="here/portlet_cluconfig_macro/macros/cluconfig_main" />
+ </ul>
+ </tal:level>
+ </li>
</tal:cfgitem>
</metal:main>
</body>
</html>
-
--- conga/luci/storage/validate_html 2007/09/11 16:04:35 1.4
+++ conga/luci/storage/validate_html 2007/09/25 03:50:27 1.5
@@ -1,38 +1,30 @@
-<span tal:omit-tag=""
- tal:define="global pagetype request/pagetype|nothing;
- global storagename request/storagename|nothing"/>
-<span tal:omit-tag=""
- tal:define="stosystemss context/systems/storage/objectItems;
- global allowed_systems python:here.allowed_systems(stosystemss);
- global access_to_host_allowed python:here.access_to_host_allowed(storagename, allowed_systems)"/>
-<span tal:omit-tag=""
- tal:define="global ricci python:here.get_ricci_communicator(storagename, allowed_systems);
- global storage_report python:here.get_storage_report(ricci, request.SESSION)"/>
-
-<span tal:omit-tag=""
- tal:define="global action_type request/action_type|nothing"/>
-
-<span tal:omit-tag=""
- tal:define="global preferred_size_units python:here.set_persistent_var('preferred_size_units', 'GB')"/>
-
-
-<span tal:omit-tag=""
- tal:condition="not: access_to_host_allowed">
- widget_name You are not authorized to modify <span tal:replace="storagename"/>!!!
-</span>
-
-<span tal:omit-tag=""
- tal:condition="access_to_host_allowed">
- <span tal:omit-tag=""
- tal:condition="python:action_type == 'Validate'"
- tal:content="python:here.validate(storage_report, request)">
- Validation result:
- OK if validated
- message if not validated
- </span>
-
- <span tal:omit-tag=""
- tal:condition="python:action_type != 'Validate'">
- This form is to be used for validation only
- </span>
-</span>
+<tal:block tal:define="
+ global pagetype request/pagetype|nothing;
+ global storagename request/storagename|nothing "/>
+
+<tal:block tal:define="
+ stosystemss context/systems/storage/objectItems;
+ global allowed_systems python:here.allowed_systems(stosystemss);
+ global access_to_host_allowed python:here.access_to_host_allowed(storagename, allowed_systems)" />
+
+<tal:block tal:define="
+ global ricci python:here.get_ricci_communicator(storagename, allowed_systems);
+ global storage_report python:here.get_storage_report(ricci, request.SESSION)" />
+
+<tal:block tal:define="global action_type request/action_type|nothing" />
+
+<tal:block tal:define="
+ global preferred_size_units python:here.set_persistent_var('preferred_size_units', 'GB')" />
+
+<tal:block tal:condition="not: access_to_host_allowed">
+ You are not authorized to modify <span tal:replace="storagename" />
+</tal:block>
+
+<tal:block tal:condition="access_to_host_allowed">
+ <span tal:condition="python:action_type == 'Validate'"
+ tal:content="python:here.validate(storage_report, request)" />
+
+ <tal:block tal:condition="python:action_type != 'Validate'">
+ This form is to be used for validation only
+ </tal:block>
+</tal:block>
More information about the Cluster-devel
mailing list