SOL-916 Add ability to query, enable, disable, unredeem Enrollment Codes

This commit is contained in:
Muhammad Shoaib
2015-05-29 16:45:18 +05:00
committed by Chris Dodge
parent 0db8bac7c4
commit 4dff8ecf09
17 changed files with 989 additions and 29 deletions

View File

@@ -6,16 +6,20 @@
<%include file="edit_coupon_modal.html" args="section_data=section_data" />
<%include file="set_course_mode_price_modal.html" args="section_data=section_data" />
<%include file="generate_registarion_codes_modal.html" args="section_data=section_data" />
<%include file="invalidate_registration_code_modal.html" args="section_data=section_data" />
<div class="ecommerce-wrapper">
<h3 class="error-msgs" id="error-msg"></h3>
<div id = "accordion">
<div class="wrap">
<h2>${_('Registration Codes')}</h2>
<h2>${_('Enrollment Codes')}</h2>
<div>
%if section_data['sales_admin']:
<span class="code_tip">
<p>${_('Create one or more pre-paid course enrollment codes. Students can use these codes to enroll in the course.')}</p>
<a id="registration_code_generation_link" href="#reg_code_generation_modal" class="add blue-button">${_('Create Enrollment Codes')}</a>
<p></p>
<p>${_('Cancel, restore, or mark an enrollment code as unused.')}</p>
<a id="query_registration_code_link" href="#invalidate_registration_code_modal" rel="leanModal" class="add blue-button">${_('Change Enrollment Code Status')}</a>
</span>
%endif
<p>${_('Download a .csv file of all enrollment codes for this course')}</p>
@@ -464,6 +468,9 @@
$('#course_price_link').click(function () {
reset_input_fields();
});
$('#query_registration_code_link').click(function () {
reset_input_fields();
});
$('#add_coupon_link').click(function () {
reset_input_fields();
});
@@ -579,6 +586,8 @@
$("#edit-coupon-modal").attr("aria-hidden", "true");
$(".edit-right").focus();
$("#set-course-mode-price-modal").attr("aria-hidden", "true");
$("#invalidate_registration_code_modal").attr("aria-hidden", "true");
$("#registration_code_generation_modal").attr("aria-hidden", "true");
$("#add_coupon_button").removeAttr('disabled');
$("#set_course_button").removeAttr('disabled');
@@ -602,10 +611,11 @@
$("#edit-coupon-modal .close-modal").click(onModalClose);
$('#registration_code_generation_modal .close-modal').click(onModalClose);
$("#set-course-mode-price-modal .close-modal").click(reset_input_fields);
$("#invalidate_registration_code_modal .close-modal").click(reset_input_fields);
// Hitting the ESC key will exit the modal
$("#add-coupon-modal, #edit-coupon-modal, #set-course-mode-price-modal, #registration_code_generation_modal").on("keydown", function (e) {
$("#add-coupon-modal, #edit-coupon-modal, #set-course-mode-price-modal, #invalidate_registration_code_modal, #registration_code_generation_modal").on("keydown", function (e) {
var keyCode = e.keyCode || e.which;
// 27 is the ESC key
if (keyCode === 27) {
@@ -613,14 +623,20 @@
$("#add-coupon-modal .close-modal").click();
$("#set-course-mode-price-modal .close-modal").click();
$("#edit-coupon-modal .close-modal").click();
$("#invalidate_registration_code_modal .close-modal").click();
$('#registration_code_generation_modal .close-modal').click();
}
});
});
var reset_input_fields = function () {
$('#error-msg').val('');
$('#error-msg').hide()
$('#error-msg').hide();
$('#add_coupon_form #coupon_form_error').attr('style', 'display: none');
$("form#set_regcode_status_form").next().remove();
$('#set_regcode_status_form #regcode_status_form_error').attr('style', 'display: none');
$('#set_regcode_status_form #regcode_status_form_success').attr('style', 'display: none');
$('#set_regcode_status_form input#lookup_regcode').removeAttr('disabled');
$('#set_price_form #course_form_error').attr('style', 'display: none');
$('#generate_codes #registration_code_form_error').attr('style', 'display: none');
$('#add_coupon_form #coupon_form_error').text();
@@ -629,6 +645,7 @@
$('input#coupon_discount').val('');
$('textarea#coupon_description').val('');
$('input[name="company_name"]').val('');
$('input[name="regcode_code"]').val('');
$('input[name="total_registration_codes"]').val('');
$('input[name="address_line_1"]').val('');
$('input[name="address_line_2"]').val('');

View File

@@ -0,0 +1,23 @@
<table width="100%" class="tb_registration_code_status">
<thead>
<th width="15%"> <%- gettext("Code") %> </th>
<th width="20%"> <%- gettext("Used") %> </th>
<th width="14%"> <%- gettext("Valid") %> </th>
<th> <%- gettext("Actions") %> </th>
</thead>
<tbody>
<tr>
<td> <%- lookup_registration_code %> </td>
<td> <%- is_registration_code_redeemed %> </td>
<td> <%- is_registration_code_valid %> </td>
<td>
<% _.each(actions, function(action){ %>
<a class="registration_code_action_link" data-registration-code="<%= action.registration_code %>" data-action-type="<%= action.action_type %>" href="#" data-endpoint="<%= action.action_url %>">
<%- action.action_name %>
</a>
<% }); %>
</td>
</tr>
</tbody>
</table>

View File

@@ -76,7 +76,7 @@
## Include Underscore templates
<%block name="header_extras">
% for template_name in ["cohorts", "cohort-editor", "cohort-group-header", "cohort-selector", "cohort-form", "notification", "cohort-state", "cohort-discussions-inline", "cohort-discussions-course-wide", "cohort-discussions-category","cohort-discussions-subcategory"]:
% for template_name in ["cohorts", "enrollment-code-lookup-links", "cohort-editor", "cohort-group-header", "cohort-selector", "cohort-form", "notification", "cohort-state", "cohort-discussions-inline", "cohort-discussions-course-wide", "cohort-discussions-category","cohort-discussions-subcategory"]:
<script type="text/template" id="${template_name}-tpl">
<%static:include path="instructor/instructor_dashboard_2/${template_name}.underscore" />
</script>

View File

@@ -0,0 +1,42 @@
<%! from django.utils.translation import ugettext as _ %>
<%! from django.core.urlresolvers import reverse %>
<%page args="section_data"/>
<section id="invalidate_registration_code_modal" class="modal" role="dialog" tabindex="-1" aria-label="${_('Enrollment Code Status')}">
<div class="inner-wrapper">
<button class="close-modal">
<i class="icon fa fa-remove"></i>
<span class="sr">
## Translators: this is a control to allow users to exit out of this modal interface (a menu or piece of UI that takes the full focus of the screen)
${_('Close')}
</span>
</button>
<div id="regcode-content">
<header>
<h2>${_("Enrollment Code Status")}</h2>
</header>
<div class="instructions">
<p>
${_("Change the status of an enrollment code.")}</p>
</div>
<form id="set_regcode_status_form">
<div id="regcode_status_form_error" class="modal-form-error"></div>
<div class="success-msgs" id="regcode_status_form_success"></div>
<fieldset class="group group-form group-form-requiredinformation">
<legend class="is-hidden">${_("Required Information")}</legend>
<ol class="list-input">
<li class="field required text" id="set-course-mode-modal-field-price">
<label for="regcode_code">${_("Enrollment Code")}</label>
<input class="field" id="regcode_code" type="text" name="regcode_code" placeholder="Enter an Enrollment Code" aria-required="true">
</li>
</ol>
</fieldset>
<div class="submit">
<input name="submit" type="button" id="lookup_regcode" data-endpoint="${section_data['look_up_registration_code']}" value="${_('Find Enrollment Code')}"/>
</div>
</form>
</div>
</div>
</section>