diff --git a/amd/build/header.js b/amd/build/header.js index 26243b736c3cfbb0894f09ef68066247745ba0e6..354768fb65c2e25137cdd8ebc4d7c490b9456894 100644 --- a/amd/build/header.js +++ b/amd/build/header.js @@ -27,7 +27,6 @@ define(['jquery', 'core/ajax', 'core/str'], return{ registerHeader:function(){ - console.log("par ici ?"); var heightWrapper= $("#summary-wrapper").css("height"); if(parseInt(heightWrapper, 10) >= 144){ @@ -62,10 +61,17 @@ define(['jquery', 'core/ajax', 'core/str'], $("#button-collapse").hide(); } var menu=$("#drawermenu .nav.navbar"); - url=window.location.search; - console.log(url) - menu.append("<li class='nav-item'><a class='nav-link' href='"+url+"/course/format/iena/suivi_unit.php?courseid=3§ionid=0&groupid=0'><i class='icon fa fa-table fa-fw' title='Notes'></i></a></li>"); - + url=window.location.origin+window.location.pathname; + split=url.split('/'); + fullurl=""; + for(var i=0; i<split.length-1; i++){ + fullurl+=split[i]+"/"; + } + urlParams = new URLSearchParams(window.location.search); + course=urlParams.get('id'); + fullurl+='format/iena/suivi_unit.php?courseid='+course+'§ionid=0&groupid=0'; + menu.append("<li class='nav-item'><a class='nav-link' href='"+fullurl+"'><i class='icon fa fa-tasks fa-fw' title='Suivi global'></i></a></li>"); + $("#drawermenu .nav.navbar .nav-item .nav-link").css('padding', "0.5rem 0.8rem"); } diff --git a/amd/build/suivi-table.js b/amd/build/suivi-table.js index 15ba3a92c0fd16756d43184291a4fd80d863f62b..e43d9b419e92552b6e133660212b4e18177b740a 100644 --- a/amd/build/suivi-table.js +++ b/amd/build/suivi-table.js @@ -41,13 +41,14 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], }, //Si l'option de détails au clic est activée, on register l'événement du clic registerDetailsClick:function(){ - completeUrl="http://localhost/moodle4/moodle/course/format/iena/suivi_unit.php?courseid=3§ionid=7&groupid=0&filter=%E2%89%A50"; + completeUrl=window.location.href; + $(".pointer-help").addClass("hover-details"); $(".pointer-help").on("click", function(e){ e.stopPropagation(); idmodule=$(this).data("module"); idetudiant=$(this).parent().data("userid"); nometudiant=$(this).siblings('.third-column-iena')[0].innerHTML; - console.log(nometudiant); + //$('#myModal').modal('show'); //$('#myModal').modal('hide'); @@ -57,11 +58,8 @@ define(['jquery', 'core/ajax', 'core/templates', 'core/str'], type: 'post', success: function(request) { parsedrequest=JSON.parse(request) - console.log(parsedrequest); parsedrequest["student"]=nometudiant; - //$("#modal-content").html(parsedrequest["completioninfos"]); - //data=calcPercentage(JSON.parse(request)); //On récupère les détails, on va les donner à la modale // templates.render('format_iena/modal-details', parsedrequest) diff --git a/classes/form/edittable_form.php b/classes/form/edittable_form.php index a5543dc6c557b39194acb5ac6f1e2f7a440b42d5..2e699cc63405f0d4ade167acd98cd700ab5739b5 100644 --- a/classes/form/edittable_form.php +++ b/classes/form/edittable_form.php @@ -32,7 +32,15 @@ class edittable_form extends moodleform { $mform->addHelpButton('groups', 'display_groups', 'format_iena'); $mform->setDefault('display_groups', $display_groups['value']); + + $radioarray = array(); + $radioarray[] = $mform->createElement('advcheckbox', 'display_details', get_string('enable')); + $mform->addGroup($radioarray, 'details', get_string('display_details', 'format_iena'), array(' '), false); + $mform->addHelpButton('details', 'display_details', 'format_iena'); + $mform->setDefault('display_details', $display_details['value']); + + /*$radioarray = array(); $radioarray[] = $mform->createElement('advcheckbox', 'display_custom', get_string('enable')); $mform->addGroup($radioarray, 'custom', get_string('display_custom', 'format_iena'), array(' '), false); $mform->addHelpButton('custom', 'display_custom', 'format_iena'); @@ -42,13 +50,7 @@ class edittable_form extends moodleform { $radioarray[] = $mform->createElement('advcheckbox', 'display_status', get_string('enable')); $mform->addGroup($radioarray, 'status', get_string('display_status', 'format_iena'), array(' '), false); $mform->addHelpButton('status', 'display_status', 'format_iena'); - $mform->setDefault('display_status', $display_status['value']); - - $radioarray = array(); - $radioarray[] = $mform->createElement('advcheckbox', 'display_details', get_string('enable')); - $mform->addGroup($radioarray, 'details', get_string('display_details', 'format_iena'), array(' '), false); - $mform->addHelpButton('details', 'display_details', 'format_iena'); - $mform->setDefault('display_details', $display_details['value']); + $mform->setDefault('display_status', $display_status['value']);*/ $this->add_action_buttons(true, get_string('savechangesanddisplay')); $mform->addElement('hidden', 'courseid', $courseid); diff --git a/classes/output/course_format_iena_table_option.php b/classes/output/course_format_iena_table_option.php index d8a52c9953c81b32cad97f627865d57c0f323e89..d4c3b5c95d8c38209a316c441680e155c35864de 100644 --- a/classes/output/course_format_iena_table_option.php +++ b/classes/output/course_format_iena_table_option.php @@ -46,9 +46,9 @@ class course_format_iena_table_option { public $userid; public $listoptions=array( self::DISPLAY_GROUPS=>array("value"=>0), - self::DISPLAY_CUSTOM=>array("value"=>0), + //self::DISPLAY_CUSTOM=>array("value"=>0), self::DISPLAY_DETAILS=>array("value"=>0), - self::DISPLAY_STATUS=>array("value"=>0) + //self::DISPLAY_STATUS=>array("value"=>0) ); diff --git a/classes/output/courseformat/content/section/header.php b/classes/output/courseformat/content/section/header.php index 843f6a552afdc4a2564052cbdbe7e7ab1d0720b0..bb96d832ef650489050fb98270f090015db72121 100644 --- a/classes/output/courseformat/content/section/header.php +++ b/classes/output/courseformat/content/section/header.php @@ -4,6 +4,7 @@ namespace format_iena\output\courseformat\content\section; use core_courseformat\output\local\content\section\header as header_base; use format_iena\entity\course_format_iena_completion; +use pix_icon; use context_course; class header extends header_base{ diff --git a/lang/en/format_iena.php b/lang/en/format_iena.php index 84f30210609b0c899c3aedc49ba763e01b86aee4..ae2972cbc296d7b318d05c0ba695eb22e1dec87a 100644 --- a/lang/en/format_iena.php +++ b/lang/en/format_iena.php @@ -82,10 +82,10 @@ $string['modalite_help'] = 'The "Distance" mode will allow you to define a date $string['loadingResults'] = "Loading results..."; $string['errorLoadingResults'] = "Students could not be retrieved, please contact an administrator"; $string['caption'] = "Caption"; -$string['status0'] = "Activity not completed"; -$string['status1'] = "Activity completed"; -$string['status2'] = "Activity completed and passed"; -$string['status3'] = "Activity completed but not passed"; +$string['status0'] = "Activity not done"; +$string['status1'] = "Activity done"; +$string['status2'] = "Graded activity passed"; +$string['status3'] = "Graded activity not passed"; $string["send_message_title"] = 'Sending message to {$a} people'; $string['display_course_infos'] = "Show/hide course information"; $string['my_progress'] = "My progress in the course: "; diff --git a/lang/fr/format_iena.php b/lang/fr/format_iena.php index c853f7808e384a6f78ff0b8345eaea9edfc528f1..5a846b6d3c13f89b92e4eaef91d20dc5780e10f1 100644 --- a/lang/fr/format_iena.php +++ b/lang/fr/format_iena.php @@ -82,10 +82,10 @@ $string['modalite_help'] = 'La modalité "Distance" vous permettra de définir u $string['loadingResults'] = "Chargement des résultats..."; $string['errorLoadingResults'] = "Les étudiants n'ont pas pu être chargés, veuillez contacter un administrateur."; $string['caption'] = "Légende"; -$string['status0'] = "Activité non complétée"; -$string['status1'] = "Activité complétée"; -$string['status2'] = "Activité complétée et validée"; -$string['status3'] = "Activité complétée non validée"; +$string['status0'] = "Activité non faite"; +$string['status1'] = "Activité faite"; +$string['status2'] = "Activité notée validée"; +$string['status3'] = "Activité notée non validée"; $string["send_message_title"] = 'Envoi d\'un message à {$a} personnes'; $string['display_course_infos'] = "Afficher/Masquer les informations du cours"; $string['my_progress'] = "Ma progression dans le cours : "; diff --git a/pix/bar-progress.png b/pix/bar-progress.png new file mode 100644 index 0000000000000000000000000000000000000000..63c8d80467832d3d4291465a1eaf12bbf2f3adfc Binary files /dev/null and b/pix/bar-progress.png differ diff --git a/pix/bar-progress_svg.svg b/pix/bar-progress_svg.svg new file mode 100644 index 0000000000000000000000000000000000000000..289b3af1aac13a0ad4e7940c948ced78af3a1f6e --- /dev/null +++ b/pix/bar-progress_svg.svg @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<svg id="Calque_1" data-name="Calque 1" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 512 512"> + <defs> + <style> + .cls-1 { + fill: white; + stroke-width: 0px; + } + </style> + </defs> + <path class="cls-1" d="M448,245v32H192v-32h256ZM48,181c-26.5,0-48,21.5-48,48v64c0,26.5,21.5,48,48,48h416c26.5,0,48-21.5,48-48v-64c0-26.5-21.5-48-48-48H48Z"/> +</svg> \ No newline at end of file diff --git a/styles.css b/styles.css index 79e1dc298ea2aca44cf7f229e2689c0b14902897..1374398c30debeae4457d9778323e94473b89ce5 100644 --- a/styles.css +++ b/styles.css @@ -228,6 +228,12 @@ ul.nav.navbar-nav.ml-auto { border-radius: 50px; } +.iena-icon-suivi img{ + margin-right: 0; + width: 13px; + height: 5px; +} + .right_info { margin-left: auto; display: flex; @@ -654,11 +660,11 @@ ul.nav.navbar-nav.ml-auto { display: none; position: absolute; top: -3rem; - left: -85px; + left: -135px; background-color: #333; color: #fafafa; - padding: 0 5px; - width: 200px; + padding: 0 10px; + width: 300px; height: 2.5rem; line-height: 2.5rem; border-radius: 0.15rem; @@ -668,6 +674,9 @@ ul.nav.navbar-nav.ml-auto { } .iena-h-prog-mod-item:hover span.popover-module { display: inline; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; } .iena-h-prog-mod-item span.popover-module:before { content:''; @@ -676,7 +685,7 @@ ul.nav.navbar-nav.ml-auto { position:absolute; left:0; top:0; - background:linear-gradient(90deg, rgba(51, 51, 51, 0) 160px, rgba(51, 51, 51, 1) 185px); + /*background:linear-gradient(90deg, rgba(51, 51, 51, 0) 220px, rgba(51, 51, 51, 1) 300px);*/ } /* Group select */ @@ -1202,6 +1211,16 @@ border-bottom: 1px solid #dee2e6; } +.activity-name:hover{ + text-decoration: none; + +} + +#table-body .hover-details:hover{ + cursor: pointer!important; + opacity: 0.8; + +} /******************************************************** Paramètres du tableau de suivi ******************************************/ #iena-suivi-edit .form-inline{ @@ -1218,4 +1237,13 @@ border-bottom: 1px solid #dee2e6; #iena-group-dropdown optgroup{ margin-left: 8px; + +} + +#details-modal{ + +} +#details-modal .modal-dialog{ + margin-top: 13vw; + width: 80vw; } \ No newline at end of file diff --git a/suivi_unit.php b/suivi_unit.php index 817e3699778d4e7b0c85da0a84abf126e82d5112..3deaa00b5e7cd9e81061468e7a6817e1b23c8f4e 100644 --- a/suivi_unit.php +++ b/suivi_unit.php @@ -167,6 +167,10 @@ function get_activities($completion, $activesectionid) { $displayname = format_string($activity->name, true, array('context' => $activity->context)); $module->displayname = strlen($displayname) > 50 ? mb_substr($displayname, 0, 49, 'UTF-8').'…' : $displayname; $module->section = $activity->section; + if($activity->get_url()){ + $module->link=$activity->get_url()->out(); + } + $modules[] = $module; if ($activity->section == $activesectionid || $activesectionid == 0 ) { $module->visible = true; @@ -231,7 +235,7 @@ function set_filters($data, $filters, $symbols, $sections, $groups, $currentuser function set_data($data, $modules, $progress, $groups, $activegroupsids, $activesectionid, $listoptions) { global $COURSE, $USER, $CFG; - $data["modules"] = $modules; + $data["modules"] = $modules;; $countmodules = count($data["modules"]); $data["students"] = format_progress($progress, $modules, $groups, $activegroupsids, $activesectionid); @@ -408,13 +412,11 @@ if (isset($_POST['action']) && $_POST['action'] == "details") { } $lastgrade=array(); - - if(!empty($gradesobject)){ + if(!empty($gradesobject) && !empty($gradesobject->items)){ $lastgradeobject=end($gradesobject->items[0]->grades); if($lastgradeobject){ $lastgrade["lastgrade"]=$lastgradeobject->str_long_grade; - error_log($lastgrade["lastgrade"]); $lastgrade["datelastgrade"]=$lastgradeobject->dategraded; } @@ -426,7 +428,6 @@ if (isset($_POST['action']) && $_POST['action'] == "details") { } /*$lastgrade["passgrade"]=$gradesobject->items[0]->gradepass ? number_format($gradesobject->items[0]->gradepass, 2, ',', '') : null;*/ - error_log(print_r($data["grades"], true)); } //en cas d'achèvement manuel on créé les petites pastilles vertes ou grises (terminé ou à faire) @@ -441,6 +442,7 @@ if (isset($_POST['action']) && $_POST['action'] == "details") { $data["completionstate"]=$completiondetails->get_overall_completion(); $data["competiondetails"] = $completiondetails; $data["activityname"]=$cm->name; + echo json_encode($data); } @@ -489,7 +491,7 @@ else if (isset($_POST['action']) && !empty($_POST['action'])) { $msg = $_GET["msg_success"]; $data["msg_success"] = $msg; } - + } diff --git a/templates/courseformat/content/section/header.mustache b/templates/courseformat/content/section/header.mustache index 44bd46dc8eee454d1669b0ec18a85ea99d30f035..32255101eac4b5d93ebe8bc23716d3fff4af4407 100644 --- a/templates/courseformat/content/section/header.mustache +++ b/templates/courseformat/content/section/header.mustache @@ -122,7 +122,7 @@ <div class="nb_pers set_height mobile-bouton-suivi"><i class="fa fa-tasks"></i></div> </a> <a href='{{section}}' style='color : white' data-toggle="tooltip" title="Suivi de la section"> - <div style="display:block;" class="nb_pers set_height iena-icon-suivi"><i class="fa fa-table"></i></div> + <div style="display:block;" class="nb_pers set_height iena-icon-suivi">{{#pix}} bar-progress, format_iena{{/pix}}</div> </a> diff --git a/templates/modal-details.mustache b/templates/modal-details.mustache index 41be416d56c0306b9399a7ee6f4d9a58c83ca170..acf0f88a407b173db29d442942f765c37208c3a2 100644 --- a/templates/modal-details.mustache +++ b/templates/modal-details.mustache @@ -14,7 +14,7 @@ <div><b>Etudiant : </b>{{student}}</div> <div><b>Activité : </b>{{activityname}}</div> - <label><b>Modalités d'achèvements :</b></label> + <label><b>Progression de l'étudiant dans les modalités d'achèvement :</b></label> <div id="modal-completion-infos">{{{completioninfos}}} </div> diff --git a/templates/suivi-table.mustache b/templates/suivi-table.mustache index 718e82e622c446f5562f50c32c4505f61a393440..58e09a60d6f8ac4d96ce2c63486f7a2f59c87d92 100644 --- a/templates/suivi-table.mustache +++ b/templates/suivi-table.mustache @@ -18,7 +18,12 @@ <th class="th-rotate" data-fullname="{{name}}" data-section="{{section}}"> <div> <span> - {{displayname}} + {{#link}} + <a href="{{link}}" class="activity-name" target="_blank">{{displayname}}</a> + {{/link}} + {{^link}} + {{displayname}} + {{/link}} </span> </div> </th> @@ -46,7 +51,7 @@ </td> {{#display_groups}} - <td class="third-column-iena row-header">{{groups}}</td> + <td class="group-column-iena row-header">{{groups}}</td> {{/display_groups}}