[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