Hello hope have a wonderfull weekend
I'm wondering is there a setting in canvas that I can limit the professor to not grade empty online submission or a js code that can help with that?
@AbrahamOquendo
There is no setting in Canvas to prevent grading an unsubmitted assignment. However, you can remove the grade input box by uploading a custom Javascript (JS).
Please note the following JS will only work on the web browser version of Canvas, and users can always disable it
The first script will hide the grade input box from /gradebook page and the flyout grading tray (For non Root Admin users)
if (window.location.href.match('/gradebook')) { if (!(ENV.current_user_roles.indexOf('root_admin') > -1)) { //If not Root Admin then hide grade input box var style = (function () { // Create the <style> tag var style = document.createElement("style"); style.appendChild(document.createTextNode("")); // Add the <style> element to the page document.head.appendChild(style); return style; })(); //CSS to hide grade input boxes style.sheet.insertRule('div.Grid__GradeCell__GradingSchemeInput, .Grid__GradeCell__PointsInput, .Grid__GradeCell__PercentInput { display:none !important;}', 0); document.addEventListener('click', function (event) { if (event.target.matches('#grade-detail-tray--grade-input')) { alert("Please use SpeedGrader to grade"); document.getElementById('grade-detail-tray--grade-input').disabled = true; }; }); }; }
The second script will hide the grade input box and rubric within the SpeedGrader
if (window.location.href.match('/gradebook')) { if (!(ENV.current_user_roles.indexOf('root_admin') > -1)) { //If not Root Admin var style = (function () { // Create the <style> tag var style = document.createElement("style"); style.appendChild(document.createTextNode("")); // Add the <style> element to the page document.head.appendChild(style); return style; })(); style.sheet.insertRule('div.Grid__GradeCell__GradingSchemeInput, .Grid__GradeCell__PointsInput, .Grid__GradeCell__PercentInput { display:none !important;}', 0); document.addEventListener('click', function (event) { if (event.target.matches('#grade-detail-tray--grade-input')) { alert("Please use SpeedGrader to grade"); document.getElementById('grade-detail-tray--grade-input').disabled = true; $('span:contains("Excused")').remove(); }; }); }; } // SpeedGrader Hide if (window.location.href.match('/gradebook/speed_grader?')) { console.log("In SpeedGrader Page") SpeedGraderCheck(); //Run script again when users use the dropdown to change to another student var pushState = history.pushState; history.pushState = function () { pushState.apply(history, arguments); SpeedGraderCheck(); console.log("URL Change"); }; }; function SpeedGraderCheck() { var currentURL = window.location.href; var courseID = currentURL.match(/\/courses\/(\d+)/g); var asID_Reg = /(?:^|assignment_id)=(\d*?)(?:\D|$)/g; var asID_Result = asID_Reg.exec(currentURL); var assignment_id = asID_Result[1]; var checkExist = setInterval(function () { if (window.location.href.indexOf('student_id=') > -1) { clearInterval(checkExist); var NewCurrentURL = window.location.href; var stdID_Reg = /(?:^|student_id)=(\d*?)(?:\D|$)/g; var stdID_Result = stdID_Reg.exec(NewCurrentURL); var student_id = stdID_Result[1]; //Call API to check the submission status $.get('/api/v1' + courseID + '/assignments/' + assignment_id + '/submissions/' + student_id, function (response) { if (response['workflow_state'] == 'unsubmitted') { //Call API to check whether the assignment require submission $.get('/api/v1' + courseID + '/assignments/' + assignment_id, function (response) { if (response['submission_types'][0] != 'none') { console.log("No Submission") $('#grading-box-extended').attr('style', 'display: none !important'); $("button[class='toggle_full_rubric edit btn']").attr('style', 'display: none !important'); } else { console.log("No Submission Required") } }) }; }); } }, 500); };
I assigned the first draft of an assignment. Each student got rubric comments from me and from one peer. The Speed Grader view gives me a "Select Rubric" menu, allowing me to toggle between my comments and the peer comments. But the Gradebook's "Bulk Download Rubrics" command generates a CSV file with only the peers'…
I am trying to combine one quiz with another quiz. At the moment, I'm going through each quiz and copying the text one line at a time. Is there a way to do this without manually copying and pasting? I don't want to use item banks. Item banks don't show me the actual questions - it just shows a block of text that says…
I was looking for a tool that lets me see all discussion posts made by one student throughout a term but I couldn't find a discussion post aggregator tool. Is there a way to do that? (I tried checking in Settings; also tried using People to see if I could get to posts under a student name. No luck.)
Hi all, I'm looking to see if this has happened for anyone else. A student completed a Classic Quiz and one question was counted wrong that should not have been. In the quiz settings, the instructor entered 9 possible answers for this question. The student entered one of these answers. However, that particular question was…
Looking for the addition of partial credit for alternative format questions in Canvas, like ordering and category/matrix. We can only do it in close drop down, matching, and multiple response.