Ver Fonte

Adding grading model when creating a course if settings are on see BT#4080

Julio Montoya há 12 anos atrás
pai
commit
2001dd110d

+ 3 - 11
main/admin/course_add.php

@@ -109,18 +109,8 @@ $form->addGroup($group,'', get_lang('Unsubscription'), '<br />');
 $form->addElement('text','disk_quota',array(get_lang('CourseQuota'), null, get_lang('MB')));
 $form->addRule('disk_quota', get_lang('ThisFieldShouldBeNumeric'), 'numeric');
 
-//if (api_get_setting('gradebook'))
-
 $obj = new GradeModel();
-$grade_models = $obj->get_all();                
-$grade_model_options = array('-1' => get_lang('None'));            
-if (!empty($grade_models)) {
-    foreach ($grade_models as $item) {
-        $grade_model_options[$item['id']] = $item['name'];
-    }                
-}
-$form->addElement('select', 'gradebook_model_id', get_lang('GradeModel'), $grade_model_options);
-
+$obj->fill_grade_model_select_in_form($form);
 
 $form->add_progress_bar();
 $form->addElement('style_submit_button', 'submit', get_lang('CreateCourse'), 'class="add"');
@@ -158,6 +148,8 @@ if ($form->validate()) {
     $course['user_id']              = $teacher_id;  
     $course['wanted_code']          = $course['visual_code'];
     
+    $course['gradebook_model_id']   = isset($course['gradebook_model_id']) ? $course['gradebook_model_id'] : null;            
+    
     $course_info = CourseManager::create_course($course);
 
     header('Location: course_list.php');

+ 9 - 7
main/create_course/add_course.php

@@ -164,7 +164,10 @@ if ($course_validation_feature) {
     }
 }
 
-$form -> addElement('html','</div>');
+$obj = new GradeModel();
+$obj->fill_grade_model_select_in_form($form);
+
+$form->addElement('html','</div>');
 
 // Submit button.
 $form->addElement('style_submit_button', null, $course_validation_feature ? get_lang('CreateThisCourseRequest') : get_lang('CreateCourseArea'), 'class="add"');
@@ -178,7 +181,6 @@ if (isset($_user['language']) && $_user['language'] != '') {
 } else {
     $values['course_language'] = api_get_setting('platformLanguage');
 }
-$values['tutor_name'] = api_get_person_name($_user['firstName'], $_user['lastName'], null, null, $values['course_language']);
 
 $form->setDefaults($values);
 
@@ -196,8 +198,7 @@ if ($form->validate()) {
     if ($course_validation_feature) {
         $description     = $course_values['description'];
         $objetives       = $course_values['objetives'];
-        $target_audience = $course_values['target_audience'];
-        $status           = '0';
+        $target_audience = $course_values['target_audience'];        
     }
 
     if ($wanted_code == '') {
@@ -214,13 +215,13 @@ if ($form->validate()) {
     if ($course_code_ok) {
         if (!$course_validation_feature) {       
               
-            $params = array();
-            
+            $params = array();            
             $params['title']                = $title;
             $params['exemplary_content']    = $exemplary_content;
             $params['wanted_code']          = $wanted_code;            
             $params['category_code']        = $category_code;
-            $params['course_language']      = $course_language;            
+            $params['course_language']      = $course_language;
+            $params['gradebook_model_id']   = isset($course_values['gradebook_model_id']) ? $course_values['gradebook_model_id'] : null;            
              
             $course_info = CourseManager::create_course($params); 
      
@@ -235,6 +236,7 @@ if ($form->validate()) {
                 $tpl->assign('course_url', $link);                
                 $tpl->assign('course_title', Display::url($title, $link));   
                 $tpl->assign('course_id', $course_info['code']);
+                
                 $add_course_tpl = $tpl->get_template('create_course/add_course.tpl');
                 $message = $tpl->fetch($add_course_tpl);    
                 

+ 3 - 17
main/inc/lib/course.lib.php

@@ -99,21 +99,8 @@ define('NOT_VISIBLE_SUBSCRIPTION_ALLOWED', 1);
 define('VISIBLE_SUBSCRIPTION_ALLOWED', 2);
 define('VISIBLE_NO_SUBSCRIPTION_ALLOWED', 3);
 
-define('USER_SEPARATOR', ' |'); //Use to show user names in userportal.php, footer, etc
-
-
-
-/**
- * Variables
- */
-/*
-$TABLECOURSE         = Database::get_main_table(TABLE_MAIN_COURSE);
-$TABLECOURSDOMAIN    = Database::get_main_table(TABLE_MAIN_CATEGORY);
-$TABLEUSER           = Database::get_main_table(TABLE_MAIN_USER);
-$TABLECOURSUSER      = Database::get_main_table(TABLE_MAIN_COURSE_USER);
-$TABLEANNOUNCEMENTS  = 'announcement';
-$coursesRepositories = $_configuration['root_sys'];
-*/
+//This constant is used to show separate user names in the course list (userportal), footer, etc
+define('USER_SEPARATOR', ' |'); 
 
 /**
  *	CourseManager Class
@@ -121,8 +108,7 @@ $coursesRepositories = $_configuration['root_sys'];
  */
 class CourseManager {
     
-    var $columns = array();
-    
+    var $columns = array();    
     
     /**
      * Creates a course

+ 13 - 1
main/inc/lib/grade_model.lib.php

@@ -216,7 +216,19 @@ class GradeModel extends Model {
     public function delete($id) {
 	    parent::delete($id);
 	    //event_system(LOG_CAREER_DELETE, LOG_CAREER_ID, $id, api_get_utc_datetime(), api_get_user_id());
-    }    
+    }
+    public function fill_grade_model_select_in_form($form) {
+        if (api_get_setting('teachers_can_change_grade_model_settings') == 'true' || api_is_platform_admin()) {
+            $grade_models = $this->get_all();                
+            $grade_model_options = array('-1' => get_lang('None'));            
+            if (!empty($grade_models)) {
+                foreach ($grade_models as $item) {
+                    $grade_model_options[$item['id']] = $item['name'];
+                }                
+            }
+            $form->addElement('select', 'gradebook_model_id', get_lang('GradeModel'), $grade_model_options);
+        }
+    }
 }
 
 class GradeModelComponents extends Model {