--- a/ckanext/example/theme/templates/user/register.html +++ b/ckanext/example/theme/templates/user/register.html @@ -1,49 +1,50 @@ -<html xmlns:py="http://genshi.edgewall.org/" - xmlns:i18n="http://genshi.edgewall.org/i18n" - xmlns:xi="http://www.w3.org/2001/XInclude" - py:strip=""> - - <py:match path="primarysidebar"> - <li class="widget-container widget_text"> - <h2>Have an OpenID?</h2> - <p> - If you have an account with Google, Yahoo or one of many other - OpenID providers, you can log in without signing up. - </p> - <ul> - <li>${h.link_to(_('Log in now'), h.url_for(conroller='user', action='login'))}</li> - </ul> - </li> - </py:match> - - <py:def function="page_title">Register - User</py:def> +<form id="user-edit" action="" method="post" + py:attrs="{'class':'has-errors'} if errors else {}" + xmlns:i18n="http://genshi.edgewall.org/i18n" + xmlns:py="http://genshi.edgewall.org/" + xmlns:xi="http://www.w3.org/2001/XInclude"> - <div py:match="content"> - <h2>Join the community</h2> - - <form action="/user/register" method="post" class="simple-form" id="register_form"> - <fieldset> - <legend i18n:msg="site_title">Register with CKAN</legend> +<div class="error-explanation" py:if="error_summary"> +<h2>Errors in form</h2> +<p>The form contains invalid entries:</p> +<ul> + <li py:for="key, error in error_summary.items()">${"%s: %s" % (key, error)}</li> +</ul> +</div> - <label for="login">Login:</label> - <input name="login" value="${c.login}" /> - <br/> - <label for="fullname">Full name (optional):</label> - <input name="fullname" value="${c.fullname}" /> - <br/> - <label for="email">E-Mail:</label> - <input name="email" value="${c.email}" /> - <br/> - <label for="password1">Password:</label> - <input type="password" name="password1" value="" /> - <br/> - <label for="password2">Password (repeat):</label> - <input type="password" name="password2" value="" /> - <br/> - </fieldset> - ${h.submit('s', _('Sign up'))} - </form> - </div> - <xi:include href="layout.html" /> -</html> + <dl> + <dt><label class="field_opt" for="name">Login:</label></dt> + <dd><input type="text" name="name" value="${data.get('name','')}" /></dd> + <dd class="instructions basic">3+ chars, using only 'a-z0-9' and '-_'</dd> + <dd class="field_error" py:if="errors.get('name', '')">${errors.get('name', '')}</dd> + <dt><label class="field_opt" for="fullname">Full name:</label></dt> + <dd><input type="text" name="fullname" value="${data.get('fullname','')}" /></dd> + <dd class="field_error" py:if="errors.get('fullname', '')">${errors.get('fullname', '')}</dd> + + <dt><label class="field_opt" for="email">E-Mail</label></dt> + <dd><input type="text" name="email" value="${data.get('email','')}" /></dd> + + <dt><label class="field_opt" for="password1">Password:</label></dt> + <dd><input type="password" name="password1" value="" /></dd> + <dd class="field_error" py:if="errors.get('password1', '')">${errors.get('password1', '')}</dd> + + <dt><label class="field_opt" for="password2">Password (repeat):</label></dt> + <dd><input type="password" name="password2" value="" /></dd> + + <dd py:if="g.recaptcha_publickey"> + <script type="text/javascript" + src="http://www.google.com/recaptcha/api/challenge?k=${g.recaptcha_publickey}"> + </script> + <noscript> + <iframe src="http://www.google.com/recaptcha/api/noscript?k=${g.recaptcha_publickey}" + height="300" width="500" frameborder="0"></iframe><br/> + <textarea name="recaptcha_challenge_field" rows="3" cols="40"> </textarea> + <input type="hidden" name="recaptcha_response_field" value="manual_challenge" /> + </noscript> + </dd> + + </dl> + <input id="save" name="save" type="submit" class="pretty-button primary" value="Register now »" /> +</form> +