From 183139d6554f62a729a30a0ebae388f84c261021 Mon Sep 17 00:00:00 2001 From: sokunthearithmakara Date: Wed, 24 Apr 2024 17:15:04 +0700 Subject: [PATCH] Version 1.0.6 --- ajax.php | 2 +- amd/build/custom.min.js | 2 +- amd/build/custom.min.js.map | 2 +- amd/src/custom.js | 6 +++--- db/access.php | 3 +++ templates/profilesummary.mustache | 2 +- version.php | 4 ++-- 7 files changed, 12 insertions(+), 9 deletions(-) diff --git a/ajax.php b/ajax.php index 2bda689..aa9aa2e 100644 --- a/ajax.php +++ b/ajax.php @@ -278,7 +278,7 @@ 'data-id' => $record->id)); $action .= html_writer::link('javascript:void(0)', - '' + '' . get_string('waitlist', 'enrol_gapply'), array('class' => 'dropdown-item menu-action action-button', 'data-action' => 'waitlist', diff --git a/amd/build/custom.min.js b/amd/build/custom.min.js index c0712cb..a6dbad9 100644 --- a/amd/build/custom.min.js +++ b/amd/build/custom.min.js @@ -1,3 +1,3 @@ -define("enrol_gapply/custom",["jquery","enrol_gapply/jszip","core/toast","enrol_gapply/jquery.dataTables","enrol_gapply/dataTables.bootstrap4","enrol_gapply/dataTables.select","enrol_gapply/select.bootstrap4","enrol_gapply/dataTables.buttons","enrol_gapply/buttons.bootstrap4","enrol_gapply/buttons.html5","enrol_gapply/dataTables.rowGroup","enrol_gapply/rowGroup.bootstrap4","enrol_gapply/buttons.colVis"],(function($,JSZip,toast){return window.JSZip=JSZip,{init:function(tab,id){$("body").on("click","a[data-type]",(function(e){var modal='");$("#applyfile").remove(),$("body").append(modal),$("#applyfileLabel").html($(this).text()),$("#applyfile").modal("show"),$(this).data("type").includes("image")?$("#applyfile .modal-body").html('')).removeClass("d-flex"):$(this).data("type").includes("video")?$("#applyfile .modal-body").html('')):$(this).data("type").includes("audio")?$("#applyfile .modal-body").html('')):$(this).data("type").includes("pdf")?$("#applyfile .modal-body").html('\n

').concat(M.util.get_string("cannotopenpdffile","enrol_gapply",$(this).data("url")),"

\n
")):$(this).data("type").includes("officedocument")||$(this).data("type").includes("msword")||$(this).data("type").includes("ms-excel")||$(this).data("type").includes("ms-powerpoint")||$(this).data("type").includes("openxmlformats")?$("#applyfile .modal-body").html('')):$(this).data("type").includes("text")||$(this).data("type").includes("csv")?$("#applyfile .modal-body").html('')):$("#applyfile .modal-body").html(''.concat(M.util.get_string("cannotopenfile","enrol_gapply",$(this).data("url")),"

")).removeClass("d-flex");var newURL=new URL($(this).data("url"));$("#applyfile").on("click","#forcedownloadbutton",(function(e){newURL.searchParams.append("forcedownload",1),window.open(newURL.toString())}))}));var timecreatedIndex=$("th").index($("th.timecreated")),profileFields=[];$("th.profilefield").each((function(index,element){var pr={index:$("th").index($(this)),text:$(this).text()};profileFields.push(pr)}));var option={ajax:{url:M.cfg.wwwroot+"/enrol/gapply/ajax.php"+"?id=".concat(id,"&action=getapplications&tab=").concat(tab,"&sesskey=").concat(M.cfg.sesskey),dataSrc:function(json){return json}},deferRender:!0,rowId:"id",dom:"<'d-flex align-items-start justify-content-between'<'d-flex align-items-start'Bl>f><'#filterregion.w-100 row'>t<'row'<'col-sm-6'i><'col-sm-6'p>>",buttons:[{extend:"copyHtml5",text:'',titleAttr:"",className:"btn btn-sm btn-alt-primary",messageTop:null,title:null,exportOptions:{columns:[".exportable"]}},{extend:"csvHtml5",text:'',titleAttr:"",className:"btn btn-sm btn-alt-primary",exportOptions:{columns:[".exportable"]}},{extend:"excelHtml5",text:'',titleAttr:"",className:"btn btn-sm btn-alt-primary",exportOptions:{columns:[".exportable"]}},{extend:"colvis",text:'',titleAttr:"",className:"btn btn-sm btn-alt-primary",columns:".colvis"}],language:{lengthMenu:"_MENU_",zeroRecords:M.util.get_string("nofound","enrol_gapply"),search:M.util.get_string("search","enrol_gapply"),info:M.util.get_string("datatableinfo","enrol_gapply"),infoEmpty:M.util.get_string("datatableinfoempty","enrol_gapply"),infoFiltered:M.util.get_string("datatableinfofiltered","enrol_gapply"),paginate:{first:M.util.get_string("first","enrol_gapply"),last:M.util.get_string("last","enrol_gapply"),next:M.util.get_string("next","enrol_gapply"),previous:M.util.get_string("previous","enrol_gapply")},select:{rows:{_:M.util.get_string("rowsselected","enrol_gapply")}}},order:[[timecreatedIndex,"desc"]],columnDefs:[{orderable:!1,className:"select-checkbox",targets:0,visible:!$("#gapplytable").hasClass("approved")},{targets:"userdetails",className:"text-truncate"},{targets:"inv",visible:!1},{targets:"noorder",orderable:!1}],initComplete:function(){$("#gapplytable").wrap('
'),$(".dataTables_length").addClass("mx-1"),$("#gapplytable").addClass("mx-n1"),$(".table-responsive").css("overflow","visible"),$("#gapplytable").removeClass("d-none"),$(".dataTables_filter").addClass("d-flex align-items-start float-right"),$('').insertAfter(".dataTables_filter label"),$("#filterregion").css("display","none"),profileFields.forEach((element=>{var index,text;$((index=element.index,text=element.text,'
\n
\n \n \n
\n
'))).appendTo("#filterregion")})),$('').insertAfter("#filters"),profileFields.forEach((element=>{$("#sortdropdown").append('').concat(element.text,""))})),$("#sortdropdown").append('').concat(M.util.get_string("timecreated","enrol_gapply"),'\n ').concat(M.util.get_string("desc","enrol_gapply"),'\n ').concat(M.util.get_string("asc","enrol_gapply"),""))}};$("#gapplytable").hasClass("approved")||(option.select={style:"os",selector:"td:first-child"});var selecteddata,table=$("#gapplytable").DataTable(option);$("body").on("keyup","#filterregion input",(function(){var index=$(this).data("index"),value=$(this).val();table.column(index).search(value,!1,!0).draw()})),$("body").on("click","#sortdropdown.dropdown-menu a",(function(){$(this).data("order")?($(".dropdown-menu a[data-order]").removeClass("active"),$(this).addClass("active")):($(".dropdown-menu a[data-col]").removeClass("active"),$(this).addClass("active"));var colIndex=$(".dropdown-menu a[data-col].active").data("col"),order=$(".dropdown-menu a[data-order].active").data("order");table.order([colIndex,order]).draw()}));let getRowData=(table,rows)=>{$(".action-button:not(.menu-action)").remove(),(selecteddata=table.rows({selected:!0}).data().toArray().map((row=>row[1]))).length>0?$("#gapplytable_length label").after('\n \n \n \n ')):$(".action-button:not(.menu-action)").remove()};table.on("select",(function(e,dt,type,indexes){getRowData(dt)})),table.on("deselect",(function(e,dt,type,indexes){getRowData(dt)})),$(document).on("click",".action-button",(function(){var action=$(this).data("action"),primarybutton="btn-success";if("waitlist"==action?primarybutton="btn-info":"reject"==action?primarybutton="btn-warning":"delete"==action&&(primarybutton="btn-danger"),$(this).hasClass("menu-action")&&(selecteddata=[$(this).data("id")]),"approve"==action)var getGroups=$.ajax({method:"POST",url:M.cfg.wwwroot+"/enrol/gapply/ajax.php",data:{action:"getgroups",id:$("#gapplytable").data("instance"),sesskey:M.cfg.sesskey},dataType:"json"});else getGroups=new Promise(((resolve,reject)=>{resolve([])}));getGroups.then((data=>{var groupoptions="";data.length>0&&(data.forEach((function(group){groupoptions+='
\n \n \n
")})),groupoptions='
\n \n
').concat(groupoptions,"
\n
"));var modal='");$("#approveModal").remove(),$("body").append(modal),$("#approveModal").modal("show"),$("#approveModal #proceed").click((function(){$("#approveModal").modal("hide"),$("#enrol-gapply-loading").toggleClass("d-none d-flex"),$.ajax({url:"/enrol/gapply/ajax.php",method:"POST",data:{action:action,ids:selecteddata.toString(),id:$("#gapplytable").data("instance"),groups:$("#approveModal input.groups:checked").map((function(){return this.value})).get().toString(),sesskey:M.cfg.sesskey},success:function(data){location.reload()},error:function(data){location.reload()}})}))}))})),$(document).on("click",".showuserdetail",(function(){$("#enrol-gapply-loading").toggleClass("d-none d-flex");var userid=$(this).data("userid"),applicationid=$(this).data("id"),status=$(this).data("statusformatted"),sts=$(this).data("status");selecteddata=[applicationid];var applicationtext=$(".applicationtext[data-id='"+applicationid+"']").html(),attachments=[];$('#gapplytable a.attachmentlink[data-id="'+applicationid+'"]').each((function(){var file={link:$(this).data("url"),filename:$(this).text(),type:$(this).data("type")};attachments.push(file)}));var select="";attachments.length>0&&(select='"),$.ajax({url:M.cfg.wwwroot+"/enrol/gapply/ajax.php?action=getuserbyid&id=".concat(id,"&userid=")+userid+"&sesskey="+M.cfg.sesskey,type:"GET"}).fail((response=>{var modal='");$("#userdetailModal").remove(),$("body").append(modal),$("#userdetailModal").modal("show"),"approved"==sts&&$("#userdetailModal .action-button").remove(),$("#enrol-gapply-loading").toggleClass("d-none d-flex"),$("#userdetailModal .select-input").html(select),$("#userdetailModal #applicationtext").html(applicationtext),$("#userdetailModal #currentstatus").html(status);$("#fileselect").change((function(){var url,type,name;url=$(this).val(),type=$(this).find(":selected").data("type"),name=$(this).find(":selected").text(),$(".fileview #viewer").html(name),type.includes("image")?$(".fileview #viewer").html('')):type.includes("video")?$(".fileview #viewer").html('')):type.includes("audio")?$(".fileview #viewer").html('')):type.includes("pdf")?$(".fileview #viewer").html('\n

').concat(M.util.get_string("cannotopenpdffile","enrol_gapply",url),"

\n
")):type.includes("officedocument")||type.includes("msword")||type.includes("ms-excel")||type.includes("ms-powerpoint")||type.includes("openxmlformats")?$(".fileview #viewer").html('')):type.includes("text")||type.includes("csv")?$(".fileview #viewer").html('')):$(".fileview #viewer").html(''.concat(M.util.get_string("cannotopenfile","enrol_gapply",url),"

")),$("#userdetailmodalLabel").html(name),$("#downloadbutton").attr("href",url)})),$("#fileselect").trigger("change")})).done((response=>{$("#enrol-gapply-loading").toggleClass("d-none d-flex"),window.console.log(response)}))})),$(document).on("click","#selectall",(function(){$(this).is(":checked")?table.rows({search:"applied"}).select():table.rows().deselect()}))}}})); +define("enrol_gapply/custom",["jquery","enrol_gapply/jszip","core/toast","enrol_gapply/jquery.dataTables","enrol_gapply/dataTables.bootstrap4","enrol_gapply/dataTables.select","enrol_gapply/select.bootstrap4","enrol_gapply/dataTables.buttons","enrol_gapply/buttons.bootstrap4","enrol_gapply/buttons.html5","enrol_gapply/dataTables.rowGroup","enrol_gapply/rowGroup.bootstrap4","enrol_gapply/buttons.colVis"],(function($,JSZip,toast){return window.JSZip=JSZip,{init:function(tab,id){$("body").on("click","a[data-type]",(function(e){var modal='");$("#applyfile").remove(),$("body").append(modal),$("#applyfileLabel").html($(this).text()),$("#applyfile").modal("show"),$(this).data("type").includes("image")?$("#applyfile .modal-body").html('')).removeClass("d-flex"):$(this).data("type").includes("video")?$("#applyfile .modal-body").html('')):$(this).data("type").includes("audio")?$("#applyfile .modal-body").html('')):$(this).data("type").includes("pdf")?$("#applyfile .modal-body").html('\n

').concat(M.util.get_string("cannotopenpdffile","enrol_gapply",$(this).data("url")),"

\n
")):$(this).data("type").includes("officedocument")||$(this).data("type").includes("msword")||$(this).data("type").includes("ms-excel")||$(this).data("type").includes("ms-powerpoint")||$(this).data("type").includes("openxmlformats")?$("#applyfile .modal-body").html('')):$(this).data("type").includes("text")||$(this).data("type").includes("csv")?$("#applyfile .modal-body").html('')):$("#applyfile .modal-body").html(''.concat(M.util.get_string("cannotopenfile","enrol_gapply",$(this).data("url")),"

")).removeClass("d-flex");var newURL=new URL($(this).data("url"));$("#applyfile").on("click","#forcedownloadbutton",(function(e){newURL.searchParams.append("forcedownload",1),window.open(newURL.toString())}))}));var timecreatedIndex=$("th").index($("th.timecreated")),profileFields=[];$("th.profilefield").each((function(index,element){var pr={index:$("th").index($(this)),text:$(this).text()};profileFields.push(pr)}));var option={ajax:{url:M.cfg.wwwroot+"/enrol/gapply/ajax.php"+"?id=".concat(id,"&action=getapplications&tab=").concat(tab,"&sesskey=").concat(M.cfg.sesskey),dataSrc:function(json){return json}},deferRender:!0,rowId:"id",dom:"<'d-flex align-items-start justify-content-between'<'d-flex align-items-start'Bl>f><'#filterregion.w-100 row'>t<'row'<'col-sm-6'i><'col-sm-6'p>>",buttons:[{extend:"copyHtml5",text:'',titleAttr:"",className:"btn btn-sm btn-alt-primary",messageTop:null,title:null,exportOptions:{columns:[".exportable"]}},{extend:"csvHtml5",text:'',titleAttr:"",className:"btn btn-sm btn-alt-primary",exportOptions:{columns:[".exportable"]}},{extend:"excelHtml5",text:'',titleAttr:"",className:"btn btn-sm btn-alt-primary",exportOptions:{columns:[".exportable"]}},{extend:"colvis",text:'',titleAttr:"",className:"btn btn-sm btn-alt-primary",columns:".colvis"}],language:{lengthMenu:"_MENU_",zeroRecords:M.util.get_string("nofound","enrol_gapply"),search:M.util.get_string("search","enrol_gapply"),info:M.util.get_string("datatableinfo","enrol_gapply"),infoEmpty:M.util.get_string("datatableinfoempty","enrol_gapply"),infoFiltered:M.util.get_string("datatableinfofiltered","enrol_gapply"),paginate:{first:M.util.get_string("first","enrol_gapply"),last:M.util.get_string("last","enrol_gapply"),next:M.util.get_string("next","enrol_gapply"),previous:M.util.get_string("previous","enrol_gapply")},select:{rows:{_:M.util.get_string("rowsselected","enrol_gapply")}}},order:[[timecreatedIndex,"desc"]],columnDefs:[{orderable:!1,className:"select-checkbox",targets:0,visible:!$("#gapplytable").hasClass("approved")},{targets:"userdetails",className:"text-truncate"},{targets:"inv",visible:!1},{targets:"noorder",orderable:!1}],initComplete:function(){$("#gapplytable").wrap('
'),$(".dataTables_length").addClass("mx-1"),$("#gapplytable").addClass("mx-n1"),$(".table-responsive").css("overflow","visible"),$("#gapplytable").removeClass("d-none"),$(".dataTables_filter").addClass("d-flex align-items-start float-right"),$('').insertAfter(".dataTables_filter label"),$("#filterregion").css("display","none"),profileFields.forEach((element=>{var index,text;$((index=element.index,text=element.text,'
\n
\n \n \n
\n
'))).appendTo("#filterregion")})),$('').insertAfter("#filters"),profileFields.forEach((element=>{$("#sortdropdown").append('').concat(element.text,""))})),$("#sortdropdown").append('').concat(M.util.get_string("timecreated","enrol_gapply"),'\n ').concat(M.util.get_string("desc","enrol_gapply"),'\n ').concat(M.util.get_string("asc","enrol_gapply"),""))}};$("#gapplytable").hasClass("approved")||(option.select={style:"os",selector:"td:first-child"});var selecteddata,table=$("#gapplytable").DataTable(option);$("body").on("keyup","#filterregion input",(function(){var index=$(this).data("index"),value=$(this).val();table.column(index).search(value,!1,!0).draw()})),$("body").on("click","#sortdropdown.dropdown-menu a",(function(){$(this).data("order")?($(".dropdown-menu a[data-order]").removeClass("active"),$(this).addClass("active")):($(".dropdown-menu a[data-col]").removeClass("active"),$(this).addClass("active"));var colIndex=$(".dropdown-menu a[data-col].active").data("col"),order=$(".dropdown-menu a[data-order].active").data("order");table.order([colIndex,order]).draw()}));let getRowData=(table,rows)=>{$(".action-button:not(.menu-action)").remove(),(selecteddata=table.rows({selected:!0}).data().toArray().map((row=>row[1]))).length>0?$("#gapplytable_length label").after('\n \n \n \n ')):$(".action-button:not(.menu-action)").remove()};table.on("select",(function(e,dt,type,indexes){getRowData(dt)})),table.on("deselect",(function(e,dt,type,indexes){getRowData(dt)})),$(document).on("click",".action-button",(function(){var action=$(this).data("action"),primarybutton="btn-success";if("waitlist"==action?primarybutton="btn-info":"reject"==action?primarybutton="btn-warning":"delete"==action&&(primarybutton="btn-danger"),$(this).hasClass("menu-action")&&(selecteddata=[$(this).data("id")]),"approve"==action)var getGroups=$.ajax({method:"POST",url:M.cfg.wwwroot+"/enrol/gapply/ajax.php",data:{action:"getgroups",id:$("#gapplytable").data("instance"),sesskey:M.cfg.sesskey},dataType:"json"});else getGroups=new Promise(((resolve,reject)=>{resolve([])}));getGroups.then((data=>{var groupoptions="";data.length>0&&(data.forEach((function(group){groupoptions+='
\n \n \n
")})),groupoptions='
\n \n
').concat(groupoptions,"
\n
"));var modal='");$("#approveModal").remove(),$("body").append(modal),$("#approveModal").modal("show"),$("#approveModal #proceed").click((function(){$("#approveModal").modal("hide"),$("#enrol-gapply-loading").toggleClass("d-none d-flex"),$.ajax({url:"/enrol/gapply/ajax.php",method:"POST",data:{action:action,ids:selecteddata.toString(),id:$("#gapplytable").data("instance"),groups:$("#approveModal input.groups:checked").map((function(){return this.value})).get().toString(),sesskey:M.cfg.sesskey},success:function(data){location.reload()},error:function(data){location.reload()}})}))}))})),$(document).on("click",".showuserdetail",(function(){$("#enrol-gapply-loading").toggleClass("d-none d-flex");var userid=$(this).data("userid"),applicationid=$(this).data("id"),status=$(this).data("statusformatted"),sts=$(this).data("status");selecteddata=[applicationid];var applicationtext=$(".applicationtext[data-id='"+applicationid+"']").html(),attachments=[];$('#gapplytable a.attachmentlink[data-id="'+applicationid+'"]').each((function(){var file={link:$(this).data("url"),filename:$(this).text(),type:$(this).data("type")};attachments.push(file)}));var select="";attachments.length>0&&(select='"),$.ajax({url:M.cfg.wwwroot+"/enrol/gapply/ajax.php?action=getuserbyid&id=".concat(id,"&userid=")+userid+"&sesskey="+M.cfg.sesskey,type:"GET"}).fail((response=>{var modal='");$("#userdetailModal").remove(),$("body").append(modal),$("#userdetailModal").modal("show"),"approved"==sts&&$("#userdetailModal .action-button").remove(),$("#enrol-gapply-loading").toggleClass("d-none d-flex"),$("#userdetailModal .select-input").html(select),$("#userdetailModal #applicationtext").html(applicationtext),$("#userdetailModal #currentstatus").html(status);$("#fileselect").change((function(){var url,type,name;url=$(this).val(),type=$(this).find(":selected").data("type"),name=$(this).find(":selected").text(),$(".fileview #viewer").html(name),type.includes("image")?$(".fileview #viewer").html('')):type.includes("video")?$(".fileview #viewer").html('')):type.includes("audio")?$(".fileview #viewer").html('')):type.includes("pdf")?$(".fileview #viewer").html('\n

').concat(M.util.get_string("cannotopenpdffile","enrol_gapply",url),"

\n
")):type.includes("officedocument")||type.includes("msword")||type.includes("ms-excel")||type.includes("ms-powerpoint")||type.includes("openxmlformats")?$(".fileview #viewer").html('')):type.includes("text")||type.includes("csv")?$(".fileview #viewer").html('')):$(".fileview #viewer").html(''.concat(M.util.get_string("cannotopenfile","enrol_gapply",url),"

")),$("#userdetailmodalLabel").html(name),$("#downloadbutton").attr("href",url)})),$("#fileselect").trigger("change")})).done((response=>{$("#enrol-gapply-loading").toggleClass("d-none d-flex"),window.console.log(response)}))})),$(document).on("click","#selectall",(function(){$(this).is(":checked")?table.rows({search:"applied"}).select():table.rows().deselect()}))}}})); //# sourceMappingURL=custom.min.js.map \ No newline at end of file diff --git a/amd/build/custom.min.js.map b/amd/build/custom.min.js.map index 8cdf54b..5788ee9 100644 --- a/amd/build/custom.min.js.map +++ b/amd/build/custom.min.js.map @@ -1 +1 @@ -{"version":3,"file":"custom.min.js","sources":["../src/custom.js"],"sourcesContent":["/* eslint-disable no-unused-vars */\n/* eslint-disable no-empty-function */\n/* eslint-disable no-undef */\n/* eslint-disable max-len */\n/**\n * Available modules not used: enrol_gapply/select2\n */\ndefine(\n [\n 'jquery',\n 'enrol_gapply/jszip',\n 'core/toast',\n 'enrol_gapply/jquery.dataTables',\n 'enrol_gapply/dataTables.bootstrap4',\n 'enrol_gapply/dataTables.select',\n 'enrol_gapply/select.bootstrap4',\n 'enrol_gapply/dataTables.buttons',\n 'enrol_gapply/buttons.bootstrap4',\n 'enrol_gapply/buttons.html5',\n 'enrol_gapply/dataTables.rowGroup',\n 'enrol_gapply/rowGroup.bootstrap4',\n 'enrol_gapply/buttons.colVis',\n ], function ($, JSZip, toast) {\n window.JSZip = JSZip;\n return {\n init: function (tab, id) {\n\n $(\"body\").on('click', 'a[data-type]', function (e) {\n var modal = `
\n
\n
\n
\n
\n \n
\n
\n
\n
\n ${M.util.get_string(\"download\", \"enrol_gapply\")}\n \n
\n
\n
\n
`;\n // Remove existing modal\n $(\"#applyfile\").remove();\n $(\"body\").append(modal);\n $(\"#applyfileLabel\").html($(this).text());\n $(\"#applyfile\").modal(\"show\");\n if ($(this).data(\"type\").includes(\"image\")) {\n $(\"#applyfile .modal-body\").html(``).removeClass(\"d-flex\");\n } else if ($(this).data(\"type\").includes(\"video\")) {\n $(\"#applyfile .modal-body\").html(``);\n } else if ($(this).data(\"type\").includes(\"audio\")) {\n $(\"#applyfile .modal-body\").html(``);\n } else if ($(this).data(\"type\").includes(\"pdf\")) {\n $(\"#applyfile .modal-body\").html(`\n

${M.util.get_string('cannotopenpdffile', 'enrol_gapply', $(this).data(\"url\"))}

\n
`);\n } else if ($(this).data(\"type\").includes(\"officedocument\") || $(this).data(\"type\").includes(\"msword\")\n || $(this).data(\"type\").includes(\"ms-excel\") || $(this).data(\"type\").includes(\"ms-powerpoint\") || $(this).data(\"type\").includes(\"openxmlformats\")) {\n $(\"#applyfile .modal-body\").html(``);\n } else if ($(this).data(\"type\").includes(\"text\") || $(this).data(\"type\").includes(\"csv\")) {\n $(\"#applyfile .modal-body\").html(``);\n } else {\n $(\"#applyfile .modal-body\").html(`${M.util.get_string('cannotopenfile', 'enrol_gapply', $(this).data(\"url\"))}

`).removeClass(\"d-flex\");\n }\n\n var newURL = new URL($(this).data(\"url\"));\n\n $(\"#applyfile\").on(\"click\", \"#forcedownloadbutton\", function (e) {\n newURL.searchParams.append(\"forcedownload\", 1);\n window.open(newURL.toString());\n });\n });\n\n var timecreatedIndex = $(\"th\").index($(\"th.timecreated\"));\n var profileFields = [];\n $(\"th.profilefield\").each(function (index, element) {\n var pr = {\n index: $(\"th\").index($(this)),\n text: $(this).text(),\n };\n profileFields.push(pr);\n });\n\n const renderFilterBox = (index, text) => {\n return `
\n
\n \n \n
\n
`;\n };\n\n var option = {\n ajax: {\n url: M.cfg.wwwroot + '/enrol/gapply/ajax.php' + `?id=${id}&action=getapplications&tab=${tab}&sesskey=${M.cfg.sesskey}`,\n dataSrc: function (json) {\n return json;\n },\n },\n deferRender: true,\n rowId: 'id',\n dom: `<'d-flex align-items-start justify-content-between'<'d-flex align-items-start'Bl>f><'#filterregion.w-100 row'>t<'row'<'col-sm-6'i><'col-sm-6'p>>`,\n buttons: [\n // Copy button\n {\n extend: \"copyHtml5\",\n text: '',\n titleAttr: \"\",\n className: \"btn btn-sm btn-alt-primary\",\n messageTop: null,\n title: null,\n exportOptions: {\n columns: ['.exportable']\n }\n },\n // Csv button\n {\n extend: \"csvHtml5\",\n text: '',\n titleAttr: \"\",\n className: \"btn btn-sm btn-alt-primary\",\n exportOptions: {\n columns: ['.exportable']\n }\n },\n // Excel button\n {\n extend: \"excelHtml5\",\n text: '',\n titleAttr: \"\",\n className: \"btn btn-sm btn-alt-primary\",\n exportOptions: {\n columns: ['.exportable']\n }\n },\n {\n extend: \"colvis\",\n text: '',\n titleAttr: \"\",\n className: \"btn btn-sm btn-alt-primary\",\n columns: '.colvis'\n },\n ],\n \"language\": {\n \"lengthMenu\": \"_MENU_\",\n \"zeroRecords\": M.util.get_string('nofound', \"enrol_gapply\"),\n \"search\": M.util.get_string('search', \"enrol_gapply\"),\n \"info\": M.util.get_string('datatableinfo', \"enrol_gapply\"),\n \"infoEmpty\": M.util.get_string('datatableinfoempty', \"enrol_gapply\"),\n \"infoFiltered\": M.util.get_string('datatableinfofiltered', \"enrol_gapply\"),\n \"paginate\": {\n \"first\": M.util.get_string('first', 'enrol_gapply'),\n \"last\": M.util.get_string('last', 'enrol_gapply'),\n \"next\": M.util.get_string('next', 'enrol_gapply'),\n \"previous\": M.util.get_string('previous', 'enrol_gapply')\n },\n select: {\n rows: {\n _: M.util.get_string('rowsselected', 'enrol_gapply'),\n }\n }\n },\n \"order\": [[timecreatedIndex, \"desc\"]],\n \"columnDefs\": [{\n orderable: false,\n className: 'select-checkbox',\n targets: 0,\n visible: $(\"#gapplytable\").hasClass(\"approved\") ? false : true\n },\n {\n targets: 'userdetails',\n className: 'text-truncate',\n },\n {\n \"targets\": 'inv',\n \"visible\": false,\n },\n {\n 'targets': 'noorder',\n 'orderable': false,\n }\n ],\n 'initComplete': function () {\n // Wrap the table in a div with overflow-x:auto\n $('#gapplytable').wrap('
');\n $('.dataTables_length').addClass('mx-1');\n $('#gapplytable').addClass('mx-n1');\n $('.table-responsive').css('overflow', 'visible');\n // Remove d-none class\n $('#gapplytable').removeClass('d-none');\n $(\".dataTables_filter\").addClass(\"d-flex align-items-start float-right\");\n $(``).insertAfter(\".dataTables_filter label\");\n $('#filterregion').css('display', 'none');\n profileFields.forEach((element) => {\n $(renderFilterBox(element.index, element.text)).appendTo(\"#filterregion\");\n });\n // Create sort dropdown\n $(`
\n \n
\n\n
\n
`).insertAfter(\"#filters\");\n profileFields.forEach((element) => {\n $('#sortdropdown').append(`${element.text}`);\n });\n $('#sortdropdown').append(`${M.util.get_string('timecreated', 'enrol_gapply')}
\n ${M.util.get_string('desc', \"enrol_gapply\")}\n ${M.util.get_string('asc', \"enrol_gapply\")}`);\n },\n };\n\n if (!$(\"#gapplytable\").hasClass(\"approved\")) {\n option.select = {\n style: 'os',\n selector: 'td:first-child'\n };\n }\n\n var table = $('#gapplytable').DataTable(option);\n\n // Handle filter event\n $('body').on('keyup', '#filterregion input', function () {\n var index = $(this).data('index');\n var value = $(this).val();\n table.column(index).search(value, false, true).draw();\n });\n\n // Handle sort event\n $(\"body\").on(\"click\", \"#sortdropdown.dropdown-menu a\", function () {\n // If sort order is selected\n if ($(this).data(\"order\")) {\n // Remove active class from all sort order options\n $(\".dropdown-menu a[data-order]\").removeClass(\"active\");\n // Add active class to the selected sort order option\n $(this).addClass(\"active\");\n // Set the sort order to the selected sort order\n } else {\n // If sort column is selected\n // remove active class from all sort column options\n $(\".dropdown-menu a[data-col]\").removeClass(\"active\");\n // Add active class to the selected sort column option\n $(this).addClass(\"active\");\n // Set the sort column to the selected sort column\n }\n // Get the sort column\n var colIndex = $(\".dropdown-menu a[data-col].active\").data(\"col\");\n // Get the sort order\n var order = $(\".dropdown-menu a[data-order].active\").data(\"order\");\n // Sort the table\n table.order([colIndex, order]).draw();\n });\n\n var selecteddata;\n\n let getRowData = (table, rows) => {\n $(\".action-button:not(.menu-action)\").remove();\n selecteddata = table.rows({ selected: true }).data().toArray().map(row => row[1]);\n if (selecteddata.length > 0) {\n $(\"#gapplytable_length label\").after(`\n \n \n \n `\n );\n } else {\n $(\".action-button:not(.menu-action)\").remove();\n }\n };\n\n table.on('select', function (e, dt, type, indexes) {\n getRowData(dt, indexes);\n });\n table.on('deselect', function (e, dt, type, indexes) {\n getRowData(dt, indexes);\n });\n\n $(document).on('click', '.action-button', function () {\n var action = $(this).data(\"action\");\n var primarybutton = \"btn-success\";\n if (action == \"waitlist\") {\n primarybutton = \"btn-info\";\n } else if (action == \"reject\") {\n primarybutton = \"btn-warning\";\n } else if (action == \"delete\") {\n primarybutton = \"btn-danger\";\n }\n if ($(this).hasClass(\"menu-action\")) {\n selecteddata = [$(this).data(\"id\")];\n }\n\n // If action is approve, we have to get groups first to show in the modal; otherwise, show modal.\n if (action == \"approve\") {\n // Get list of groups as a promise\n var getGroups = $.ajax({\n method: \"POST\",\n url: M.cfg.wwwroot + \"/enrol/gapply/ajax.php\",\n data: {\n action: \"getgroups\",\n id: $(\"#gapplytable\").data(\"instance\"),\n sesskey: M.cfg.sesskey,\n },\n dataType: \"json\",\n });\n } else {\n var getGroups = new Promise((resolve, reject) => {\n resolve([]);\n });\n }\n\n getGroups.then((data) => {\n var groupoptions = \"\";\n if (data.length > 0) {\n data.forEach(function (group) {\n // Render checkbox\n groupoptions += `
\n \n \n
`;\n });\n\n groupoptions = `
\n \n
${groupoptions}
\n
`;\n }\n\n var modal = `
\n
\n
\n
\n
${M.util.get_string(action + 'applications', 'enrol_gapply')}
\n \n
\n
\n

${M.util.get_string('areyousureyouwantto' + action, 'enrol_gapply')}

\n ${groupoptions}\n
\n
\n \n \n\n
\n
\n
\n
`;\n // Remove any existing modal\n $(\"#approveModal\").remove();\n $(\"body\").append(modal);\n $(\"#approveModal\").modal(\"show\");\n\n // Approve\n $(\"#approveModal #proceed\").click(function () {\n $(\"#approveModal\").modal(\"hide\");\n $(\"#enrol-gapply-loading\").toggleClass(\"d-none d-flex\");\n $.ajax({\n url: \"/enrol/gapply/ajax.php\",\n method: \"POST\",\n data: {\n action: action,\n ids: selecteddata.toString(),\n id: $(\"#gapplytable\").data(\"instance\"),\n groups: $(\"#approveModal input.groups:checked\").map(function () {\n return this.value;\n }).get().toString(),\n sesskey: M.cfg.sesskey,\n },\n success: function (data) {\n // Reload page\n location.reload();\n },\n error: function (data) {\n location.reload();\n }\n });\n });\n });\n });\n\n $(document).on('click', '.showuserdetail', function () {\n $(\"#enrol-gapply-loading\").toggleClass(\"d-none d-flex\");\n var userid = $(this).data(\"userid\");\n\n var applicationid = $(this).data(\"id\");\n var status = $(this).data(\"statusformatted\");\n var sts = $(this).data(\"status\");\n selecteddata = [applicationid];\n var applicationtext = $(\".applicationtext[data-id='\" + applicationid + \"']\").html();\n var attachments = [];\n $('#gapplytable a.attachmentlink[data-id=\"' + applicationid + '\"]').each(function () {\n var file = {\n 'link': $(this).data('url'),\n 'filename': $(this).text(),\n 'type': $(this).data('type'),\n };\n attachments.push(file);\n });\n var select = \"\";\n if (attachments.length > 0) {\n // Select input\n select = ``;\n }\n\n // AJAX request to get user details\n $.ajax({\n url: M.cfg.wwwroot + `/enrol/gapply/ajax.php?action=getuserbyid&id=${id}&userid=` + userid + '&sesskey=' + M.cfg.sesskey,\n type: 'GET'\n }).fail(response => {\n var modal = `
\n
\n
\n ${response.responseText}\n
\n
\n
`;\n // Remove any existing modal\n $(\"#userdetailModal\").remove();\n $(\"body\").append(modal);\n $(\"#userdetailModal\").modal(\"show\");\n if (sts == \"approved\") {\n $(\"#userdetailModal .action-button\").remove();\n }\n\n $(\"#enrol-gapply-loading\").toggleClass(\"d-none d-flex\");\n $(\"#userdetailModal .select-input\").html(select);\n $(\"#userdetailModal #applicationtext\").html(applicationtext);\n $(\"#userdetailModal #currentstatus\").html(status);\n let changefile = function (url, type, name) {\n $(\".fileview #viewer\").html(name);\n if (type.includes(\"image\")) {\n $(\".fileview #viewer\").html(``);\n } else if (type.includes(\"video\")) {\n $(\".fileview #viewer\").html(``);\n } else if (type.includes(\"audio\")) {\n $(\".fileview #viewer\").html(``);\n } else if (type.includes(\"pdf\")) {\n $(\".fileview #viewer\").html(`\n

${M.util.get_string('cannotopenpdffile', 'enrol_gapply', url)}

\n
`);\n } else if (type.includes(\"officedocument\") || type.includes(\"msword\")\n || type.includes(\"ms-excel\") || type.includes(\"ms-powerpoint\") || type.includes(\"openxmlformats\")) {\n $(\".fileview #viewer\").html(``);\n } else if (type.includes(\"text\") || type.includes(\"csv\")) {\n $(\".fileview #viewer\").html(``);\n } else {\n $(\".fileview #viewer\").html(`${M.util.get_string('cannotopenfile', 'enrol_gapply', url)}

`);\n }\n $(\"#userdetailmodalLabel\").html(name);\n $(\"#downloadbutton\").attr(\"href\", url);\n };\n\n $(\"#fileselect\").change(function () {\n changefile($(this).val(), $(this).find(\":selected\").data(\"type\"), $(this).find(\":selected\").text());\n });\n\n $(\"#fileselect\").trigger(\"change\");\n }).done(response => {\n $(\"#enrol-gapply-loading\").toggleClass(\"d-none d-flex\");\n window.console.log(response);\n });\n\n });\n\n $(document).on('click', '#selectall', function () {\n if ($(this).is(\":checked\")) {\n table.rows({\n search: 'applied'\n }).select();\n } else {\n table.rows().deselect();\n }\n });\n\n }\n\n };\n });"],"names":["define","$","JSZip","toast","window","init","tab","id","on","e","modal","M","util","get_string","remove","append","html","this","text","data","includes","removeClass","newURL","URL","searchParams","open","toString","timecreatedIndex","index","profileFields","each","element","pr","push","option","ajax","url","cfg","wwwroot","sesskey","dataSrc","json","deferRender","rowId","dom","buttons","extend","titleAttr","className","messageTop","title","exportOptions","columns","select","rows","_","orderable","targets","visible","hasClass","wrap","addClass","css","insertAfter","forEach","appendTo","style","selector","selecteddata","table","DataTable","value","val","column","search","draw","colIndex","order","getRowData","selected","toArray","map","row","length","after","dt","type","indexes","document","action","primarybutton","getGroups","method","dataType","Promise","resolve","reject","then","groupoptions","group","name","click","toggleClass","ids","groups","get","success","location","reload","error","userid","applicationid","status","sts","applicationtext","attachments","file","attachment","link","filename","fail","response","responseText","change","find","attr","trigger","done","console","log","is","deselect"],"mappings":"AAOAA,6BACI,CACI,SACA,qBACA,aACA,iCACA,qCACA,iCACA,iCACA,kCACA,kCACA,6BACA,mCACA,mCACA,gCACD,SAAUC,EAAGC,MAAOC,cACnBC,OAAOF,MAAQA,MACR,CACHG,KAAM,SAAUC,IAAKC,IAEjBN,EAAE,QAAQO,GAAG,QAAS,gBAAgB,SAAUC,OACxCC,8+CAasGC,EAAEC,KAAKC,WAAW,WAAY,6PAEjEF,EAAEC,KAAKC,WAAW,QAAS,iRAMlGZ,EAAE,cAAca,SAChBb,EAAE,QAAQc,OAAOL,OACjBT,EAAE,mBAAmBe,KAAKf,EAAEgB,MAAMC,QAClCjB,EAAE,cAAcS,MAAM,QAClBT,EAAEgB,MAAME,KAAK,QAAQC,SAAS,SAC9BnB,EAAE,0BAA0Be,yBAAkBf,EAAEgB,MAAME,KAAK,wCAAsCE,YAAY,UACtGpB,EAAEgB,MAAME,KAAK,QAAQC,SAAS,SACrCnB,EAAE,0BAA0Be,2BAAoBf,EAAEgB,MAAME,KAAK,wHAEtDlB,EAAEgB,MAAME,KAAK,QAAQC,SAAS,SACrCnB,EAAE,0BAA0Be,2BAAoBf,EAAEgB,MAAME,KAAK,wHAEtDlB,EAAEgB,MAAME,KAAK,QAAQC,SAAS,OACrCnB,EAAE,0BAA0Be,6BAAsBf,EAAEgB,MAAME,KAAK,oJAEtCR,EAAEC,KAAKC,WAAW,oBAAqB,eAAgBZ,EAAEgB,MAAME,KAAK,wEAEtFlB,EAAEgB,MAAME,KAAK,QAAQC,SAAS,mBAAqBnB,EAAEgB,MAAME,KAAK,QAAQC,SAAS,WACrFnB,EAAEgB,MAAME,KAAK,QAAQC,SAAS,aAAenB,EAAEgB,MAAME,KAAK,QAAQC,SAAS,kBAAoBnB,EAAEgB,MAAME,KAAK,QAAQC,SAAS,kBAChInB,EAAE,0BAA0Be,oHAC0Bf,EAAEgB,MAAME,KAAK,4GAE5DlB,EAAEgB,MAAME,KAAK,QAAQC,SAAS,SAAWnB,EAAEgB,MAAME,KAAK,QAAQC,SAAS,OAC9EnB,EAAE,0BAA0Be,oGACUf,EAAEgB,MAAME,KAAK,4IAGnDlB,EAAE,0BAA0Be,gEACLL,EAAEC,KAAKC,WAAW,iBAAkB,eAAgBZ,EAAEgB,MAAME,KAAK,iBAAeE,YAAY,cAGnHC,OAAS,IAAIC,IAAItB,EAAEgB,MAAME,KAAK,QAElClB,EAAE,cAAcO,GAAG,QAAS,wBAAwB,SAAUC,GAC1Da,OAAOE,aAAaT,OAAO,gBAAiB,GAC5CX,OAAOqB,KAAKH,OAAOI,sBAIvBC,iBAAmB1B,EAAE,MAAM2B,MAAM3B,EAAE,mBACnC4B,cAAgB,GACpB5B,EAAE,mBAAmB6B,MAAK,SAAUF,MAAOG,aACnCC,GAAK,CACLJ,MAAO3B,EAAE,MAAM2B,MAAM3B,EAAEgB,OACvBC,KAAMjB,EAAEgB,MAAMC,QAElBW,cAAcI,KAAKD,WAYnBE,OAAS,CACTC,KAAM,CACFC,IAAKzB,EAAE0B,IAAIC,QAAU,uCAAkC/B,0CAAiCD,wBAAeK,EAAE0B,IAAIE,SAC7GC,QAAS,SAAUC,aACRA,OAGfC,aAAa,EACbC,MAAO,KACPC,uJACAC,QAAS,CAEL,CACIC,OAAQ,YACR5B,KAAM,mCACN6B,UAAW,GACXC,UAAW,6BACXC,WAAY,KACZC,MAAO,KACPC,cAAe,CACXC,QAAS,CAAC,iBAIlB,CACIN,OAAQ,WACR5B,KAAM,uCACN6B,UAAW,GACXC,UAAW,6BACXG,cAAe,CACXC,QAAS,CAAC,iBAIlB,CACIN,OAAQ,aACR5B,KAAM,yCACN6B,UAAW,GACXC,UAAW,6BACXG,cAAe,CACXC,QAAS,CAAC,iBAGlB,CACIN,OAAQ,SACR5B,KAAM,sCACN6B,UAAW,GACXC,UAAW,6BACXI,QAAS,qBAGL,YACM,qBACCzC,EAAEC,KAAKC,WAAW,UAAW,uBAClCF,EAAEC,KAAKC,WAAW,SAAU,qBAC9BF,EAAEC,KAAKC,WAAW,gBAAiB,0BAC9BF,EAAEC,KAAKC,WAAW,qBAAsB,6BACrCF,EAAEC,KAAKC,WAAW,wBAAyB,yBAC/C,OACCF,EAAEC,KAAKC,WAAW,QAAS,qBAC5BF,EAAEC,KAAKC,WAAW,OAAQ,qBAC1BF,EAAEC,KAAKC,WAAW,OAAQ,yBACtBF,EAAEC,KAAKC,WAAW,WAAY,iBAE9CwC,OAAQ,CACJC,KAAM,CACFC,EAAG5C,EAAEC,KAAKC,WAAW,eAAgB,yBAIxC,CAAC,CAACc,iBAAkB,oBACf,CAAC,CACX6B,WAAW,EACXR,UAAW,kBACXS,QAAS,EACTC,SAASzD,EAAE,gBAAgB0D,SAAS,aAExC,CACIF,QAAS,cACTT,UAAW,iBAEf,SACe,eACA,GAEf,SACe,qBACE,iBAGD,WAEZ/C,EAAE,gBAAgB2D,KAAK,wCACvB3D,EAAE,sBAAsB4D,SAAS,QACjC5D,EAAE,gBAAgB4D,SAAS,SAC3B5D,EAAE,qBAAqB6D,IAAI,WAAY,WAEvC7D,EAAE,gBAAgBoB,YAAY,UAC9BpB,EAAE,sBAAsB4D,SAAS,wCACjC5D,uPAAiP8D,YAAY,4BAC7P9D,EAAE,iBAAiB6D,IAAI,UAAW,QAClCjC,cAAcmC,SAASjC,UA9GP,IAACH,MAAOV,KA+GpBjB,GA/Ga2B,MA+GKG,QAAQH,MA/GNV,KA+Gaa,QAAQb,0MA5GRU,mBAAUV,qIACsCU,+BAAsBA,mGA2GvDqC,SAAS,oBAG7DhE,ieAMC8D,YAAY,YACblC,cAAcmC,SAASjC,UACnB9B,EAAE,iBAAiBc,8EAAuEgB,QAAQH,mBAAUG,QAAQb,iBAExHjB,EAAE,iBAAiBc,8EAAuEY,8BAAqBhB,EAAEC,KAAKC,WAAW,cAAe,yKAClEF,EAAEC,KAAKC,WAAW,OAAQ,6HAClCF,EAAEC,KAAKC,WAAW,MAAO,2BAIlGZ,EAAE,gBAAgB0D,SAAS,cAC5BzB,OAAOmB,OAAS,CACZa,MAAO,KACPC,SAAU,uBAsCdC,aAlCAC,MAAQpE,EAAE,gBAAgBqE,UAAUpC,QAGxCjC,EAAE,QAAQO,GAAG,QAAS,uBAAuB,eACrCoB,MAAQ3B,EAAEgB,MAAME,KAAK,SACrBoD,MAAQtE,EAAEgB,MAAMuD,MACpBH,MAAMI,OAAO7C,OAAO8C,OAAOH,OAAO,GAAO,GAAMI,UAInD1E,EAAE,QAAQO,GAAG,QAAS,iCAAiC,WAE/CP,EAAEgB,MAAME,KAAK,UAEblB,EAAE,gCAAgCoB,YAAY,UAE9CpB,EAAEgB,MAAM4C,SAAS,YAKjB5D,EAAE,8BAA8BoB,YAAY,UAE5CpB,EAAEgB,MAAM4C,SAAS,eAIjBe,SAAW3E,EAAE,qCAAqCkB,KAAK,OAEvD0D,MAAQ5E,EAAE,uCAAuCkB,KAAK,SAE1DkD,MAAMQ,MAAM,CAACD,SAAUC,QAAQF,cAK/BG,WAAa,CAACT,MAAOf,QACrBrD,EAAE,oCAAoCa,UACtCsD,aAAeC,MAAMf,KAAK,CAAEyB,UAAU,IAAQ5D,OAAO6D,UAAUC,KAAIC,KAAOA,IAAI,MAC7DC,OAAS,EACtBlF,EAAE,6BAA6BmF,wJACiFzE,EAAEC,KAAKC,WAAW,UAAW,6MAC/BF,EAAEC,KAAKC,WAAW,WAAY,kNAC7BF,EAAEC,KAAKC,WAAW,SAAU,6MAC7BF,EAAEC,KAAKC,WAAW,SAAU,iEAG1IZ,EAAE,oCAAoCa,UAI9CuD,MAAM7D,GAAG,UAAU,SAAUC,EAAG4E,GAAIC,KAAMC,SACtCT,WAAWO,OAEfhB,MAAM7D,GAAG,YAAY,SAAUC,EAAG4E,GAAIC,KAAMC,SACxCT,WAAWO,OAGfpF,EAAEuF,UAAUhF,GAAG,QAAS,kBAAkB,eAClCiF,OAASxF,EAAEgB,MAAME,KAAK,UACtBuE,cAAgB,iBACN,YAAVD,OACAC,cAAgB,WACC,UAAVD,OACPC,cAAgB,cACC,UAAVD,SACPC,cAAgB,cAEhBzF,EAAEgB,MAAM0C,SAAS,iBACjBS,aAAe,CAACnE,EAAEgB,MAAME,KAAK,QAInB,WAAVsE,WAEIE,UAAY1F,EAAEkC,KAAK,CACnByD,OAAQ,OACRxD,IAAKzB,EAAE0B,IAAIC,QAAU,yBACrBnB,KAAM,CACFsE,OAAQ,YACRlF,GAAIN,EAAE,gBAAgBkB,KAAK,YAC3BoB,QAAS5B,EAAE0B,IAAIE,SAEnBsD,SAAU,cAGVF,UAAY,IAAIG,SAAQ,CAACC,QAASC,UAClCD,QAAQ,OAIhBJ,UAAUM,MAAM9E,WACR+E,aAAe,GACf/E,KAAKgE,OAAS,IACdhE,KAAK6C,SAAQ,SAAUmC,OAEnBD,mMAC+FC,MAAM5F,uCAA8B4F,MAAM5F,yHAChE4F,MAAM5F,gBAAO4F,MAAMC,oFAIhGF,8HAC8CvF,EAAEC,KAAKC,WAAW,eAAgB,0GACrCqF,oFAI3CxF,ugBAIqEC,EAAEC,KAAKC,WAAW4E,OAAS,eAAgB,8dAM1E9E,EAAEC,KAAKC,WAAW,sBAAwB4E,OAAQ,iFAClES,+RAGyFvF,EAAEC,KAAKC,WAAW,SAAU,2GAChG6E,wEAA+D/E,EAAEC,KAAKC,WAAW,UAAW,uNAO3IZ,EAAE,iBAAiBa,SACnBb,EAAE,QAAQc,OAAOL,OACjBT,EAAE,iBAAiBS,MAAM,QAGzBT,EAAE,0BAA0BoG,OAAM,WAC9BpG,EAAE,iBAAiBS,MAAM,QACzBT,EAAE,yBAAyBqG,YAAY,iBACvCrG,EAAEkC,KAAK,CACHC,IAAK,yBACLwD,OAAQ,OACRzE,KAAM,CACFsE,OAAQA,OACRc,IAAKnC,aAAa1C,WAClBnB,GAAIN,EAAE,gBAAgBkB,KAAK,YAC3BqF,OAAQvG,EAAE,sCAAsCgF,KAAI,kBACzChE,KAAKsD,SACbkC,MAAM/E,WACTa,QAAS5B,EAAE0B,IAAIE,SAEnBmE,QAAS,SAAUvF,MAEfwF,SAASC,UAEbC,MAAO,SAAU1F,MACbwF,SAASC,qBAO7B3G,EAAEuF,UAAUhF,GAAG,QAAS,mBAAmB,WACvCP,EAAE,yBAAyBqG,YAAY,qBACnCQ,OAAS7G,EAAEgB,MAAME,KAAK,UAEtB4F,cAAgB9G,EAAEgB,MAAME,KAAK,MAC7B6F,OAAS/G,EAAEgB,MAAME,KAAK,mBACtB8F,IAAMhH,EAAEgB,MAAME,KAAK,UACvBiD,aAAe,CAAC2C,mBACZG,gBAAkBjH,EAAE,6BAA+B8G,cAAgB,MAAM/F,OACzEmG,YAAc,GAClBlH,EAAE,0CAA4C8G,cAAgB,MAAMjF,MAAK,eACjEsF,KAAO,MACCnH,EAAEgB,MAAME,KAAK,gBACTlB,EAAEgB,MAAMC,YACZjB,EAAEgB,MAAME,KAAK,SAEzBgG,YAAYlF,KAAKmF,aAEjB/D,OAAS,GACT8D,YAAYhC,OAAS,IAErB9B,mEACA8D,YAAYnD,SAAQ,SAAUqD,YAC1BhE,qCAAgCgE,WAAW/B,yBAAgB+B,WAAWC,kBAASD,WAAWE,yBAE9FlE,qBAIJpD,EAAEkC,KAAK,CACHC,IAAKzB,EAAE0B,IAAIC,+DAA0D/B,eAAeuG,OAAS,YAAcnG,EAAE0B,IAAIE,QACjH+C,KAAM,QACPkC,MAAKC,eACA/G,6YAGkB+G,SAASC,iKAK/BzH,EAAE,oBAAoBa,SACtBb,EAAE,QAAQc,OAAOL,OACjBT,EAAE,oBAAoBS,MAAM,QACjB,YAAPuG,KACAhH,EAAE,mCAAmCa,SAGzCb,EAAE,yBAAyBqG,YAAY,iBACvCrG,EAAE,kCAAkCe,KAAKqC,QACzCpD,EAAE,qCAAqCe,KAAKkG,iBAC5CjH,EAAE,mCAAmCe,KAAKgG,QAiC1C/G,EAAE,eAAe0H,QAAO,WAhCP,IAAUvF,IAAKkD,KAAMc,KAAXhE,IAiCZnC,EAAEgB,MAAMuD,MAjCSc,KAiCFrF,EAAEgB,MAAM2G,KAAK,aAAazG,KAAK,QAjCvBiF,KAiCgCnG,EAAEgB,MAAM2G,KAAK,aAAa1G,OAhC5FjB,EAAE,qBAAqBe,KAAKoF,MACxBd,KAAKlE,SAAS,SACdnB,EAAE,qBAAqBe,yBAAkBoB,qCAClCkD,KAAKlE,SAAS,SACrBnB,EAAE,qBAAqBe,2BAAoBoB,qHAEpCkD,KAAKlE,SAAS,SACrBnB,EAAE,qBAAqBe,2BAAoBoB,qHAEpCkD,KAAKlE,SAAS,OACrBnB,EAAE,qBAAqBe,6BAAsBoB,8JAE5BzB,EAAEC,KAAKC,WAAW,oBAAqB,eAAgBuB,qEAEjEkD,KAAKlE,SAAS,mBAAqBkE,KAAKlE,SAAS,WACrDkE,KAAKlE,SAAS,aAAekE,KAAKlE,SAAS,kBAAoBkE,KAAKlE,SAAS,kBAChFnB,EAAE,qBAAqBe,oHACuBoB,sHAEvCkD,KAAKlE,SAAS,SAAWkE,KAAKlE,SAAS,OAC9CnB,EAAE,qBAAqBe,oGACOoB,sJAG9BnC,EAAE,qBAAqBe,gEACRL,EAAEC,KAAKC,WAAW,iBAAkB,eAAgBuB,cAEvEnC,EAAE,yBAAyBe,KAAKoF,MAChCnG,EAAE,mBAAmB4H,KAAK,OAAQzF,QAOtCnC,EAAE,eAAe6H,QAAQ,aAC1BC,MAAKN,WACJxH,EAAE,yBAAyBqG,YAAY,iBACvClG,OAAO4H,QAAQC,IAAIR,gBAK3BxH,EAAEuF,UAAUhF,GAAG,QAAS,cAAc,WAC9BP,EAAEgB,MAAMiH,GAAG,YACX7D,MAAMf,KAAK,CACPoB,OAAQ,YACTrB,SAEHgB,MAAMf,OAAO6E"} \ No newline at end of file +{"version":3,"file":"custom.min.js","sources":["../src/custom.js"],"sourcesContent":["/* eslint-disable no-unused-vars */\n/* eslint-disable no-empty-function */\n/* eslint-disable no-undef */\n/* eslint-disable max-len */\n/**\n * Available modules not used: enrol_gapply/select2\n */\ndefine(\n [\n 'jquery',\n 'enrol_gapply/jszip',\n 'core/toast',\n 'enrol_gapply/jquery.dataTables',\n 'enrol_gapply/dataTables.bootstrap4',\n 'enrol_gapply/dataTables.select',\n 'enrol_gapply/select.bootstrap4',\n 'enrol_gapply/dataTables.buttons',\n 'enrol_gapply/buttons.bootstrap4',\n 'enrol_gapply/buttons.html5',\n 'enrol_gapply/dataTables.rowGroup',\n 'enrol_gapply/rowGroup.bootstrap4',\n 'enrol_gapply/buttons.colVis',\n ], function ($, JSZip, toast) {\n window.JSZip = JSZip;\n return {\n init: function (tab, id) {\n\n $(\"body\").on('click', 'a[data-type]', function (e) {\n var modal = `
\n
\n
\n
\n
\n \n
\n
\n
\n
\n ${M.util.get_string(\"download\", \"enrol_gapply\")}\n \n
\n
\n
\n
`;\n // Remove existing modal\n $(\"#applyfile\").remove();\n $(\"body\").append(modal);\n $(\"#applyfileLabel\").html($(this).text());\n $(\"#applyfile\").modal(\"show\");\n if ($(this).data(\"type\").includes(\"image\")) {\n $(\"#applyfile .modal-body\").html(``).removeClass(\"d-flex\");\n } else if ($(this).data(\"type\").includes(\"video\")) {\n $(\"#applyfile .modal-body\").html(``);\n } else if ($(this).data(\"type\").includes(\"audio\")) {\n $(\"#applyfile .modal-body\").html(``);\n } else if ($(this).data(\"type\").includes(\"pdf\")) {\n $(\"#applyfile .modal-body\").html(`\n

${M.util.get_string('cannotopenpdffile', 'enrol_gapply', $(this).data(\"url\"))}

\n
`);\n } else if ($(this).data(\"type\").includes(\"officedocument\") || $(this).data(\"type\").includes(\"msword\")\n || $(this).data(\"type\").includes(\"ms-excel\") || $(this).data(\"type\").includes(\"ms-powerpoint\") || $(this).data(\"type\").includes(\"openxmlformats\")) {\n $(\"#applyfile .modal-body\").html(``);\n } else if ($(this).data(\"type\").includes(\"text\") || $(this).data(\"type\").includes(\"csv\")) {\n $(\"#applyfile .modal-body\").html(``);\n } else {\n $(\"#applyfile .modal-body\").html(`${M.util.get_string('cannotopenfile', 'enrol_gapply', $(this).data(\"url\"))}

`).removeClass(\"d-flex\");\n }\n\n var newURL = new URL($(this).data(\"url\"));\n\n $(\"#applyfile\").on(\"click\", \"#forcedownloadbutton\", function (e) {\n newURL.searchParams.append(\"forcedownload\", 1);\n window.open(newURL.toString());\n });\n });\n\n var timecreatedIndex = $(\"th\").index($(\"th.timecreated\"));\n var profileFields = [];\n $(\"th.profilefield\").each(function (index, element) {\n var pr = {\n index: $(\"th\").index($(this)),\n text: $(this).text(),\n };\n profileFields.push(pr);\n });\n\n const renderFilterBox = (index, text) => {\n return `
\n
\n \n \n
\n
`;\n };\n\n var option = {\n ajax: {\n url: M.cfg.wwwroot + '/enrol/gapply/ajax.php' + `?id=${id}&action=getapplications&tab=${tab}&sesskey=${M.cfg.sesskey}`,\n dataSrc: function (json) {\n return json;\n },\n },\n deferRender: true,\n rowId: 'id',\n dom: `<'d-flex align-items-start justify-content-between'<'d-flex align-items-start'Bl>f><'#filterregion.w-100 row'>t<'row'<'col-sm-6'i><'col-sm-6'p>>`,\n buttons: [\n // Copy button\n {\n extend: \"copyHtml5\",\n text: '',\n titleAttr: \"\",\n className: \"btn btn-sm btn-alt-primary\",\n messageTop: null,\n title: null,\n exportOptions: {\n columns: ['.exportable']\n }\n },\n // Csv button\n {\n extend: \"csvHtml5\",\n text: '',\n titleAttr: \"\",\n className: \"btn btn-sm btn-alt-primary\",\n exportOptions: {\n columns: ['.exportable']\n }\n },\n // Excel button\n {\n extend: \"excelHtml5\",\n text: '',\n titleAttr: \"\",\n className: \"btn btn-sm btn-alt-primary\",\n exportOptions: {\n columns: ['.exportable']\n }\n },\n {\n extend: \"colvis\",\n text: '',\n titleAttr: \"\",\n className: \"btn btn-sm btn-alt-primary\",\n columns: '.colvis'\n },\n ],\n \"language\": {\n \"lengthMenu\": \"_MENU_\",\n \"zeroRecords\": M.util.get_string('nofound', \"enrol_gapply\"),\n \"search\": M.util.get_string('search', \"enrol_gapply\"),\n \"info\": M.util.get_string('datatableinfo', \"enrol_gapply\"),\n \"infoEmpty\": M.util.get_string('datatableinfoempty', \"enrol_gapply\"),\n \"infoFiltered\": M.util.get_string('datatableinfofiltered', \"enrol_gapply\"),\n \"paginate\": {\n \"first\": M.util.get_string('first', 'enrol_gapply'),\n \"last\": M.util.get_string('last', 'enrol_gapply'),\n \"next\": M.util.get_string('next', 'enrol_gapply'),\n \"previous\": M.util.get_string('previous', 'enrol_gapply')\n },\n select: {\n rows: {\n _: M.util.get_string('rowsselected', 'enrol_gapply'),\n }\n }\n },\n \"order\": [[timecreatedIndex, \"desc\"]],\n \"columnDefs\": [{\n orderable: false,\n className: 'select-checkbox',\n targets: 0,\n visible: $(\"#gapplytable\").hasClass(\"approved\") ? false : true\n },\n {\n targets: 'userdetails',\n className: 'text-truncate',\n },\n {\n \"targets\": 'inv',\n \"visible\": false,\n },\n {\n 'targets': 'noorder',\n 'orderable': false,\n }\n ],\n 'initComplete': function () {\n // Wrap the table in a div with overflow-x:auto\n $('#gapplytable').wrap('
');\n $('.dataTables_length').addClass('mx-1');\n $('#gapplytable').addClass('mx-n1');\n $('.table-responsive').css('overflow', 'visible');\n // Remove d-none class\n $('#gapplytable').removeClass('d-none');\n $(\".dataTables_filter\").addClass(\"d-flex align-items-start float-right\");\n $(``).insertAfter(\".dataTables_filter label\");\n $('#filterregion').css('display', 'none');\n profileFields.forEach((element) => {\n $(renderFilterBox(element.index, element.text)).appendTo(\"#filterregion\");\n });\n // Create sort dropdown\n $(`
\n \n
\n\n
\n
`).insertAfter(\"#filters\");\n profileFields.forEach((element) => {\n $('#sortdropdown').append(`${element.text}`);\n });\n $('#sortdropdown').append(`${M.util.get_string('timecreated', 'enrol_gapply')}
\n ${M.util.get_string('desc', \"enrol_gapply\")}\n ${M.util.get_string('asc', \"enrol_gapply\")}`);\n },\n };\n\n if (!$(\"#gapplytable\").hasClass(\"approved\")) {\n option.select = {\n style: 'os',\n selector: 'td:first-child'\n };\n }\n\n var table = $('#gapplytable').DataTable(option);\n\n // Handle filter event\n $('body').on('keyup', '#filterregion input', function () {\n var index = $(this).data('index');\n var value = $(this).val();\n table.column(index).search(value, false, true).draw();\n });\n\n // Handle sort event\n $(\"body\").on(\"click\", \"#sortdropdown.dropdown-menu a\", function () {\n // If sort order is selected\n if ($(this).data(\"order\")) {\n // Remove active class from all sort order options\n $(\".dropdown-menu a[data-order]\").removeClass(\"active\");\n // Add active class to the selected sort order option\n $(this).addClass(\"active\");\n // Set the sort order to the selected sort order\n } else {\n // If sort column is selected\n // remove active class from all sort column options\n $(\".dropdown-menu a[data-col]\").removeClass(\"active\");\n // Add active class to the selected sort column option\n $(this).addClass(\"active\");\n // Set the sort column to the selected sort column\n }\n // Get the sort column\n var colIndex = $(\".dropdown-menu a[data-col].active\").data(\"col\");\n // Get the sort order\n var order = $(\".dropdown-menu a[data-order].active\").data(\"order\");\n // Sort the table\n table.order([colIndex, order]).draw();\n });\n\n var selecteddata;\n\n let getRowData = (table, rows) => {\n $(\".action-button:not(.menu-action)\").remove();\n selecteddata = table.rows({ selected: true }).data().toArray().map(row => row[1]);\n if (selecteddata.length > 0) {\n $(\"#gapplytable_length label\").after(`\n \n \n \n `\n );\n } else {\n $(\".action-button:not(.menu-action)\").remove();\n }\n };\n\n table.on('select', function (e, dt, type, indexes) {\n getRowData(dt, indexes);\n });\n table.on('deselect', function (e, dt, type, indexes) {\n getRowData(dt, indexes);\n });\n\n $(document).on('click', '.action-button', function () {\n var action = $(this).data(\"action\");\n var primarybutton = \"btn-success\";\n if (action == \"waitlist\") {\n primarybutton = \"btn-info\";\n } else if (action == \"reject\") {\n primarybutton = \"btn-warning\";\n } else if (action == \"delete\") {\n primarybutton = \"btn-danger\";\n }\n if ($(this).hasClass(\"menu-action\")) {\n selecteddata = [$(this).data(\"id\")];\n }\n\n // If action is approve, we have to get groups first to show in the modal; otherwise, show modal.\n if (action == \"approve\") {\n // Get list of groups as a promise\n var getGroups = $.ajax({\n method: \"POST\",\n url: M.cfg.wwwroot + \"/enrol/gapply/ajax.php\",\n data: {\n action: \"getgroups\",\n id: $(\"#gapplytable\").data(\"instance\"),\n sesskey: M.cfg.sesskey,\n },\n dataType: \"json\",\n });\n } else {\n var getGroups = new Promise((resolve, reject) => {\n resolve([]);\n });\n }\n\n getGroups.then((data) => {\n var groupoptions = \"\";\n if (data.length > 0) {\n data.forEach(function (group) {\n // Render checkbox\n groupoptions += `
\n \n \n
`;\n });\n\n groupoptions = `
\n \n
${groupoptions}
\n
`;\n }\n\n var modal = `
\n
\n
\n
\n
${M.util.get_string(action + 'applications', 'enrol_gapply')}
\n \n
\n
\n

${M.util.get_string('areyousureyouwantto' + action, 'enrol_gapply')}

\n ${groupoptions}\n
\n
\n \n \n\n
\n
\n
\n
`;\n // Remove any existing modal\n $(\"#approveModal\").remove();\n $(\"body\").append(modal);\n $(\"#approveModal\").modal(\"show\");\n\n // Approve\n $(\"#approveModal #proceed\").click(function () {\n $(\"#approveModal\").modal(\"hide\");\n $(\"#enrol-gapply-loading\").toggleClass(\"d-none d-flex\");\n $.ajax({\n url: \"/enrol/gapply/ajax.php\",\n method: \"POST\",\n data: {\n action: action,\n ids: selecteddata.toString(),\n id: $(\"#gapplytable\").data(\"instance\"),\n groups: $(\"#approveModal input.groups:checked\").map(function () {\n return this.value;\n }).get().toString(),\n sesskey: M.cfg.sesskey,\n },\n success: function (data) {\n // Reload page\n location.reload();\n },\n error: function (data) {\n location.reload();\n }\n });\n });\n });\n });\n\n $(document).on('click', '.showuserdetail', function () {\n $(\"#enrol-gapply-loading\").toggleClass(\"d-none d-flex\");\n var userid = $(this).data(\"userid\");\n\n var applicationid = $(this).data(\"id\");\n var status = $(this).data(\"statusformatted\");\n var sts = $(this).data(\"status\");\n selecteddata = [applicationid];\n var applicationtext = $(\".applicationtext[data-id='\" + applicationid + \"']\").html();\n var attachments = [];\n $('#gapplytable a.attachmentlink[data-id=\"' + applicationid + '\"]').each(function () {\n var file = {\n 'link': $(this).data('url'),\n 'filename': $(this).text(),\n 'type': $(this).data('type'),\n };\n attachments.push(file);\n });\n var select = \"\";\n if (attachments.length > 0) {\n // Select input\n select = ``;\n }\n\n // AJAX request to get user details\n $.ajax({\n url: M.cfg.wwwroot + `/enrol/gapply/ajax.php?action=getuserbyid&id=${id}&userid=` + userid + '&sesskey=' + M.cfg.sesskey,\n type: 'GET'\n }).fail(response => {\n var modal = `
\n
\n
\n ${response.responseText}\n
\n
\n
`;\n // Remove any existing modal\n $(\"#userdetailModal\").remove();\n $(\"body\").append(modal);\n $(\"#userdetailModal\").modal(\"show\");\n if (sts == \"approved\") {\n $(\"#userdetailModal .action-button\").remove();\n }\n\n $(\"#enrol-gapply-loading\").toggleClass(\"d-none d-flex\");\n $(\"#userdetailModal .select-input\").html(select);\n $(\"#userdetailModal #applicationtext\").html(applicationtext);\n $(\"#userdetailModal #currentstatus\").html(status);\n let changefile = function (url, type, name) {\n $(\".fileview #viewer\").html(name);\n if (type.includes(\"image\")) {\n $(\".fileview #viewer\").html(``);\n } else if (type.includes(\"video\")) {\n $(\".fileview #viewer\").html(``);\n } else if (type.includes(\"audio\")) {\n $(\".fileview #viewer\").html(``);\n } else if (type.includes(\"pdf\")) {\n $(\".fileview #viewer\").html(`\n

${M.util.get_string('cannotopenpdffile', 'enrol_gapply', url)}

\n
`);\n } else if (type.includes(\"officedocument\") || type.includes(\"msword\")\n || type.includes(\"ms-excel\") || type.includes(\"ms-powerpoint\") || type.includes(\"openxmlformats\")) {\n $(\".fileview #viewer\").html(``);\n } else if (type.includes(\"text\") || type.includes(\"csv\")) {\n $(\".fileview #viewer\").html(``);\n } else {\n $(\".fileview #viewer\").html(`${M.util.get_string('cannotopenfile', 'enrol_gapply', url)}

`);\n }\n $(\"#userdetailmodalLabel\").html(name);\n $(\"#downloadbutton\").attr(\"href\", url);\n };\n\n $(\"#fileselect\").change(function () {\n changefile($(this).val(), $(this).find(\":selected\").data(\"type\"), $(this).find(\":selected\").text());\n });\n\n $(\"#fileselect\").trigger(\"change\");\n }).done(response => {\n $(\"#enrol-gapply-loading\").toggleClass(\"d-none d-flex\");\n window.console.log(response);\n });\n\n });\n\n $(document).on('click', '#selectall', function () {\n if ($(this).is(\":checked\")) {\n table.rows({\n search: 'applied'\n }).select();\n } else {\n table.rows().deselect();\n }\n });\n\n }\n\n };\n });"],"names":["define","$","JSZip","toast","window","init","tab","id","on","e","modal","M","util","get_string","remove","append","html","this","text","data","includes","removeClass","newURL","URL","searchParams","open","toString","timecreatedIndex","index","profileFields","each","element","pr","push","option","ajax","url","cfg","wwwroot","sesskey","dataSrc","json","deferRender","rowId","dom","buttons","extend","titleAttr","className","messageTop","title","exportOptions","columns","select","rows","_","orderable","targets","visible","hasClass","wrap","addClass","css","insertAfter","forEach","appendTo","style","selector","selecteddata","table","DataTable","value","val","column","search","draw","colIndex","order","getRowData","selected","toArray","map","row","length","after","dt","type","indexes","document","action","primarybutton","getGroups","method","dataType","Promise","resolve","reject","then","groupoptions","group","name","click","toggleClass","ids","groups","get","success","location","reload","error","userid","applicationid","status","sts","applicationtext","attachments","file","attachment","link","filename","fail","response","responseText","change","find","attr","trigger","done","console","log","is","deselect"],"mappings":"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"} \ No newline at end of file diff --git a/amd/src/custom.js b/amd/src/custom.js index 5f6452e..5ef7b5f 100644 --- a/amd/src/custom.js +++ b/amd/src/custom.js @@ -131,7 +131,7 @@ define( // Csv button { extend: "csvHtml5", - text: '', + text: '', titleAttr: "", className: "btn btn-sm btn-alt-primary", exportOptions: { @@ -141,7 +141,7 @@ define( // Excel button { extend: "excelHtml5", - text: '', + text: '', titleAttr: "", className: "btn btn-sm btn-alt-primary", exportOptions: { @@ -275,7 +275,7 @@ define( if (selecteddata.length > 0) { $("#gapplytable_length label").after(` - + ` ); diff --git a/db/access.php b/db/access.php index e455f09..b40f8e1 100644 --- a/db/access.php +++ b/db/access.php @@ -27,10 +27,13 @@ $capabilities = array( 'enrol/gapply:config' => array( + 'captype' => 'write', 'contextlevel' => CONTEXT_COURSE, 'archetypes' => array( + 'editingteacher' => CAP_ALLOW, 'manager' => CAP_ALLOW, + ) ), diff --git a/templates/profilesummary.mustache b/templates/profilesummary.mustache index c294aa0..ecc0033 100644 --- a/templates/profilesummary.mustache +++ b/templates/profilesummary.mustache @@ -40,7 +40,7 @@ + data-original-title="{{#str}}waitlist,enrol_gapply{{/str}}">