Переглянути джерело

Finished submissions management

Igor 3 роки тому
батько
коміт
e0a3803581
6 змінених файлів з 62 додано та 7 видалено
  1. 29 5
      ilm_handlers/html5.php
  2. 1 0
      lang/en/iassign.php
  3. 1 0
      lang/es/iassign.php
  4. 1 0
      lang/fr/iassign.php
  5. 2 1
      lang/pt_br/iassign.php
  6. 28 1
      locallib.php

Різницю між файлами не показано, бо вона завелика
+ 29 - 5
ilm_handlers/html5.php


+ 1 - 0
lang/en/iassign.php

@@ -29,6 +29,7 @@ $string['add_ilm']                        = 'Choose file...';
 $string['add_ilm_iassign']                = 'Add iLM';
 $string['add_ilm_iassign_help']           = 'What is a iLM';
 $string['add_param']                      = 'Add new parameter';
+$string['all_submissions_manager']        = 'Manage all submissions';
 $string['answer']                         = 'answer';
 $string['applet']                         = 'interactive Learning Modules (iLM)';
 $string['applet_blocked']                 = 'It\'s not possible run this iLM, because your browser doesn\'t support Applets.';

+ 1 - 0
lang/es/iassign.php

@@ -29,6 +29,7 @@ $string['add_ilm']                        = 'Escolha o Archivo...';
 $string['add_ilm_iassign']                = 'Añadir iMA';
 $string['add_ilm_iassign_help']           = 'O que é um iMA';
 $string['add_param']                      = 'Agregar nuevo parámetro';
+$string['all_submissions_manager']        = 'Manage all submissions';
 $string['answer']                         = 'respuesta';
 $string['applet']                         = 'Módulo de Aprendizaje (Applet)';
 $string['applet_blocked']                 = 'No es posible ejecutar este iMA, porque su navegador no es compatible con Applets.';

+ 1 - 0
lang/fr/iassign.php

@@ -29,6 +29,7 @@ $string['add_ilm']                        = 'Choisir le fichier...';
 $string['add_ilm_iassign']                = 'Ajouter iMA';
 $string['add_ilm_iassign_help']           = 'Qu\'est-ce qu\'un iMA?';
 $string['add_param']                      = 'Ajouter un nouveau paramètre';
+$string['all_submissions_manager']        = 'Manage all submissions';
 $string['answer']                         = 'réponse';
 $string['applet']                         = 'Module d\'Aprentissage (Applet)';
 $string['applet']                         = 'Modules d\'Apprentissage interactifs (iMA)';

+ 2 - 1
lang/pt_br/iassign.php

@@ -29,6 +29,7 @@ $string['add_ilm']                        = 'Escolha o arquivo...';
 $string['add_ilm_iassign']                = 'Adicionar iMA';
 $string['add_ilm_iassign_help']           = 'O que é um iLM';
 $string['add_param']                      = 'Adicionar novo parâmetro';
+$string['all_submissions_manager']        = 'Gerenciar todas as submissões';
 $string['answer']                         = 'resposta';
 $string['applet']                         = 'Módulo de Aprendizagem (Applet)';
 $string['applet_blocked']                 = 'Não é possível exibir o iMA, pois seu navegador não permite a execução de Applets.';
@@ -215,7 +216,7 @@ $string['error_folder_permission_denied'] = 'Erro: não existe permissão para m
 $string['error_iassign_name']             = 'Erro: Já existe uma atividade com esse título.';
 $string['error_import_ilm_version']       = 'ERRO: esta versão do iMA já está instalada.';
 $string['error_insert']                   = 'Ocorreu um erro ao gravar a submissão da Tarefa';
-$string['error_insert_submissions']       = 'Ocorreu algum erro durante gravaçao da submissão da atividade. Informe o Administrador.';
+$string['error_insert_submissions']       = 'Ocorreu algum erro durante a gravação da submissão da atividade. Informe o Administrador.';
 $string['error_null_iassign']             = 'ERRO: O exercício esta vazio ou não foi alterado.';
 $string['error_rename_ilm']               = 'Erro ao renomear arquivo  jar.';
 $string['error_security']                 = 'Ocorreu um erro durante gravação na tabela de segurança.';

+ 28 - 1
locallib.php

@@ -282,7 +282,7 @@ class iassign {
 
     $action_iassign_limit = array(
       'view' => '$this->view_iassign_current();',
-      'newcomment' => '$this->get_answer();',
+      //'newcomment' => '$this->get_answer();',
       'viewsubmission' => '$this->view_iassign_current();',
       'edit_status' => '$this->edit_status();',
       'edit_grade' => '$this->edit_grade();',
@@ -305,6 +305,7 @@ class iassign {
       'duplicate_activity' => '$this->duplicate_activity();',
       'move_activity' => '$this->move_activity();',
       'auto_evaluate' => '$this->auto_evaluate();',
+      'all_submissions' => '$this->all_submissions();',
       'get_student_submission' => '$this->get_student_submission();',
       'get_teacher_exercise' => '$this->get_teacher_exercise();',
       'post_auto_eval_result' => '$this->post_auto_eval_result();'
@@ -392,6 +393,10 @@ class iassign {
 
   }
 
+  /// Manage all submissions in exercises to table iassign_allsubmissions
+  function all_submissions () {
+
+  }
 
   /// This method runs activities auto evaluation in teacher area
   function auto_evaluate () {
@@ -994,11 +999,24 @@ class iassign {
   
   // / This method gets the content from comment and register it
   function add_comment () {
+    global $USER, $DB;
     $submission_comment = optional_param('submission_comment', NULL, PARAM_TEXT);
     $comment = false;
     if ($submission_comment)
       $comment = $this->write_comment_submission();
     $id_submission = optional_param('iassign_submission_current', NULL, PARAM_TEXT);
+    if (!$id_submission) {
+      $iassign_submission = 
+          $DB->get_record("iassign_submission", 
+            array(
+                "iassign_statementid" => $this->activity->get_activity()->id,
+                "userid" => $USER->id
+                )
+          );
+      if ($iassign_submission) {
+        $id_submission = $iassign_submission->id;
+      }
+    }
     echo $this->search_comment_submission($id_submission);
   }
 
@@ -1927,9 +1945,13 @@ class iassign {
         $link_stats = "<a href='" . $CFG->wwwroot . "/mod/iassign/view.php?id=" . $id . "&action=stats&iassignid=" . $this->iassign->id . "'>" . iassign_icons::insert('results') . '&nbsp;' . get_string('graphic', 'iassign') . "</a>";
         $link_export = "<a href='" . $CFG->wwwroot . "/mod/iassign/view.php?id=" . $id . "&action=export_csv&iassignid=" . $this->iassign->id . "'>" . iassign_icons::insert('export_ilm') . '&nbsp;' . get_string('export_csv', 'iassign') . "</a>";
         $link_auto_evaluate = "<a href='" . $CFG->wwwroot . "/mod/iassign/view.php?id=" . $id . "&action=auto_evaluate&iassignid=" . $this->iassign->id . "'>" . iassign_icons::insert('correct') . '&nbsp;' . get_string('auto_evaluate_reprocess', 'iassign') . "</a>";
+        
+        $link_all_submissions_manager = "<a href='" . $CFG->wwwroot . "/mod/iassign/view.php?id=" . $id . "&action=all_submissions&iassignid=" . $this->iassign->id . "'><i class='fa fa-files-o' aria-hidden='true' style='color: red'></i>&nbsp;" . get_string('all_submissions_manager', 'iassign') . "</a>";
+        
         print '<td width=15% align="right">' . $link_stats . '</td>' . "\n";
         print '<td width=15% align="right">' . $link_export . '</td>' . "\n";
         print '<td width=15% align="right">' . $link_auto_evaluate . '</td>' . "\n";
+        print '<td width=15% align="right">' . $link_all_submissions_manager . '</td>' . "\n";
         print '<td width=15% align="right">' . $link_print . '</td>' . "\n";
         } // if ($this->action != 'print')
       print '</tr></table>' . "\n";
@@ -4038,6 +4060,11 @@ class iassign {
       //MOOC 2016: foi p/ 15 linhas acima:
       $iassign_submission = $DB->get_record("iassign_submission", array("id" => $this->iassign_submission_current));
 
+      // verificar se existe uma submissão para o exercício e aluno informados
+      if (!$iassign_submission) {
+        $iassign_submission = $DB->get_record("iassign_submission", array("iassign_statementid" => $this->activity->get_activity()->id, "userid" => $USER->id));
+      }
+
       if (!$iassign_submission) {
         $iassign_statement_activity_item = $DB->get_record("iassign_statement", array("id" => $this->activity->get_activity()->id));