Эх сурвалжийг харах

Feature #2099 - Some form fields have been set as mandatory.

Ivan Tcholakov 14 жил өмнө
parent
commit
fd83647503

+ 5 - 5
main/admin/course_request_edit.php

@@ -59,14 +59,13 @@ if ($course_validation_feature) {
         // Build the form.
         $form = new FormValidator('add_course', 'post', 'course_request_edit.php?id='.$id.'&caller='.$caller);
 
-        // TODO: Check which fields are to be mandatory.
-
         // Form title.
         $form->addElement('header', '', $tool_name);
 
         // Title.
         $form->addElement('text', 'title', get_lang('CourseName'), array('size' => '60', 'id' => 'title'));
         $form->applyFilter('title', 'html_filter');
+        $form->addRule('title', get_lang('ThisFieldIsRequired'), 'required');
 
         // Course category.
         $categories_select = $form->addElement('select', 'category_code', get_lang('Fac'), array());
@@ -77,6 +76,7 @@ if ($course_validation_feature) {
         $form->add_textfield('wanted_code', get_lang('Code'), false, array('size' => '$maxlength', 'maxlength' => $maxlength));
         $form->applyFilter('wanted_code', 'html_filter');
         $form->addRule('wanted_code', get_lang('Max'), 'maxlength', $maxlength);
+        $form->addRule('wanted_code', get_lang('ThisFieldIsRequired'), 'required');
 
         // The teacher.
         $titular = & $form->add_textfield('tutor_name', get_lang('Professor'), null, array('size' => '60', 'disabled' => 'disabled'));
@@ -84,15 +84,15 @@ if ($course_validation_feature) {
 
         // Description of the requested course.
         $form->addElement('textarea', 'description', get_lang('Description'), array('style' => 'border:#A5ACB2 solid 1px; font-family:arial,verdana,helvetica,sans-serif; font-size:12px', 'rows' => '3', 'cols' => '116'));
-        $form->addRule('description', get_lang('ThisFieldIsRequired'), 'required', '', '');
+        $form->addRule('description', get_lang('ThisFieldIsRequired'), 'required');
 
         // Objectives of the requested course.
         $form->addElement('textarea', 'objetives', get_lang('Objectives'), array('style' => 'border:#A5ACB2 solid 1px; font-family:arial,verdana,helvetica,sans-serif; font-size:12px', 'rows' => '3', 'cols' => '116'));
-        $form->addRule('objetives', get_lang('ThisFieldIsRequired'), 'required', '', '');
+        $form->addRule('objetives', get_lang('ThisFieldIsRequired'), 'required');
 
         // Target audience of the requested course.
         $form->addElement('textarea', 'target_audience', get_lang('TargetAudience'), array('style' => 'border:#A5ACB2 solid 1px; font-family:arial,verdana,helvetica,sans-serif; font-size:12px', 'rows' => '3', 'cols' => '116'));
-        $form->addRule('target_audience', get_lang('ThisFieldIsRequired'), 'required', '', '');
+        $form->addRule('target_audience', get_lang('ThisFieldIsRequired'), 'required');
 
         // Course language.
         $form->addElement('select_language', 'course_language', get_lang('Ln'));

+ 8 - 4
main/create_course/add_course.php

@@ -85,6 +85,7 @@ $form->addElement('header', '', $tool_name);
 $form->addElement('text', 'title', get_lang('CourseName'), array('size' => '60', 'id' => 'title'));
 $form->applyFilter('title', 'html_filter');
 $form->addElement('static', null, null, get_lang('Ex'));
+$form->addRule('title', get_lang('ThisFieldIsRequired'), 'required');
 
 // Course category.
 $categories_select = $form->addElement('select', 'category_code', get_lang('Fac'), array());
@@ -96,6 +97,9 @@ $form->addElement('static', null, null, get_lang('TargetFac'));
 $form->add_textfield('wanted_code', get_lang('Code'), false, array('size' => '$maxlength', 'maxlength' => $maxlength));
 $form->applyFilter('wanted_code', 'html_filter');
 $form->addRule('wanted_code', get_lang('Max'), 'maxlength', $maxlength);
+if ($course_validation_feature) {
+    $form->addRule('wanted_code', get_lang('ThisFieldIsRequired'), 'required');
+}
 
 // The teacher.
 $titular = & $form->add_textfield('tutor_name', get_lang('Professor'), null, array('size' => '60', 'disabled' => 'disabled'));
@@ -106,15 +110,15 @@ if ($course_validation_feature) {
 
     // Description of the requested course.
     $form->addElement('textarea', 'description', get_lang('Description'), array('style' => 'border:#A5ACB2 solid 1px; font-family:arial,verdana,helvetica,sans-serif; font-size:12px', 'rows' => '3', 'cols' => '116'));
-    $form->addRule('description', get_lang('ThisFieldIsRequired'), 'required', '', '');
+    $form->addRule('description', get_lang('ThisFieldIsRequired'), 'required');
 
     // Objectives of the requested course.
     $form->addElement('textarea', 'objetives', get_lang('Objectives'), array('style' => 'border:#A5ACB2 solid 1px; font-family:arial,verdana,helvetica,sans-serif; font-size:12px', 'rows' => '3', 'cols' => '116'));
-    $form->addRule('objetives', get_lang('ThisFieldIsRequired'), 'required', '', '');
+    $form->addRule('objetives', get_lang('ThisFieldIsRequired'), 'required');
 
     // Target audience of the requested course.
     $form->addElement('textarea', 'target_audience', get_lang('TargetAudience'), array('style' => 'border:#A5ACB2 solid 1px; font-family:arial,verdana,helvetica,sans-serif; font-size:12px', 'rows' => '3', 'cols' => '116'));
-    $form->addRule('target_audience', get_lang('ThisFieldIsRequired'), 'required', '', '');
+    $form->addRule('target_audience', get_lang('ThisFieldIsRequired'), 'required');
 }
 
 // Course language.
@@ -136,7 +140,7 @@ if ($course_validation_feature) {
     if (!empty($terms_and_conditions_url)) {
         // Terms and conditions to be accepted before sending a course request.
         $form->addElement('checkbox', 'legal', get_lang('IAcceptTermsAndConditions'), '', 1);
-        $form->addRule('legal', get_lang('YouHaveToAcceptTermsAndConditions'), 'required', '', '');
+        $form->addRule('legal', get_lang('YouHaveToAcceptTermsAndConditions'), 'required');
         // Link to terms and conditions.
         $link_terms_and_conditions = '<script type="text/JavaScript">
         <!--

+ 10 - 2
main/inc/lib/course_request.lib.php

@@ -52,7 +52,7 @@ class CourseRequestManager {
      */
     public static function create_course_request($wanted_code, $title, $description, $category_code, $course_language, $objetives, $target_audience, $user_id) {
 
-        $wanted_code = Database::escape_string($wanted_code);
+        $wanted_code = trim(Database::escape_string($wanted_code));
         $title = Database::escape_string($title);
         $description = Database::escape_string($description);
         $category_code = Database::escape_string($category_code);
@@ -61,6 +61,10 @@ class CourseRequestManager {
         $target_audience = Database::escape_string($target_audience);
         $user_id = (int)$user_id;
 
+        if ($wanted_code == '') {
+            return false;
+        }
+
         if (self::course_code_exists($wanted_code)) {
             return false;
         }
@@ -182,7 +186,7 @@ class CourseRequestManager {
     public static function update_course_request($id, $wanted_code, $title, $description, $category_code, $course_language, $objetives, $target_audience, $user_id) {
 
         $id = (int)$id;
-        $wanted_code = Database::escape_string($wanted_code);
+        $wanted_code = trim(Database::escape_string($wanted_code));
         $title = Database::escape_string($title);
         $description = Database::escape_string($description);
         $category_code = Database::escape_string($category_code);
@@ -191,6 +195,10 @@ class CourseRequestManager {
         $target_audience = Database::escape_string($target_audience);
         $user_id = (int)$user_id;
 
+        if ($wanted_code == '') {
+            return false;
+        }
+
         if ($user_id <= 0) {
             return false;
         }