diff --git a/.gitignore b/.gitignore deleted file mode 100644 index 3e64672..0000000 --- a/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -*.swp -php_errors.log -version.php diff --git a/classes/observer/cad_observers.php b/classes/observer/cad_observers.php deleted file mode 100644 index cd312cc..0000000 --- a/classes/observer/cad_observers.php +++ /dev/null @@ -1,55 +0,0 @@ -'; - print_r($event); - echo 'Event attempt_submitted trigrred here'; - //exit(); - } - - public static function quiz_attempt_processed($event){ - // Notification in calender - echo 'Event quiz_attempt_processed trigrred here'; - } - - public static function user_graded($event){ - // Triggred on delete - // Notification in calender - echo 'Event User Graded trigrred here'; - echo '
';
-        print_r($event->get_grade());
-        /*   print_r($event->get_grade()->set_locked(1));*/
-        exit();
-
-        // require_once($CFG->libdir .'/gradelib.php');
-                // $gg = grade_grade::fetch(array('id'=>$grade->grade_id));
-                // $gg->set_locked(1);
-    }
-}
-
-
-
-// Déclencheur 
-
-// Assign submission
-// Quiz attempt submited
-
-/*
-    On informe le SGE
-*/
-
-
-// Une tache planifier
-/*
-    Creer une tache planifier qui permettera de bloquer toute les
-    |    enrol_etudiant->date_echeance_devoir (Pour la soumission du dernier devoir)
-    |   
-
-
-    Lock assignment_submission by User
-    UnLock assignment_submission by User
-*/    
\ No newline at end of file
diff --git a/classes/task/send_grades.php b/classes/task/send_grades.php
index 76b5d0c..282238f 100644
--- a/classes/task/send_grades.php
+++ b/classes/task/send_grades.php
@@ -18,7 +18,7 @@ class send_grades extends \core\task\scheduled_task {
         $where = "sge_id = 0";
         $grades = $DB->get_records_select('local_passerelle_transaction', $where);
 
-        echo count($grades);   
+
         foreach ($grades as $grade) {
             //syslog(LOG_DEBUG, '$grade : '. var_export($grade, true));
             $reponse = $this->saisie_note($grade->data);
diff --git a/db/services.php b/db/services.php
index db0c50b..a94567e 100644
--- a/db/services.php
+++ b/db/services.php
@@ -37,14 +37,6 @@ $functions = array(
         'description' => 'Inscrire un étudiant',
         'type'        => 'write',
     ),
-
-    'cad_inscription_etudiant_modifier' => array(
-        'classname'   => 'local_passerelle_inscriptions',
-        'methodname'  => 'inscription_etudiant_modifier',
-        'classpath'   => 'local/passerelle/ext_inscriptions.php',
-        'description' => "Modifier des params authorisé de l'inscription",
-        'type'        => 'write',
-    ),
     /*'cad_etudiant_inscrire_examen' => array(
         'classname'   => 'local_passerelle_inscriptions',
         'methodname'  => 'etudiant_inscrire_examen',
@@ -229,28 +221,6 @@ $functions = array(
         'description' => "Termine l'inscription d'un étudiant en supprimant tout se qui est relié à cette inscription-cours ",
         'type'        => 'write',
     ),
-    'cad_usager_modifier' => array(
-        'classname'   => 'local_passerelle_usagers',
-        'methodname'  => 'usager_modifier',
-        'classpath'   => 'local/passerelle/ext_usagers.php',
-        'description' => "Modifier la table user (usernaname-codepermanent, email-courriel ...) ",
-        'type'        => 'write',
-    ),
-    'cad_etudiant_changer_group' => array(
-        'classname'   => 'local_passerelle_inscriptions',
-        'methodname'  => 'etudiant_changer_group',
-        'classpath'   => 'local/passerelle/ext_inscriptions.php',
-        'description' => "Changer un étudiant de groupe.",
-        'type'        => 'write',
-    ),
-    'cad_inscription_soumission_nbrdevoir' => array(
-        'classname'   => 'local_passerelle_inscriptions',
-        'methodname'  => 'inscription_soumission_nbrdevoir',
-        'classpath'   => 'local/passerelle/ext_inscriptions.php',
-        'description' => "Retourne le nombre de devoir remis d'une inscription cours-group étudiant.",
-        'type'        => 'write',
-    ),
-
 );
 
 $services = array(
@@ -300,11 +270,8 @@ $services = array(
             'cad_etudiant_inactiver_cours',
             'cad_etudiant_ajouter_evenement',
             'cad_etudiant_modifier_evenement',
-            'cad_etudiant_terminer_cours',
-            'cad_usager_modifier', // task #1850
-            'cad_etudiant_changer_group', // task #1853
-            'cad_inscription_soumission_nbrdevoir', // task #1854
-            'cad_inscription_etudiant_modifier' // task #1855
+            'cad_etudiant_terminer_cours'
+
         ),
         'requiredcapability' => '',
         'restrictedusers' => 1,
diff --git a/ext_inscriptions.php b/ext_inscriptions.php
index 8fdff82..32551af 100644
--- a/ext_inscriptions.php
+++ b/ext_inscriptions.php
@@ -483,7 +483,7 @@ class local_passerelle_inscriptions extends local_passerelle_external_api {
         require_once($CFG->dirroot .'/group/lib.php');
 
         $debug_info = array();
-
+        
         ////
         // Instancier le plugin d'inscription
         $enrol = local_passerelle_inscriptions::_get_enrol_plugin('tuteur');
@@ -501,7 +501,7 @@ class local_passerelle_inscriptions extends local_passerelle_external_api {
         if (!array_key_exists(local_passerelle_external_api::ROLE_TUTEUR, $roles)) {
             throw new ws_exception("erreur_permission_insuffisante", "Permissions insuffisantes pour assigner le rôle de tuteur.");
         }
-  
+
         ////
         // Trouver l'instance du plugin d'inscription
         $enrolinstance = null;
@@ -527,7 +527,6 @@ class local_passerelle_inscriptions extends local_passerelle_external_api {
             throw new ws_exception("erreur_usager_inexistant", "L'usager {$inscription['codetuteur']} n'existe pas dans Moodle.");
         }
 
-
         ////
         // Trouver le groupe
         $num_cours = self::_get_course_option_version($inscription['cours'], $inscription['option'], $inscription['version']);
@@ -577,7 +576,6 @@ class local_passerelle_inscriptions extends local_passerelle_external_api {
 
 
         $timestart = DateTime::createFromFormat('Y-m-d', $inscription['date_debut']);
-
         // TODO: ajuster la date de fin d'inscription
         // $timeend = DateTime::createFromFormat('Y-m-d', $inscription['date_echeance_devoir']);
 
@@ -585,7 +583,6 @@ class local_passerelle_inscriptions extends local_passerelle_external_api {
         $data->userid = $tuteur->id;
         $data->courseid = $course->id;
         $data->date_inscription = $timestart->getTimestamp();
-
         $data->groupe = $inscription['groupe'];
         $data->temporaire = $inscription['temporaire'];
 
@@ -739,11 +736,6 @@ class local_passerelle_inscriptions extends local_passerelle_external_api {
         return strtoupper("$cours-$option-$version");
     }
 
-    private static function _get_option_from_shortname($shortname) {
-        $cours = explode('-', $shortname);
-        return $cours[3];
-    }
-
     
     /**
      * Task #626
@@ -1043,6 +1035,7 @@ class local_passerelle_inscriptions extends local_passerelle_external_api {
         else
             throw new ws_exception("erreur_etudiant_non_inscrit_err2", "enrol_instance non trouvé.");
         
+
         $data->serie_examen = $examen_serie['serie_examen'];
         $data->date_echeance_examen = $date_echeance_examen->getTimestamp();
 
@@ -1072,6 +1065,7 @@ class local_passerelle_inscriptions extends local_passerelle_external_api {
     public static function tuteur_remplacer_returns() {
         return new external_value(PARAM_BOOL, "Succès de l'opération : booléen");
     }
+
     public static function tuteur_remplacer($inscription) {
         global $DB, $CFG,$PAGE;
 
@@ -1096,7 +1090,7 @@ class local_passerelle_inscriptions extends local_passerelle_external_api {
         require_once($CFG->libdir .'/enrollib.php');
 
         $debug_info = array();
-       
+
         // Retrouver l'inscription courrante de l'ancien tuteur au cours-groupe
         $ue_current_data = $DB->get_record('enrol_tuteur', array('courseid'=>$course->id,'groupe'=>$inscription['groupe']));
 
@@ -1112,271 +1106,48 @@ class local_passerelle_inscriptions extends local_passerelle_external_api {
         // 1-4 Vérifier si le tuteur n'est pas lui même
         if($ue_current_data->userid == $tuteur->id)
             throw new ws_exception("erreur_tuteur_deja_inscrit", "Le tuteur est déjà inscrit.");
-        
+
         // 1-5 Vérifier si le groupe contient un tuteur
-        // Faire une exception si le coours-groupe n'as pas de tuteur 
+        // Faire une exception si le coours-groupe n'as pas de tuteur
         // ** Sinon si plusieurs tuteurs existes (Remplacer et désinscrire du groupes les autres tuteurs) **!
         // ** enrol_tuteur(tutorId,groupId,coursId) hase to be unique key  **!
 
-        
+
         // 2- Désinscrire le tuteur courrant du cours-groupe
         // Instancier le plugin tuteur
         $enrol = local_passerelle_inscriptions::_get_enrol_plugin('tuteur');
-        
+
         // Récupérer l'instance de l'inscription
         $enrolinstance = null;
         $enrolinstances = enrol_get_instances($data->courseid,true);
 
-      
+
         foreach($enrolinstances as $courseenrolinstance) {
             if ($courseenrolinstance->enrol == 'tuteur') {
                 $enrolinstance = $courseenrolinstance;
                 break;
             }
         }
-        
+
         if (empty($enrolinstance)) {
             throw new ws_exception("erreur_plugin_manquant", "Houston, we have a problem. Le plugin d'inscription etudiant a été enlevé du cours, mais l'étudiant y est inscrit. Ça ne devrait pas arriver. Il faut réactiver le plugin avant de pouvoir continuer.");
         }
-        
+
         require $CFG->dirroot.'/group/lib.php';
-                
+
         $group = groups_get_group_by_idnumber($course->id, $num_cours .'_'. $inscription['groupe']);
         if (!$group) {
             throw new ws_exception("erreur_groupe_inexistant", "Le groupe {$inscription['groupe']} n'existe pas.");
         }
         groups_remove_member($group->id, $ue_current_data->userid);
         $DB->delete_records('enrol_tuteur', array('id'=>$ue_current_data->id));
-        
+
         $inscription['crs_seq_no'] = $ue_current_data->crs_seq_no;
         $inscription['date_debut'] = date("Y-m-d", $ue_current_data->date_inscription);
         $inscription['temporaire'] = 0;
-        
+
         local_passerelle_inscriptions::tuteur_inscrire($inscription);
 
         return true;
     }
-
-    /**
-     * Task #1853
-     */
-    public static function etudiant_changer_group_parameters() {
-        return
-            new external_function_parameters(
-                array(
-                    'inc_seq_no' => new external_value(PARAM_TEXT, "Identifiant de l'inscription à modifier (inc_seq_no): ex 579170"),
-                    'groupe' => new external_value(PARAM_TEXT, "Nouvelle valeur du groupe: ex 16")
-                )
-            );
-
-    }
-    public static function etudiant_changer_group_returns() {
-        return new external_value(PARAM_TEXT, "1 si l'opération réussie, ou 0 si l'opération a échoué.");
-    }
-    public static function etudiant_changer_group($inc_seq_no, $groupe) {
-        global $CFG, $DB;
-        // Instancier le plugin d'inscription
-        $enrol = local_passerelle_inscriptions::_get_enrol_plugin('etudiant');
-
-        $old_group = $enrol->get_user_group($inc_seq_no);
-        if ($old_group == $groupe) {
-            return "1"; // Nothing to do
-        }
-
-        if (!$old_group){
-            return "0: inc_seq_no inexistant";
-        }
-
-        $enrol_et = $enrol->get_user_enrolment($inc_seq_no);
-
-        require $CFG->dirroot.'/group/lib.php';
-        $old_groupe_ob = $DB->get_record('groups', array('courseid'=> $enrol_et->courseid, 'name'=>$old_group) );
-        $new_groupe_ob = $DB->get_record('groups', array('courseid'=> $enrol_et->courseid, 'name'=>$groupe) );
-
-        // Faire la modification si tout est en ordre.
-        if ($old_groupe_ob && $new_groupe_ob) {
-            groups_remove_member($old_groupe_ob, $enrol_et->userid);
-            groups_add_member($new_groupe_ob, $enrol_et->userid);
-            if ($enrol->set_user_group($inc_seq_no, $groupe)) {
-                return "1";
-            }
-        }
-
-        return "0: group error.";
-
-
-    }
-
-    /**
-     * Task #1854
-     */
-    public static function inscription_soumission_nbrdevoir_parameters() {
-        return
-            new external_function_parameters(
-                array(
-                    'inc_seq_no' => new external_value(PARAM_TEXT, "Identifiant de l'inscription à modifier (inc_seq_no): ex 579170")
-                )
-            );
-
-    }
-    public static function inscription_soumission_nbrdevoir_returns() {
-        return new external_value(PARAM_INT, "nbr de soumissions pour cet identifiant");
-    }
-    public static function inscription_soumission_nbrdevoir($inc_seq_no) {
-
-        /**
-         * -- quiz query */
-        global $CFG, $DB;
-
-        // aller chercher les paramètres course et userid avec le $inc_seq_no
-        $enrol = local_passerelle_inscriptions::_get_enrol_plugin('etudiant');
-        $enrol_et = $enrol->get_user_enrolment($inc_seq_no);
-
-        $course_shortname = $DB->get_field('course','shortname', array('id'=>$enrol_et->courseid));
-        $option = local_passerelle_inscriptions::_get_option_from_shortname($course_shortname);
-
-        //TODO: valider qu'il n'y a pas d'autre option papier.
-        $options_papier = array(10, 14);
-
-        if (in_array($option, $options_papier)) {
-            // Pour ces cours-là, il n'y a pas de soumission. Le tuteur rentre la note
-            // une fois qu'il a corrigé le devoir papier envoyé par l'élève.
-            $query = " select  count(mag.id) nbr
-                        from {assign_grades} mag
-                        join {assign} ma on ma.id= mag.assignment
-                        where ma.course = $enrol_et->courseid
-                        and mag.userid = $enrol_et->userid ";
-
-            $tot_quiz = $DB->get_field_sql($query);
-            return $tot_quiz;
-        }
-
-
-        // chercher quizes
-        $quizes = $DB->get_records('quiz', array('course'=>$enrol_et->courseid));
-
-
-
-        // Pour simplifier j'irai avec la serie car le nom varie 'Devoir', 'Homework', 'Assignment'
-        $devoirs = array();
-        foreach ($quizes as $quiz) {
-            $nom = trim($quiz->name);
-            $nom_length = strlen($nom);
-            if ($nom[$nom_length - 1] == $enrol_et->serie_devoir ){
-                array_push($devoirs, $quiz->id);
-            }
-        }
-        $tot_quiz = 0;
-
-        if (!empty($devoirs)) { // Si c'est un cours qu'avec des assigns... pas de quiz
-
-            $in_quizes = ' ( ' . implode(', ', $devoirs) . ')';
-
-            // Devoirs soumis par l'étudiant
-            $query = "select count(distinct(t.quizid)) nbr
-                        from (
-                            select qza.quiz quizid
-                            FROM {quiz_attempts} qza
-                            JOIN {question_attempts} qna ON qna.questionusageid = qza.uniqueid
-                            JOIN {question_attempt_steps} qas ON qas.userid = qza.userid AND qas.questionattemptid = qna.id
-                            JOIN (
-                                SELECT userid, questionattemptid, MAX(sequencenumber) as maxseqnum
-                                FROM {question_attempt_steps}
-                                WHERE userid = $enrol_et->userid
-                                GROUP BY questionattemptid, userid
-                            ) maxsubq ON maxsubq.questionattemptid = qna.id
-                            AND maxsubq.maxseqnum = qas.sequencenumber AND maxsubq.userid = qas.userid
-                            LEFT JOIN {question_attempt_steps} qam ON qam.questionattemptid = qna.id
-                            AND qam.state IN('mangrright',
-                                'gradedright',
-                                'gradedpartial',
-                                'mangrpartial',
-                                'gradedwrong',
-                                'mangrwrong')
-                            WHERE qza.quiz in $in_quizes
-                            and qza.state = 'finished'
-                            AND qna.behaviour = 'manualgraded'
-                            AND qza.timefinish != 0) t ";
-
-            $tot_quiz = $DB->get_field_sql($query);
-
-
-        }
-
-        $tot_assign = 0;
-         $query = " select count(asgn_sub.id) asgnnbr
-                    FROM {assign_submission} asgn_sub
-                    JOIN {assign} a ON a.id = asgn_sub.assignment and a.course = $enrol_et->courseid
-                    LEFT JOIN {assign_grades} ag ON ag.assignment = asgn_sub.assignment
-                    AND ag.userid = asgn_sub.userid AND asgn_sub.attemptnumber = ag.attemptnumber
-                    WHERE asgn_sub.userid = $enrol_et->userid AND asgn_sub.status = 'submitted' AND
-                    a.grade <> 0";
-
-        $tot_assign = $DB->get_field_sql($query);
-        $somme = $tot_quiz + $tot_assign;
-
-
-        return $somme;
-
-    }
-
-
-
-
-    //////////////////////////////////////////////////////////////////
-    // cad_inscription_etudiant_modifier
-    public static function inscription_etudiant_modifier_parameters() {
-        return new external_function_parameters(
-            array(
-                    'inscription'   => new external_single_structure(
-                        array(
-                            'inc_seq_no'        => new external_value(PARAM_ALPHANUM, "Identificant inscription SGE"),
-                            'session'           => new external_value(PARAM_ALPHANUM, "Session de l'inscription : H, E ou A",VALUE_OPTIONAL),
-                            'date_confirmation' => new external_value(PARAM_ALPHANUMEXT, "Date de confirmation : YYYY-MM-DD",VALUE_OPTIONAL),
-                        )
-                )
-            )
-        );
-    }
-    public static function inscription_etudiant_modifier_returns() {
-        return new external_value(PARAM_INT, "Numéro séquentiel de l'inscription dans Moodle");
-    }
-    /**
-     * 
-     * 
-     * @global type $DB
-     * @global type $CFG
-     * @param type $inscription
-     * @return int Numéro d'inscription Moodle
-     * @throws ws_exception
-     */
-    public static function inscription_etudiant_modifier($inscription) {
-        global $DB, $CFG,$USER, $SESSION;
-        $isUpdate = false;
-
-        // Vérification
-        // 1 - Inscription existante
-        $ue_current_data = $DB->get_record('enrol_etudiant', array('inc_seq_no'=>$inscription['inc_seq_no']));
-        if(!$ue_current_data)
-            throw new ws_exception("erreur_etudiant_non_inscrit_err1", "inc_seq_no non trouvé.");
-        
-        
-        if(isset($inscription['session']) && in_array($inscription['session'],array('H','E','A')) )
-        {
-            $ue_current_data->session = $inscription['session'];
-            $isUpdate = true;
-        }
-
-        if(isset($inscription['date_confirmation']))
-        {
-            $ue_current_data->date_confirmation = DateTime::createFromFormat('Y-m-d', $inscription['date_confirmation'])->getTimestamp();
-            $isUpdate = true;
-        }
-
-        if(!$isUpdate)
-            throw new ws_exception("erreur_nothing_to_update", "param non déclaré.");
-        
-        $DB->update_record('enrol_etudiant',$ue_current_data);
-           
-    }
 }
diff --git a/ext_usagers.php b/ext_usagers.php
index 32e7ecb..61e53d3 100644
--- a/ext_usagers.php
+++ b/ext_usagers.php
@@ -313,77 +313,4 @@ class local_passerelle_usagers extends local_passerelle_external_api {
         return 1;
     }
 
-
-    /**
-     * Tâche #1850 cad_etudiant_modifier.
-     * On veut pouvoir modifier les paramètres de l'utilisateur.
-     *
-     */
-
-    public static function usager_modifier_parameters(){
-        return
-            new external_function_parameters(
-                array(
-                    'key' => new external_value(PARAM_TEXT, "Valeur à modifier: ex courriel"),
-                    'value' => new external_value(PARAM_TEXT, "Nouvelle valeur: ex newmail@test.com"),
-                    'id' => new external_value(PARAM_TEXT, "id SGE de lusager à modifier: ex: 123456"),
-                    'type'=> new external_value(PARAM_TEXT, "etudiant: e, tuteur: t")
-                )
-        );
-    }
-
-    public static function usager_modifier_returns(){
-        return new external_value(PARAM_TEXT, "1 si l'opération réussie, ou 0 si l'opération a échoué.");
-    }
-
-    /**
-     * Voir etudiant_modifier_parameters()
-     * @param $key
-     * @param $value
-     * @param $id
-     * @param $type
-     * @return string
-     */
-    public static function usager_modifier($key, $value, $id, $type) {
-
-        global $DB;
-
-        // Pour avoir un contrôle sur la liste de paramètres modifiables
-        $white_list  = array(
-            'username',
-            'email',
-        );
-
-        switch (strtolower($type[0])) {
-            case 'e':
-                $type = 'e';
-                break;
-            case 't':
-                $type = 't';
-                break;
-            default:
-                return '1: unknown type';
-        }
-
-        // TODO: à voir si l'on ajoute d'autre type d'idnumber dans {user}
-        $user = $DB->get_record('user', array('idnumber'=> $type.$id));
-        if (!$user) {
-            return "0: unknown user";
-        }
-
-        if ((in_array($key, $white_list) ) && isset($user->$key)) {
-            $user->$key = $value;
-            if ($DB->update_record('user', $user)) {
-                return "1: $user->id";
-            }
-            else {
-                return "0: update problem";
-            }
-        }
-        else {
-            return "0: unknow or not allowed key";
-        }
-
-    }
-
 }
diff --git a/externallib.php b/externallib.php
index 121fe68..909402a 100644
--- a/externallib.php
+++ b/externallib.php
@@ -66,7 +66,7 @@ class local_passerelle_external extends local_passerelle_external_api {
                 'note' => new external_single_structure(
                     array(
                         'inscription' => new external_value(PARAM_INT, "Identifiant de l'inscription (inc_seq_no) : 123456"),
-                        'evalno' => new external_value(PARAM_INT, "Numéro d'évaluation : [1-7] pour les devoirs et de [1-2] pour les examens : 1 (écrit) 2 (orale) "),
+                        'evalno' => new external_value(PARAM_INT, "Numéro d'évaluation : [1-7]"),
                         'evaltype' => new external_value(PARAM_INT, "Type d'évaluation : 1 (devoir) ou 2 (examen)"),
                         'note' => new external_value(PARAM_FLOAT, "Note pondérée obtenue à l'évaluation : [0.00-100]"),
                         'notesur' => new external_value(PARAM_INT, "Dénominateur de la note: [1-100]"),
@@ -96,34 +96,19 @@ class local_passerelle_external extends local_passerelle_external_api {
             case '1' : // devoir
                 $eval_type = 'D';
                 $eval_serie = $enrol->serie_devoir;
-                $grade_idnumber = $eval_type . $note['evalno'] . $eval_serie;
                 break;
             case '2' : // examen
-                $eval_type = 'Ef';
-
-                // On cherche la serie de l'inscription de l'étudiant
-                if(!ctype_alpha($enrol->serie_examen))
-                    throw new ws_exception("erreur_serie_examen", "La série n'est pas encore octroyée par l'SGE.");
-
+                $eval_type = 'E';
                 $eval_serie = $enrol->serie_examen;
-                switch($note['evalno'])
-                {
-                    case '1' : // Évaluation écrite
-                        $grade_idnumber = $eval_type . $eval_serie;
-                    break;
-                    case '2' : // Évaluation orale
-                        $grade_idnumber = $eval_type .'o'. $eval_serie;
-                    break;
-                    default:
-                        throw new ws_exception("erreur_evalno_invalide", "Le numéro d'évaluation est invalide");
-                        break;
-                }
                 break;
             default:
                 throw new ws_exception("erreur_type_inexistant", "Le type d'évaluation est invalide");
                 break;
         }
 
+        $grade_category_idnumber = $eval_type . $note['evalno'];
+        $grade_idnumber = $grade_category_idnumber . $eval_serie;
+
         // 3. Trouver les évaluations : l'item d'abord, puis la note
         require_once($CFG->libdir .'/gradelib.php');
 
@@ -221,7 +206,7 @@ class local_passerelle_external extends local_passerelle_external_api {
                 'note' => new external_single_structure(
                     array(
                         'inscription'   => new external_value(PARAM_INT, "Identifiant de l'inscription (inc_seq_no) : 123456"),
-                        'evalno' => new external_value(PARAM_INT, "Numéro d'évaluation : [1-7] pour les devoirs et de [1-2] pour les examens : 1 (écrit) 2 (orale) "),
+                        'evalno'        => new external_value(PARAM_INT, "Numéro d'évaluation : [1-7]"),
                         'evaltype'      => new external_value(PARAM_INT, "Type d'évaluation : 1 (devoir) ou 2 (examen)")
                     )
                 )
@@ -242,45 +227,29 @@ class local_passerelle_external extends local_passerelle_external_api {
             throw new ws_exception("erreur_etudiant_non_inscrit", "L'inscription de l'étudiant est introuvable.");
         }
 
-       // 2. Bâtir les identifiants pour retrouver l'évaluation
+        // 2. Bâtir les identifiants pour retrouver l'évaluation
         switch ($note['evaltype']) {
             case '1' : // devoir
                 $eval_type = 'D';
                 $eval_serie = $enrol->serie_devoir;
-                $grade_idnumber = $eval_type . $note['evalno'] . $eval_serie;
                 break;
             case '2' : // examen
-                $eval_type = 'Ef';
-
-                // On cherche la serie de l'inscription de l'étudiant
-                if(!ctype_alpha($enrol->serie_examen))
-                    throw new ws_exception("erreur_serie_examen", "La série n'est pas encore octroyée par l'SGE.");
-
+                $eval_type = 'E';
                 $eval_serie = $enrol->serie_examen;
-                switch($note['evalno'])
-                {
-                    case '1' : // Évaluation écrite
-                        $grade_idnumber = $eval_type . $eval_serie;
-                    break;
-                    case '2' : // Évaluation orale
-                        $grade_idnumber = $eval_type .'o'. $eval_serie;
-                    break;
-                    default:
-                        throw new ws_exception("erreur_evalno_invalide", "Le numéro d'évaluation est invalide");
-                        break;
-                }
                 break;
             default:
                 throw new ws_exception("erreur_type_inexistant", "Le type d'évaluation est invalide");
                 break;
         }
 
+        $grade_category_idnumber = $eval_type . $note['evalno'];
+        $grade_idnumber = $grade_category_idnumber . $eval_serie;
+
         // 3. Trouver les évaluations : l'item d'abord, puis la note
         require_once($CFG->libdir .'/gradelib.php');
 
         $item = grade_item::fetch(array('courseid'=>$enrol->courseid, 'idnumber'=>$grade_idnumber));
 
-
         if (!$item) {
             throw new ws_exception("erreur_evaluation_inexistante", "L'évaluation demandée est introuvable.");
         }
diff --git a/readme.txt b/readme.txt
index a746a62..a20ce11 100644
--- a/readme.txt
+++ b/readme.txt
@@ -1,4 +1,3 @@
-
 Notes pour l'installation :
  * un rôle "web service" devrait être créé
  * ce rôle doit avoir la permission enrol/etudiant:manage pour pouvoir
diff --git a/tests/nelson_testing.php b/tests/nelson_testing.php
index 9a37609..c9f99e4 100644
--- a/tests/nelson_testing.php
+++ b/tests/nelson_testing.php
@@ -13,7 +13,7 @@ define('CLI_SCRIPT', true);
 define('CACHE_DISABLE_ALL', true);
 
 require_once __DIR__.'/../../../config.php';
-require_once __DIR__.'/../ext_inscriptions.php';
+//require_once __DIR__.'/../ext_inscriptions.php';
 //require_once __DIR__.'/../ext_extras.php';
 require_once __DIR__.'/../externallib.php';
 
@@ -55,10 +55,5 @@ $note = array(
     'commentaire' => '

Tu ne mérites pas plus.

', 'date_modif' => '2015-01-27 00:00:00.000' ); -//local_passerelle_external::note_ajouter($note); -$inc_seq_no = 576032; -//$groupe = 8000; -//$ret = local_passerelle_inscriptions::etudiant_changer_group($inc_seq_no, $groupe); -$query = local_passerelle_inscriptions::inscription_soumission_nbrdevoir($inc_seq_no); -echo $query . PHP_EOL; +local_passerelle_external::note_ajouter($note); diff --git a/version.php b/version.php index 6874186..04f2ff0 100644 --- a/version.php +++ b/version.php @@ -9,15 +9,11 @@ defined('MOODLE_INTERNAL') || die(); -$plugin->version = 2015101307; // The current plugin version (Date: YYYYMMDDXX) +$plugin->version = 2015120301; // The current plugin version (Date: YYYYMMDDXX) $plugin->requires = 2014050800; // Requires this Moodle version $plugin->component = 'local_passerelle'; // Full name of the plugin (used for diagnostics) - -/** - * 2015-10-13: Changement de la dépendance enrol_etudiant pour être sur d'avoir métodes de changement de groupe. - */ $plugin->dependencies = array( - 'enrol_etudiant' => 2015101301, + 'enrol_etudiant' => 2014101001, 'enrol_tuteur' => 2014092300, 'auth_soci' => 2014100800, 'gradeexport_cad' => 2015011300,