[Cluster-devel] conga/luci/storage form-macros mappings_provider

rmccabe at sourceware.org rmccabe at sourceware.org
Wed Sep 26 14:10:49 UTC 2007


CVSROOT:	/cvs/cluster
Module name:	conga
Changes by:	rmccabe at sourceware.org	2007-09-26 14:10:48

Modified files:
	luci/storage   : form-macros mappings_provider 

Log message:
	More page template cleanup and bug fixes

Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/form-macros.diff?cvsroot=cluster&r1=1.29&r2=1.30
http://sourceware.org/cgi-bin/cvsweb.cgi/conga/luci/storage/mappings_provider.diff?cvsroot=cluster&r1=1.8&r2=1.9

--- conga/luci/storage/form-macros	2007/09/25 22:47:05	1.29
+++ conga/luci/storage/form-macros	2007/09/26 14:10:48	1.30
@@ -244,9 +244,9 @@
 	<h2 tal:content="python:mappers_data['pretty_type'] + 's'" />
 
 	<span tal:condition="not: mappers_data/mappers">
-		No <span tal:replace="mappers_data/pretty_type"/>s exist on <span tal:replace="storagename" />.
+		No <span tal:replace="mappers_data/pretty_type" />s exist on <span tal:replace="storagename" />.
 		<br/>
-		Use the link on the left to create new <span tal:replace="mappers_data/pretty_type"/>.
+		Use the link on the left to create new <span tal:replace="mappers_data/pretty_type" />.
 	</span>
 
 	<ul class="tree" tal:condition="mappers_data/mappers">
@@ -263,7 +263,7 @@
 				<ul class="tree">
 					<li class="closed">
 						<div metal:use-macro="here/form-macros/macros/li-collapse-handler" />
-						<span tal:replace="mapper/pretty_type"/> Properties:
+						<span tal:replace="mapper/pretty_type" /> Properties:
 						<ul class="tree">
 							<li>
 								<span tal:define="
@@ -343,9 +343,9 @@
 </div>
 
 <div metal:define-macro="display-hard-drives">
-	<h2 tal:content="mappers_data/pretty_type"/>
+	<h2 tal:content="mappers_data/pretty_type" />
 	<tal:block tal:condition="not: mappers_data/mappers">
-		No <span tal:replace="mappers_data/pretty_type"/>s exist on <span tal:replace="storagename" />.
+		No <span tal:replace="mappers_data/pretty_type" />s exist on <span tal:replace="storagename" />.
 		<br/>
 		Use the link on the left to create new <span tal:replace="mappers_data/pretty_type" />.
 	</tal:block>
@@ -481,33 +481,26 @@
 				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;
-					class string:visible">
+			<div class="visible" tal:attributes="id mapper/mapper_id">
 				<div metal:use-macro="here/form-macros/macros/display-mapper" />
 			</div>
 
 			<tal:block tal:repeat="bd_data mapper/targets">
-				<div tal:attributes="
-						id bd_data/path;
-						class string:invisible">
+				<div class="invisible" tal:attributes="id bd_data/path">
 					<div metal:use-macro="here/form-macros/macros/display-BD" />
 				</div>
 			</tal:block>
 
 			<tal:block tal:repeat="bd_data mapper/new_targets">
-				<div tal:attributes="
-						id bd_data/path;
-						class string:invisible">
+				<div class="invisible" tal:attributes="id bd_data/path">
 					<div metal:use-macro="here/form-macros/macros/display-BD" />
 				</div>
 			</tal:block>
 
 			<tal:block tal:repeat="bd_data mapper/sources">
-				<div tal:define="displaying_source python:True"
-					tal:attributes="
-						id bd_data/path;
-						class string:invisible">
+				<div class="invisible"
+					tal:define="displaying_source python:True"
+					tal:attributes="id bd_data/path">
 
 					<div metal:use-macro="here/form-macros/macros/display-BD" />
 				</div>
@@ -548,9 +541,7 @@
 
 	<form method="get" tal:attributes="id mapper_template_form_id">
 
-	<input type="hidden" name="pagetype"
-		tal:attributes="value string:commit_changes" />
-
+	<input type="hidden" name="pagetype" value="commit_changes" />
 	<input type="hidden" name="object_type" value="mapper_template" />
 	<input type="hidden" name="mapper_type"
 		tal:attributes="value mapper/mapper_type" />
@@ -592,7 +583,7 @@
 					<tr class="props-form-header">
 						<th>
 							<span tal:condition="python:mapper['min_sources'] == mapper['max_sources']">
-								Select <span tal:replace="mapper/min_sources"/> <span tal:replace="mapper/pretty_source_name" />
+								Select <span tal:replace="mapper/min_sources" /> <span tal:replace="mapper/pretty_source_name" />
 							</span>
 							<span tal:condition="python:mapper['min_sources'] != mapper['max_sources']">
 								Select <span tal:replace="mapper/min_sources" /> to <span tal:replace="mapper/max_sources" /> <span tal:replace="mapper/pretty_sources_name" />
@@ -689,7 +680,7 @@
 	<input type="hidden" name="object_type" value="add_sources" />
 
 	<input type="hidden" name="mapper_type"
-		tal:attributes="value mapper/mapper_type"/>
+		tal:attributes="value mapper/mapper_type" />
 
 	<input type="hidden" name="mapper_id"
 		tal:attributes="value mapper/mapper_id" />
@@ -724,10 +715,10 @@
 				<table class="props-inner-table">
 					<th colspan="2">
 						<span tal:condition="python:len(mapper['new_sources']) == 1">
-							Select <span tal:replace="mapper/pretty_source_name"/> to add
+							Select <span tal:replace="mapper/pretty_source_name" /> to add
 						</span>
 						<span tal:condition="python:len(mapper['new_sources']) > 1">
-							Select one or more <span tal:replace="mapper/pretty_sources_name"/> to add
+							Select one or more <span tal:replace="mapper/pretty_sources_name" /> to add
 						</span>
 					</th>
 					<tr tal:repeat="bd mapper/new_sources">
@@ -943,393 +934,369 @@
 <div metal:define-macro="display-BD">
 	<div metal:use-macro="here/form-macros/macros/forms-css" />
 
-	<span tal:omit-tag=""
-         tal:define="mapper string:;
-                     conts python:bd_data['contents'];
-                     prefix prefix|bd_data/path;
-                     prefix python:prefix + '_';
-                     bd_form_id python:prefix + 'bd_form';
-                     select_content_id python:prefix + 'select_content_id';
-                     apply_button_id python:prefix + 'apply_button_id';
-                     form_submit_button_id apply_button_id;
-                     content_span_id python:prefix + 'content_span_id'">
-
-    <form method="get" tal:attributes="id bd_form_id">
-     <input tal:attributes="type string:hidden;
-                            name string:pagetype;
-                            value string:commit_changes"/>
-
-     <input tal:condition="not: bd_data/new"
-            tal:attributes="type string:hidden;
-                            name string:object_type;
-                            value string:bd"/>
-
-     <input tal:condition="bd_data/new"
-            tal:attributes="type string:hidden;
-                            name string:object_type;
-                            value string:bd_template"/>
-
-     <input tal:attributes="type string:hidden;
-                            name string:mapper_id;
-                            value bd_data/mapper_id"/>
-
-     <input tal:attributes="type string:hidden;
-                            name string:mapper_type;
-                            value bd_data/mapper_type"/>
-
-     <input tal:attributes="type string:hidden;
-                            name string:bd_path;
-                            value bd_data/path"/>
-
-     <input tal:attributes="type string:hidden;
-                            name string:storagename;
-                            value storagename"/>
-
-     <table class="props-form-table">
-      <tr class="props-form-header">
-       <th colspan="2"
-           tal:attributes="style python:here.add_commas('font-size: large', 'color: ' + bd_data['color'])">
-        <table>
-         <tr>
-          <td style="min-width: 30px;">
-           <img tal:condition="bd_data/icon"
-                tal:attributes="src bd_data/icon"
-                height="29px"
-                width="29px"/>
-          </td>
-          <td style="width: 100%;">
-           <span tal:omit-tag=""
-                 tal:condition="not: bd_data/new">
-            <span tal:replace="bd_data/pretty_type"/> '<span tal:replace="bd_data/pretty_name"/>' - <span tal:replace="bd_data/path"/>
-            <span tal:omit-tag=""
-                  tal:condition="displaying_source|nothing">
-             <br/>
-             <a tal:define="tmp_URL context/storage/index_html/absolute_url;
-                            URL python:tmp_URL + '?storagename=' + storagename + '&pagetype=62'"
-                tal:attributes="href python:URL + '&mapper_type=' + bd_data['mapper_type'] + '&mapper_id=' + bd_data['mapper_id'] + '&bd_path=' + bd_data['path']"
-                style="font-size: xx-small;"
-                tal:content="python: 'Go to ' + bd_data['pretty_mapper_type'] + ' view'"></a>
-            </span>
-           </span>
-           <span tal:omit-tag=""
-                 tal:condition="bd_data/new">
-            <span tal:omit-tag=""
-                  tal:condition="bd_data/pretty_name">
-             <span tal:replace="bd_data/pretty_name"/>
-             -
-            </span>
-            Creating <span tal:replace="bd_data/pretty_type"/>
-           </span>
-          </td>
-          <td style="min-width: 30px;">
-            
-          </td>
-         </tr>
-        </table>
-       </th>
-      </tr>
-      <tr class="props-form-body">
-       <td>
-        <span tal:omit-tag=""
-              tal:define="props bd_data/props_ordered">
-         <table class="props-inner-table">
-          <div metal:use-macro="here/form-macros/macros/display-props-tableless"/>
-         </table>
-        </span>
-       </td>
-       <td style="height: 100%;">
-        <span tal:omit-tag=""
-              tal:condition="not: conts">
-          
-        </span>
-	<table class="props-form-table"
-               style="height: 100%;"
-               tal:condition="conts">
-         <tr class="props-form-header">
-          <th tal:attributes="style python:'color: ' + conts[0]['color']">
-           <table style="width: 100%;">
-            <tr>
-             <th style="min-width: 30px;">
-              <img tal:condition="python:conts[0]['icon']"
-                   tal:attributes="src python:conts[0]['icon']"
-                   height="29px"
-                   width="29px"/>
-             </th>
-             <td style="width: 100%;">
-              Content<span tal:condition="python:len(conts) == 1"
-                           tal:replace="string::"/>
-              <select tal:define="funct python:'change_content(\'' + select_content_id + '\', \'' + content_span_id + '\')'"
-                      tal:condition="python:len(conts) > 1"
-                      tal:attributes="id select_content_id;
-                                      name string:content_id;
-                                      onchange funct">
-               <span tal:omit-tag="" tal:repeat="cont conts">
-                <option tal:attributes="value cont/id"/><span tal:replace="cont/name"/>
-               </span>
-              </select>
-
-              <span tal:define="cont python:conts[0]"
-                    tal:condition="python:len(conts) == 1">
-               <input tal:attributes="id select_content_id;
-                                      type string:hidden;
-                                      name string:content_id;
-                                      value cont/id"/>
-               <span tal:replace="cont/name"/>
-              </span>
-              <span tal:omit-tag=""
-                    tal:define="cont python:conts[0]"
-                    tal:condition="not: displaying_source|nothing">
-               <span tal:condition="cont/is_source">
-                <br/>
-                <a tal:define="tmp_URL context/storage/index_html/absolute_url;
-                               URL python:tmp_URL + '?storagename=' + storagename + '&pagetype=52'"
-                   tal:attributes="href python:URL + '&mapper_type=' + cont['mapper_type'] + '&mapper_id=' + cont['mapper_id']"
-                   style="font-size: xx-small;"
-                   tal:content="python: 'Go to ' + cont['pretty_mapper_type']"></a>
-               </span>
-              </span>
-             </td>
-             <td style="min-width: 30px;">
-               
-             </td>
-            </tr>
-           </table>
-          </th>
-         </tr>
-         <tr class="props-form-body">
-          <td>
-           <span tal:attributes="id content_span_id">
-            <span tal:define="cont python:conts[0]"
-                  tal:attributes="class string:visible;
-                                  id cont/id">
-             <div metal:use-macro="here/form-macros/macros/display-content"/>
-            </span>
-            <span tal:omit-tag=""
-                  tal:repeat="cont python:conts[1:]">
-             <span tal:attributes="class string:invisible;
-                                   id cont/id">
-              <div metal:use-macro="here/form-macros/macros/display-content"/>
-             </span>
-            </span>
-           </span>
-          </td>
-         </tr>
-         <tr class="props-form-footer">
-          <td>
-            
-          </td>
-         </tr>
-        </table>
-       </td>
-      </tr>
-      <tr class="props-form-footer">
-       <td colspan="2">
-        <table style="width: 100%;">
-        <tr>
-        <td align="left"
-             tal:define="actions bd_data/actions">
-         <span tal:omit-tag=""
-               tal:repeat="action actions">
-          <span tal:omit-tag=""
-                tal:define="act_name action/name;
-                            act_msg action/msg;
-                            act_link action/link">
-           <span tal:condition="act_link">
-            <input tal:define="act_link python:act_link + '&storagename=' + storagename;
-                               funct python:'window.location.assign(\'' + act_link + '\')'"
-                   tal:attributes="type string:button;
-                                   name string:action_type;
-                                   value act_name;
-                                   onclick funct"
-                   class="form_button"/>
-           </span>
-           <span tal:condition="not: act_link">
-            <input tal:condition="act_msg"
-                   tal:attributes="type string:submit;
-                                   name string:action_type;
-                                   value act_name;
-                                   onclick python:'return confirm(\'' + act_msg + '\')'"
-                   class="form_button"/>
-            <input tal:condition="not: act_msg"
-                   tal:attributes="type string:submit;
-                                   name string:action_type;
-                                   value act_name"
-                   class="form_button"/>
-           </span>
-          </span>
-         </span>
-        </td>
-        <td align="right"
-            tal:define="validate_url context/validate_html/absolute_url">
-         <span tal:omit-tag=""
-               tal:condition="not: bd_data/need_apply_button">
-           
-         </span>
-         <span tal:omit-tag=""
-               tal:condition="bd_data/need_apply_button">
-          <input tal:attributes="type string:button;
-                                 name string:action_type;
-                                 value string:Reset;
-                                 onclick python:'return reset_bd_form(this.form, \'' + select_content_id + '\', \'' + content_span_id + '\')'"
-                 class="form_button"/>
-          <input tal:condition="bd_data/new"
-                 tal:define="prompt_msg python:'Do you really want to create ' + bd_data['pretty_type'] + '?'"
-                 tal:attributes="id apply_button_id;
-                                 type string:button;
-                                 name string:action_type;
-                                 value string:Create;
-                                 onclick python:'return validate_and_submit_form(\'' + validate_url + '\', \'' + bd_form_id + '\', \'' + apply_button_id + '\', \'' + prompt_msg + '\')'"
-                 class="form_button"/>
-          <input tal:condition="not: bd_data/new"
-                 tal:define="prompt_msg python:'Do you really want to apply changes to ' + bd_data['pretty_type'] + ' \\\'' + bd_data['pretty_name'] + '\\\'?'"
-                 tal:attributes="id apply_button_id;
-                                 type string:button;
-                                 name string:action_type;
-                                 value string:Apply;
-                                 onclick python:'return validate_and_submit_form(\'' + validate_url + '\', \'' + bd_form_id + '\', \'' + apply_button_id + '\', \'' + prompt_msg + '\')'"
-                 class="form_button"/>
-         </span>
-        </td>
-        </tr>
-        </table>
-       </td>
-      </tr>
-     </table>
-    </form>
-   </span>
+	<tal:block tal:define="mapper string:;
+		conts python:bd_data['contents'];
+		prefix prefix|bd_data/path;
+		prefix python:prefix + '_';
+		bd_form_id python:prefix + 'bd_form';
+		select_content_id python:prefix + 'select_content_id';
+		apply_button_id python:prefix + 'apply_button_id';
+		form_submit_button_id apply_button_id;
+		content_span_id python:prefix + 'content_span_id'">
+
+	<form method="get" tal:attributes="id bd_form_id">
+		<input type="hidden" name="pagetype" value="commit_changes" />
+		<input tal:condition="not: bd_data/new"
+			type="hidden" name="object_type" value="bd" />
+
+		<input tal:condition="bd_data/new"
+			type="hidden" name="object_type" value="bd_template" />
+
+		<input type="hidden" name="mapper_id"
+			tal:attributes=" value bd_data/mapper_id" />
+
+		<input type="hidden" name="mapper_type"
+			tal:attributes="value bd_data/mapper_type" />
+
+		<input type="hidden" name="bd_path"
+			tal:attributes="value bd_data/path" />
+
+		<input type="hidden" name="storagename"
+			tal:attributes="value storagename" />
+
+		<table class="props-form-table">
+			<tr class="props-form-header">
+				<th colspan="2"
+					tal:attributes="style python:here.add_commas('font-size: large', 'color: ' + bd_data['color'])">
+					<table>
+						<tr>
+							<td style="min-width: 30px;">
+								<img tal:condition="bd_data/icon"
+									tal:attributes="src bd_data/icon"
+									height="29px"
+									width="29px" />
+							</td>
+							<td style="width: 100%;">
+								<tal:block tal:condition="not: bd_data/new">
+									<span tal:replace="bd_data/pretty_type" /> '<span tal:replace="bd_data/pretty_name" />' - <span tal:replace="bd_data/path" />
+									<tal:block tal:condition="displaying_source|nothing">
+										<br/>
+										<a tal:define="
+												tmp_URL context/storage/index_html/absolute_url;
+												URL python:tmp_URL + '?storagename=' + storagename + '&pagetype=62'"
+											tal:attributes="
+												href python:URL + '&mapper_type=' + bd_data['mapper_type'] + '&mapper_id=' + bd_data['mapper_id'] + '&bd_path=' + bd_data['path']"
+												style="font-size: xx-small;"
+											tal:content="
+												python: 'Go to ' + bd_data['pretty_mapper_type'] + ' view'">
+										</a>
+									</tal:block>
+								</tal:block>
+
+								<tal:block tal:condition="bd_data/new">
+									<tal:block tal:condition="bd_data/pretty_name">
+										<span tal:replace="bd_data/pretty_name" />
+										-
+										Creating <span tal:replace="bd_data/pretty_type" />
+									</tal:block>
+								</tal:block>
+							</td>
+							<td style="min-width: 30px;"> </td>
+						</tr>
+					</table>
+				</th>
+			</tr>
+			<tr class="props-form-body">
+				<td>
+					<tal:block tal:define="props bd_data/props_ordered">
+						<table class="props-inner-table">
+							<div metal:use-macro="here/form-macros/macros/display-props-tableless" />
+						</table>
+					</tal:block>
+				</td>
+				<td style="height: 100%;">
+					<tal:block tal:condition="not: conts">
+						 
+					</tal:block>
+				
+					<table tal:condition="conts"
+						class="props-form-table" style="height: 100%;">
+
+						<tr class="props-form-header">
+							<th tal:attributes="
+									style python:'color: ' + conts[0]['color']">
+								<table style="width: 100%;">
+									<tr>
+										<th style="min-width: 30px;">
+											<img
+												tal:condition="
+													python:conts[0]['icon']"
+												tal:attributes="
+													src python:conts[0]['icon']"
+												height="29px"
+												width="29px" />
+										</th>
+										<td style="width: 100%;">
+											Content<span tal:condition="python:len(conts) == 1" tal:replace="string::" />
+
+											<select name="content_id"
+												tal:define="funct python:'change_content(\'' + select_content_id + '\', \'' + content_span_id + '\')'"
+												tal:condition="python:len(conts) > 1"
+												tal:attributes="
+													id select_content_id;
+													onchange funct">
+												<option tal:repeat="cont conts"
+													tal:attributes="
+														value cont/id"
+													tal:content="cont/name" />
+											</select>
+
+											<span tal:define="cont python:conts[0]" tal:condition="python:len(conts) == 1">
+												<input type="hidden"
+													name="content_id"
+													tal:attributes="
+														id select_content_id;
+														value cont/id" />
+												<span tal:replace="cont/name" />
+											</span>
+											<tal:block tal:define="cont python:conts[0]" tal:condition="not: displaying_source|nothing">
+												<span tal:condition="cont/is_source">
+													<br/>
+													<a tal:define="
+															tmp_URL context/storage/index_html/absolute_url;
+															URL python:tmp_URL + '?storagename=' + storagename + '&pagetype=52'"
+														tal:attributes="
+															href python:URL + '&mapper_type=' + cont['mapper_type'] + '&mapper_id=' + cont['mapper_id']"
+														style="font-size: xx-small;"
+														tal:content="python: 'Go to ' + cont['pretty_mapper_type']" />
+												</span>
+											</tal:block>
+										</td>
+										<td style="min-width: 30px;">
+											 
+										</td>
+									</tr>
+								</table>
+							</th>
+						</tr>
+						<tr class="props-form-body">
+							<td>
+								<span tal:attributes="id content_span_id">
+									<span class="visible"
+										tal:define="cont python:conts[0]"
+										tal:attributes="id cont/id">
+										<div metal:use-macro="here/form-macros/macros/display-content" />
+									</span>
+									<tal:block tal:repeat="cont python:conts[1:]">
+										<span class="invisible"
+											tal:attributes="id cont/id">
+											<div metal:use-macro="here/form-macros/macros/display-content" />
+										</span>
+									</tal:block>
+								</span>
+							</td>
+						</tr>
+						<tr class="props-form-footer">
+							<td>
+								 
+							</td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+			<tr class="props-form-footer">
+				<td colspan="2">
+					<table style="width: 100%;">
+						<tr>
+							<td align="left" tal:define="actions bd_data/actions">
+								<tal:block tal:repeat="action actions">
+									<tal:block
+										tal:define="
+											act_name action/name;
+											act_msg action/msg;
+											act_link action/link">
+										<span tal:condition="act_link">
+											<input class="form_button"
+												type="button" name="action_type"
+												tal:define="
+														act_link python:act_link + '&storagename=' + storagename;
+														funct python:'window.location.assign(\'' + act_link + '\')'"
+												tal:attributes="
+													value act_name;
+													onclick funct" />
+
+										</span>
+										<span tal:condition="not: act_link">
+											<input tal:condition="act_msg"
+												type="submit" name="action_type"
+												class="form_button"
+												tal:attributes="
+													value act_name;
+													onclick python:'return confirm(\'' + act_msg + '\')'" />
+											<input tal:condition="not: act_msg"
+												type="submit" name="action_type"
+												class="form_button"
+												tal:attributes="value act_name" />
+										</span>
+									</tal:block>
+								</tal:block>
+							</td>
+							<td align="right"
+								tal:define="validate_url context/validate_html/absolute_url">
+								<tal:block tal:condition="not: bd_data/need_apply_button">
+									 
+								</tal:block>
+								<tal:block tal:condition="bd_data/need_apply_button">
+									<input type="button" name="action_type"
+										value="Reset" class="form_button"
+										tal:attributes="
+											onclick python:'return reset_bd_form(this.form, \'' + select_content_id + '\', \'' + content_span_id + '\')'" />
+
+									<input tal:condition="bd_data/new"
+										type="button" name="action_type"
+										value="Create" class="form_button"
+										tal:define="prompt_msg python:'Do you really want to create ' + bd_data['pretty_type'] + '?'"
+										tal:attributes="
+											id apply_button_id;
+											onclick python:'return validate_and_submit_form(\'' + validate_url + '\', \'' + bd_form_id + '\', \'' + apply_button_id + '\', \'' + prompt_msg + '\')'" />
+
+									<input tal:condition="not: bd_data/new"
+										type="button" name="action_type"
+										value="Apply" class="form_button"
+										tal:define="prompt_msg python:'Do you really want to apply changes to ' + bd_data['pretty_type'] + ' \\\'' + bd_data['pretty_name'] + '\\\'?'"
+										tal:attributes="
+											id apply_button_id;
+											onclick python:'return validate_and_submit_form(\'' + validate_url + '\', \'' + bd_form_id + '\', \'' + apply_button_id + '\', \'' + prompt_msg + '\')'" />
+								</tal:block>
+							</td>
+						</tr>
+					</table>
+				</td>
+			</tr>
+		</table>
+	</form>
+	</tal:block>
 </div>
 
 <div metal:define-macro="display-mapper">
 	<div metal:use-macro="here/form-macros/macros/forms-css" />
 
-   <form tal:define="prefix prefix|mapper/mapper_id;
-                     prefix python:prefix + '_';
-                     mapper_form_id python:prefix + 'mapper_form_id';
-                     apply_button_id python:prefix + 'apply_button_id';
-                     form_submit_button_id apply_button_id"
-         tal:attributes="id mapper_form_id;
-                         method string:get">
-
-    <input tal:attributes="type string:hidden;
-                           name string:pagetype;
-                           value string:commit_changes"/>
-
-    <input tal:attributes="type string:hidden;
-                           name string:object_type;
-                           value string:mapper"/>
-
-    <input tal:attributes="type string:hidden;
-                           name string:mapper_id;
-                           value mapper/mapper_id"/>
-
-    <input tal:attributes="type string:hidden;
-                           name string:mapper_type;
-                           value mapper/mapper_type"/>
-
-    <input tal:attributes="type string:hidden;
-                           name string:storagename;
-                           value storagename"/>
-
-    <table class="props-form-table">
-     <tr class="props-form-header">
-      <th colspan="2"
-          tal:attributes="style python:here.add_commas('font-size: large', 'color: ' + mapper['color'])">
-       <table>
-        <tr>
-         <td style="min-width: 30px;">
-          <img tal:condition="mapper/icon"
-               tal:attributes="src mapper/icon"
-               height="29px"
-               width="29px"/>
-         </td>
-         <td style="width: 100%;">
-          <span tal:replace="mapper/pretty_type"/> '<span tal:replace="mapper/pretty_name"/>'
-         </td>
-         <td style="min-width: 30px;">
-           
-         </td>
-        </tr>
-       </table>
-      </th>
-     </tr>
-     <tr class="props-form-body">
-      <td>
-       <table class="props-inner-table"
-              tal:define="props mapper/props_ordered">
-        <div metal:use-macro="here/form-macros/macros/display-props-tableless"/>
-       </table>
-      </td>
-      <td style="height: 100%;">
-        
-      </td>
-     </tr>
-     <tr class="props-form-footer">
-      <td colspan="2">
-       <table style="width: 100%;">
-        <tr>
-         <td align="left">
-          <span tal:omit-tag=""
-                tal:define="actions mapper/actions"
-                tal:repeat="action actions">
-           <span tal:define="act_name action/name;
-                             act_msg action/msg;
-                             act_link action/link"
-                 align="left">
-            <span tal:condition="act_link">
-             <input tal:define="act_link python:act_link + '&storagename=' + storagename;
-                                funct python:'window.location.assign(\'' + act_link + '\')'"
-                    tal:attributes="type string:button;
-                                    name string:action_type;
-                                    value act_name;
-                                    onclick funct"
-                    class="form_button"/>
-            </span>
-            <span tal:condition="not: act_link">
-             <input tal:condition="act_msg"
-                    tal:attributes="type string:submit;
-                                    name string:action_type;
-                                    value act_name;
-                                    onclick python:'return confirm(\'' + act_msg + '\')'"
-                    class="form_button"/>
-             <input tal:condition="not: act_msg"
-                    tal:attributes="type string:submit;
-                                    name string:action_type;
-                                    value act_name"
-                    class="form_button"/>
-            </span>
-           </span>
-          </span>
-         </td>
-         <td align="right">
-          <span tal:omit-tag=""
-                tal:condition="not: mapper/need_apply_button">
-            
-          </span>
-          <span tal:omit-tag=""
-                tal:condition="mapper/need_apply_button">
-           <input type="button"
-                  name="action_type"
-                  value="Reset"
-                  onclick="return reset_form(this.form)"
-                  class="form_button"/>
-
-           <input tal:define="
-					prompt_msg python:'Do you really want to apply changes to ' + mapper['pretty_type'] + ' \\\'' + mapper['pretty_name'] + '\\\'?';
-					validate_url context/validate_html/absolute_url"
-                  tal:attributes="id apply_button_id;
-                                  type string:button;
-                                  name string:action_type;
-                                  value string:Apply;
-                                  onclick python:'return validate_and_submit_form(\'' + validate_url + '\', \'' + mapper_form_id + '\', \'' + apply_button_id + '\', \'' + prompt_msg + '\')'"
-                  class="form_button"/>
-          </span>
-         </td>
-        </tr>
-       </table>
-      </td>
-     </tr>
-    </table>
-   </form>
+	<form method="get"
+		tal:define="
+			prefix prefix|mapper/mapper_id;
+			prefix python:prefix + '_';
+			mapper_form_id python:prefix + 'mapper_form_id';
+			apply_button_id python:prefix + 'apply_button_id';
+			form_submit_button_id apply_button_id"
+		tal:attributes="id mapper_form_id">
+
+		<input type="hidden" name="pagetype" value="commit_changes" />
+		<input type="hidden" name="object_type" value="mapper" />
+
+		<input type="hidden" name="mapper_id"
+			tal:attributes="value mapper/mapper_id" />
+
+		<input type="hidden" name="mapper_type"
+			tal:attributes="value mapper/mapper_type" />
+
+		<input type="hidden" name="storagename"
+			tal:attributes="value storagename" />
+
+	<table class="props-form-table">
+		<tr class="props-form-header">
+			<th colspan="2" tal:attributes="style python:here.add_commas('font-size: large', 'color: ' + mapper['color'])">
+				<table>
+					<tr>
+						<td style="min-width: 30px;">
+							<img tal:condition="mapper/icon"
+								tal:attributes="src mapper/icon"
+								height="29px"
+								width="29px" />
+						</td>
+						<td style="width: 100%;">
+							<span tal:replace="mapper/pretty_type" /> '<span tal:replace="mapper/pretty_name" />'
+						</td>
+						<td style="min-width: 30px;">
+							 
+						</td>
+					</tr>
+				</table>
+			</th>
+		</tr>
+		<tr class="props-form-body">
+			<td>
+				<table class="props-inner-table"
+					tal:define="props mapper/props_ordered">
+					<div metal:use-macro="here/form-macros/macros/display-props-tableless" />
+				</table>
+			</td>
+			<td style="height: 100%;">
+				 
+			</td>
+		</tr>
+		<tr class="props-form-footer">
+			<td colspan="2">
+				<table style="width: 100%;">
+					<tr>
+						<td align="left">
+							<tal:block tal:define="actions mapper/actions"
+								tal:repeat="action actions">
+								<span align="left"
+									tal:define="
+										act_name action/name;
+										act_msg action/msg;
+										act_link action/link">
+									<span tal:condition="act_link">
+										<input type="button" name="action_type"
+											tal:define="
+												act_link python:act_link + '&storagename=' + storagename;
+												funct python:'window.location.assign(\'' + act_link + '\')'"
+											tal:attributes="
+												value act_name;
+												onclick funct"
+											class="form_button" />
+									</span>
+									<span tal:condition="not: act_link">
+										<input tal:condition="act_msg"
+											type="submit" name="action_type"
+											tal:attributes="
+												value act_name;
+												onclick python:'return confirm(\'' + act_msg + '\')'"
+											class="form_button" />
+										<input tal:condition="not: act_msg"
+											type="submit" name="action_type"
+											class="form_button"
+											tal:attributes="value act_name" />
+									</span>
+								</span>
+							</tal:block>
+						</td>
+						<td align="right">
+							<tal:block tal:condition="not: mapper/need_apply_button">
+								 
+							</tal:block>
+							<tal:block tal:condition="mapper/need_apply_button">
+								<input type="button" name="action_type"
+									value="Reset"
+									onclick="return reset_form(this.form)"
+									class="form_button" />
+
+								<input type="button" name="action_type"
+									value="Apply" class="form_button"
+									tal:define="
+										prompt_msg python:'Do you really want to apply changes to ' + mapper['pretty_type'] + ' \\\'' + mapper['pretty_name'] + '\\\'?';
+										validate_url context/validate_html/absolute_url"
+									tal:attributes="
+										id apply_button_id;
+										onclick python:'return validate_and_submit_form(\'' + validate_url + '\', \'' + mapper_form_id + '\', \'' + apply_button_id + '\', \'' + prompt_msg + '\')'" />
+							</tal:block>
+						</td>
+					</tr>
+				</table>
+			</td>
+		</tr>
+	</table>
+	</form>
 </div>
 
 </body>
--- conga/luci/storage/mappings_provider	2007/09/25 18:55:13	1.8
+++ conga/luci/storage/mappings_provider	2007/09/26 14:10:48	1.9
@@ -44,134 +44,134 @@
 	</style>
 </head>
 
-<span tal:omit-tag=""
-      tal:define="default_sel request/selected_path|nothing;
-                  global default_selection_c python:''"
-      tal:condition="default_sel">
- <span tal:omit-tag=""
-       tal:define="global default_selection_c python:'select_subcyl(\'' + default_sel + '\', ' + mapp_info['js'] + ')'"/>
-</span>
-
-<body tal:define="onload_c python:'properties_span_id = \'' + mapper['mapper_id'] + '_properties_span_id\'';
-                  onload_c python:here.add_commas(onload_c, 'current_selection = \'' + mapp_info['mapper']['mapper_id'] + '\'');
-                  onload_c python:here.add_commas(onload_c, 'display_props(' + mapp_info['js'] + ')');
-                  onload_c python:here.add_commas(onload_c, default_selection_c)"
-      tal:attributes="onload onload_c">
-
-
-
-
+<tal:block tal:condition="default_sel"
+	tal:define="
+		default_sel request/selected_path|nothing;
+		global default_selection_c python:''">
+
+	<tal:block tal:define="global default_selection_c python:'select_subcyl(\'' + default_sel + '\', ' + mapp_info['js'] + ')'" />
+</tal:block>
+
+<body
+	tal:define="
+		onload_c python:'properties_span_id = \'' + mapper['mapper_id'] + '_properties_span_id\'';
+		onload_c python:here.add_commas(onload_c, 'current_selection = \'' + mapp_info['mapper']['mapper_id'] + '\'');
+		onload_c python:here.add_commas(onload_c, 'display_props(' + mapp_info['js'] + ')');
+		onload_c python:here.add_commas(onload_c, default_selection_c)"
+	tal:attributes="onload onload_c">
 
 <div>
 
-
-
-
-
-
-
-   <!-- upper cylinder -->
-   <div tal:define="cyl mapp_info/upper_cyl;
-                    X_offset python:X_offset + cyl['offset']"
-        tal:condition="cyl/cyls"
-        tal:attributes="style python:here.add_commas('position:absolute', here.add_commas('left: ' + str(X_offset), 'top: ' + str(Y_offset)))">
-
-    <!-- description -->
-    <div tal:define="style_1 python:here.add_commas('left: -1em', 'top: -1.5ex');
-                     style_2 python:here.add_commas(style_1, 'position: absolute');
-                     style_3 python:here.add_commas(style_2, 'width: ' + str(cyl_width))"
-         tal:attributes="style style_3">
-     <div tal:define="style_1 python:here.add_commas('font-size: xx-small', 'text-align: left');
-                      style_2 python:here.add_commas(style_1, 'white-space: nowrap');
-                      style_3 python:here.add_commas(style_2, 'color: ' + cyl['color_css'])"
-          tal:attributes="style style_3">
-      <span tal:replace="cyl/description"/>:
-     </div>
-    </div>
-
-    <div tal:define="one_temp_assignment python:here.add_commas('position:absolute', here.add_commas('left: ' + str(curve_width), 'top: 0'))"
-         tal:attributes="onmousedown python:'cyl_click(event.clientX-' + str(curve_width) + '-' + str(X_offset) + ', event.clientY-' + str(Y_offset) + ', ' + cyl['js'] + ', ' + mapp_info['js'] + ')';
-                         onmousemove python:'cyl_over(document.getElementById(\'upper_msg_board\'), event.clientX-' + str(curve_width) + '-' + str(X_offset) + ', event.clientY-' + str(Y_offset) + ', ' + cyl['js'] + ', ' + mapp_info['js'] + ')';
-                         onmouseout python:'document.getElementById(\'upper_msg_board\').style.visibility = \'hidden\'';
-                         style python:here.add_commas('cursor: pointer', one_temp_assignment);
-                         id string:upper_cylinder">
-
-     <!-- base -->
-     <div metal:use-macro="here/mappings_macros/macros/draw-base-cyl"/>
-
-     <!-- highlights -->
-     <span tal:omit-tag=""
-           tal:define="highs cyl/highs">
-      <div metal:use-macro="here/mappings_macros/macros/draw-highlights"/>
-     </span>
-
-     <div id="upper_msg_board"
-          style="position: absolute; border: 2px solid black; padding: 2px; background-color: lightyellow; visibility: hidden; z-index: 100; white-space: nowrap; font-size: small;">
-     </div>
-
-    </div>
-   </div>
-
-
-   <!-- lower cylinder -->
-   <div tal:define="cyl mapp_info/lower_cyl;
-                    lower_Y_offset python:Y_offset + 80;
-                    X_offset python:X_offset + cyl['offset']"
-        tal:condition="cyl/cyls"
-        tal:attributes="style python:here.add_commas('position:absolute', here.add_commas('left: ' + str(X_offset), 'top: ' + str(lower_Y_offset)))">
-
-    <!-- description -->
-    <div tal:define="style_1 python:here.add_commas('left: -1em', 'top: -1.5ex');
-                     style_2 python:here.add_commas(style_1, 'position: absolute');
-                     style_3 python:here.add_commas(style_2, 'width: ' + str(cyl_width))"
-         tal:attributes="style style_3">
-     <div tal:define="style_1 python:here.add_commas('font-size: xx-small', 'text-align: left');
-                      style_2 python:here.add_commas(style_1, 'white-space: nowrap');
-                      style_3 python:here.add_commas(style_2, 'color: ' + cyl['color_css'])"
-          tal:attributes="style style_3">
-      <span tal:replace="cyl/description"/>:
-     </div>
-    </div>
-
-    <div tal:define="one_temp_assignment python:here.add_commas('position:absolute', here.add_commas('left: ' + str(curve_width), 'top: 0'))"
-         tal:attributes="onmousedown python:'cyl_click(event.clientX-' + str(curve_width) + '-' + str(X_offset) + ', event.clientY-' + str(lower_Y_offset) + ', ' + cyl['js'] + ', ' + mapp_info['js'] + ')';
-                         onmousemove python:'cyl_over(document.getElementById(\'lower_msg_board\'), event.clientX-' + str(curve_width) + '-' + str(X_offset) + ', event.clientY-' + str(lower_Y_offset) + ', ' + cyl['js'] + ', ' + mapp_info['js'] + ')';
-                         onmouseout python:'document.getElementById(\'lower_msg_board\').style.visibility = \'hidden\'';
-                         style python:here.add_commas('cursor: pointer', one_temp_assignment);
-                         id string:lower_cylinder">
-
-     <!-- base -->
-     <div metal:use-macro="here/mappings_macros/macros/draw-base-cyl"/>
-
-     <!-- highlights -->
-     <span tal:omit-tag="" tal:define="highs cyl/highs">
-      <div metal:use-macro="here/mappings_macros/macros/draw-highlights"/>
-     </span>
-
-     <div id="lower_msg_board"
-          style="position: absolute; border: 2px solid black; padding: 2px; background-color: lightyellow; visibility: hidden; z-index: 100; white-space: nowrap; font-size: small;">
-     </div>
-
-    </div>
-   </div>
-
-
-   <!-- select me message -->
-   <div tal:define="cyl mapp_info/lower_cyl;
-                    Y_offset python:Y_offset + 80 + 40 + 10;
-                    X_offset python:X_offset;
-                    style_1 python:here.add_commas('left: ' + str(X_offset), 'top: ' + str(Y_offset));
-                    style_2 python:here.add_commas('position: absolute', style_1);
-                    style_3 python:here.add_commas(style_2, 'width: ' + str(cyl_width))"
-        tal:attributes="style style_3">
-    <div style="font-size: x-small; text-align: center;">
-     Click cylinders to view properties, unselect all to view <span tal:replace="mapper/pretty_type"/>'s properties
-    </div>
-   </div>
-
-
+	<!-- upper cylinder -->
+	<div tal:condition="cyl/cyls"
+		tal:define="
+			cyl mapp_info/upper_cyl;
+			X_offset python:X_offset + cyl['offset']"
+		tal:attributes="
+			style python:here.add_commas('position:absolute', here.add_commas('left: ' + str(X_offset), 'top: ' + str(Y_offset)))">
+
+		<!-- description -->
+		<div
+			tal:define="
+				style_1 python:here.add_commas('left: -1em', 'top: -1.5ex');
+				style_2 python:here.add_commas(style_1, 'position: absolute');
+				style_3 python:here.add_commas(style_2, 'width: ' + str(cyl_width))"
+			tal:attributes="style style_3">
+				<div
+					tal:define="
+						style_1 python:here.add_commas('font-size: xx-small', 'text-align: left');
+						style_2 python:here.add_commas(style_1, 'white-space: nowrap');
+						style_3 python:here.add_commas(style_2, 'color: ' + cyl['color_css'])"
+					tal:attributes="style style_3">
+					<span tal:replace="cyl/description" />:
+				</div>
+		</div>
+
+		<div tal:define="one_temp_assignment python:here.add_commas('position:absolute', here.add_commas('left: ' + str(curve_width), 'top: 0'))"
+			tal:attributes="
+				onmousedown python:'cyl_click(event.clientX-' + str(curve_width) + '-' + str(X_offset) + ', event.clientY-' + str(Y_offset) + ', ' + cyl['js'] + ', ' + mapp_info['js'] + ')';
+				onmousemove python:'cyl_over(document.getElementById(\'upper_msg_board\'), event.clientX-' + str(curve_width) + '-' + str(X_offset) + ', event.clientY-' + str(Y_offset) + ', ' + cyl['js'] + ', ' + mapp_info['js'] + ')';
+				onmouseout python:'document.getElementById(\'upper_msg_board\').style.visibility = \'hidden\'';
+				style python:here.add_commas('cursor: pointer', one_temp_assignment);
+				id string:upper_cylinder">
+
+			<!-- base -->
+			<div metal:use-macro="here/mappings_macros/macros/draw-base-cyl" />
+
+			<!-- highlights -->
+			<tal:block tal:define="highs cyl/highs">
+				<div metal:use-macro="here/mappings_macros/macros/draw-highlights" />
+			</tal:block>
+
+			<div id="upper_msg_board" style="position: absolute; border: 2px solid black; padding: 2px; background-color: lightyellow; visibility: hidden; z-index: 100; white-space: nowrap; font-size: small;">
+			</div>
+		</div>
+	</div>
+
+	<!-- lower cylinder -->
+	<div tal:condition="cyl/cyls"
+		tal:define="
+			cyl mapp_info/lower_cyl;
+			lower_Y_offset python:Y_offset + 80;
+			X_offset python:X_offset + cyl['offset']"
+		tal:attributes="style python:here.add_commas('position:absolute', here.add_commas('left: ' + str(X_offset), 'top: ' + str(lower_Y_offset)))">
+
+		<!-- description -->
+		<div
+			tal:define="
+				style_1 python:here.add_commas('left: -1em', 'top: -1.5ex');
+				style_2 python:here.add_commas(style_1, 'position: absolute');
+				style_3 python:here.add_commas(style_2, 'width: ' + str(cyl_width))"
+			tal:attributes="style style_3">
+			<div
+				tal:define="
+					style_1 python:here.add_commas('font-size: xx-small', 'text-align: left');
+					style_2 python:here.add_commas(style_1, 'white-space: nowrap');
+					style_3 python:here.add_commas(style_2, 'color: ' + cyl['color_css'])"
+				tal:attributes="style style_3">
+				<span tal:replace="cyl/description" />:
+			</div>
+		</div>
+
+		<div
+			tal:define="one_temp_assignment python:here.add_commas('position:absolute', here.add_commas('left: ' + str(curve_width), 'top: 0'))"
+			tal:attributes="
+				onmousedown python:'cyl_click(event.clientX-' + str(curve_width) + '-' + str(X_offset) + ', event.clientY-' + str(lower_Y_offset) + ', ' + cyl['js'] + ', ' + mapp_info['js'] + ')';
+				onmousemove python:'cyl_over(document.getElementById(\'lower_msg_board\'), event.clientX-' + str(curve_width) + '-' + str(X_offset) + ', event.clientY-' + str(lower_Y_offset) + ', ' + cyl['js'] + ', ' + mapp_info['js'] + ')';
+				onmouseout python:'document.getElementById(\'lower_msg_board\').style.visibility = \'hidden\'';
+				style python:here.add_commas('cursor: pointer', one_temp_assignment);
+				id string:lower_cylinder">
+
+			<!-- base -->
+			<div metal:use-macro="here/mappings_macros/macros/draw-base-cyl" />
+
+			<!-- highlights -->
+			<tal:block tal:define="highs cyl/highs">
+				<div metal:use-macro="here/mappings_macros/macros/draw-highlights" />
+			</tal:block>
+
+			<div id="lower_msg_board"
+				style="position: absolute; border: 2px solid black; padding: 2px; background-color: lightyellow; visibility: hidden; z-index: 100; white-space: nowrap; font-size: small;">
+			</div>
+		</div>
+	</div>
+
+
+	<!-- select me message -->
+	<div
+		tal:define="
+			cyl mapp_info/lower_cyl;
+			Y_offset python:Y_offset + 80 + 40 + 10;
+			X_offset python:X_offset;
+			style_1 python:here.add_commas('left: ' + str(X_offset), 'top: ' + str(Y_offset));
+			style_2 python:here.add_commas('position: absolute', style_1);
+			style_3 python:here.add_commas(style_2, 'width: ' + str(cyl_width))"
+		tal:attributes="style style_3">
+		<div style="font-size: x-small; text-align: center;">
+			Click cylinders to view properties, unselect all to view <span tal:replace="mapper/pretty_type"/>'s properties
+		</div>
+	</div>
 </div>
 
-
 </body>
 </html>




More information about the Cluster-devel mailing list