Commit eb094edf by cahrens Committed by Andy Armstrong

Only show full grade section if step is enabled.

TNL-3889
parent 6eb476ca
......@@ -5,7 +5,9 @@
<div class="wrapper--staff-toolbar">
<button class="ui-staff__button button-staff-tools" data-panel="openassessment__staff-tools">{% trans "Manage Individual Learners" %}</button>
<button class="ui-staff__button button-staff-info" data-panel="openassessment__staff-info">{% trans "View Assignment Statistics" %}</button>
{% if staff_assessment_required %}
<button class="ui-staff__button button-staff-grading" data-panel="openassessment__staff-grading">{% trans "Grade Available Responses" %}</button>
{% endif %}
</div>
<div class="openassessment__staff-tools wrapper--staff-tools wrapper--ui-staff is--hidden">
......
......@@ -162,6 +162,10 @@ class StaffAreaMixin(object):
'start': start_date if start_date > DISTANT_PAST else None,
'due': due_date if due_date < DISTANT_FUTURE else None,
})
# Include whether or not staff grading step is enabled.
context['staff_assessment_required'] = "staff-assessment" in self.assessment_steps
return path, context
@XBlock.json_handler
......
......@@ -684,6 +684,38 @@
"output": "oa_staff_area.html"
},
{
"template": "openassessmentblock/staff_area/oa_staff_area.html",
"context": {
"staff_assessment_required": true,
"status_counts": {
"self": 1,
"peer": 2,
"waiting": 3,
"done": 4
},
"num_submissions": 10,
"item_id": "test_item",
"step_dates": [
{
"step": "submission",
"start": "2014-01-01",
"due": "N/A"
},
{
"step": "peer",
"start": "2014-02-02",
"due": "N/A"
},
{
"step": "self",
"start": "2014-03-03",
"due": "2015-04-05"
}
]
},
"output": "oa_staff_area_full_grading.html"
},
{
"template": "openassessmentblock/staff_area/oa_student_info.html",
"context": {
"rubric_criteria": [
......
......@@ -19,6 +19,7 @@ describe('OpenAssessment.StaffAreaView', function() {
// Stub server that returns dummy data for the staff info view
var StubServer = function() {
this.studentTemplate = 'oa_student_info.html';
this.staffAreaTemplate = 'oa_staff_area.html';
// Remember which fragments have been loaded
this.fragmentsLoaded = [];
......@@ -28,7 +29,7 @@ describe('OpenAssessment.StaffAreaView', function() {
var server = this;
this.fragmentsLoaded.push(component);
return $.Deferred(function(defer) {
var fragment = readFixtures('oa_staff_area.html');
var fragment = readFixtures(server.staffAreaTemplate);
defer.resolveWith(server, [fragment]);
});
};
......@@ -73,13 +74,17 @@ describe('OpenAssessment.StaffAreaView', function() {
/**
* Create a staff area view.
* @param serverResponse An optional fake response from the server.
* @param {dict} serverResponse An optional fake response from the server.
* @param {string} staffAreaTemplate - An optional template to use.
* @returns {OpenAssessment.StaffAreaView} The staff area view.
*/
var createStaffArea = function(serverResponse) {
var createStaffArea = function(serverResponse, staffAreaTemplate) {
if (serverResponse) {
server.data = serverResponse;
}
if (staffAreaTemplate) {
server.staffAreaTemplate = staffAreaTemplate;
}
var assessmentElement = $('#openassessment').get(0);
var baseView = new OpenAssessment.BaseView(runtime, assessmentElement, server, {});
var view = new OpenAssessment.StaffAreaView(assessmentElement, server, baseView);
......@@ -204,6 +209,15 @@ describe('OpenAssessment.StaffAreaView', function() {
it('shows the correct buttons with no panels initially', function() {
var view = createStaffArea(),
$buttons = $('.ui-staff__button', view.element);
expect($buttons.length).toBe(2);
expect($($buttons[0]).text().trim()).toEqual('Manage Individual Learners');
expect($($buttons[1]).text().trim()).toEqual('View Assignment Statistics');
expect(getVisibleStaffPanels(view).length).toBe(0);
});
it('shows the correct buttons for full grading with no panels initially', function() {
var view = createStaffArea({}, 'oa_staff_area_full_grading.html'),
$buttons = $('.ui-staff__button', view.element);
expect($buttons.length).toBe(3);
expect($($buttons[0]).text().trim()).toEqual('Manage Individual Learners');
expect($($buttons[1]).text().trim()).toEqual('View Assignment Statistics');
......
......@@ -381,8 +381,6 @@ class StaffAreaTest(OpenAssessmentTest):
self.assertEqual(self.staff_area_page.selected_button_names, [])
self.staff_area_page.click_staff_toolbar_button("staff-tools")
self.assertEqual(self.staff_area_page.selected_button_names, ["MANAGE INDIVIDUAL LEARNERS"])
self.staff_area_page.click_staff_toolbar_button("staff-grading")
self.assertEqual(self.staff_area_page.selected_button_names, ["GRADE AVAILABLE RESPONSES"])
self.staff_area_page.click_staff_toolbar_button("staff-info")
self.assertEqual(self.staff_area_page.selected_button_names, ["VIEW ASSIGNMENT STATISTICS"])
self.staff_area_page.click_staff_toolbar_button("staff-info")
......@@ -393,7 +391,6 @@ class StaffAreaTest(OpenAssessmentTest):
@ddt.data(
("staff-tools", "MANAGE INDIVIDUAL LEARNERS"),
("staff-info", "VIEW ASSIGNMENT STATISTICS"),
("staff-grading", "GRADE AVAILABLE RESPONSES"),
)
@ddt.unpack
def test_staff_area_panel(self, panel_name, button_label):
......
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