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