Commit 2c673526 by Greg Price

Fix new view containing only register button to properly enroll

parent 3fd8b6ff
...@@ -17,68 +17,41 @@ ...@@ -17,68 +17,41 @@
</%block> </%block>
<%block name="js_extra"> <%block name="js_extra">
% if not registered: <script type="text/javascript">
%if user.is_authenticated(): (function() {
## If the user is authenticated, clicking the enroll button just submits a form $(".register").click(function(event) {
<script type="text/javascript"> $("#class_enroll_form").submit();
(function() { event.preventDefault();
$('.register').click(function(e) { });
(e).preventDefault();
$('#class_enroll_form').submit();
});
$(document).delegate('#class_enroll_form', 'ajax:success', function(data, json, xhr) { $('#class_enroll_form').on('ajax:complete', function(event, xhr) {
if(json.success) { if(xhr.status == 200) {
location.href="${reverse('dashboard')}"; location.href = "${reverse('dashboard')}";
}else{ } else if (xhr.status == 403) {
$('#register_message').html('<p class="inline-error">' + json.error + "</p>"); location.href = "${reverse('register_user')}?course_id=${course.id}&enrollment_action=enroll";
} } else {
}); $('#register_error').html(
})(this) (xhr.responseText ? xhr.responseText : 'An error occurred. Please try again later.')
</script> ).css("display", "block");
%else: }
## If the user is not authenticated, clicking the enroll button pops up the register });
## field. We also slip in the registration fields into the login/register fields so })(this)
## the user is automatically registered after logging in / registering </script>
<script type="text/javascript">
(function() {
$(".register").click(function() {
if ($(".login_form .enroll_fieldset").length === 0) {
$(".login_form").append( $(".enroll_fieldset").first().clone() );
}
if ($(".register_form .enroll_fieldset").length === 0) {
$(".register_form").append( $(".enroll_fieldset").first().clone() );
}
});
})(this)
</script>
%endif
%endif
</%block> </%block>
<%block name="content"> <%block name="content">
<script src="${static.url('js/course_info.js')}"></script> <script src="${static.url('js/course_info.js')}"></script>
<ul class="list-actions">
<ul class="list-actions register">
<li class="item"> <li class="item">
%if user.is_authenticated(): %if user.is_authenticated() and registered:
%if registered: <a class="action action-register is-registered" href="${course_target}">Access Courseware</strong></a>
<!-- signed in, registered -->
<a class="action action-register is-registered" href="${course_target}">Registered for <strong>${course.number}</strong></a>
%else:
<!-- signed in, not registered -->
<a href="" class="action action-register register">Register for ${course.number}</a> <div id="register_message"></div>
%endif
%else: %else:
<!-- not signed in --> <a class="action action-register register" href="#">Register for <strong>${course.number}</strong></a>
<a class="action action-register" href="${reverse('register_user')}">Register for <strong>${course.number}</strong></a>
%endif %endif
</li> </li>
</ul> </ul>
%if not registered: %if not registered:
<div style="display: none;"> <div style="display: none;">
<form id="class_enroll_form" method="post" data-remote="true" action="${reverse('change_enrollment')}"> <form id="class_enroll_form" method="post" data-remote="true" action="${reverse('change_enrollment')}">
...@@ -88,9 +61,7 @@ ...@@ -88,9 +61,7 @@
<input type="hidden" name="csrfmiddlewaretoken" value="${ csrf_token }"> <input type="hidden" name="csrfmiddlewaretoken" value="${ csrf_token }">
</fieldset> </fieldset>
<div class="submit"> <div class="submit">
<input name="enroll" type="submit" value="enroll">
<button type="submit" name="class_enroll_form_submit" id="class_enroll_form-submit" value="enroll">Enroll</button>
</div> </div>
</form> </form>
</div> </div>
......
...@@ -45,6 +45,7 @@ ...@@ -45,6 +45,7 @@
<%block name="content"></%block> <%block name="content"></%block>
</div> </div>
<%static:js group='application'/>
<%block name="js_extra"></%block> <%block name="js_extra"></%block>
</body> </body>
</html> </html>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment