All of lore.kernel.org
 help / color / mirror / Atom feed
From: rmccabe@sourceware.org <rmccabe@sourceware.org>
To: cluster-devel.redhat.com
Subject: [Cluster-devel] conga/luci/storage cache_report check-batch cl ...
Date: 25 Sep 2007 03:50:34 -0000	[thread overview]
Message-ID: <20070925035034.7005.qmail@sourceware.org> (raw)

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>



                 reply	other threads:[~2007-09-25  3:50 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20070925035034.7005.qmail@sourceware.org \
    --to=rmccabe@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.