Multiple form style corrections

skala
Julio Montoya 13 years ago
parent ad10ade2f4
commit dc33a544ca
  1. 9
      main/gradebook/gradebook_add_result.php
  2. 6
      main/gradebook/gradebook_edit_result.php
  3. 6
      main/gradebook/gradebook_showlog_eval.php
  4. 2
      main/gradebook/gradebook_view_result.php
  5. 13
      main/gradebook/lib/fe/displaygradebook.php
  6. 191
      main/gradebook/lib/fe/evalform.class.php
  7. 41
      main/inc/lib/formvalidator/FormValidator.class.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();

@ -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();

@ -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);

@ -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);
}

@ -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

@ -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');

@ -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>';

Loading…
Cancel
Save