Commit 20d65815 by Muhammad Shoaib

load the proctored exams in the drop down

parent eae99e71
...@@ -7,7 +7,7 @@ var edx = edx || {}; ...@@ -7,7 +7,7 @@ var edx = edx || {};
edx.instructor_dashboard.proctoring.ProctoredExamAllowanceCollection = Backbone.Collection.extend({ edx.instructor_dashboard.proctoring.ProctoredExamAllowanceCollection = Backbone.Collection.extend({
/* model for a collection of ProctoredExamAllowance */ /* model for a collection of ProctoredExamAllowance */
model: edx.instructor_dashboard.proctoring.ProctoredExamAllowanceModel, model: edx.instructor_dashboard.proctoring.ProctoredExamAllowanceModel,
url: '/api/edx_proctoring/v1/proctored_exam/allowance' url: '/api/edx_proctoring/v1/proctored_exam/'
}); });
this.edx.instructor_dashboard.proctoring.ProctoredExamAllowanceCollection = edx.instructor_dashboard.proctoring.ProctoredExamAllowanceCollection; this.edx.instructor_dashboard.proctoring.ProctoredExamAllowanceCollection = edx.instructor_dashboard.proctoring.ProctoredExamAllowanceCollection;
}).call(this, Backbone); }).call(this, Backbone);
\ No newline at end of file
var edx = edx || {};
(function(Backbone) {
edx.instructor_dashboard = edx.instructor_dashboard || {};
edx.instructor_dashboard.proctoring = edx.instructor_dashboard.proctoring || {};
edx.instructor_dashboard.proctoring.ProctoredExamCollection = Backbone.Collection.extend({
/* model for a collection of ProctoredExamAllowance */
model: ProctoredExamModel,
url: '/api/edx_proctoring/v1/proctored_exam/exam/course_id/'
});
this.edx.instructor_dashboard.proctoring.ProctoredExamCollection = edx.instructor_dashboard.proctoring.ProctoredExamCollection;
}).call(this, Backbone);
\ No newline at end of file
...@@ -342,10 +342,11 @@ Backbone.ModalView = ...@@ -342,10 +342,11 @@ Backbone.ModalView =
$("<a href='#' id='modalCloseButton'>&#160;</a>") $("<a href='#' id='modalCloseButton'>&#160;</a>")
.css({ .css({
"position":"absolute", "position":"absolute",
"top":"-10px", "top":"-8px",
"right":"-10px", "right":"-513px",
"width":"32px", "width":"32px",
"height":"32px", "height":"32px",
"z-index": "999999",
"background":"transparent url(" + view.options.closeImageUrl + ") top left no-repeat", "background":"transparent url(" + view.options.closeImageUrl + ") top left no-repeat",
"text-decoration":"none"}) "text-decoration":"none"})
.appendTo( this.modalContainer) .appendTo( this.modalContainer)
......
...@@ -12,10 +12,11 @@ var edx = edx || {}; ...@@ -12,10 +12,11 @@ var edx = edx || {};
template: null, template: null,
model: edx.instructor_dashboard.proctoring.ProctoredExamAllowanceModel, model: edx.instructor_dashboard.proctoring.ProctoredExamAllowanceModel,
tempate_url: '/static/proctoring/templates/add-new-allowance.underscore', tempate_url: '/static/proctoring/templates/add-new-allowance.underscore',
initialize: function() { initialize: function(options) {
this.proctored_exams = options.proctored_exams;
_.bindAll( this, "render"); _.bindAll( this, "render");
this.loadTemplateData(); this.loadTemplateData();
// Backbone.Validation.bind( this, {valid:this.hideError, invalid:this.showError}); //Backbone.Validation.bind( this, {valid:this.hideError, invalid:this.showError});
}, },
events: { events: {
"submit form": "addAllowance" "submit form": "addAllowance"
...@@ -35,9 +36,10 @@ var edx = edx || {}; ...@@ -35,9 +36,10 @@ var edx = edx || {};
getCurrentFormValues: function() { getCurrentFormValues: function() {
return { return {
name: $("#name").val(), proctored_exam: $("select#proctored_exam").val(),
email: $("#email").val(), allowance_type: $("select#allowance_type").val(),
phone: $("#phone").val() value: $("#allowance_value").val(),
user_info: $("#user_info").val()
}; };
}, },
hideError: hideError:
...@@ -67,6 +69,7 @@ var edx = edx || {}; ...@@ -67,6 +69,7 @@ var edx = edx || {};
function( event) function( event)
{ {
event.preventDefault(); event.preventDefault();
var values = this.getCurrentFormValues();
// if( this.model.set( this.getCurrentFormValues())) // if( this.model.set( this.getCurrentFormValues()))
// { // {
...@@ -81,15 +84,15 @@ var edx = edx || {}; ...@@ -81,15 +84,15 @@ var edx = edx || {};
var allowance_types = ['Additional time (minutes)']; var allowance_types = ['Additional time (minutes)'];
$(this.el).html( this.template({ $(this.el).html( this.template({
proctored_exams: exams_data, proctored_exams: this.proctored_exams,
allowance_types: allowance_types allowance_types: allowance_types
})); }));
this.$form = { this.$form = {
name: this.$("#name"), name: this.$("#name"),
email: this.$("#email"), email: this.$("#email"),
phone: this.$("#phone")} phone: this.$("#phone")
};
return this; return this;
} }
}); });
......
...@@ -9,7 +9,7 @@ var edx = edx || {}; ...@@ -9,7 +9,7 @@ var edx = edx || {};
edx.instructor_dashboard.proctoring.ProctoredExamAllowanceView = Backbone.View.extend({ edx.instructor_dashboard.proctoring.ProctoredExamAllowanceView = Backbone.View.extend({
initialize: function (options) { initialize: function (options) {
this.collection = new edx.instructor_dashboard.proctoring.ProctoredExamAllowanceCollection(); this.collection = new edx.instructor_dashboard.proctoring.ProctoredExamAllowanceCollection();
this.proctoredExamCollection = new edx.instructor_dashboard.proctoring.ProctoredExamCollection();
/* unfortunately we have to make some assumptions about what is being set up in HTML */ /* unfortunately we have to make some assumptions about what is being set up in HTML */
this.setElement($('.special-allowance-container')); this.setElement($('.special-allowance-container'));
this.course_id = this.$el.data('course-id'); this.course_id = this.$el.data('course-id');
...@@ -24,7 +24,8 @@ var edx = edx || {}; ...@@ -24,7 +24,8 @@ var edx = edx || {};
/* Load the static template for rendering. */ /* Load the static template for rendering. */
this.loadTemplateData(); this.loadTemplateData();
this.collection.url = this.allowance_url + '/' + this.course_id; this.proctoredExamCollection.url = this.proctoredExamCollection.url + this.course_id;
this.collection.url = this.allowance_url + this.course_id + '/allowance';
}, },
events: { events: {
...@@ -67,7 +68,7 @@ var edx = edx || {}; ...@@ -67,7 +68,7 @@ var edx = edx || {};
}, },
success: function () { success: function () {
// fetch the allowances again. // fetch the allowances again.
self.collection.url = self.allowance_url + '/' + self.course_id; self.collection.url = self.allowance_url + self.course_id + '/allowance';
self.hydrate(); self.hydrate();
} }
} }
...@@ -125,7 +126,15 @@ var edx = edx || {}; ...@@ -125,7 +126,15 @@ var edx = edx || {};
} }
}, },
showAddModal: function() { showAddModal: function() {
var add_allowance_view = new edx.instructor_dashboard.proctoring.AddAllowanceView(); var self = this;
self.proctoredExamCollection.fetch({
success: function () {
var add_allowance_view = new edx.instructor_dashboard.proctoring.AddAllowanceView({
course_id: self.course_id,
proctored_exams: self.proctoredExamCollection.toJSON()
});
}
});
} }
}); });
}).call(this, Backbone, $, _); }).call(this, Backbone, $, _);
...@@ -6,9 +6,9 @@ ...@@ -6,9 +6,9 @@
<label>Proctored Exam</label> <label>Proctored Exam</label>
</td> </td>
<td> <td>
<select name='exams'> <select id='proctored_exam'>
<% _.each(proctored_exams, function(proctored_exam){ %> <% _.each(proctored_exams, function(proctored_exam){ %>
<option value="<%= proctored_exam.exam_name %>"><%= proctored_exam.exam_name %></option> <option value="<%= proctored_exam.id %>"><%= proctored_exam.exam_name %></option>
<% }); %> <% }); %>
</select> </select>
</td> </td>
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
<label>Allowance Type</label> <label>Allowance Type</label>
</td> </td>
<td> <td>
<select> <select id="allowance_type">
<% _.each(allowance_types, function(allowance_type){ %> <% _.each(allowance_types, function(allowance_type){ %>
<option value="<%= allowance_type %>"><%= allowance_type %></option> <option value="<%= allowance_type %>"><%= allowance_type %></option>
<% }); %> <% }); %>
...@@ -30,8 +30,7 @@ ...@@ -30,8 +30,7 @@
<label>Value</label> <label>Value</label>
</td> </td>
<td> <td>
<input> <input type="text" id="allowance_value" />
</input>
</td> </td>
</tr> </tr>
<tr> <tr>
...@@ -39,8 +38,7 @@ ...@@ -39,8 +38,7 @@
<label>Username or Email</label> <label>Username or Email</label>
</td> </td>
<td> <td>
<input> <input type="text" id="user_info" />
</input>
</td> </td>
</tr> </tr>
<tr> <tr>
......
...@@ -36,7 +36,7 @@ urlpatterns = patterns( # pylint: disable=invalid-name ...@@ -36,7 +36,7 @@ urlpatterns = patterns( # pylint: disable=invalid-name
name='edx_proctoring.proctored_exam.attempt' name='edx_proctoring.proctored_exam.attempt'
), ),
url( url(
r'edx_proctoring/v1/proctored_exam/allowance/{}$'.format(settings.COURSE_ID_PATTERN), r'edx_proctoring/v1/proctored_exam/{}/allowance$'.format(settings.COURSE_ID_PATTERN),
views.ExamAllowanceView.as_view(), views.ExamAllowanceView.as_view(),
name='edx_proctoring.proctored_exam.allowance' name='edx_proctoring.proctored_exam.allowance'
), ),
......
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