Sfoglia il codice sorgente

Now we can migrate gradebooks

Julio Montoya 12 anni fa
parent
commit
42df488920

+ 8 - 2
main/gradebook/lib/be/evaluation.class.php

@@ -146,7 +146,7 @@ class Evaluation implements GradebookItem
 	 * @param $category_id parent category
 	 * @param $category_id parent category
 	 * @param $visible visible
 	 * @param $visible visible
 	 */
 	 */
-	public static function load ($id = null, $user_id = null, $course_code = null, $category_id = null, $visible = null, $locked = null) {
+	public static function load($id = null, $user_id = null, $course_code = null, $category_id = null, $visible = null, $locked = null, $name = null) {
     	$tbl_grade_evaluations = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_EVALUATION);
     	$tbl_grade_evaluations = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_EVALUATION);
 		$sql = 'SELECT * FROM '.$tbl_grade_evaluations;
 		$sql = 'SELECT * FROM '.$tbl_grade_evaluations;
 		$paramcount = 0;
 		$paramcount = 0;
@@ -183,7 +183,13 @@ class Evaluation implements GradebookItem
 			else $sql .= ' WHERE';
 			else $sql .= ' WHERE';
 			$sql .= ' locked = '.intval($locked);
 			$sql .= ' locked = '.intval($locked);
 			$paramcount ++;
 			$paramcount ++;
-		}		
+		}
+        if (isset($name)) {
+			if ($paramcount != 0) $sql .= ' AND';
+			else $sql .= ' WHERE';
+			$sql .= " name = '".Database::escape_string($name)."'";
+			$paramcount ++;
+		}        
 		$result = Database::query($sql);
 		$result = Database::query($sql);
 		$alleval = Evaluation::create_evaluation_objects_from_sql_result($result);
 		$alleval = Evaluation::create_evaluation_objects_from_sql_result($result);
 		return $alleval;
 		return $alleval;

+ 20 - 18
tests/migrate/migration.custom.class.php

@@ -524,24 +524,26 @@ class MigrationCustom {
                     error_log("Looking gradebook in course code:  {$course_data['code']} - session_id: $session_id");                    
                     error_log("Looking gradebook in course code:  {$course_data['code']} - session_id: $session_id");                    
                     if (!empty($gradebook)) {                        
                     if (!empty($gradebook)) {                        
                         error_log("Gradebook exists");
                         error_log("Gradebook exists");
-                        echo 'parameters';
-                        var_dump($data);
-                        
-                        
-                        $eval = new Evaluation();
-                        $eval->set_name($data['gradebook_description']);
-                        $eval->set_description($data['gradebook_description']);
-                        $eval->set_evaluation_type_id($data['gradebook_evaluation_type_id']);
-                        $eval->set_user_id(self::default_admin_id);
-                        $eval->set_course_code($course_data['code']);                        
-                        $eval->set_category_id($gradebook['id']);
-                        
-                        //harcoded values
-                        $eval->set_weight(10);	
-                        $eval->set_max(20);
-                        $eval->set_visible(1);
-                        $eval->add();
-                        
+                        //echo 'parameters';
+                        //
+                        //Check if gradebook exists
+                        $eval = new Evaluation();                        
+                        $evals_found = $eval->load(null, null, $course_data['code'], null, null, null, $data['gradebook_description']);
+                                                
+                        if (empty($evals_found)) {                        
+                            $eval->set_name($data['gradebook_description']);
+                            $eval->set_description($data['gradebook_description']);
+                            $eval->set_evaluation_type_id($data['gradebook_evaluation_type_id']);
+                            $eval->set_user_id(self::default_admin_id);
+                            $eval->set_course_code($course_data['code']);                        
+                            $eval->set_category_id($gradebook['id']);
+
+                            //harcoded values
+                            $eval->set_weight(10);	
+                            $eval->set_max(20);
+                            $eval->set_visible(1);
+                            $eval->add();
+                        }                        
                     } else {
                     } else {
                         error_log("Gradebook does not exists");
                         error_log("Gradebook does not exists");
                     }
                     }