Browse Source

Multiple form style corrections

Julio Montoya 13 years ago
parent
commit
dc33a544ca

+ 4 - 5
main/gradebook/gradebook_add_result.php

@@ -22,6 +22,7 @@ $resultadd = new Result();
 $resultadd->set_evaluation_id($_GET['selecteval']);
 $evaluation = Evaluation :: load($_GET['selecteval']);
 $add_result_form = new EvalForm(EvalForm :: TYPE_RESULT_ADD, $evaluation[0], $resultadd, 'add_result_form', null, api_get_self() . '?selectcat=' . Security::remove_XSS($_GET['selectcat']) . '&selecteval=' . Security::remove_XSS($_GET['selecteval']));
+$table = $add_result_form->toHtml();
 if ($add_result_form->validate()) {
 	$values = $add_result_form->exportValues();
 	$nr_users = $values['nr_users'];
@@ -44,8 +45,6 @@ if ($add_result_form->validate()) {
 }
 $interbreadcrumb[] = array ('url' => Security::remove_XSS($_SESSION['gradebook_dest']),'name' => get_lang('Gradebook'));
 Display :: display_header(get_lang('AddResult'));
-DisplayGradebook :: display_header_result ($evaluation[0], null, 0,0);
-echo '<div class="main">';
-echo $add_result_form->toHtml();
-echo '</div>';
-Display :: display_footer();
+DisplayGradebook :: display_header_result ($evaluation[0], null, 0,0);      
+echo $table;
+Display :: display_footer();

+ 3 - 3
main/gradebook/gradebook_edit_result.php

@@ -25,6 +25,7 @@ if (empty($select_eval)) {
 $resultedit = Result :: load (null,null,$select_eval);
 $evaluation = Evaluation :: load ($select_eval);
 $edit_result_form = new EvalForm(EvalForm :: TYPE_ALL_RESULTS_EDIT, $evaluation[0], $resultedit, 'edit_result_form', null, api_get_self() . '?&selecteval='.$select_eval);
+$table = $edit_result_form->toHtml();
 if ($edit_result_form->validate()) {
 	$values = $edit_result_form->exportValues();
 	$scores = ($values['score']);
@@ -40,6 +41,7 @@ if ($edit_result_form->validate()) {
 	header('Location: gradebook_view_result.php?selecteval='.$select_eval.'&editallresults=');
 	exit;
 }
+
 $interbreadcrumb[] = array (
 	'url' => $_SESSION['gradebook_dest'],
 	'name' => get_lang('Gradebook'
@@ -50,7 +52,5 @@ $interbreadcrumb[]= array (
 ));
 Display :: display_header(get_lang('EditResult'));
 DisplayGradebook :: display_header_result ($evaluation[0],null,0,0);
-echo '<div class="main">';
-echo $edit_result_form->toHtml();
-echo '</div>';
+echo $table;
 Display :: display_footer();

+ 2 - 4
main/gradebook/gradebook_showlog_eval.php

@@ -31,10 +31,8 @@ $interbreadcrumb[] = array (
 );
 $this_section = SECTION_COURSES;
 Display :: display_header('');
-echo '<div class="clear"></div>';
-echo '<div class="actions">';
-api_display_tool_title(get_lang('GradebookQualifyLog'));
-echo '</div>';
+
+echo Display::page_subheader(get_lang('GradebookQualifyLog'));
 
 
 $t_linkeval_log = Database :: get_main_table(TABLE_MAIN_GRADEBOOK_LINKEVAL_LOG);

+ 1 - 1
main/gradebook/gradebook_view_result.php

@@ -478,7 +478,7 @@ if ($file_type == null) { //show the result header
     		echo '</div>';
     	}
     	if (isset ($edit_res_form)) {
-    		Display :: display_normal_message($edit_res_form->toHtml(),false);
+    		echo $edit_res_form->toHtml();
     	}
     	DisplayGradebook :: display_header_result($eval[0], $currentcat[0]->get_id(), 1);
     }

+ 5 - 8
main/gradebook/lib/fe/displaygradebook.php

@@ -61,7 +61,7 @@ class DisplayGradebook
 			if ($score != null) {
                 $average= get_lang('Average') . ' :<b> ' .$scoredisplay->display_score($score, SCORE_AVERAGE) . '</b>';
                 $student_score = $evalobj->calc_score(api_get_user_id());
-                $student_score = Display::tag('h3', get_lang('Result').': '.$scoredisplay->display_score($student_score, SCORE_DIV_PERCENT));                            
+                $student_score = Display::tag('h3', get_lang('Score').': '.$scoredisplay->display_score($student_score, SCORE_DIV_PERCENT));                            
             }				
 		}
 		
@@ -76,7 +76,7 @@ class DisplayGradebook
 		}
     
 		$evalinfo= '<table width="100%" border="0"><tr><td>';
-		$evalinfo .= '<h2>'.$evalobj->get_name().'</h2>'; 
+		$evalinfo .= '<h2>'.$evalobj->get_name().'</h2><hr>'; 
 		$evalinfo .= $description;
 		$evalinfo .= get_lang('Course') . ' :<b> ' . $course . '</b><br />';
 		//'<br>' . get_lang('Weight') . ' :<b> ' . $evalobj->get_weight() . '</b><br>' . get_lang('Visible') . ' :<b> ' . $visible . '</b>
@@ -85,9 +85,7 @@ class DisplayGradebook
         if (!api_is_allowed_to_edit()) {
             $evalinfo .= $student_score;
         }
-        
-        
-        
+                
 		if (!$evalobj->has_results()) {
 			$evalinfo .= '<br /><i>' . get_lang('NoResultsInEvaluation') . '</i>';
 		} elseif ($scoredisplay->is_custom() && api_get_self() != '/main/gradebook/gradebook_statistics.php') {
@@ -102,12 +100,11 @@ class DisplayGradebook
                 $evalinfo .= '<br /><a href="gradebook_statistics.php?selecteval='.Security::remove_XSS($_GET['selecteval']).'"> '.Display::return_icon(('statistics.png'),get_lang('ViewStatistics'),'','32').'</a>';
             }
         }
-        $evalinfo .= '</td><td><img style="float:right; position:relative;" src="../img/tutorial.gif"></img></td></table>';
-        
+        $evalinfo .= '</td><td><img style="float:right; position:relative;" src="../img/tutorial.gif"></td></table>';        
 		echo $evalinfo;
 		echo $header;
-
 	}
+    
 	/**
 	* Displays the header for the flatview page containing filters
 	* @param $catobj

+ 96 - 95
main/gradebook/lib/fe/evalform.class.php

@@ -20,14 +20,13 @@ require_once api_get_path(LIBRARY_PATH) . 'groupmanager.lib.php';
 
 $htmlHeadXtra[] = '<script type="text/javascript">
 function setFocus(){
-$("#evaluation_title").focus();
+    $("#evaluation_title").focus();
 }
 $(document).ready(function () {
-  setFocus();
+    setFocus();
 });
 </script>';
 
-
 class EvalForm extends FormValidator
 {
 	const TYPE_ADD= 1;
@@ -51,8 +50,8 @@ class EvalForm extends FormValidator
 	 * @param method
 	 * @param action
 	 */
-	function EvalForm($form_type, $evaluation_object, $result_object, $form_name, $method= 'post', $action= null, $extra1 = null, $extra2 = null) {
-		parent :: __construct($form_name, $method, $action);
+	public function __construct($form_type, $evaluation_object, $result_object, $form_name, $method= 'post', $action= null, $extra1 = null, $extra2 = null) {        
+		parent::__construct($form_name, $method, $action);
 
 		if (isset ($evaluation_object)) {
 			$this->evaluation_object= $evaluation_object;
@@ -62,35 +61,41 @@ class EvalForm extends FormValidator
 		}
 		if (isset ($extra1)) {
 			$this->extra = $extra1;
-		}		
-		if ($form_type == self :: TYPE_EDIT) {
-			$this->build_editing_form();
-		} elseif ($form_type == self :: TYPE_ADD) {
-			$this->build_add_form();
-		} elseif ($form_type == self :: TYPE_MOVE) {
-			$this->build_move_form();
-		} elseif ($form_type == self :: TYPE_RESULT_ADD) {
-			$this->build_result_add_form();
-		} elseif ($form_type == self :: TYPE_RESULT_EDIT) {
-			$this->build_result_edit_form();
-		} elseif ($form_type == self :: TYPE_ALL_RESULTS_EDIT) {
-			$this->build_all_results_edit_form();
-		} elseif ($form_type == self :: TYPE_ADD_USERS_TO_EVAL) {
-			$this->build_add_user_to_eval();
 		}
+        
+        switch ($form_type) {
+            case self :: TYPE_EDIT:
+                $this->build_editing_form();    
+                break;
+            case self :: TYPE_ADD:
+                $this->build_add_form();    
+                break;
+            case self :: TYPE_MOVE:
+                $this->build_editing_form();    
+                break;
+            case self :: TYPE_RESULT_ADD:
+                $this->build_result_add_form();    
+                break;
+            case self :: TYPE_RESULT_EDIT:
+                $this->build_result_edit_form();    
+                break;            
+            case self :: TYPE_ALL_RESULTS_EDIT:
+                $this->build_all_results_edit_form();    
+                break;
+            case self :: TYPE_ADD_USERS_TO_EVAL:
+                $this->build_add_user_to_eval();    
+                break;        
+        }
 		$this->setDefaults();
 	}
 	/**
 	 * This form will build a form to add users to an evaluation
 	 */
-	protected function build_add_user_to_eval() {
-		//$this->addElement('hidden', 'formSent');
-		$this->addElement('header','label',get_lang('ChooseUser'));
+	protected function build_add_user_to_eval() {		
+		$this->addElement('header', get_lang('ChooseUser'));
 		$select= $this->addElement('select', 'firstLetterUser', get_lang('FirstLetter'), null, array(
 			'onchange'=> 'document.add_users_to_evaluation.submit()'
-		));
-
-		$result = '';
+		));		
 		$select->addOption('','');
 		for ($i = 65; $i <= 90; $i ++) {
 			$letter = chr($i);
@@ -120,16 +125,17 @@ class EvalForm extends FormValidator
 		//extra field for check on maxvalue
 		$this->addElement('hidden', 'maxvalue', $this->evaluation_object->get_max());
 		$this->addElement('hidden', 'minvalue', 0);
-		$this->addElement('header','h1','<b>'.get_lang('EditResult').'</b>');
-		$renderer = $this->defaultRenderer();				
-			
-		$renderer->setFormTemplate(
-		   '<form{attributes}>
-		      <table class="data_table" border="0" cellpadding="5" cellspacing="5">{content}
-		      </table>		      
-		   </form>'
-		);
+		$this->addElement('header', get_lang('EditResult'));
+        
+		$renderer =& $this->defaultRenderer();	
         
+        // set new form template
+        $form_template = '<form{attributes}>
+                    <table class="data_table" border="0" cellpadding="5" cellspacing="5">{content}
+                    </table>		      
+                </form>';        
+        $renderer->setFormTemplate($form_template);
+	
         if (api_is_western_name_order()){
     		$renderer->setHeaderTemplate(
     		   '<tr>
@@ -172,7 +178,7 @@ class EvalForm extends FormValidator
 			$user = $result_and_user['user'];
 			$result = $result_and_user['result'];
 
-			$renderer =& $this->defaultRenderer();
+			$renderer = &$this->defaultRenderer();
 			$this->add_textfield('score[' . $result->get_id() . ']',
 								 $this->build_stud_label($user['user_id'], $user['username'], $user['lastname'], $user['firstname']),
 								 false,
@@ -207,13 +213,15 @@ class EvalForm extends FormValidator
 		$this->setDefaults($defaults);
 		$this->addElement('style_submit_button', 'submit',get_lang('EditResult'),'class="save"');
 		$renderer->setElementTemplate($template_submit,'submit');
+        
+        
 	}
 	/**
 	 * This function builds a form to move an item to another category
 	 *
 	 */
 	protected function build_move_form() {
-		$renderer =& $this->defaultRenderer();
+		$renderer = & $this->defaultRenderer();
 		$renderer->setElementTemplate('<span>{element}</span> ');
 		$this->addElement('static', null, null, '"'.$this->evaluation_object->get_name().'" ');
 		$this->addElement('static', null, null, get_lang('MoveTo').' : ');
@@ -231,23 +239,23 @@ class EvalForm extends FormValidator
 	 * Builds a result form containing inputs for all students with a given course_code
 	 */
 	protected function build_result_add_form() {
-		$tblusers= get_users_in_course($this->evaluation_object->get_course_code());
-		$nr_users= 0;
-		//extra field for check on maxvalue
-		$this->addElement('hidden', 'maxvalue', $this->evaluation_object->get_max());
-		$this->addElement('hidden', 'minvalue', 0);
-		$this->addElement('header','h1','<b>'.get_lang('AddResult').'</b>');
-
-		$renderer = $this->defaultRenderer();		
-			
-		$renderer->setFormTemplate(
+        $renderer =& $this->defaultRenderer();        
+        $renderer->setFormTemplate(
 		   '<form{attributes}>
-		      <table class="data_table" border="0" cellpadding="5" cellspacing="5">{content}
+		      <table class="data_table">
+              {content}
 		      </table>		      
 		   </form>'
-		);
+		);        
+        
+		$tblusers = get_users_in_course($this->evaluation_object->get_course_code());
+		$nr_users = 0;
+		//extra field for check on maxvalue
+		$this->addElement('hidden', 'maxvalue', $this->evaluation_object->get_max());
+		$this->addElement('hidden', 'minvalue', 0);
+		$this->addElement('header', get_lang('AddResult'));
 
-        if (api_is_western_name_order()){
+        if (api_is_western_name_order()){   
             $renderer->setHeaderTemplate(
                '<tr>
                    <th>'.get_lang('OfficialCode').'</th>        
@@ -267,33 +275,21 @@ class EvalForm extends FormValidator
                   <th>'.get_lang('Qualify').'</th>
                </tr>'  
             );
-        }   
-         
-		$template_submit =  '<tr>
-			       <td colspan="4" ></td>			         
-			      <td >
-			       {element}
-			         <!-- BEGIN error --><br /><span style="color: #ff0000;font-size:10px">{error}</span><!-- END error -->
-			      </td>
-			   </tr>';	
-			   
+        }	   
+        
 		foreach ($tblusers as $user) {
-			
+            
+            $element_name = 'score['.$user[0].']';
+            			
 			//user_id, user.username, lastname, firstname
-			$this->add_textfield('score[' . $user[0] . ']',
+			$this->add_textfield($element_name,
 								 $this->build_stud_label($user[0], $user[1], $user[2], $user[3]),
 								 false,
 								 array ('size' => 4,'maxlength' => 5));
-			$this->addRule('score[' . $user[0] . ']', get_lang('OnlyNumbers'), 'numeric');
-			$this->addRule(array (
-				'score[' . $user[0] . ']',
-				'maxvalue'
-			), get_lang('OverMax'), 'compare', '<=');
-			$this->addRule(array (
-				'score[' . $user[0] . ']',
-				'minvalue'
-			), get_lang('UnderMin'), 'compare', '>=');
             
+			$this->addRule($element_name, get_lang('OnlyNumbers'), 'numeric');
+			$this->addRule(array($element_name,'maxvalue'), get_lang('OverMax'), 'compare', '<=');
+			$this->addRule(array($element_name,'minvalue'), get_lang('UnderMin'), 'compare', '>=');            
             
             if (api_is_western_name_order() ) {
                 $user_info = '<td align="left" >'.$user[3].'</td>';
@@ -301,53 +297,58 @@ class EvalForm extends FormValidator
             } else {
                 $user_info = '<td align="left" >'.$user[2].'</td>';
                 $user_info .= '<td align="left" >'.$user[3].'</td>';                
-            }           
-			
-			$template =  '<tr>
+            }
+			$nr_users++;           
+                   
+            $template =  '<tr>
 		      <td align="left" >'.$user[4].'</td>
 		      <td align="left" >'.$user[1].'</td>
 		      '.$user_info.'
 		       <td align="left">{element} / '.$this->evaluation_object->get_max().'
 		         <!-- BEGIN error --><br /><span style="color: #ff0000;font-size:10px">{error}</span><!-- END error -->
 		      </td>
-		   </tr>';	
-           
-           
-			   
-
-			$renderer->setElementTemplate($template, 'score[' . $user[0] . ']');
-			$nr_users++;
-		}
-		
+            </tr>';  
+			$renderer->setElementTemplate($template, $element_name);
+		}		
 		$this->addElement('hidden', 'nr_users', $nr_users);
 		$this->addElement('hidden', 'evaluation_id', $this->result_object->get_evaluation_id());		
-		$this->addElement('style_submit_button', 'submit', get_lang('AddResult'),'class="save"');
-		
-		$renderer->setElementTemplate($template_submit,'submit');
+		$this->addElement('style_submit_button', 'submit', get_lang('AddResult'),'class="save"');	
+        
+        $template_submit =  '<tr>
+                <td colspan="4" ></td>			         
+                <td >
+                {element}
+                    <!-- BEGIN error --><br /><span style="color: #ff0000;font-size:10px">{error}</span><!-- END error -->
+                </td>
+            </tr>';	
+		$renderer->setElementTemplate($template_submit, 'submit');           
 	}
+    
 	/**
 	 * Builds a form to edit a result
 	 */
 	protected function build_result_edit_form() {
 		$this->setDefaults(array (
-		'score' => $this->result_object->get_score(),
-		'maximum' => $this->evaluation_object->get_max()
+            'score' => $this->result_object->get_score(),
+            'maximum' => $this->evaluation_object->get_max()
 		));
 		$userinfo= api_get_user_info($this->result_object->get_user_id());
 		$renderer =& $this->defaultRenderer();
 		$renderer->setElementTemplate('<span>{element}</span> ');
-		$this->addElement('static', null, null, api_get_person_name($userinfo['lastName'], $userinfo['firstName']));
-		$this->add_textfield('score', get_lang('Result'), false, array (
+		$this->addElement('label', get_lang('User'), $userinfo['complete_name']);
+        
+		$this->add_textfield('score', array(get_lang('Score'), null, '/ '.$this->evaluation_object->get_max()), false, array (
 			'size' => '4',
+            'class' => 'span1',
 			'maxlength' => '5'
-		));
-		$this->addElement('static', null, null,'/');
+		));		
 
-		$this->add_textfield('maximum', null, false, array (
+/*		$this->add_textfield('maximum', null, false, array (
 			'size' => '4',
 			'maxlength' => '5',
 			'disabled' => 'disabled'
-		));
+		));*/
+        
 		$this->addElement('style_submit_button', 'submit', get_lang('Edit'),'class="save"');
 		$this->addElement('hidden', 'minvalue', 0);
 		$this->addElement('hidden', 'hid_user_id', $this->result_object->get_user_id());
@@ -404,7 +405,7 @@ class EvalForm extends FormValidator
 			$form_title = get_lang('EditEvaluation');
 		}
 
-		$this->addElement('header', '', $form_title);
+		$this->addElement('header', $form_title);
 		$this->addElement('hidden', 'zero', 0);
 		$this->addElement('hidden', 'hid_user_id');
 		//$this->addElement('hidden', 'hid_category_id');

+ 15 - 26
main/inc/lib/formvalidator/FormValidator.class.php

@@ -1,10 +1,6 @@
 <?php
 /* For licensing terms, see /license.txt */
 
-// Copyright (c) 2010 Chamilo.org
-// Copyright (c) 2004-2005 Dokeos S.A.
-// Copyright (c) Bart Mollet, Hogeschool Gent
-
 require_once api_get_path(LIBRARY_PATH).'pear/HTML/QuickForm.php';
 require_once api_get_path(LIBRARY_PATH).'pear/HTML/QuickForm/advmultiselect.php';
 
@@ -34,14 +30,14 @@ class FormValidator extends HTML_QuickForm {
 	 * @param bool $track_submit (optional)		Whether to track if the form was
 	 * submitted by adding a special hidden field (default = true)
 	 */
-	function FormValidator($form_name, $method = 'post', $action = '', $target = '', $attributes = null, $track_submit = true) {
+	function __construct($form_name, $method = 'post', $action = '', $target = '', $attributes = null, $track_submit = true) {
                     
         //Default form class
         if (!isset($attributes['class'])) {
             $attributes['class'] = 'form-horizontal';
         }
         
-		$this->HTML_QuickForm($form_name, $method, $action, $target, $attributes, $track_submit);
+		parent::__construct($form_name, $method, $action, $target, $attributes, $track_submit);
         
 		// Load some custom elements and rules
 		$dir = api_get_path(LIBRARY_PATH).'formvalidator/';
@@ -65,22 +61,19 @@ class FormValidator extends HTML_QuickForm {
 		// Modify the default templates
 		$renderer = & $this->defaultRenderer();
         
-        //Form template
-        
-		$form_template = <<<EOT
-<form {attributes}>
+        //Form template        
+		$form_template = '<form{attributes}>
 <fieldset>
 	{content}
 	<div class="clear"></div>
 </fieldset>
-</form>
-EOT;
+{hidden}
+</form>';
 		$renderer->setFormTemplate($form_template);
                 
         //Element template
         
-		$element_template = <<<EOT
-	
+		$element_template = '   
 		<div class="control-group {error_class}">				
             <label class="control-label">
 				<!-- BEGIN required --><span class="form_required">*</span><!-- END required -->
@@ -101,16 +94,12 @@ EOT;
 					<span class="help-inline">{error}</span>
 				<!-- END error -->	
 			</div>
-		</div>
-EOT;
-		$renderer->setElementTemplate($element_template);
+		</div>';
         
-        //Set Header template
+		$renderer->setElementTemplate($element_template);
         
-		$header_template = <<<EOT
-	<legend>{header}</legend>
-EOT;
-		$renderer->setHeaderTemplate($header_template);
+        //Set Header template        
+		$renderer->setHeaderTemplate('<legend>{header}</legend>');
         
         //Set required field template
 		HTML_QuickForm::setRequiredNote('<span class="form_required">*</span> <small>'.get_lang('ThisFieldIsRequired').'</small>');
@@ -120,7 +109,7 @@ EOT;
 	</div>
 EOT;
 		$renderer->setRequiredNoteTemplate($required_note_template);
-	}
+	}    
 
 	/**
 	 * Adds a textfield to the form.
@@ -347,7 +336,7 @@ EOT;
 	 */
 	function return_form() {
 		$error = false;
-		foreach ($this->_elements as $index => $element) {
+		foreach ($this->_elements as $element) {
 			if (!is_null(parent::getElementError($element->getName()))) {
 				$error = true;
 				break;
@@ -356,8 +345,8 @@ EOT;
 		$return_value = '';
 		if ($error) {
 			$return_value = Display::return_message(get_lang('FormHasErrorsPleaseComplete'),'warning');
-		}
-		$return_value .= parent::toHtml();
+		}           
+		$return_value .= parent::toHtml();           
 		// Add div-element which is to hold the progress bar
 		if (isset($this->with_progress_bar) && $this->with_progress_bar) {
 			$return_value .= '<div id="dynamic_div" style="display:block; margin-left:40%; margin-top:10px; height:50px;"></div>';