Browse Source

teacher view v2, lacking only a way to edit the submissions already made

bernardo 5 years ago
parent
commit
c0b857b139
8 changed files with 51 additions and 49 deletions
  1. 2 1
      lang/en/gradeimporter.php
  2. 1 1
      lib.php
  3. 31 36
      locallib.php
  4. 0 2
      mod_form.php
  5. 12 5
      submission.php
  6. 2 2
      submission_form.php
  7. 1 1
      version.php
  8. 2 1
      view.php

+ 2 - 1
lang/en/gradeimporter.php

@@ -82,4 +82,5 @@ $string['submission']   = 'Submission';
 $string['comment']      = 'Comment';
 $string['grade']        = 'Grade';
 $string['file']         = 'File';
-$string['nameCol']      = 'Name';
+$string['nameCol']      = 'Name';
+$string['editSub']      = "Edit this submission";

+ 1 - 1
lib.php

@@ -145,7 +145,7 @@ function gradeimporter_check_for_zips ($context, $cm, $submission){
                       'itemid'      =>  $dbentry->id,
                       'filepath'    =>  '/',
                       'filename'        =>  $csv[$i]['file']
-                    );
+                    ); 
 
                     $fs->create_file_from_storedfile($fileinfo, $storedfile);
                     break;

+ 31 - 36
locallib.php

@@ -40,31 +40,41 @@ function get_comments($cmid, $id){
   return $data;
 }
 
+
 function get_teacher_view($cmid, $gradeimporterid, $enrolledusers){
   global $DB, $CFG;
   
   $tp = $CFG->prefix; // gets moodle tables prefix, not everyone uses mdl_
 
   $table = new html_table();
-  $table->attributes['class'] = 'generaltable mod_index';
-  $table->align = array();
+  $table->align = array('center');
+  $table->attributes = array('class'=>'generaltable mod_index');
+
   //creates table head
-  /*$subrow = new html_table_row();
-  $subrow->cells[] = new html_table_cell(get_string('nameCol', 'gradeimporter'));
-*/
- $subrow = array(get_string('nameCol', 'gradeimporter'));
- $table->align[] = 'center';
+  $subrow = new html_table_row();
+  
+  $cell = new html_table_cell(get_string('nameCol', 'gradeimporter'));
+  $cell->style = "border:1px solid black";
 
+  $cell->colspan = 1;
+  $subrow->cells[] = $cell;
   $submissionsSQL = "SELECT id, name 
-                      FROM mdl_gradeimporter_submission 
-                      WHERE gradeimporterid = 1
+                      FROM ".$tp."gradeimporter_submission 
+                      WHERE gradeimporterid = $gradeimporterid
                       ORDER BY id";
   $submissions = $DB->get_records_sql($submissionsSQL);
   foreach ($submissions as $submission){
-    $subrow[] = $submission->name;
+    $subname = editSub($submission->name, $gradeimporterid, $cmid, $submission->id);
+    $cell = new html_table_cell($subname);
+    $cell->colspan = 2;
+    $cell->style = "border:1px solid black";
+    $subrow->cells[] = $cell;
+
+    //adds 2 align, one for grade and another to the file
+    $table->align[] = 'center';
     $table->align[] = 'center';
   }
-  $table->head = $subrow;
+  $table->data[] = $subrow;
   
   //all submissions names are on the table
   
@@ -96,10 +106,9 @@ function get_teacher_view($cmid, $gradeimporterid, $enrolledusers){
   foreach ($enrolledusers as $user){
     $usersList[$user->id] = array('name'=>$user->firstname." ".$user->lastname);
   }
-  ksort($usersList);
+  //ksort($usersList);
 
   foreach ($records as $record){
-    echo "passou userid $record->gf_studentid  fileid $record->gf_fileid <br>";
     $url = buildurl($cmid, $record->gf_id, $record->gf_name);
     $usersList[$record->gf_studentid][$record->gs_id] = array('grade'=>$record->gf_grade, 'file'=>$url);
   }
@@ -107,6 +116,7 @@ function get_teacher_view($cmid, $gradeimporterid, $enrolledusers){
   foreach($usersList as $user){
     $row = new html_table_row();
     $cell = new html_table_cell($user['name']);
+    $cell->style = "border:1px solid black";
     $row->cells[] = $cell;
     foreach ($submissions as $submission){
       if (array_key_exists($submission->id, $user)){
@@ -117,35 +127,15 @@ function get_teacher_view($cmid, $gradeimporterid, $enrolledusers){
         $grade = '-';
       }
       $cell = new html_table_cell ($grade);
+      $cell->style = "border:1px solid black; border-right:0";
       $row->cells[] = $cell;
 
       $cell = new html_table_cell ($url);
+      $cell->style = "border:1px solid black; border-left:0";
       $row->cells[] = $cell;
     }
     $table->data[] = $row;
   }
-  
-  //gets all submission types relative to the gradeimporter instance
-  /*$subtype_array = $DB->get_records("gradeimporter_submissiontype", array('gradeimporterid' => $gradeimporterid), 'id', '*');
-
-  foreach ($subtype_array as $subtype) {
-    //gets all submissions from a subtype;
-    $submission_array = $DB->get_records("gradeimporter_submission", array('type' => $subtype->id), 'id', '*');
-
-    foreach ($submission_array as $submission) {
-      //gets all feedbacks from a submission
-      $feedback_array = $DB->get_records("gradeimporter_feedback", array('submissionid' => $submission->id), 'id', '*');
-      $cell = new html_table_cell($submission->name);
-      $cell->colspan = 2;
-      $subrow->cells[] = $cell;
-
-      foreach ($feedback_array as $feedback) {
-          //for each feedback add it to the correspondent user list in $enrolledusers
-      }
-    }
-    $table->data[] = $subrow;
-  }*/
-  
   echo html_writer::table($table);
 }
 
@@ -157,7 +147,12 @@ require_once("$CFG->libdir/csvlib.class.php");
 function buildurl($cmid, $fileid, $filename){
 
   $fileurl = new moodle_url("/mod/gradeimporter/view.php", array('id' => $cmid, 'fileid' => $fileid, 'filename' => $filename, 'action' => 1));
-  return "<a href=$fileurl> $filename</a>";
+  return "<a href=$fileurl target=_blank> $filename</a>";
+}
+
+function editSub($subname, $gradeimporterid, $cmid, $subid){
+  $url = new moodle_url("/mod/gradeimporter/submission.php", array('id'=>$gradeimporterid, 'cmid'=>$cmid, 'subid'=>$subid, 'update'=>1));
+  return $subname.'<a href='.$url.' target="_blank"><i class="icon fa fa-pencil fa-fw"  title="'.get_string('editSub','gradeimporter').'" aria-label="'.get_string('editSub','gradeimporter').'"></i>';
 }
 
 function exportCSV($context){

+ 0 - 2
mod_form.php

@@ -35,8 +35,6 @@
             $mform->setType('action', PARAM_TEXT);
             $mform->addElement('hidden', 'id');
             $mform->setType('id', PARAM_TEXT);
-            $mform->addElement('hidden', 'iassign_id');
-            $mform->setType('iassign_id', PARAM_TEXT);
             $mform->addElement('hidden', 'author_name');
             $mform->setType('author_name', PARAM_TEXT);
             $mform->addElement('hidden', 'author_modified_name');

+ 12 - 5
submission.php

@@ -6,11 +6,11 @@ require_once('lib.php');
 require_once('submission_form.php');
 
 
-$cmid = required_param('cmid', PARAM_INT);            // Course Module ID
-$id      = optional_param('id' , 0, PARAM_INT);           //Gradeimporter id
+$cmid   =   required_param('cmid', PARAM_INT);            // Course Module ID
+$id     =   optional_param('id' , 0, PARAM_INT);           //Gradeimporter id
 $subid  =   optional_param('subid', 1, PARAM_INT);       //submission id
-//$delete  = optional_param('delete', 0, PARAM_INT);
-//$confirm = optional_param('confirm', 0, PARAM_INT);
+$update =   optional_param('update', 0, PARAM_INT);      // if 1 the submission is beign updated
+
 
 if (!$cm = get_coursemodule_from_id('gradeimporter', $cmid)){
     print_error('invalidcoursemodule');
@@ -37,7 +37,7 @@ $PAGE->set_url($url);
 require_login($course, false, $cm);
 
 
-if($submission){
+if(isset($submission)){
     if (isguestuser()){
         print_error('guestnoedit', 'gradeimporter', "$CFG->wwwroot/mod/gradeimporter/view.php?id=$cmid");
     }
@@ -59,6 +59,13 @@ $submission->cmid = $cm->id;
 
 $mform = new mod_gradeimporter_submission_form(null, array('submission'=>$submission, 'cm'=>$cm, 'descriptionoptions'=>$descriptionoptions, 'submissionoptions'=>$submissionoptions, 'gradeimporterid'=>$gradeimporter->id));
 
+if ($update==1){
+    $subToUpdate = $DB->get_record('gradeimporter_submission', array('id'=>$subid));
+    $array = (array) $subToUpdate;
+    echo 'aaaa'.$array['description'];
+    $mform->set_data($subToUpdate);
+}
+
 if ($mform->is_cancelled()){
     if ($id){
         redirect("view.php?id=$cm->id&mode=entry&hook=$id");

+ 2 - 2
submission_form.php

@@ -34,8 +34,8 @@
             $mform->addRule('name', get_string('error_nameField', 'gradeimporter'), 'required', null, 'client');
 
             //description
-            $mform->addElement('editor', 'description_editor', get_string('submissionDescription', 'gradeimporter'), null, $descriptionoptions);
-            $mform->setType('description_editor', PARAM_RAW);
+            $mform->addElement('editor', 'descriptioneditor', get_string('submissionDescription', 'gradeimporter'), null, $descriptionoptions);
+            $mform->setType('descriptioneditor', PARAM_RAW);
 
 
             $mform->addElement('header', 'filehandling', get_string('filehandling', 'gradeimporter'));

+ 1 - 1
version.php

@@ -2,7 +2,7 @@
 
 defined('MOODLE_INTERNAL') || die();
 
-$plugin->version = 20200210;
+$plugin->version = 20200212;
 $plugin->requires = 2014021100;
 $plugin->release = 'v1.0';
 $plugin->component = 'mod_gradeimporter';

+ 2 - 1
view.php

@@ -110,7 +110,8 @@ require_once(dirname(__FILE__).'/locallib.php');
 
 if (has_capability('mod/gradeimporter:edit', $context)){
   //loads teacher view
-  $enrolledusers = get_enrolled_users ($context, 'mod/gradeimporter:view');
+  
+  $enrolledusers = get_enrolled_users ($context, 'mod/gradeimporter:view', 0, 'u.id, u.firstname, u.lastname', 'u.firstname, u.lastname');
 
   get_teacher_view($cm->id, $gradeimporter->id, $enrolledusers);