From c1314cef340f99fa8b19e776b08df7d1f72c96ae Mon Sep 17 00:00:00 2001 From: Thomas Fradet <t.fradet8@gmail.com> Date: Thu, 14 Feb 2019 18:31:47 +0100 Subject: [PATCH] maj 19-02-19 --- CHANGELOG.md | 7 +++++++ README.md | 4 +++- block_mahara_iena.php | 3 ++- entity/block_mahara_iena_connexion.php | 2 +- mahara_iena_link.php | 12 ++++++++++-- 5 files changed, 23 insertions(+), 5 deletions(-) create mode 100644 CHANGELOG.md diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..f905088 --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,7 @@ +# 19/02/19 + +## Création du groupe + +Le création d'un groupe Mahara n'envoie plus vers une page Mahara de type "groupe non trouvé". + +Le bouton de création manuelle de tous les groupes qui y inscrit également l'enseignenant a maintenant une fenêtre de confirmation afin d'éviter des usages accidentels. Ce bouton était et reste réservé aux enseignants, et pas aux enseignants non éditeurs. diff --git a/README.md b/README.md index bf50ab3..7916341 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,7 @@ This plugin is a block that provide a link between a Moodle course and a Mahara ## Compatibility -MOODLE 3.5 +MOODLE 3.5.4+ Stabilité : expérimental. @@ -30,6 +30,8 @@ Other : <iena-contact@univ-lorraine.fr>. ## Activation et paramétrage +Application folder : `mahara_iena`. + __Documentation à préciser :__ - création du user mahara avec les bons droits pour l'api - paramétrage du plugin dans moodle diff --git a/block_mahara_iena.php b/block_mahara_iena.php index f450f05..265b64e 100644 --- a/block_mahara_iena.php +++ b/block_mahara_iena.php @@ -171,7 +171,8 @@ class block_mahara_iena extends block_base } /* permet à l'enseignant de créer tous les groupes mahara en fonction des groupes moodle existant à un temps t. Ca n'inscrit pas les utilisateurs à part lui. */ if ( $has_groups && has_capability('moodle/course:update', $context = context_course::instance($COURSE->id), $USER->id) ) { - $this->content->text .= '<a href="'.$CFG->wwwroot . '/blocks/mahara_iena/mahara_iena_groups_all.php?courseid=' . $COURSE->id . '&create_all_groups=1" class="btn btn-block btn-warning iena-btn-big">Créer tous les groupes</a><p class="text-muted">Créer manuellement tous les groupes sur '.$CFG->mahara_alias.' liés à ce cours et s\'y inscrire en tant qu\'enseignant.</p>'; + $this->content->text .= '<a id="create_all_groups" href="'.$CFG->wwwroot . '/blocks/mahara_iena/mahara_iena_groups_all.php?courseid=' . $COURSE->id . '&create_all_groups=1" class="btn btn-block btn-warning iena-btn-big">Créer tous les groupes</a><p class="text-muted">Créer manuellement tous les groupes sur '.$CFG->mahara_alias.' liés à ce cours et s\'y inscrire en tant qu\'enseignant.</p>'; + $this->content->text .= "<script>document.getElementById('create_all_groups').onclick = function (e) {e.preventDefault(); var confirm_cr_gr = confirm('ATTENTION ! Voulez-vous vraiment créer manuellement tous les groupes liés à ce cours ET VOUS Y INSCRIRE ? Attention, vous serez inscrit dans tous les groupes. Si vous ne créez pas les groupes, ils seront créé automatiquement la première fois que un des membres de chaque groupe y accèdera. '); if (confirm_cr_gr) { window.location.href = e.target.href; } };</script>"; // $this->content->text .= '<a href="'.$CFG->wwwroot . '/blocks/mahara_iena/mahara_iena_groups_all.php?courseid=' . $COURSE->id . '" class="btn btn-block btn-warning iena-btn-big">S\'inscrire dans tous les groupes</a><p class="text-muted">S\'inscrire en tant qu\'enseignant dans tous les groupes '.$CFG->mahara_alias.' liés à ce cours.</p>'; /* POUR PLUS TARD : liste les groupes moodle liés à mahara qui n'existent plus dans moodle */ diff --git a/entity/block_mahara_iena_connexion.php b/entity/block_mahara_iena_connexion.php index 232ef1d..5798180 100644 --- a/entity/block_mahara_iena_connexion.php +++ b/entity/block_mahara_iena_connexion.php @@ -365,7 +365,7 @@ class block_mahara_iena_connexion $record->mahara_group_id = $res[0]->id; $record->moodle_group_id = $mo_user_group_id; $DB->insert_records('block_mahara_iena', array( 0 => $record ), false); - return true; + return $res[0]->id; } } else { diff --git a/mahara_iena_link.php b/mahara_iena_link.php index d6be944..6b491f3 100644 --- a/mahara_iena_link.php +++ b/mahara_iena_link.php @@ -34,12 +34,20 @@ if ( $_GET['connect_mahara'] == true ) { $all_right = $connexion->ensure_user_is_mahara_group_member_new($USER, $_GET['mahara_group'], $_GET['moodle_group']); - if ( ! $all_right ) { + if ( $all_right === false ) { $content .= '<div class="alert alert-danger">Erreur d\'ajout au groupe sur <a href="'.$CFG->base_mahara.'" target="_blank">'.$CFG->base_mahara.'</a>. </div>'; } else { /* connect to mahara and redirect to the mahara group */ $mnetauth = get_auth_plugin('mnet'); - $group_url = "/group/view.php?id=".$_GET['mahara_group']; + $ma_group = $_GET['mahara_group']; + if ( $ma_group == "" || $ma_group == NULL ) { + if ( gettype($all_right) == "integer" ) { + $ma_group = $all_right; + } else { + $content .= '<div class="alert alert-warning">La redirection vers le groupe a échouée, veuillez réessayer. </div>'; + } + } + $group_url = "/group/view.php?id=".$ma_group; $url = $mnetauth->start_jump_session($CFG->iena_mahara, $group_url); if (empty($url)) { $content .= '<div class="alert alert-danger">La connexion a échouée.</div>'; -- GitLab