[CMF-checkins] CVS: CMF/CMFDefault/skins/zpt_generic - discussion_reply_form.pt:1.2.28.1 discussion_reply_preview.pt:1.2.28.1 folder_add.pt:1.3.2.1 folder_factories.pt:1.5.2.1 folder_filter_form.pt:1.2.28.1 folder_localrole_form.pt:1.2.28.1 folder_rename_form.pt:1.3.2.1 join_form.pt:1.2.28.1 logged_in.pt:1.3.2.1 login_form.pt:1.2.28.1 mail_password_form.pt:1.2.28.1 password_form.pt:1.2.28.1 personalize_form.pt:1.3.2.1 reconfig_form.pt:1.2.28.1 search_form.pt:1.3.12.1 undo_form.pt:1.3.2.1
Tres Seaver
tseaver@zope.com
Mon, 1 Apr 2002 19:53:30 -0500
Update of /cvs-repository/CMF/CMFDefault/skins/zpt_generic
In directory cvs.zope.org:/tmp/cvs-serv19407/CMFDefault/skins/zpt_generic
Modified Files:
Tag: tseaver-tracker_468-branch
discussion_reply_form.pt discussion_reply_preview.pt
folder_add.pt folder_factories.pt folder_filter_form.pt
folder_localrole_form.pt folder_rename_form.pt join_form.pt
logged_in.pt login_form.pt mail_password_form.pt
password_form.pt personalize_form.pt reconfig_form.pt
search_form.pt undo_form.pt
Log Message:
- Make actions of all forms use absolute URLs (Tracker #468).
- Clean up icky HTML.
=== CMF/CMFDefault/skins/zpt_generic/discussion_reply_form.pt 1.2 => 1.2.28.1 ===
metal:use-macro="here/main_template/macros/master">
<body>
-<div metal:fill-slot="main">
+<div metal:fill-slot="main">
<div tal:define="dummy python:here.portal_discussion.getDiscussionFor(here)">This is evaluated.</div>
-<form method="POST" action=""
- tal:attributes="action python: here.absolute_url() + '/talkback'">
+<form method="POST" action="talkback"
+ tal:attributes="action string:${here/absolute_url}/talkback"
+>
<input type="hidden" name="Creator" value=""
- tal:attributes="value python: here.portal_membership.getAuthenticatedMember()">
+ tal:attributes="value python: here.portal_membership.getAuthenticatedMember()">
<table class="FormLayout">
<tr>
@@ -21,7 +22,7 @@
<td colspan="2">
<b>Reply body</b><br>
<textarea name="text" cols="70" rows="10" wrap="soft" style="width: 100%"
- tal:content="here/text_override | nothing"></textarea>
+ tal:content="here/text_override | nothing"></textarea>
</td>
</tr>
<tr>
=== CMF/CMFDefault/skins/zpt_generic/discussion_reply_preview.pt 1.2 => 1.2.28.1 ===
tal:replace="structure python: pss.structured_text(request.form['text'])">Text Body</div>
-<form method="POST" action=""
+<form method="POST" action="talkback"
tal:attributes="action python: here.absolute_url() + '/talkback'">
<input type="hidden" name="title" value=""
tal:attributes="value python: request.form['title']">
=== CMF/CMFDefault/skins/zpt_generic/folder_add.pt 1.3 => 1.3.2.1 ===
web objects in to logical groups.</P>
-<form action="manage_addPortalFolder" method="POST">
+<form action="manage_addPortalFolder" method="POST"
+ tal:attributes="action string:${here/absolute_url}/manage_addPortalFolder"
+>
<table class="FormLayout">
<tr>
<td>
=== CMF/CMFDefault/skins/zpt_generic/folder_factories.pt 1.5 => 1.5.2.1 ===
<div class="Desktop">
<h1> Add Content </h1>
-<form action="invokeFactory" method="POST">
+<form action="invokeFactory" method="POST"
+ tal:attributes="action string:${here/absolute_url}/invokeFactory"
+>
<table class="FormLayout">
<tr>
<td>
=== CMF/CMFDefault/skins/zpt_generic/folder_filter_form.pt 1.2 => 1.2.28.1 ===
</span>
<form action="" method="POST"
- tal:define="showfilter request/show_filter_form|nothing; hidefilter python:not showfilter; formaction python:here.absolute_url() + '/folder_contents'"
- tal:attributes="action formaction"
- >
+ tal:define="showfilter request/show_filter_form|nothing;
+ hidefilter python:not showfilter;
+ "
+ tal:attributes="action string:${here/absolute_url}/folder_contents"
+>
<table class="FormLayout"
tal:condition="showfilter"
tal:define="Type python:(); Subject python:'';filter python:here.decodeFolderFilter(request.get('folderfilter', ''))">
=== CMF/CMFDefault/skins/zpt_generic/folder_localrole_form.pt 1.2 => 1.2.28.1 ===
<h2>Assign local roles: Search Members</h2>
-<form method="post" action="folder_localrole_form">
+<form method="post" action="folder_localrole_form"
+ tal:attributes="action string:${here/absolute_url}/folder_localrole_form"
+>
<table class="FormLayout">
<tr>
@@ -57,7 +59,9 @@
<p>Select Member(s) and a role to assign:</p>
- <form method="post" action="folder_localrole_edit">
+ <form method="post" action="folder_localrole_edit"
+ tal:attributes="action string:${here/absolute_url}/folder_localrole_edit"
+ >
<input type="hidden" name="change_type" value="add">
<table class="FormLayout">
@@ -132,11 +136,13 @@
<p>These users currently have local roles assigned in this folder:</p>
-<form method="post" action="folder_localrole_edit">
-<input type="hidden" name="change_type" value="delete">
-<input type="hidden" name="member_role" value="">
+<form method="post" action="folder_localrole_edit"
+ tal:attributes="action string:${here/absolute_url}/folder_localrole_edit"
+>
+ <input type="hidden" name="change_type" value="delete">
+ <input type="hidden" name="member_role" value="">
-<table class="FormLayout" tal:define="lroles here/get_local_roles">
+ <table class="FormLayout" tal:define="lroles here/get_local_roles">
<tr>
<td width="16"><br></td>
<th style="text-align:left;">User</th>
=== CMF/CMFDefault/skins/zpt_generic/folder_rename_form.pt 1.3 => 1.3.2.1 ===
<body>
<div metal:fill-slot="main">
+
<div class="Desktop">
+
<h3> Rename Items </h3>
-<table class="FormLayout"
- tal:condition="here/folder_rename_items">
- <form action="folder_rename" method="POST">
+
+<div tal:condition="here/folder_rename_items" >
+
+<form action="folder_rename" method="POST"
+ tal:attributes="action string:${here/absolute_url}/folder_rename"
+>
+
+ <table class="FormLayout">
+
<tr tal:repeat="item here/folder_rename_items">
+
<td align="left" valign="top" width="8%">
<span tal:replace="structure item/iconHTML">Type Image</span>
</td>
+
<td align="left" valign="top" width="20%" nowrap>
<span tal:replace="item/getId">ID</span>
<input type="hidden" name="ids:list" value=""
- tal:attributes="value item/getId">
+ tal:attributes="value item/getId">
</td>
+
<td align="left" valign="top" width="5%">
<strong>to</strong>
</td>
+
<td align="left" valign="top">
<input type="text" name="new_ids:list" value=""
- tal:attributes="value item/getId" size="20">
+ tal:attributes="value item/getId" size="20">
</td>
</tr>
<tr>
- <td colspan=4>
- <input type="submit" value=" Ok ">
- </td>
+ <td colspan="4"> <input type="submit" value=" Ok "> </td>
</tr>
- </form>
-</table>
+ </table>
+</form>
-<div tal:condition="python: not(here.folder_rename_items())">
- <form action="folder_contents" method="GET">
+</div><!-- tal:condition="here/folder_rename_items" -->
+
+<div tal:condition="not: here/folder_rename_items">
+
+<form action="folder_contents" method="GET"
+ tal:attributes="action string:${here/absolute_url}/content_status_modify"
+>
<p>You must select one or more items to rename.</p>
<input type="submit" value=" Ok ">
- </form>
-</div>
-</div>
+</form>
</div>
+
+</div><!-- class="Desktop"-->
+
+</div><!-- metal:fill-slot="main" -->
+
</body>
</html>
-
=== CMF/CMFDefault/skins/zpt_generic/join_form.pt 1.2 => 1.2.28.1 ===
<body>
<div metal:fill-slot="main">
-<div class="Desktop">
+<div class="Desktop"
+ tal:define="mtool here/portal_membership;
+ member mtool/getAuthenticatedMember;
+ ptool here/portal_properties;
+ ">
+>
<h1>Become a member</h1>
-<div tal:define="registered python: here.portal_membership.getAuthenticatedMember().has_role('Member')">
- <div tal:condition="python: here.portal_membership.getAuthenticatedMember().has_role('Member')">
- <p>You are already a member. You may use the <a href="personalize_form">personalization form</a>
- to change your membership information. </p>
- </div>
- <div tal:condition="python: not(registered)">
- <p> Becoming a member gives you the ability to personalize the site and participate in the community.</p>
- <p> It does not cost any money to become a member and your email and other personal information will remain private.</p>
- <span tal:condition="python: here.portal_properties.validate_email">
- <p> You must submit a valid email address. This address will be used to send you your randomly-generated password.
- Once you have logged in with this password, you may change it to anything you like.</p>
- </span>
-<div class="DesktopStatusBar"
- tal:content="request/error|nothing">
+<div tal:define="registered python:member.has_role('Member')">
+
+ <div tal:condition="registered">
+
+ <p> You are already a member. You may use the
+ <a href="personalize_form">personalization form</a>
+ to change your membership information. </p>
+
+ </div><!-- registered -->
+
+ <div tal:condition="not: registered">
+
+ <p> Becoming a member gives you the ability to personalize the site
+ and participate in the community.</p>
+
+ <p> It does not cost any money to become a member and your email and
+ other personal information will remain private.</p>
+
+ <p tal:condition="python: ptool.validate_email">
+ You must submit a valid email address. This address will be used
+ to send you a randomly-generated password. Once you have logged
+ in with this password, you may change it to anything you like.</p>
+
+ <div class="DesktopStatusBar"
+ tal:content="request/error|nothing">
<hr>
-</div>
-<form action="register" method="POST">
+ </div>
+
+ <form action="register" method="POST"
+ tal:attributes="action string:${here/portal_url}/register"
+ >
+
+ <input type="hidden" name="last_visit:date" value=""
+ tal:attributes="value here/ZopeTime">
+ <input type="hidden" name="prev_visit:date" value=""
+ tal:attributes="value here/ZopeTime">
+
+ <table class="FormLayout">
+
+ <tr>
+ <th> Login Name </th>
+ <td>
+ <input type="text" name="username" size="30" value=""
+ tal:attributes="value request/username|nothing">
+ </td>
+ </tr>
+
+ <tr>
+ <th> Email Address </th>
+ <td align="left" valign="top">
+ <input type="text" name="email" size="30" value=""
+ tal:attributes="value request/email|nothing">
+ </td>
+ </tr>
+
+ <tbody tal:condition="python: not(ptool.validate_email)">
+
+ <tr>
+ <th> Password </th>
+ <td align="left" valign="top">
+ <input type="password" name="password" size="30">
+ </td>
+ </tr>
+
+ <tr>
+ <th> Password (confirm) </th>
+ <td align="left" valign="top">
+ <input type="password" name="confirm" size="30">
+ </td>
+ </tr>
+
+ <tr>
+ <th> Mail Password? </th>
+ <td>
+ <input type="checkbox" name="mail_me" size="30" id="cb_mailme" />
+ <em><label for="cb_mailme">Check this box to have your password
+ mailed to you.</label></em>
+ </td>
+ </tr>
+ </tbody>
+
+ <tr>
+ <td><br></td>
+ <td> <input type="submit" name="submit" value="Register"> </td>
+ </tr>
+
+ </table>
+
+ </form>
+
+ </div><!-- not registered -->
-<input type="hidden" name="last_visit:date" value=""
- tal:attributes="value here/ZopeTime">
-<input type="hidden" name="prev_visit:date" value=""
- tal:attributes="value here/ZopeTime">
-
-<table class="FormLayout">
- <tr>
- <th> Login Name
- </th>
- <td>
- <input type="text"
- name="username" size="30"
- value=""
- tal:attributes="value request/username|nothing">
- </td>
- </tr>
- <tr>
- <th> Email Address
- </th>
- <td align="left" valign="top">
- <input type="text" name="email" size="30"
- value=""
- tal:attributes="value request/email|nothing">
- </td>
- </tr>
-
-<div tal:condition="python: not(here.portal_properties.validate_email)">
- <tr>
- <th> Password
- </th>
- <td align="left" valign="top">
- <input type="password" name="password" size="30">
- </td>
- </tr>
- <tr>
- <th> Password (confirm)
- </th>
- <td align="left" valign="top">
- <input type="password" name="confirm" size="30">
- </td>
- </tr>
- <tr>
- <th> Mail Password?
- </th>
- <td>
- <input type="checkbox" name="mail_me" size="30" id="cb_mailme" />
- <em><label for="cb_mailme">Check this box to have your password
- mailed to you.</label></em>
- </td>
- </tr>
-</div>
-
- <tr>
- <td><br></td>
- <td>
- <input type="submit" name="submit" value="Register">
- </td>
- </tr>
-</table>
-</form>
-
-</div>
-</div>
-</div>
-</div>
+</div><!-- tal:define="registered" -->
+
+</div><!-- class="Desktop" -->
+
+</div><!-- metal:fill-slot="main" -->
</body>
</html>
-
=== CMF/CMFDefault/skins/zpt_generic/logged_in.pt 1.3 => 1.3.2.1 ===
metal:use-macro="here/main_template/macros/master">
<body>
+
<div metal:fill-slot="main">
- <div tal:define="p_props here/portal_properties">
- <div tal:condition="here/portal_membership/isAnonymousUser | nothing">
- <span tal:define="dummy python: request['RESPONSE'].expireCookie('__ac', path='/')"></span>
- <h1 class="DesktopTitle">Login failure</h1>
- <p class="Desktop">You are not currently logged in. Your username and or password may be incorrect.
- Your browser may also not be configured to accept HTTP cookies. If you need help please contact
- <a href="mailto:admin@here.com" title="Email Admin"
- tal:attributes="href string:mailto:${p_props/email_from_address}"
- tal:content="p_props/email_from_address">Email Admin</a>.
- </p>
- </div>
- <div tal:condition="python: not(here.portal_membership.isAnonymousUser())"
- tal:define="member python: here.portal_membership.getAuthenticatedMember()">
- <div tal:condition="python: member.login_time == here.ZopeTime('2000/01/01') and p_props.validate_email">
- <div tal:define="dum_reg python: member.setProperties(last_login_time=here.ZopeTime(),login_time=here.ZopeTime())" />
- <h1 class="DesktopTitle">Welcome!</h1>
- <p class="Desktop">This is the first time that you've logged in to <span replace="p_props/title">Here</span>.
- Before you start exploring you need to change your original password.
- This will ensure that the password we sent you via email cannot be used in a malicious manner.</p>
- <p class="Desktop">Please use the form below to change your password.</p>
- <form action="change_password" method="post">
- <input type="hidden" name="user" value=""
- tal:attributes="value member">
- <input type="hidden" name="domains:tokens" value="">
- <input type="hidden" name="redirect" value=""
- tal:attributes="value p_props/portal_url">
- <table>
- <tr valign="top" align="left">
- <th>Username</th>
- <td><span tal:replace="member">You</span></td>
- </tr>
- <tr valign="top" align="left">
- <th>New password</th>
- <td><input type="password" name="password"></td>
- </tr>
- <tr valign="top" align="left">
- <th>Confirm new password</th>
- <td><input type="password" name="confirm"></td>
- </tr>
- <tr>
- <td></td>
- <td><input type="submit" value="Change password"></td>
- </tr>
- </table>
- </form>
- </div>
- <div tal:condition="python: not(member.login_time == here.ZopeTime('2000/01/01') and here.validate_email)">
- <div tal:define="d_reg python: member.setProperties(last_login_time=member.login_time);
- ereg python: member.setProperties(login_time=here.ZopeTime())">
- </div>
- <div tal:condition="request/came_from | nothing ">
- <div tal:define="dredirect python: request.RESPONSE.redirect(request.get('came_from'))"></div>
- </div>
- <h1 class="DesktopTitle">Login success</h1>
- <p class="Desktop">Welcome. You are currently logged in.
- </p>
- </div>
- </div>
-</div>
-</div>
+
+ <div tal:define="p_props here/portal_properties;
+ mtool here/portal_membership;
+ isAnon mtool/isAnonymousUser|nothing;
+ member mtool/getAuthenticatedMember;
+ now here/ZopeTime;
+ never python: here.ZopeTime( '2000/01/01' );
+ "
+ >
+
+ <div tal:condition="isAnon">
+
+ <span tal:define="dummy python:request['RESPONSE'].expireCookie('__ac'
+ , path='/')"
+ />
+
+ <h1 class="DesktopTitle">Login failure</h1>
+
+ <p class="Desktop">You are not currently logged in. Your username
+ and or password may be incorrect. Your browser may also not be
+ configured to accept HTTP cookies. If you need help please contact
+ <a href="mailto:admin@here.com" title="Email Admin"
+ tal:attributes="href string:mailto:${p_props/email_from_address}"
+ tal:content="p_props/email_from_address">Email Admin</a>.
+ </p>
+ </div><!-- isAnon -->
+
+ <div tal:condition="not: isAnon"
+ tal:define="first_time python:( member.login_time == never
+ and p_props.validate_email )">
+ >
+
+ <div tal:condition="first_time">
+ <div tal:define="dum_reg python:member.setProperties(
+ last_login_time=now,
+ login_time=now)" />
+
+ <h1 class="DesktopTitle">Welcome!</h1>
+
+ <p class="Desktop">
+ This is the first time that you've logged in to
+ <span replace="p_props/title">Here</span>.
+ Before you start exploring you need to change your original password.
+ This will ensure that the password we sent you via email cannot be
+ used in a malicious manner.</p>
+
+ <p class="Desktop">
+ Please use the form below to change your password.</p>
+
+ <form action="change_password" method="post"
+ tal:attributes="action string:${here/portal_url}/change_password"
+ >
+ <input type="hidden" name="user" value=""
+ tal:attributes="value member">
+ <input type="hidden" name="domains:tokens" value="">
+ <input type="hidden" name="redirect" value=""
+ tal:attributes="value p_props/portal_url">
+
+ <table>
+
+ <tr valign="top" align="left">
+ <th>Username</th>
+ <td><span tal:replace="member">You</span></td>
+ </tr>
+
+ <tr valign="top" align="left">
+ <th>New password</th>
+ <td><input type="password" name="password"></td>
+ </tr>
+
+ <tr valign="top" align="left">
+ <th>Confirm new password</th>
+ <td><input type="password" name="confirm"></td>
+ </tr>
+
+ <tr>
+ <td><br /></td>
+ <td><input type="submit" value="Change password"></td>
+ </tr>
+
+ </table>
+
+ </form>
+
+ </div><!-- first_time -->
+
+ <div tal:condition="not: first_time">
+
+ <div tal:define="d_reg python:member.setProperties(
+ last_login_time=member.login_time);
+ ereg python:member.setProperties(
+ login_time=here.ZopeTime())" />
+
+ <div tal:condition="request/came_from | nothing "
+ >
+ <div tal:define="came_from python:request.get('came_from');
+ respose: request/RESPONSE;
+ dredirect python: response.redirect(came_from)" />
+ </div>
+
+ <h1 class="DesktopTitle">Login success</h1>
+
+ <p class="Desktop">Welcome. You are currently logged in. </p>
+
+ </div><!-- not first_time -->
+
+ </div><!-- not isAnon -->
+
+ </div><!-- define p_props -->
+
+</div><!-- metal:fill-slot="main" -->
+
</body>
</html>
=== CMF/CMFDefault/skins/zpt_generic/login_form.pt 1.2 => 1.2.28.1 ===
<h1 class="Desktop">Log in</h1>
-<form action="" method="post" tal:attributes="action python: here.portal_url() + '/logged_in'">
+<form action="" method="post"
+ tal:attributes="action python: here.portal_url() + '/logged_in'"
+>
<!-- ****** Enable the automatic redirect ***** -->
<span tal:condition="exists: request/came_from">
=== CMF/CMFDefault/skins/zpt_generic/mail_password_form.pt 1.2 => 1.2.28.1 ===
metal:use-macro="here/main_template/macros/master">
<body>
+
<div metal:fill-slot="main">
-<div class="Desktop">
-<h1> Don't panic!</h1>
+ <div class="Desktop"
+ tal:attributes="ptool here/portal_properties">
+
+ <h1> Don't panic!</h1>
+
+ <p> Just enter your username below, click <em>Send</em>, and your
+ password will be mailed to you if you gave a valid email address
+ when you signed on. </p>
+
+ <p> If this will not work for you (for example, if you forget your member
+ name or didn't enter your email address) send email to
+ <a tal:attributes="href string:mailto:${ptool/email_from_address}"
+ tal:content="ptool/email_from_address"
+ href="mailto:me@here.com">me@here.com</a>. </p>
+
+ <form action="mail_password"
+ tal:attributes="action string:${here/portal_url}/mail_password"
+ >
+ <input name="userid">
+ <input type="submit" value=" Send ">
+ </form>
+
+ </div><!-- class="Desktop" -->
+
+</div><!-- metal:fill-slot="main" -->
-<p> Just enter your username below, click <em>Send</em>, and your password
- will be mailed to you if you gave a valid email address when you signed on.
-</p>
-
-<p> If this will not work for you (for example, if you forget your member
- name or didn't enter your email address) send email to
- <a tal:attributes="href string:mailto:${here/portal_properties/email_from_address}"
- tal:content="here/portal_properties/email_from_address"
- href="mailto:me@here.com">me@here.com</a>.
-</p>
-
- <form action="mail_password">
- <input name="userid">
- <input type="submit" value=" Send ">
- </form>
-</div>
-</div>
</body>
</html>
=== CMF/CMFDefault/skins/zpt_generic/password_form.pt 1.2 => 1.2.28.1 ===
tal:condition="request/error|nothing"><hr></div>
-<form action="change_password" method="post">
+<form action="change_password" method="post"
+ tal:attributes="action string:${here/absolute_url}/change_password"
+>
<table class="FormLayout">
<tr>
<th>Username
=== CMF/CMFDefault/skins/zpt_generic/personalize_form.pt 1.3 => 1.3.2.1 ===
metal:use-macro="here/main_template/macros/master">
<body>
+
<div metal:fill-slot="main">
- <div tal:define="member python: here.portal_membership.getAuthenticatedMember()">
- <div tal:condition="python: not(here.portal_membership.checkPermission( 'Set own properties'
- , here))">
- <span tal:define="red_str string: ${here/portal_url}/login_form?came_from=${here/absolute_url};
- redirect python: request.RESPONSE.redirect( red_str )"></span>
- </div>
-<div class="Desktop">
-
-<h1> Member Preferences </h1>
-<span tal:replace="request/msg"
- tal:condition="request/msg|nothing"><hr></span>
-
-<p><a href="password_form">Click here</a> to change your password.</p>
-
-<form action="personalize" method="post">
- <table class="FormLayout">
- <tr>
- <th>Email address</th>
- <td><input type="text" name="email" value=""
- tal:attributes="value member/email|nothing">
- </td>
- </tr>
- <tr>
- <th valign="top">Listed status</th>
- <td>
- <input type="radio" name="listed"
- tal:attributes="checked member/listed|nothing"
- value="on" id="cb_listed" />
- <label for="cb_listed">Listed</label>
-
- <dl class="FieldHelp">
- <dd>You will show up on the public membership roster.</dd>
- </dl>
-
- <input type="radio" name="listed"
- tal:attributes="checked python: hasattr(member,'listed') and not(member.getProperty( 'listed' ) )"
- value="" id="cb_unlisted" />
- <label for="cb_unlisted">Unlisted</label>
- <dl class="FieldHelp">
- <dd> You will <i>not</i> show up on the public membership roster.
- Your Member folder will still be publicly accessible unless
- you change its security settings.</dd>
- </dl>
- </td>
- </tr>
- <div tal:condition="here/portal_skins | nothing">
- <tr>
- <th>Skin</th>
- <td>
- <select name="portal_skin">
+ <div tal:define="mtool: here/portal_membership;
+ member mtool/getAuthenticatedMember;
+ ">
+
+ <div tal:condition="python: not( mtool.checkPermission( 'Set own properties'
+ , here ) )">
+ <span tal:define="purl here/portal_url;
+ aurl here/absolute_url;
+ rurl string:${purl}/login_form?came_from=${aurl};
+ response request/RESPONSE;
+ redirect python:response.redirect( rurl )" />
+
+ </div><!-- not Set own properties -->
+
+ <div class="Desktop">
+
+ <h1> Member Preferences </h1>
+
+ <span tal:replace="request/msg"
+ tal:condition="request/msg|nothing" />
+
+ <p><a href="password_form">Click here</a> to change your password.</p>
+
+ <form action="personalize" method="post"
+ tal:attributes="action string:${here/portal_url}/personalize"
+ >
+ <table class="FormLayout">
+
+ <tr>
+ <th>Email address</th>
+ <td><input type="text" name="email" value=""
+ tal:attributes="value member/email|nothing">
+ </td>
+ </tr>
+
+ <tr>
+ <th valign="top">Listed status</th>
+ <td tal:define="listed member/listed|nothing">
+ <input type="radio" name="listed"
+ tal:attributes="checked listed"
+ value="on" id="cb_listed" />
+ <label for="cb_listed">Listed</label>
+
+ <dl class="FieldHelp">
+ <dd>You will show up on the public membership roster.</dd>
+ </dl>
+
+ <input type="radio" name="listed"
+ tal:attributes="checked python:( hasattr(member,'listed')
+ and not(member.getProperty( 'listed' ) )"
+ value="" id="cb_unlisted" />
+ <label for="cb_unlisted">Unlisted</label>
+ <dl class="FieldHelp">
+ <dd> You will <i>not</i> show up on the public membership roster.
+ Your Member folder will still be publicly accessible unless
+ you change its security settings.</dd>
+ </dl>
+ </td>
+ </tr>
+
+ <tr tal:condition="here/portal_skins|nothing">
+ <th>Skin</th>
+ <td tal:define="s_tool here/portal_skins;
+ current request/portal_skin|nothing;
+ ">
+ <select name="portal_skin">
<option value=""
- tal:define="skins python: here.portal_skins.getSkinSelections()"
- tal:repeat="skin skins"
- tal:attributes="value skin; selected python: request.get('portal_skin', '') == skin"
- tal:content="skin">
- </option>
- </select>
- </td>
- </tr>
- </div>
- <tr>
- <td></td>
- <td><input type="submit" value=" Change "></td>
- </tr>
- </table>
-</form>
-
- </div>
-</div>
-</div>
+ tal:define="skins python:s_tool.getSkinSelections()"
+ tal:repeat="skin skins"
+ tal:attributes="value skin;
+ selected python:current == skin"
+ tal:content="skin"> skin </option>
+ </select>
+ </td>
+ </tr>
+
+ <tr>
+ <td><br /></td>
+ <td><input type="submit" value=" Change "></td>
+ </tr>
+ </table>
+ </form>
+
+ </div><!-- class="Desktop" -->
+
+ </div><!-- tal:define="mtool" -->
+
+</div><!-- metal:fill-slot="main" -->
+
</body>
</html>
=== CMF/CMFDefault/skins/zpt_generic/reconfig_form.pt 1.2 => 1.2.28.1 ===
<form action="" method="Post"
- tal:attributes="action python:here.portal_url() + '/reconfig'">
+ tal:attributes="action string:${here/portal_url}/reconfig"
+>
<table class="FormLayout">
<tr>
<th valign="top" align="left"> Portal 'From' name
=== CMF/CMFDefault/skins/zpt_generic/search_form.pt 1.3 => 1.3.12.1 ===
<h1>Search <span tal:replace="here/Title" /></h1>
-<form action="search">
+<form action="search"
+ tal:attributes="action string:${here/portal_url}/search"
+>
<table class="FormLayout">
=== CMF/CMFDefault/skins/zpt_generic/undo_form.pt 1.3 => 1.3.2.1 ===
">
- <form action="undo" method="POST">
+ <form action="undo" method="POST"
+ tal:attributes="action string:${here/portal_url}/undo"
+ >
<p> This application's transactional feature allows you to easily
undo changes made to the application's settings or data. You can