Skip to content
Snippets Groups Projects
Commit b236ec46 authored by DELARUELLE Myriam's avatar DELARUELLE Myriam
Browse files

Interface de paramétrage du tableau de suivi

parent e6e60962
No related branches found
No related tags found
No related merge requests found
......@@ -26,91 +26,40 @@ class edittable_form extends moodleform {
$display_custom = $this->_customdata['display_custom'];
//$sectioninfo = $this->_customdata['cs'];
/// Prepare course and the editor
/*$mform->addElement('checkbox', 'display_groups', 'Afficher les groupes','Activer');
$mform->addHelpButton('display_groups', 'summary');
$mform->addElement('checkbox', 'display_custom', 'Activer la personnalisation', 'Activer');
$mform->addHelpButton('display_custom', 'summary');
$mform->addElement('checkbox', 'display_status', 'Activer le statut "En attente d\'évaluation de ma part"', 'Activer');
$mform->addHelpButton('display_status', 'summary');
$mform->addElement('checkbox', 'display_details', 'Afficher le détail des évaluation au clic', 'Activer');
$mform->addHelpButton('display_details', 'summary');*/
$radioarray = array();
$radioarray[] = $mform->createElement('advcheckbox', 'display_groups', 'Activer');
$mform->addGroup($radioarray, 'groups', 'Afficher les groupes', array(' '), false);
$mform->addHelpButton('groups', 'modalite', 'format_iena');
$radioarray[] = $mform->createElement('advcheckbox', 'display_groups', get_string('enable'));
$mform->addGroup($radioarray, 'groups', get_string('display_groups', 'format_iena'), array(' '), false);
$mform->addHelpButton('groups', 'display_groups', 'format_iena');
$mform->setDefault('display_groups', $display_groups['value']);
$radioarray = array();
$radioarray[] = $mform->createElement('advcheckbox', 'display_custom', 'Activer');
$mform->addGroup($radioarray, 'custom', 'Activer la personnalisation', array(' '), false);
$mform->addHelpButton('custom', 'modalite', 'format_iena');
$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');
$mform->setDefault('display_custom', $display_custom['value']);
$radioarray = array();
$radioarray[] = $mform->createElement('advcheckbox', 'display_status', 'Activer');
$mform->addGroup($radioarray, 'status', 'Afficher les groupes', array(' '), false);
$mform->addHelpButton('status', 'modalite', 'format_iena');
$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', 'Activer');
$mform->addGroup($radioarray, 'details', 'Afficher les groupes', array(' '), false);
$mform->addHelpButton('details', 'modalite', 'format_iena');
$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']);
$this->add_action_buttons(true, "Enregistrer");
//$mform->_registerCancelButton('cancel');
//
/* $buttonarray=array();
$buttonarray[] = $mform->createElement('submit', 'submitbutton', get_string('savechanges'));
$buttonarray[] = $mform->createElement('cancel');
$mform->addGroup($buttonarray, 'buttonar', '', ' ', false);
*/
$mform->addElement('hidden', 'courseid', $courseid);
$mform->setType('courseid', PARAM_INT);
$this->add_action_buttons(true, get_string('savechangesanddisplay'));
$mform->addElement('hidden', 'courseid', $courseid);
$mform->setType('courseid', PARAM_INT);
$this->set_data($courseid);
}
/*function is_cancelled(){
$mform =& $this->_form;
error_log("on passe par là monsieur");
error_log($mform->isSubmitted());
error_log(" bla bla");
if ($mform->isSubmitted()){
error_log("submitted");
foreach ($mform->_cancelButtons as $cancelbutton){
if ($this->optional_param($cancelbutton, 0, PARAM_RAW)) {
error_log("on va par là");
return true;
}
}
}
return false;
}*/
function get_data() {
/*function get_data() {
$mform =& $this->_form;
if (!$this->is_cancelled() and $this->is_submitted() and $this->is_validated()) {
......@@ -125,7 +74,7 @@ class edittable_form extends moodleform {
} else {
return NULL;
}
}
}*/
......
......@@ -25,7 +25,16 @@
namespace format_iena\output;
class course_format_iena_table_option {
const DISPLAY_GROUPS= "display_groups";
const DISPLAY_CUSTOM= "display_custom";
const DISPLAY_DETAILS= "display_details";
const DISPLAY_STATUS="display_status";
/** @var boolean */
/**
......@@ -36,10 +45,10 @@ class course_format_iena_table_option {
public $courseid;
public $userid;
public $listoptions=array(
"display_groups"=>array("value"=>0),
"display_custom"=>array("value"=>0),
"display_details"=>array("value"=>0),
"display_status"=>array("value"=>0)
self::DISPLAY_GROUPS=>array("value"=>0),
self::DISPLAY_CUSTOM=>array("value"=>0),
self::DISPLAY_DETAILS=>array("value"=>0),
self::DISPLAY_STATUS=>array("value"=>0)
);
......@@ -151,9 +160,12 @@ class course_format_iena_table_option {
}
public function check_options_state($arrayfrominput){
foreach($arrayfrominput as $optionname=>$optionvalue){
if(in_array($optionname, array_keys($this->listoptions))){
foreach($this->listoptions as $option=>$arrayvalues){
if(isset($arrayvalues["id"])){
$this->save_property($option, $arrayfrominput->$option, $arrayvalues["id"]);
}
else if($arrayfrominput->$option != 0){
$this->save_property($option, $arrayfrominput->$option);
}
}
}
......
......@@ -100,4 +100,12 @@ $string['message_dist_desc'] = "Configure default blended course message";
$string['message_default_dist'] = "Default message distance learning";
$string['formatenabled']="Course completion is disabled. You can enable it in the \"Course completion\" section here: ";
$string['selectedActivities']="selected";
$string['allActivities']="All";
\ No newline at end of file
$string['allActivities']="All";
$string['display_groups']="Display groups in a column";
$string['display_custom']="Enable table customization ";
$string['display_details']="Display assessments details on click";
$string['display_status']="Enable status \"Waiting for an evaluation from me\"";
$string['display_groups_help']="Add a column to the table which display the student's group";
$string['display_custom_help']="This option enables the table customization and allows you to add colors to certain activities (just for you), or to define milestones (for all teachers in the course)";
$string['display_details_help']="this option allows you to have the details of an assessment on click: grade, date of evaluation, evaluator, etc.";
$string['display_status_help']="This option adds a new status \"Waiting for an evaluation from me\" which allows you to identify which activities have been completed by the student and require action from the teacher";
\ No newline at end of file
......@@ -100,4 +100,12 @@ $string['message_dist_desc'] = "Paramétrez le message qui sera envoyé par déf
$string['message_default_dist'] = "Entrez ici le message qui sera envoyé à vos étudiants";
$string['formatenabled']="L'achèvement de cours n'est pas activé. Vous pouvez l'activer dans la section \"Achèvement de cours\" des paramètres du cours : ";
$string['selectedActivities']="sélectionnée(s)";
$string['allActivities']="Toutes";
\ No newline at end of file
$string['allActivities']="Toutes";
$string['display_groups']="Afficher les groupes dans une colonne du tableau";
$string['display_custom']="Activer la personnalisation du tableau";
$string['display_details']="Afficher les détails d'une activité évaluée au clic";
$string['display_status']="Activer le statut \"En attente d'évaluation de ma part\"";
$string['display_groups_help']="Cette option ajoute une colonne dans le tableau contenant le nom du groupe de l'étudiant.";
$string['display_custom_help']="Cette option active la personnalisation du tableau et permet d'ajouter des couleurs à certaines activités (personnel), ou de définir des jalons (pour tous les enseignants du cours)";
$string['display_details_help']="Cette option permet à l'enseignant d'avoir les détails d'une évaluation au clic : note, date de l'évaluation, évaluateur...";
$string['display_status_help']="Cette option ajoute un statut 'En attente d'évaluation de ma part qui permet de repérer quelles activités ont été complétées par l'étudiant et nécessite une action de la part de l'enseignant";
\ No newline at end of file
......@@ -93,7 +93,7 @@ if (!has_capability('course/iena:suivi', $context = context_course::instance($co
init_page($course, $PAGE);
echo $OUTPUT->header();
$data = [];
$obj=new \format_iena\output\course_format_iena_table_option();
$obj->setCourseid($courseid);
......@@ -108,30 +108,10 @@ if (!has_capability('course/iena:suivi', $context = context_course::instance($co
if ($mform->is_cancelled()) {
redirect($returnurl);
} else if ($fromform = $mform->get_data()) {
var_dump($fromform);
var_dump($listoptions);
foreach($listoptions as $property => $arrayvalue){
//fromform : récupère l'input de l'utilisateur
//Attention : si on décoche une option elle n'est plus dans dans fromform
//Si l'id existe dans arraycustom form et qu'il n'y a plus dans from form alors on va changer
//Si la propriété est bien dans fromform : on vient de cocher l'option
if(isset($fromform->$property)){
if(isset($arraycustomform[$property]['id'])){
$request=$obj->save_property($property, $fromform->$property, $arraycustomform[$property]['id']);
}
else{
$request=$obj->save_property($property, $fromform->$property);
}
}
//si elle n'est pas dans fromform MAIS qu'il y a un id dans arraycustom alors ça veut dire qu'elle a été décochée
}
//on stocke en BDD les nouvelles données
//redirect($returnurl);
$obj->check_options_state($fromform);
redirect($returnurl);
}
echo $OUTPUT->header();
$data["form"]=$mform->render();
$renderer = $PAGE->get_renderer('format_iena');
......
......@@ -45,8 +45,8 @@ class my_test extends \advanced_testcase {
// Create a set of options for the table.
foreach($data as $x => $i){
$obj=new \format_iena\output\course_format_iena_table_option($i["option"], $i["value"], $i["courseid"], $i["userid"]);
$arrayoptionsid=$obj->create_array_option();
$obj=new \format_iena\output\course_format_iena_table_option(null, 0, $i["courseid"], $i["userid"]);
$arrayoptionsid=$obj->save_property($i["option"], $i["value"]);
}
$arrayoptions=$obj->get_options_by_course_id($course1->id);
......@@ -71,7 +71,7 @@ class my_test extends \advanced_testcase {
$data=[
"option"=>"display_groups",
"option"=>\format_iena\output\course_format_iena_table_option::DISPLAY_GROUPS,
"value"=>"1",
"courseid"=>"1",
"userid"=>"1",
......@@ -102,14 +102,15 @@ class my_test extends \advanced_testcase {
$olddebug = $CFG->debug;
$CFG->debug = 0;
$obj=new \format_iena\output\course_format_iena_table_option();
$data=[
"option"=>"display_groups",
"option"=>$obj::DISPLAY_GROUPS,
"value"=>"1",
"courseid"=>"1",
"userid"=>"1",
];
// Create a set of options for the table.
$obj=new \format_iena\output\course_format_iena_table_option();
$obj->setCourseId($data["courseid"]);
$obj->setUserId($data["userid"]);
......@@ -125,7 +126,7 @@ class my_test extends \advanced_testcase {
$this->assertNull($arrayoptions->timemodified);
$arrayoptionsid2=$obj->save_property($data["option"], 0, $arrayoptionsid);
// fwrite(STDERR, print_r($arrayoptionsid2, TRUE));
$arrayoptionsupdated = $DB->get_record('format_iena_options', ['id' => $arrayoptionsid]);
$this->assertEquals($data["option"], $arrayoptionsupdated->optionname);
......@@ -147,8 +148,9 @@ class my_test extends \advanced_testcase {
$olddebug = $CFG->debug;
$CFG->debug = 0;
$obj=new \format_iena\output\course_format_iena_table_option();
$data=[
"option"=>"display_groups",
"option"=>$obj::DISPLAY_GROUPS,
"value"=>"1",
"courseid"=>"1",
"userid"=>"1",
......@@ -160,7 +162,7 @@ class my_test extends \advanced_testcase {
"userid"=>"1",
];
// Create a set of options for the table.
$obj=new \format_iena\output\course_format_iena_table_option();
$obj->setCourseId($data["courseid"]);
$obj->setUserId($data["userid"]);
......@@ -174,8 +176,8 @@ class my_test extends \advanced_testcase {
$this->assertCount(2, $arrayrequest);
$this->assertEquals($arrayoptions["display_groups"]["id"], $idoptiongroup);
$this->assertEquals($arrayoptions["display_custom"]["id"], $idoptioncustom);
$this->assertEquals($arrayoptions[$obj::DISPLAY_GROUPS]["id"], $idoptiongroup);
$this->assertEquals($arrayoptions[$obj::DISPLAY_CUSTOM]["id"], $idoptioncustom);
......@@ -185,8 +187,8 @@ class my_test extends \advanced_testcase {
// Instantiate a form to submit.
$values=[
"display_groups"=>1,
"display_custom"=>0
$obj::DISPLAY_GROUPS=>1,
$obj::DISPLAY_CUSTOM=>0
];
// Fetch the data and then mock the submission of that data.
......@@ -199,11 +201,13 @@ class my_test extends \advanced_testcase {
$actualfromform = $mform->get_data();
$obj->check_options_state($actualfromform);
$arrayrequest=$DB->get_records('format_iena_options',["courseid"=>1, "optionvalue"=>1]);
$arrayrequestall=$DB->get_records('format_iena_options',["courseid"=>1]);
fwrite(STDERR, print_r($arrayrequest, TRUE));
$this->assertCount(1, $arrayrequest);
$this->assertEquals($arrayrequest[$idoptiongroup]->optionname, "display_groups");
//fwrite(STDERR, print_r($actualfromform, TRUE));
$this->assertEquals($arrayrequest[$idoptiongroup]->optionname, $obj::DISPLAY_GROUPS);
$this->assertCount(2, $arrayrequestall);
$this->assertEquals($arrayrequestall[$idoptioncustom]->optionname, $obj::DISPLAY_CUSTOM);
$this->assertEquals($arrayrequestall[$idoptioncustom]->optionvalue, $values[$obj::DISPLAY_CUSTOM]);
$CFG->debug = $olddebug;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment