diff --git a/CHANGELOG.md b/CHANGELOG.md index 07d67c61..8494c19e 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,8 +1,60 @@ +### Date: 2024-September-11 +### Release: v2024091101 + +--- + +#### Database Dumps Fixed +Previously the Show Data Dump and Save Data Dump tabs would sometimes display an error. This is now functioning as expected. + +#### Anonymous Marking Fixed +Some users encountered an issue where student first names would be shown while anonymous marking was enabled. This has now been fixed. + +--- + +### Date: 2024-August-01 +### Release: v2024080101 + +--- + +#### Icon Image Fixed +Previously when a file was submitted that did not meet the requirements for processing by Turnitin, an icon image would be displayed incorrectly. This has now been fixed. + +#### Issue With Multiple Peermark Assignments +Previously when a Moodle Direct V2 assignment contained 2 or more Peermark assignments, there was an issue that stopped them from successfully opening. This has now been fixed. + +#### Fixed Inbox Ordering On First Name +Previously when sorting submissions in the assignment inbox by first name, the order of the sorted items would be incorrect. This has now been resolved. + +#### Error Logged While Creating Course +Previously there was a bug which would sometimes cause an error to be logged while creating a course. This has now been resolved. + +#### PHP 8.1+ Deprecation Warnings +We have resolved several deprecation warnings that would be displayed when running under PHP 8.1+. + +#### Issue With Bulk Editing of Completion Settings +Previously there was an error when editing completion settings in bulk that would prevent the page from loading. This has now been resolved. + +#### Error Generating Pseudo Last Names +Previously when generating dummy lastnames for students for data privacy purposes, the process would fail if no last name was set. This has now been resolved. + +#### Error when Max Grade Set To Zero +Previously when a single part of a multi-part assignment had its max grade set to zero, the percentage grade would fail to be calculated and an error message would be shown instead. This has now been resolved and grades are shown correctly. + +#### Error when restoring a course +Previously when deleting and later restoring a course, the course restoration would fail if the course end date had already passed. This was because the start date was being set to be after the end date. In cases where this would occur, we now set the end date to today, which allows the course to be restored correctly. + +#### Bug in student enrolment +There was previously a bug in student enrolment that meant that sometimes suspended users were being enrolled on courses when they should have been skipped. This has now been resolved. + +#### Checks For Submission File Types +Previously we were missing a check for the file types of submissions. This meant that students could always submit files of any type, which would cause their submissions to become stuck in a pending state. This has now been resolved, and if the option is enabled, students can upload only files of supported types. + +--- + ### Date: 2024-March-29 ### Release: v2024032901 #### Export Buttons Fixed - The export buttons along with the individual submission refresh and download buttons and the bulk submission download buttons are now functioning as expected. ### Date: 2024-February-06 diff --git a/backup/moodle2/restore_turnitintooltwo_stepslib.php b/backup/moodle2/restore_turnitintooltwo_stepslib.php index 51f05e4c..c30da981 100644 --- a/backup/moodle2/restore_turnitintooltwo_stepslib.php +++ b/backup/moodle2/restore_turnitintooltwo_stepslib.php @@ -149,6 +149,7 @@ protected function process_turnitintooltwo_submissions($data) { // Create TII User Account Details. if (!$tiiuser = $DB->get_record('turnitintooltwo_users', array('turnitin_uid' => $data->tiiuserid))) { + $tiiuser = new stdClass(); $tiiuser->userid = $data->userid; $tiiuser->turnitin_uid = $data->tiiuserid; $DB->insert_record('turnitintooltwo_users', $tiiuser); diff --git a/classes/v1migration/v1migration.php b/classes/v1migration/v1migration.php index fc07fc03..bb1b388c 100644 --- a/classes/v1migration/v1migration.php +++ b/classes/v1migration/v1migration.php @@ -550,7 +550,7 @@ private function log_success_migration_event($turnitintooltwoid, $course_id, $v1 } /** - * Get assignments for migrated data table. Called from ajax.php via turnitintooltwo_extra-2024032901.min.js. + * Get assignments for migrated data table. Called from ajax.php via turnitintooltwo_extra-2024100901.min.js. * * @global type $DB * @return array return array of assignments to display diff --git a/extras.php b/extras.php index b998c9d0..b4c8759e 100644 --- a/extras.php +++ b/extras.php @@ -97,15 +97,7 @@ $output .= $OUTPUT->box($coursesearchform, 'generalbox', 'course_search_options'); - $displaylist = array(); - $parentlist = array(); - require_once($CFG->dirroot."/course/lib.php"); - if (file_exists($CFG->libdir.'/coursecatlib.php')) { - require_once($CFG->libdir.'/coursecatlib.php'); - $displaylist = coursecat::make_categories_list(''); - } else { - make_categories_list($displaylist, $parentlist, ''); - } + $displaylist = core_course_category::make_categories_list(''); $categoryselectlabel = html_writer::label(get_string('selectcoursecategory', 'turnitintooltwo'), 'create_course_category'); $categoryselect = html_writer::select($displaylist, 'create_course_category', '', array(), diff --git a/jquery/plugins.php b/jquery/plugins.php index 9f445f7d..196f7c78 100644 --- a/jquery/plugins.php +++ b/jquery/plugins.php @@ -19,9 +19,9 @@ $plugins = array( 'turnitintooltwo-dataTables' => array('files' => array('jquery.dataTables.js', 'jquery.dataTables.css')), 'turnitintooltwo-dataTables_plugins' => array('files' => array('jquery.dataTables.plugins.js')), - 'turnitintooltwo-turnitintooltwo' => array('files' => array('turnitintooltwo-2024032901.min.js')), - 'turnitintooltwo-turnitintooltwo_extra' => array('files' => array('turnitintooltwo_extra-2024032901.min.js')), - 'turnitintooltwo-turnitintooltwo_settings' => array('files' => array('turnitintooltwo_settings-2024032901.min.js')), + 'turnitintooltwo-turnitintooltwo' => array('files' => array('turnitintooltwo-2024100901.min.js')), + 'turnitintooltwo-turnitintooltwo_extra' => array('files' => array('turnitintooltwo_extra-2024100901.min.js')), + 'turnitintooltwo-turnitintooltwo_settings' => array('files' => array('turnitintooltwo_settings-2024100901.min.js')), 'turnitintooltwo-datatables_columnfilter' => array('files' => array('jquery.dataTables.columnFilter.js')), 'turnitintooltwo-cookie' => array('files' => array('jquery.cookie.js')), 'turnitintooltwo-colorbox' => array('files' => array('jquery.colorbox.js', 'colorbox.css')), diff --git a/jquery/turnitintooltwo-2024032901.min.js b/jquery/turnitintooltwo-2024032901.min.js deleted file mode 100644 index b9557a4e..00000000 --- a/jquery/turnitintooltwo-2024032901.min.js +++ /dev/null @@ -1 +0,0 @@ -(function($){$(window).on("load",function(){$(".js_required").show();$(".js_hide").hide();if($("#id_submissiontype").val()==1){$("#id_submissiontext").parent().parent().hide()}if($("#id_submissiontype").val()==2){$("#id_submissionfile").parent().parent().hide()}if($("#id_submissionagreement").length){$("#id_submitbutton").attr("disabled","disabled")}$("#id_submissionagreement").on("click",function(){if($(this).is(":checked")){$("#id_submissionagreement").each(function(){$("#id_submitbutton").removeAttr("disabled")})}else{$("#id_submissionagreement").each(function(){$("#id_submitbutton").attr("disabled","disabled")})}});$("div.mod_turnitintooltwo").parent().css("width","100%");$(document).on("click",".delete_paper",function(){var confirmstrname=$(this).data("confirm");var confirmstr=M.str.turnitintooltwo[confirmstrname].replace(/\\n/g,"\n");var confirmresult=confirm(confirmstr);if(confirmresult){$.ajax({type:"POST",url:"ajax.php",dataType:"html",data:{action:"deletesubmission",sesskey:M.cfg.sesskey,paper:$(this).data("paper"),part:$(this).data("part"),assignment:$(this).data("assignment")},success:function(){window.location.href=window.location.href}})}});$(document).on("click",".submit_nothing",function(){if($(this).hasClass("disabled")){return}$(this).addClass("disabled");var part_id=$(this).prop("id").split("_")[2];var student_id=$(this).prop("id").split("_")[3];var message=M.str.turnitintooltwo.submitnothingwarning.replace(/
/g,"\n").replace(/'/g,"'");var cookieseen=$.cookie("submitnothingaccept");if(cookieseen||confirm(message)){submitNothing(student_id,part_id)}else{$(this).removeClass("disabled")}return});$(document).on("change","#id_submissiontype",function(){if($("#id_submissiontype").val()==1){$("#id_submissiontext").parent().parent().hide();$("#id_submissionfile").parent().parent().show()}if($("#id_submissiontype").val()==2){$("#id_submissionfile").parent().parent().hide();$("#id_submissiontext").parent().parent().show()}});$(document).on("submit",".submission_form_container form",function(){if($("#id_submissiontitle").val().length>0){$("#general").slideUp("slow");$(".mod_turnitintooltwo .noticebox").slideUp("slow");$(".submission_form_container form").slideUp("slow");$("#submitting_loader").slideDown("slow");return true}else{return false}});if($(".toggle_summary").length>0){if(!$.cookie("show_summary_"+$("#assignment_id").html())){$.cookie("show_summary_"+$("#assignment_id").html(),true,{expires:30})}if($.cookie("show_summary_"+$("#assignment_id").html())=="true"){$(".hide_summary_"+$("#assignment_id").html()).show();$(".show_summary_"+$("#assignment_id").html()).hide();$(".introduction").slideDown()}else{$(".show_summary_"+$("#assignment_id").html()).show();$(".hide_summary_"+$("#assignment_id").html()).hide();$(".introduction").slideUp()}$(".toggle_summary i").click(function(){if($(this).hasClass("show_summary_"+$("#assignment_id").html())){$.cookie("show_summary_"+$("#assignment_id").html(),true,{expires:30});$(".show_summary_"+$("#assignment_id").html()).hide();$(".hide_summary_"+$("#assignment_id").html()).show();$(".introduction").slideDown()}else{$.cookie("show_summary_"+$("#assignment_id").html(),false,{expires:30});$(".show_summary_"+$("#assignment_id").html()).show();$(".hide_summary_"+$("#assignment_id").html()).hide();$(".introduction").slideUp()}})}if($(".toggle_peermarks").length>0){if(!$.cookie("show_peermarks_"+$("#assignment_id").html())){$.cookie("show_peermarks_"+$("#assignment_id").html(),true,{expires:30})}if($.cookie("show_peermarks_"+$("#assignment_id").html())=="true"){$(".hide_peermarks_"+$("#assignment_id").html()).show();$(".show_peermarks_"+$("#assignment_id").html()).hide();$(".peermark_assignments_container").slideDown()}else{$(".show_peermarks_"+$("#assignment_id").html()).show();$(".hide_peermarks_"+$("#assignment_id").html()).hide();$(".peermark_assignments_container").slideUp()}$(".toggle_peermarks i").click(function(){if($(this).hasClass("show_peermarks_"+$("#assignment_id").html())){$.cookie("show_peermarks_"+$("#assignment_id").html(),true,{expires:30});$(".show_peermarks_"+$("#assignment_id").html()).hide();$(".hide_peermarks_"+$("#assignment_id").html()).show();$(".peermark_assignments_container").slideDown()}else{$.cookie("show_peermarks_"+$("#assignment_id").html(),false,{expires:30});$(".show_peermarks_"+$("#assignment_id").html()).show();$(".hide_peermarks_"+$("#assignment_id").html()).hide();$(".peermark_assignments_container").slideUp()}})}$(document).on("click",".show_peermark_instructions, .hide_peermark_instructions",function(){var idStr=$(this).attr("id").split("_");if(idStr[0]=="show"){$("#show_peermark_instructions_"+idStr[3]).hide();$("#hide_peermark_instructions_"+idStr[3]).show();$("#peermark_instructions_"+idStr[3]).slideDown()}else{$("#show_peermark_instructions_"+idStr[3]).show();$("#hide_peermark_instructions_"+idStr[3]).hide();$("#peermark_instructions_"+idStr[3]).slideUp()}});showPartDatesBoxes();$(document).on("change","#id_numparts",function(){showPartDatesBoxes()});$(document).on("click",".splitter-lastname, .splitter-firstname",function(event){var node=$(event.target),isAscending=node.hasClass("sorting_asc"),currentsort="asc",sortby="desc",sortColumn=node.attr("data-col");if(!isAscending){currentsort="desc";sortby="asc"}node.closest(".mod_turnitintooltwo_submissions_data_table").DataTable().order([sortColumn,sortby]).draw();node.addClass("sorting_"+sortby).removeClass("sorting sorting_"+currentsort);node.parent().removeClass("sorting sorting_asc sorting_desc");node.siblings().removeClass("sorting_asc sorting_desc").addClass("sorting")});if($("#dataTable").length>0){$("#dataTable").dataTable()}if(typeof M.str.turnitintooltwo!=="undefined"){var dataTablesLang={sProcessing:''+M.str.turnitintooltwo.sprocessing+"",sZeroRecords:M.str.turnitintooltwo.szerorecords,sInfo:M.str.turnitintooltwo.sinfo,sSearch:M.str.turnitintooltwo.ssearch,sLengthMenu:M.str.turnitintooltwo.slengthmenu,oPaginate:{sNext:M.str.turnitintooltwo.snext,sPrevious:M.str.turnitintooltwo.sprevious}}}if($("#tabs").length>0){var activeTab=0;if($("#tab_position").length>0){activeTab=$("#tab_position").text()}$("#tabs").tabs({active:activeTab,show:function(){var table=$.fn.dataTable.fnTables(true);if(table.length>0){$(table).dataTable().fnAdjustColumnSizing()}}})}if($(".enrolledMembers").length>0){$(".enrolledMembers").dataTable({bProcessing:true,sAjaxSource:"ajax.php",aoColumnDefs:[{bSortable:false,sClass:"centered_cell",aTargets:[0]},{sClass:"left",aTargets:[1]}],oLanguage:dataTablesLang,fnServerData:function(sSource,aoData,fnCallback){$.ajax({dataType:"json",type:"POST",url:sSource,data:{action:"get_members",assignment:$("#assignment_id").html(),role:$("#user_role").html()},success:function(result){fnCallback(result)},error:function(data,response){$(".dataTables_processing").attr("style","visibility: hidden");$(".dataTables_empty").html(M.str.turnitintooltwo.membercheckerror)}})}})}var submissionsDataTableColumns=[];var visibleCols=[];var noOfColumns=$("table.mod_turnitintooltwo_submissions_data_table th").length/$("table.mod_turnitintooltwo_submissions_data_table").length;var notStudentView=$("table.mod_turnitintooltwo_submissions_data_table th.sorting_name").length>0?true:false;var showOrigReport=$("table.mod_turnitintooltwo_submissions_data_table th.creport").length>0?true:false;var useGradeMark=$("table.mod_turnitintooltwo_submissions_data_table th.cgrade").length>0?true:false;var multipleParts=$("table.mod_turnitintooltwo_submissions_data_table th.coverallgrade").length>0?true:false;if(notStudentView){for(var i=0;i=9&&!showOrigReport&&!useGradeMark||i>=11&&(!showOrigReport&&useGradeMark||showOrigReport&&!useGradeMark)||i>=13&&showOrigReport&&useGradeMark)){submissionsDataTableColumns.push({sClass:"center",bSortable:false});visibleCols.push(true)}else if(i==0||i==4||i==7||i==9&&showOrigReport||(i==9&&!showOrigReport||i==11&&useGradeMark)){submissionsDataTableColumns.push({bVisible:false});visibleCols.push(false)}}}else{for(var i=0;i=8&&!showOrigReport&&!useGradeMark||i>=10&&(!showOrigReport&&useGradeMark||showOrigReport&&!useGradeMark)||i>=12&&showOrigReport&&useGradeMark)){submissionsDataTableColumns.push({sClass:"center",bSortable:false});visibleCols.push(true)}else if(i==0||i==3||i==6||i==8&&showOrigReport||(i==8&&!showOrigReport||i==10&&useGradeMark)){submissionsDataTableColumns.push({bVisible:false});visibleCols.push(false)}}}var partTables=[];var refreshRequested=[];$("table.mod_turnitintooltwo_submissions_data_table").each(function(){var part_id=$(this).attr("id");refreshRequested[part_id]=0;partTables[part_id]=$("table#"+part_id).dataTable({bProcessing:true,aoColumns:submissionsDataTableColumns,aLengthMenu:[[10,25,50,100,-1],[10,25,50,100,"All"]],aaSorting:[[2,"asc"],[4,"asc"]],sAjaxSource:"ajax.php",oLanguage:dataTablesLang,sDom:'r<"mod_turnitintooltwo_listbar-container"<"top mod_turnitintooltwo_listbar clearfix"lf>><"dt_pagination clearfix"pi>t<"bottom"><"dt_pagination clearfix"pi>',fnServerData:function(sSource,aoData,fnCallback){$.ajax({dataType:"json",type:"POST",url:sSource,data:{action:"initialise_redraw"},success:function(result){disableEditingText(part_id);fnCallback(result);$("#"+part_id+"_processing").attr("style","visibility: visible");getSubmissions(partTables[part_id],$("#assignment_id").html(),part_id,0,refreshRequested,0)}})},bStateSave:true,fnStateSave:function(oSettings,oData){try{localStorage.setItem(part_id+"DataTables",JSON.stringify(oData))}catch(e){}},fnStateSaveParams:function(oSettings,oData){oData.abVisCols=visibleCols},fnStateLoad:function(oSettings){try{return JSON.parse(localStorage.getItem(part_id+"DataTables"))}catch(e){}},fnStateLoadParams:function(oSettings,oData){oData.abVisCols=visibleCols},fnDrawCallback:function(oSettings){initialiseDigitalReceipt();initialiseDVLaunchers("all",0,part_id,0);initialiseRefreshRow("all",0,part_id,0);initialiseUploadBox("all",0,0,0);initialiseZipDownloads(part_id);initialiseCheckboxes(0,part_id);initialiseUnanoymiseForm("all",0,0)}})});$("table.mod_turnitintooltwo_submissions_data_table").each(function(){var part_id=$(this).attr("id");refreshPeermarkAssignments(part_id,0)});if($(".messages_amount").length>0){refreshUserMessages()}$(".tii_table_functions").each(function(){var part_id=$(this).attr("id").split("tii_table_functions_")[1];var tii_table_functions=$("#tii_table_functions_"+part_id).html();$("#tii_table_functions_"+part_id).remove();$("#"+part_id+"_length").after(tii_table_functions);$(".mod_turnitintooltwo_messages_inbox").show();$("#refresh_"+part_id).show();$("#refreshing_"+part_id).hide()});var zip_downloads=$(".mod_turnitintooltwo_zip_downloads");$.each(zip_downloads,function(){var part_id=$(this).attr("id").split("_")[1];$(this).remove();$("#"+part_id+"_length").after($(this))});if($("#user_role").html()=="Learner"){$(".dataTables_length, .dataTables_filter, .dt_pagination").hide()}$(".mod_turnitintooltwo_refresh_link").click(function(){if($(this).is(":visible")){$(".mod_turnitintooltwo_refresh_link").hide();$(".mod_turnitintooltwo_refreshing_link").show();$("table.mod_turnitintooltwo_submissions_data_table").each(function(){refreshRequested[$(this).attr("id")]=1;partTables[$(this).attr("id")].fnReloadAjax();partTables[$(this).attr("id")].fnStandingRedraw()})}return false});if($("#turnitin_sync_all_grades").length>0){$(".turnitin_sync_grades").click(function(){$(".turnitin_sync_grades").hide();$(".turnitin_syncing_grades").show();$.ajax({type:"POST",url:M.cfg.wwwroot+"/mod/turnitintooltwo/ajax.php",dataType:"json",data:{action:"sync_all_submissions",assignment:$("#turnitin_sync_all_grades").data("turnitintooltwoid"),sesskey:M.cfg.sesskey},success:function(data){$(".turnitin_sync_grades").show();$(".turnitin_syncing_grades").hide()}})})}if($(".submission_failure_msg").length>0){window.parent.$(".upload_box").colorbox.resize({width:"800px",height:"240px"})}$(".enrol_link").click(function(){$("#enrolling_error").hide();$(".enrol_link").hide();$(".enrolling_container").show();$.ajax({type:"POST",url:"ajax.php",dataType:"html",data:{action:"enrol_all_students",assignment:$("#assignment_id").html(),sesskey:M.cfg.sesskey},success:function(data){window.location.href=window.location.href},error:function(data,response){$(".enrol_link").show();$(".enrolling_container").hide();$("#enrolling_error").show()}})});if($(".mod_turnitintooltwo_rubric_manager_launch").length>0){$(".mod_turnitintooltwo_rubric_manager_launch").colorbox({iframe:true,width:"832px",height:"682px",opacity:"0.7",className:"rubric_manager",transition:"none",onLoad:function(){lightBoxCloseButton();getLoadingGif()},onCleanup:function(){hideLoadingGif();if($(this).attr("id")!="rubric_manager_inbox_launch"){refreshRubricSelect()}$("#tii_close_bar").remove()}})}if($(".mod_turnitintooltwo_rubric_view_launch").length>0){$(".mod_turnitintooltwo_rubric_view_launch").colorbox({iframe:true,width:"832px",height:"682px",opacity:"0.7",className:"rubric_view",transition:"none",onLoad:function(){lightBoxCloseButton();getLoadingGif()},onCleanup:function(){$("#tii_close_bar").remove();hideLoadingGif()}})}$("#id_rubric, #id_plagiarism_rubric").mousedown(function(){if($('input[name="instance"]').val()!=""&&$('input[name="rubric_warning_seen"]').val()!="Y"){if(confirm(M.str.turnitintooltwo.changerubricwarning)){$('input[name="rubric_warning_seen"]').val("Y")}}});if($(".mod_turnitintooltwo_quickmark_manager_launch").length>0){$(".mod_turnitintooltwo_quickmark_manager_launch").colorbox({iframe:true,width:"770px",height:"600px",opacity:"0.7",className:"quickmark_manager",transition:"none",onLoad:function(){lightBoxCloseButton();getLoadingGif()},onCleanup:function(){$("#tii_close_bar").remove();hideLoadingGif()}})}if($(".tii_peermark_manager_launch").length>0){$(".tii_peermark_manager_launch").colorbox({iframe:true,width:"915px",height:"772px",opacity:"0.7",className:"peermark_manager",transition:"none",onLoad:function(){lightBoxCloseButton();getLoadingGif()},onCleanup:function(){$("#tii_close_bar").remove();hideLoadingGif()},onClosed:function(){var idStr=$(this).attr("id").split("_");refreshPeermarkAssignments(idStr[2],1)}})}if($(".tii_peermark_reviews_launch").length>0){$(".tii_peermark_reviews_launch").colorbox({iframe:true,width:"915px",height:"772px",opacity:"0.7",className:"peermark_reviews",transition:"none",onLoad:function(){lightBoxCloseButton();getLoadingGif()},onCleanup:function(){$("#tii_close_bar").remove();hideLoadingGif()}})}if($(".mod_turnitintooltwo_messages_inbox").length>0){$(".mod_turnitintooltwo_messages_inbox").colorbox({iframe:true,width:"772px",height:"772px",opacity:"0.7",className:"messages",transition:"none",closeButton:true,onLoad:function(){lightBoxCloseButton();getLoadingGif()},onCleanup:function(){$("#tii_close_bar").remove();hideLoadingGif()}})}if($(".mod_turnitintooltwo_nonsubmitters_link").length>0){$(".mod_turnitintooltwo_nonsubmitters_link").colorbox({iframe:true,width:"740px",height:"540px",opacity:"0.7",className:"nonsubmitters",transition:"none",closeButton:true,onLoad:function(){lightBoxCloseButton();getLoadingGif()},onCleanup:function(){$("#tii_close_bar").remove();hideLoadingGif()}})}if($(".mod_turnitintooltwo_nonsubmittersformsuccessmsg").length>0){hideLoadingGif();window.parent.$(".nonsubmitters").colorbox.resize({width:"740px",height:"120px"})}if($(".mod_turnitintooltwo_rubric_view_launch").length>0){$(".mod_turnitintooltwo_rubric_view_launch").colorbox({iframe:true,width:"832px",height:"682px",opacity:"0.7",className:"rubric_view",transition:"none",onLoad:function(){lightBoxCloseButton();getLoadingGif()},onCleanup:function(){$("#tii_close_bar").remove();hideLoadingGif()}})}$(document).on("click",".default_open, .origreport_open, .grademark_open",function(){var proceed=true;var idStr=$(this).attr("id").split("_");var due_date=$("#date_due_"+idStr[2]).html();var due_date_unix=moment(due_date).unix();var dvtype=idStr[0];var submission_id=idStr[1];var part_id=idStr[2];if(due_date_unix>moment().unix()){if($(this).hasClass("graded_warning")){if(!confirm(M.str.turnitintooltwo.resubmissiongradewarn)){proceed=false}}}if(proceed){dvWindow=window.open("","_blank");var loading='
';loading+='';loading+='

'+M.str.turnitintooltwo.loadingdv+"

";loading+="
";$(dvWindow.document.body).html(loading);$.ajax({type:"POST",url:M.cfg.wwwroot+"/mod/turnitintooltwo/ajax.php",dataType:"json",data:{action:dvtype,submission:submission_id,assignment:$("#assignment_id").html()},success:function(data){$(dvWindow.document.body).html(loading+data);dvWindow.document.forms[0].submit();dvWindow.document.close();checkDVClosed(part_id)}})}});if($("#id_rubric").length>0){refreshRubricSelect()}if(self!=top&&$("#view_context").html()=="box"){$("html").css("background","none")}else if(self!=top&&$("#view_context").html()=="box_solid"){$("html").css("background","#FFF")}$(".editable_postdue").on("click",function(){if($(this).data("anon")==1){alert(M.str.turnitintooltwo.postdate_warning)}});$(".max_marks_warning").on("click",function(){alert(M.str.turnitintooltwo.max_marks_warning)});if($(".editable_text").length>0){$.fn.editable.defaults.mode="inline";$.fn.editable.defaults.url="ajax.php";$.fn.editable.defaults.onblur="submit";$.fn.editable.defaults.showbuttons=false;$.fn.editable.defaults.ajaxOptions={dataType:"json"};$(".editable_text").editable({validate:function(value){if($(this).attr("id").indexOf("marks_")>=0&&(Math.floor(value)!=value||!$.isNumeric(value)||value.indexOf(".")!=-1)){return M.str.turnitintooltwo.maxmarkserror}},success:function(response,newValue){if(!response.success){return response.msg}else if(response.field=="maxmarks"){$("#refresh_"+response.partid).click();$.ajax({type:"POST",url:M.cfg.wwwroot+"/mod/turnitintooltwo/ajax.php",dataType:"json",data:{action:"sync_all_submissions",assignment:$("#assignment_id").html(),sesskey:M.cfg.sesskey}})}else if(response.field=="partname"){var tabId=$(this).parentsUntil(".ui-tabs-panel").parent().attr("aria-labelledby");$("#"+tabId).text(newValue)}}});if($("#export_options").hasClass("tii_export_options_hide")){$("#export_options").hide();$(".export_data").html('--')}$(".editable_postdue").on("click",function(){var $this=$(this);$.ajax({type:"POST",url:"ajax.php",dataType:"json",data:{action:"check_anon",part:$this.data("pk"),assignment:$("#assignment_id").html()},success:function(data){$this.data("anon",data["anon"]);$this.data("unanon",data["unanon"]);$this.data("submitted",data["submitted"])}})});var theDate=new Date;$(".editable_date").editable({type:"combodate",format:"YYYY-MM-DD HH:mm",viewformat:"D MMM YYYY, HH:mm",template:"D MMM YYYY HH:mm",combodate:{minuteStep:1,minYear:2e3,maxYear:theDate.getFullYear()+2,smartDays:true},validate:function(value){if(value.format("X")--')}else{$(".empty-dash").remove();$("#export_options").show()}}}});$(".editable_date").click(function(){if($(this).hasClass("editable-disabled")){return false}});$(".editable_date, .editable_text").on("shown",function(e,editable){var current=$(this).prop("id");$(".editable_date, .editable_text").not("#"+current).editable("disable");$(".submit_nothing").addClass("disabled")});$(".editable_date, .editable_text").on("hidden",function(){var current=$(this).prop("id");$(".editable_date, .editable_text").not("#"+current).editable("enable");$(".submit_nothing").removeClass("disabled")})}$("#inbox_form form, .launch_form form").submit();if($(".turnitin_eula_link").length>0){$(".turnitin_eula_link").colorbox({iframe:true,width:"766px",height:"596px",opacity:"0.7",className:"eula_view",scrolling:"false",onLoad:function(){getLoadingGif()},onComplete:function(){$(window).on("message",function(ev){var message=typeof ev.data==="undefined"?ev.originalEvent.data:ev.data;if(message=="turnitin_eula_declined"||message=="turnitin_eula_accepted"){$.ajax({type:"POST",url:M.cfg.wwwroot+"/mod/turnitintooltwo/ajax.php",dataType:"json",data:{action:"acceptuseragreement",message:message,sesskey:M.cfg.sesskey},success:function(data){window.location.reload()},error:function(data){window.location.reload()}})}})},onCleanup:function(){hideLoadingGif()}})}function enableEditingText(part_id){$("#tabs-"+part_id+" .editable_date, #tabs-"+part_id+" .editable_text").editable("enable")}function disableEditingText(part_id){$("#tabs-"+part_id+" .editable_date, #tabs-"+part_id+" .editable_text").editable("disable")}function getLoadingGif(){var img='
';$("#cboxOverlay").after(img);var top=$(window).scrollTop()+$(window).height()/2;$(".loading_gif").css("top",top+"px")}function hideLoadingGif(){$(".loading_gif").remove()}function getSubmissions(table,assignment_id,part_id,start,refresh_requested,total){$.ajax({dataType:"json",type:"POST",url:"ajax.php",async:true,data:{action:"get_submissions",assignment:assignment_id,part:part_id,start:start,refresh_requested:refresh_requested[part_id],sesskey:M.cfg.sesskey,total:total},success:function(result){eval(result);start=result.end;if(result.aaData.length>0){table.fnAddData(result.aaData)}if(result.end$(".mod_turnitintooltwo_submissions_data_table .refresh_row").length){$(".mod_turnitintooltwo_nonsubmitters_link").attr("style","display: block")}}},error:function(data,response){$("#"+part_id+"_processing").attr("style","visibility: hidden");$(".dataTables_empty").html(M.str.turnitintooltwo.tiisubmissionsgeterror)}})}function submitVisibility(){if($(".upload_box").data("user-type")==1||$(".upload_box").data("eula")==1){$(".upload_box").show()}else{$(".upload_box").hide()}}function refreshRubricSelect(){var rubricElementId=$("#id_rubric").length?"#id_rubric":"#id_plagiarism_rubric";var currentRubric=$(rubricElementId).val();$.ajax({dataType:"json",type:"POST",url:"../mod/turnitintooltwo/ajax.php",data:{action:"refresh_rubric_select",assignment:$('input[name="instance"]').val(),modulename:$('input[name="modulename"]').val(),course:$('input[name="course"]').val()},success:function(data){$($(rubricElementId)).empty();var options=data;$.each(options,function(i,val){if(!$.isNumeric(i)&&i!==""){var optgroup=$("");optgroup.attr("label",i);$.each(val,function(j,rubric){var option=$("");option.val(j);option.text(rubric);optgroup.append(option)});$(rubricElementId).append(optgroup)}else{$($(rubricElementId)).append($("