From a2b79395afec08ff9898df8525c99138d4abba07 Mon Sep 17 00:00:00 2001 From: Julio Montoya Date: Wed, 13 Jul 2011 12:59:11 +0200 Subject: [PATCH] Improving Gradebook UI --- main/gradebook/gradebook_edit_cat.php | 6 ++- main/gradebook/index.php | 30 ++----------- main/gradebook/lib/fe/catform.class.php | 3 +- main/gradebook/lib/fe/displaygradebook.php | 41 +++++++++++++++--- .../gradebook/lib/fe/gradebooktable.class.php | 5 +++ main/img/icons/32/ranking.png | Bin 0 -> 4245 bytes 6 files changed, 48 insertions(+), 37 deletions(-) create mode 100644 main/img/icons/32/ranking.png diff --git a/main/gradebook/gradebook_edit_cat.php b/main/gradebook/gradebook_edit_cat.php index 7682759f8a..cb7b9d0cd7 100755 --- a/main/gradebook/gradebook_edit_cat.php +++ b/main/gradebook/gradebook_edit_cat.php @@ -1,13 +1,15 @@ -show_message_resource_delete($course_id); if ($show_message=='') { - //hack for inside courses menu cat - if (api_is_allowed_to_edit()) { - - $op_cat_weight= ''.get_lang('TotalWeight').''.': '.((intval($cats[0]->get_weight())>0) ? $cats[0]->get_weight() : 0); - $opt_cat_cert_min= ''.get_lang('CertificateMinScore').''.': '.(intval($cats[0]->get_certificate_min_score()>0) ? $cats[0]->get_certificate_min_score() : 0); - $opt_cat_descrip= ''.get_lang('GradebookDescriptionLog').''.': '.(($cats[0]->get_description() == "" || is_null($cats[0]->get_description())) ? get_lang('None') : $cats[0]->get_description()); - - $visibility_icon= ($cats[0]->is_visible() == 0) ? 'invisible' : 'visible'; - $visibility_command= ($cats[0]->is_visible() == 0) ? 'set_visible' : 'set_invisible'; - echo '
'; - $modify_icons= ''.Display::return_icon('edit.png', get_lang('EditCategory'),'','22').''; - $modify_icons .= ' '.Display::return_icon('delete.png', get_lang('DeleteAll'),'','22').''; - $modify_icons .= ' '.Display::return_icon($visibility_icon.'.png', get_lang('Visible'),'','22').''; - $opt_cat_descrip1 = strip_tags($opt_cat_descrip); - echo '
'.Display::return_icon('info.png', $opt_cat_descrip1,'','22').''; - echo $op_cat_weight.' '.'  '.$opt_cat_cert_min.'  '.$opt_cat_descrip.'
'; - echo $modify_icons; - echo '
'; - } else { + //student + if (!api_is_allowed_to_edit()) { + // generating the total score for a course $stud_id = api_get_user_id(); $cats_course = Category :: load ($category_id, null, null, null, null, null, false); @@ -852,13 +836,7 @@ if ($category != '0') { $cattotal = Category :: load($category_id); $scoretotal= $cattotal[0]->calc_score(api_get_user_id()); - - /* - //Overwritten the old total with the real total of the gradebook if the line below is deleted, then when a user doesn't finish a test the total will be different from the real total - $scoretotal[1] = $item_total; - //$scoretotal_display = (isset($scoretotal)? round($scoretotal[0],2).'/'.round($scoretotal[1],2).' ('.round(($scoretotal[0] / $scoretotal[1]) * 100,2) . ' %)': '-'); - */ - + //Do not remove this the gradebook/lib/fe/gradebooktable.class.php file load this variable as a global $my_score_in_gradebook = round($scoretotal[0],2); diff --git a/main/gradebook/lib/fe/catform.class.php b/main/gradebook/lib/fe/catform.class.php index c5dc25e644..79137dd64a 100755 --- a/main/gradebook/lib/fe/catform.class.php +++ b/main/gradebook/lib/fe/catform.class.php @@ -120,8 +120,7 @@ class CatForm extends FormValidator { private function build_basic_form() { $this->addElement('hidden', 'zero', 0); - $this->add_textfield('name', get_lang('CategoryName'),true,array('size'=>'54','maxlength'=>'50')); - + //$this->add_textfield('name', get_lang('CategoryName'),true,array('size'=>'54','maxlength'=>'50')); $this->add_textfield('weight', get_lang('TotalWeight'),true,array('size'=>'4','maxlength'=>'5')); $this->addElement('static', null, null, ''.get_lang('TotalSumOfWeights').''); diff --git a/main/gradebook/lib/fe/displaygradebook.php b/main/gradebook/lib/fe/displaygradebook.php index 2e13b136ae..4d6489e528 100755 --- a/main/gradebook/lib/fe/displaygradebook.php +++ b/main/gradebook/lib/fe/displaygradebook.php @@ -238,8 +238,8 @@ class DisplayGradebook Display :: display_normal_message($scoreinfo, false); } // show navigation tree and buttons? - $header=''; - $header .= '
'; + + $header = '
'; if (($showtree == '1') || (isset ($_GET['studentoverview']))) { $header .= ''; if (!$selectcat == '0') { @@ -251,6 +251,7 @@ class DisplayGradebook $tree= $cats[0]->get_tree(); unset ($cats); + foreach ($tree as $cat) { for ($i= 0; $i < $cat[2]; $i++) { $line .= '—'; @@ -287,10 +288,12 @@ class DisplayGradebook // for course admin & platform admin add item buttons are added to the header $header .= '
'; - $my_category=$catobj->shows_all_information_an_category($catobj->get_id()); - $user_id=api_get_user_id(); - $course_code=$my_category['course_code']; - $status_user=api_get_status_of_user_in_course ($user_id,$course_code); + + $my_category = $catobj->shows_all_information_an_category($catobj->get_id()); + $user_id = api_get_user_id(); + $course_code = $my_category['course_code']; + $status_user = api_get_status_of_user_in_course ($user_id,$course_code); + if (api_is_allowed_to_edit(null, true)) { if ($selectcat == '0') { if ($show_add_qualification === true) { @@ -327,10 +330,20 @@ class DisplayGradebook $my_file= substr($_SESSION['gradebook_dest'],0,5); if (api_is_allowed_to_edit(null, true)) { - $header .= '
'.Display::return_icon('settings.png', get_lang('ScoreEdit'),'','32').''; + $header .= ''.Display::return_icon('stats.png', get_lang('FlatView'),'','32').''; $header .= ''.Display::return_icon('certificate.png', get_lang('AttachCertificate'),'','32').''; $header .= ''.Display::return_icon('certificate_list.png', get_lang('GradebookSeeListOfStudentsCertificates'),'','32').''; + + $visibility_icon = ($catobj->is_visible() == 0) ? 'invisible' : 'visible'; + $visibility_command = ($catobj->is_visible() == 0) ? 'set_visible' : 'set_invisible'; + + $modify_icons = ''.Display::return_icon('edit.png', get_lang('Edit'),'','32').''; + $modify_icons .= ''.Display::return_icon('ranking.png', get_lang('ScoreEdit'),'','32').''; + $modify_icons .= ' '.Display::return_icon($visibility_icon.'.png', get_lang('Visible'),'','32').''; + $modify_icons .= ' '.Display::return_icon('delete.png', get_lang('DeleteAll'),'','32').''; + + $header .= Display::div($modify_icons, array('class'=>'right')); } } } @@ -339,6 +352,20 @@ class DisplayGradebook } $header .= ''; echo $header; + + if (api_is_allowed_to_edit(null, true)) { + $weight = ((intval($catobj->get_weight())>0) ? $catobj->get_weight() : 0); + $weight = Display::tag('h3', get_lang('TotalWeight').' : '.$weight); + + $min_certification = (intval($catobj->get_certificate_min_score()>0) ? $catobj->get_certificate_min_score() : 0); + $min_certification = Display::tag('h3', get_lang('CertificateMinScore').' : '.$min_certification); + //@todo show description + $description = (($catobj->get_description() == "" || is_null($catobj->get_description())) ? '' : ''.get_lang('GradebookDescriptionLog').''.': '.$catobj->get_description()); + Display::display_normal_message($weight.$min_certification, false); + if (!empty($description)) { + echo Display::div($description, array()); + } + } } function display_reduce_header_gradebook($catobj,$is_course_admin, $is_platform_admin, $simple_search_form, $show_add_qualification = true, $show_add_link = true) { diff --git a/main/gradebook/lib/fe/gradebooktable.class.php b/main/gradebook/lib/fe/gradebooktable.class.php index 637b5b081c..66daf9a2a9 100755 --- a/main/gradebook/lib/fe/gradebooktable.class.php +++ b/main/gradebook/lib/fe/gradebooktable.class.php @@ -244,6 +244,11 @@ class GradebookTable extends SortableTable $warning_message = get_lang('TotalWeightMustNotBeMoreThan').' '.$weight_category; Display::display_warning_message($warning_message,false); } + + if ($weight_total_links < $weight_category) { + $warning_message = sprintf(get_lang('TotalWeightMustBeX'), $weight_category); + Display::display_warning_message($warning_message,false); + } $content_html = DocumentManager::replace_user_info_into_html(api_get_user_id(), $course_code); diff --git a/main/img/icons/32/ranking.png b/main/img/icons/32/ranking.png new file mode 100644 index 0000000000000000000000000000000000000000..c084796d84e81485492f5fd166d1dbcdb07291dc GIT binary patch literal 4245 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 literal 0 HcmV?d00001