var editorTemplate; function initScheduleEditor(id, eventType) { $.ajax({ type: 'GET', url: '/api/schedule/editor/init/'+eventType+'?api_token='+api_token, success: function (template) { $("#"+id).html(template); for (let pniveau = 1; pniveau <= 3; pniveau++) { for (let pperiode = 1; pperiode <= 3; pperiode++) { loadCourse(pniveau,pperiode); } } initAutoComplete("AutoCompleteUser"); initAutoCompleteOCOM('AutoCompleteOCOM'); }, error: function () { showNotification('error','Impossible d\'initialiser l\'éditeur d\'horaire ...','top', 'center') } }) $('.datetimepicker').datetimepicker({ icons: { time: "fa fa-clock-o", date: "fa fa-calendar", up: "fa fa-chevron-up", down: "fa fa-chevron-down", previous: 'fa fa-chevron-left', next: 'fa fa-chevron-right', today: 'fa fa-screenshot', clear: 'fa fa-trash', close: 'fa fa-remove' } }); $('.richeditor').trumbowyg({ lang: 'fr' }); $('select').selectpicker(); } function switchUseWeeklyMsg() { if($('#use_weekly_msg').is(":checked")) { $('#collmessagedelasemaine').removeClass('d-none'); } else { $('#collmessagedelasemaine').addClass('d-none'); } } function switchUseSchedule() { if($('#use_schedule').is(":checked")) { $('#collschedule').removeClass('d-none'); } else { $('#collschedule').addClass('d-none'); } } function loadCourse(periode,niveau) { $.ajax({ type: 'GET', url: '/api/schedule/editor/course/'+niveau+'/'+periode+'?api_token='+api_token, success: function (course) { $("#container-"+niveau+"-"+periode).html(course); }, error: function () { showNotification('error','Impossible de charger les cours ...','top', 'center') } }) } function loadEventType(date) { var selectInput = $('#type'); var id = selectInput.val(); $.ajax({ type: 'GET', url: '/api/schedule/editor/template/'+id+'?api_token='+api_token, success: function (data) { var result = JSON.parse(data); editorTemplate = result; initScheduleEditor("scheduleEditor",id) $.each(result, function (i, val) { if(i == "is_mandatory" || i == "use_schedule" || i == "use_weekly_msg") { if(val == 1) { $('#'+i).prop( "checked", true ); } else { $('#'+i).prop( "checked", false ); } switchUseSchedule(); switchUseWeeklyMsg(); } else if(i == "begin_time" || i == "end_time") { var foo = $('#'+i); var mdate = moment(date+" "+val); foo.data("DateTimePicker").destroy(); foo.datetimepicker({ icons: { time: "fa fa-clock-o", date: "fa fa-calendar", up: "fa fa-chevron-up", down: "fa fa-chevron-down", previous: 'fa fa-chevron-left', next: 'fa fa-chevron-right', today: 'fa fa-screenshot', clear: 'fa fa-trash', close: 'fa fa-remove' }, date: new Date(mdate) }); } else if(i == "weekly_msg_publication_time") { var foo = $('#'+i); var mdate = moment(date+" "+result["begin_time"]); mdate.subtract(5, 'days'); foo.data("DateTimePicker").destroy(); foo.datetimepicker({ icons: { time: "fa fa-clock-o", date: "fa fa-calendar", up: "fa fa-chevron-up", down: "fa fa-chevron-down", previous: 'fa fa-chevron-left', next: 'fa fa-chevron-right', today: 'fa fa-screenshot', clear: 'fa fa-trash', close: 'fa fa-remove' }, date: new Date(mdate) }); } else if(i == "location" || i == "name") { var foo = $('#'+i); foo.val(val); } else if(i == "admin_desc") { var foo = $('#'+i); foo.trumbowyg('html', val); } }); }, error: function () { showNotification('error','Impossible de charger le type d\'évenement ...','top', 'center') } }) } function updateCourseName(niveau, periode) { setTimeout(function(){ let val = $('#ocom_n'+niveau+'_p'+periode).val(); if(val != "") { $.ajax({ type: 'GET', url: '/api/ocom/'+val+'/name?api_token='+api_token, success: function (data) { if(data != null && data != "") { $('#name_n'+niveau+'_p'+periode).val(data); } }, error: function () { showNotification('error','Erreur impossible de charger l\'objectif de rendement ...','top', 'center') } }) } }, 100); } function selectCourseMode(mode, niveau, periode) { if(mode == "course") { $('#descContainer'+niveau+'-'+periode).addClass('d-none'); $('#isDoneContainer'+niveau+'-'+periode).removeClass('d-none'); $('#isDoneContainer'+niveau+'-'+periode).addClass('d-flex'); $('#OCOMContainer'+niveau+'-'+periode).removeClass('d-none'); $('#nameContainer'+niveau+'-'+periode).removeClass('d-none'); $('#modeSwitchC'+niveau+'-'+periode).addClass('active'); $('#modeSwitchO'+niveau+'-'+periode).removeClass('active'); } else { $('#descContainer'+niveau+'-'+periode).removeClass('d-none'); $('#isDoneContainer'+niveau+'-'+periode).addClass('d-none'); $('#isDoneContainer'+niveau+'-'+periode).removeClass('d-flex'); $('#OCOMContainer'+niveau+'-'+periode).addClass('d-none'); $('#nameContainer'+niveau+'-'+periode).addClass('d-none'); $('#modeSwitchC'+niveau+'-'+periode).removeClass('active'); $('#modeSwitchO'+niveau+'-'+periode).addClass('active'); } } function selectCourseModePeriode(mode,periode) { $.each(editorTemplate['schedule_model']['niveaux'], function (i, val) { selectCourseMode(mode,i+1,periode); }); } function selectCourseModeNiveau(mode,niveau) { $.each(editorTemplate['schedule_model']['periodes'], function (i, val) { selectCourseMode(mode,niveau,i+1); }); } function updatePlantext(toggle,id) { if($('#'+toggle).is(":checked")) { $('#'+id).removeClass('text-warning'); $('#'+id).addClass('text-success'); $('#'+id).html('Plan de cours remis') } else { $('#'+id).addClass('text-warning'); $('#'+id).removeClass('text-success'); $('#'+id).html('Plan de cours non remis') } }