Files
edx-platform/lms/templates/signup_modal.html
Xavier Antoviaque 08dffa12cc registration-optional: Allow to hide some optional registration fields
Allow to control which of the optional fields from the registration page
are being displayed to the user. Added the configuration variable
`REGISTRATION_OPTIONAL_FIELDS` to control which ones. The default value
shows all the fields as currently; to not display some of the fields,
set the configuration variable with only the fields you want to display:

```
REGISTRATION_OPTIONAL_FIELDS = [
    'level_of_education',
    'gender',
    'year_of_birth',
    'mailing_address',
    'goals'
]
```
2013-11-05 11:50:29 +01:00

168 lines
7.1 KiB
HTML

<%! from django.utils.translation import ugettext as _ %>
<%namespace name='static' file='static_content.html'/>
<%! from django.conf import settings %>
<%! from django.core.urlresolvers import reverse %>
<%! from django_countries.countries import COUNTRIES %>
<%! from student.models import UserProfile %>
<%! from datetime import date %>
<%! import calendar %>
<section id="signup-modal" class="modal signup-modal">
<div class="inner-wrapper">
<button class="close-modal">&#10005; <span class="sr">${_('Close Modal')}</span></button>
<div id="register">
<header>
<h2>${_('Sign Up for {span_start}{platform_name}{span_end}').format(span_start='<span class="edx">', span_end='</span>', platform_name=settings.PLATFORM_NAME)}</h2>
<hr>
</header>
<form id="register_form" class="register_form" method="post" data-remote="true" action="/create_account">
<div class="notice"></div>
<div id="register_error" class="modal-form-error" name="register_error"></div>
<div id="register_error" name="register_error"></div>
<div class="input-group">
% if has_extauth_info is UNDEFINED:
<label data-field="email" for="signup_email">${_('E-mail *')}</label>
<input id="signup_email" type="email" name="email" placeholder="${_('e.g. yourname@domain.com')}" required />
<label data-field="password" for="signup_password">${_('Password *')}</label>
<input id="signup_password" type="password" name="password" placeholder="&bull;&bull;&bull;&bull;&bull;&bull;&bull;&bull;" required />
<label data-field="username" for="signup_username">${_('Public Username *')}</label>
<input id="signup_username" type="text" name="username" placeholder="${_('e.g. yourname (shown on forums)')}" required />
<label data-field="name" for="signup_fullname">${_('Full Name *')}</label>
<input id="signup_fullname" type="text" name="name" placeholder="${_('e.g. Your Name (for certificates)')}" required />
% else:
<p>${_('<i>Welcome</i> {name}').format(name=extauth_id)}</p><br/>
<p><i>${_('Enter a public username:')}</i></p>
<label data-field="username" for="signup_username">${_('Public Username *')}</label>
<input id="signup_username" type="text" name="username" value="${extauth_username}" placeholder="${_('e.g. yourname (shown on forums)')}" required />
% if ask_for_email:
<label data-field="email" for="signup_email">${_('E-mail *')}</label>
<input id="signup_email" type="email" name="email" placeholder="${_('e.g. yourname@domain.com')}" required />
% endif
% if ask_for_fullname:
<label data-field="name" for="signup_fullname">${_("Full Name *")}</label>
<input id="signup_fullname" type="text" name="name" placeholder="${_('e.g. Your Name (for certificates)')}" required />
% endif
% endif
</div>
<div class="input-group">
% if 'level_of_education' in settings.REGISTRATION_OPTIONAL_FIELDS:
<section class="citizenship">
<label data-field="level_of_education" for="signup_ed_level">${_("Ed. Completed")}</label>
<div class="input-wrapper">
<select id="signup_ed_level" name="level_of_education">
<option value="">--</option>
%for code, ed_level in UserProfile.LEVEL_OF_EDUCATION_CHOICES:
<option value="${code}">${ed_level}</option>
%endfor
</select>
</div>
</section>
% endif
% if 'gender' in settings.REGISTRATION_OPTIONAL_FIELDS:
<section class="gender">
<label data-field="gender" for="signup_gender">${_("Gender")}</label>
<div class="input-wrapper">
<select id="signup_gender" name="gender">
<option value="">--</option>
%for code, gender in UserProfile.GENDER_CHOICES:
<option value="${code}">${gender}</option>
%endfor
</select>
</div>
</section>
% endif
% if 'year_of_birth' in settings.REGISTRATION_OPTIONAL_FIELDS:
<section class="date-of-birth">
<label data-field="date-of-birth" for="signup_birth_year">${_("Year of birth")}</label>
<div class="input-wrapper">
<select id="signup_birth_year" name="year_of_birth">
<option value="">--</option>
%for year in UserProfile.VALID_YEARS:
<option value="${year}">${year}</option>
%endfor
</select>
##<input name="year_of_birth" type="text" placeholder="Year of birth">
</div>
</section>
% endif
% if 'mailing_address' in settings.REGISTRATION_OPTIONAL_FIELDS:
<label data-field="mailing_address" for="signup_mailing_address">${_("Mailing address")}</label>
<textarea id="signup_mailing_address" name="mailing_address"></textarea>
% endif
% if 'goals' in settings.REGISTRATION_OPTIONAL_FIELDS:
<label data-field="goals" for="signup_goals">${_("Goals in signing up for {platform_name}").format(platform_name=settings.PLATFORM_NAME)}</label>
<textarea name="goals" id="signup_goals"></textarea>
% endif
</div>
<div class="input-group">
<label data-field="terms_of_service" class="terms-of-service" for="signup_tos">
<input id="signup_tos" name="terms_of_service" type="checkbox" value="true">
${_('I agree to the {link_start}Terms of Service{link_end}*').format(
link_start='<a href="{url}" target="_blank">'.format(url=reverse('tos')),
link_end='</a>')}
</label>
<label data-field="honor_code" class="honor-code" for="signup_honor">
<input id="signup_honor" name="honor_code" type="checkbox" value="true">
${_('I agree to the {link_start}Honor Code{link_end}*').format(
link_start='<a href="{url}" target="_blank">'.format(url=reverse('honor')),
link_end='</a>')}
</label>
</div>
<div class="submit">
<input name="submit" type="submit" value="${_('Create My Account')}">
</div>
</form>
% if has_extauth_info is UNDEFINED:
<section class="login-extra">
<p>
<span>${_("Already have an account?")} <a href="#login-modal" class="close-signup" rel="leanModal">${_("Login.")}</a></span>
</p>
</section>
% endif
</div>
</div>
</section>
<script type="text/javascript">
(function() {
$(document).delegate('#register_form', 'ajax:success', function(data, json, xhr) {
if(json.success) {
location.href="${reverse('dashboard')}";
} else {
$(".field-error").removeClass('field-error');
$('#register_error').html(json.value).stop().css("display", "block");
$("[data-field='"+json.field+"']").addClass('field-error')
}
});
// removing close link's default behavior
$('#login-modal .close-modal').click(function(e) {
e.preventDefault();
});
})(this)
</script>