From edef4cd2e15998dd9c0655a604ac474a25c3b0d2 Mon Sep 17 00:00:00 2001 From: Rossiani Wijaya Date: Thu, 4 Feb 2010 04:37:31 +0000 Subject: [PATCH] MDL-20307 - add view fullname capabilities to display fullname in gradebook and participant list --- grade/report/grader/lib.php | 17 +++++++++-------- mod/assignment/lib.php | 2 +- mod/quiz/report/overview/report.php | 4 ++-- user/index.php | 16 ++++++++++++---- 4 files changed, 24 insertions(+), 15 deletions(-) diff --git a/grade/report/grader/lib.php b/grade/report/grader/lib.php index a7de308ce2a..9a9c3f96f67 100644 --- a/grade/report/grader/lib.php +++ b/grade/report/grader/lib.php @@ -657,7 +657,7 @@ class grade_report_grader extends grade_report { $hidden = ' hidden '; } - $headerlink = $this->gtree->get_element_header($element, true, $this->get_pref('showactivityicons'), false); + $headerlink = $this->gtree->get_element_header($element, true, $this->get_pref('showactivityicons'), false); //MDL-21088 - IE 7 ignores nowraps on tds or ths so we this in a span with a nowrap on it. $headerhtml .= '' .shorten_text($headerlink) . $arrow; @@ -687,6 +687,7 @@ class grade_report_grader extends grade_report { $showuserimage = $this->get_pref('showuserimage'); $showuseridnumber = $this->get_pref('showuseridnumber'); $fixedstudents = $this->is_fixed_students(); + $canviewfullname = has_capability('moodle/site:viewfullnames', $this->context); // Preload scale objects for items with a scaleid $scales_list = ''; @@ -736,19 +737,18 @@ class grade_report_grader extends grade_report { $userreportcell = ''; $userreportcellcolspan = ''; if (has_capability('gradereport/'.$CFG->grade_profilereport.':view', $this->context)) { - $a->user = fullname($user); + $a->user = fullname($user, $canviewfullname); $strgradesforuser = get_string('gradesforuser', 'grades', $a); $userreportcell = '' .''.$strgradesforuser.''; - } - else { + } else { $userreportcellcolspan = 'colspan=2'; } $studentshtml .= '' .''.$user_pic .'' - .fullname($user)."$userreportcell\n"; + .fullname($user, $canviewfullname)."$userreportcell\n"; if ($showuseridnumber) { $studentshtml .= ''. @@ -944,7 +944,8 @@ class grade_report_grader extends grade_report { $strsortdesc = $this->get_lang_string('sortdesc', 'grades'); $strfirstname = $this->get_lang_string('firstname'); $strlastname = $this->get_lang_string('lastname'); - + $canviewfullname = has_capability('moodle/site:viewfullnames', $this->context); + if ($this->sortitemid === 'lastname') { if ($this->sortorder == 'ASC') { $lastarrow = print_arrow('up', $strsortasc, true); @@ -1023,7 +1024,7 @@ class grade_report_grader extends grade_report { $userreportcell = ''; $userreportcellcolspan = ''; if (has_capability('gradereport/'.$CFG->grade_profilereport.':view', $this->context)) { - $a->user = fullname($user); + $a->user = fullname($user, $canviewfullname); $strgradesforuser = get_string('gradesforuser', 'grades', $a); $userreportcell = '' .''.$strgradesforuser.''; @@ -1035,7 +1036,7 @@ class grade_report_grader extends grade_report { $studentshtml .= '' .''.$user_pic .'' - .fullname($user)."$userreportcell\n"; + .fullname($user, $canviewfullname)."$userreportcell\n"; if ($showuseridnumber) { $studentshtml .= ''. $user->idnumber."\n"; diff --git a/mod/assignment/lib.php b/mod/assignment/lib.php index 75a81ebdcc5..6c8dbba7a4e 100644 --- a/mod/assignment/lib.php +++ b/mod/assignment/lib.php @@ -1300,7 +1300,7 @@ class assignment_base { } } - $userlink = '' . fullname($auser) . ''; + $userlink = '' . fullname($auser, has_capability('moodle/site:viewfullnames', $this->context)) . ''; $row = array($picture, $userlink, $grade, $comment, $studentmodified, $teachermodified, $status, $finalgrade); if ($uses_outcomes) { $row[] = $outcomes; diff --git a/mod/quiz/report/overview/report.php b/mod/quiz/report/overview/report.php index 0316715bbe5..745eb859c31 100644 --- a/mod/quiz/report/overview/report.php +++ b/mod/quiz/report/overview/report.php @@ -466,10 +466,10 @@ class quiz_report extends quiz_default_report { } if (!$download){ $userlink = ''.fullname($attempt).''; + '&course='.$course->id.'">'.fullname($attempt,has_capability('moodle/site:viewfullnames', $context)).''; $row[] = $userlink; } else { - $row[] = fullname($attempt); + $row[] = fullname($attempt, has_capability('moodle/site:viewfullnames', $context)); } if (in_array('idnumber', $columns)){ diff --git a/user/index.php b/user/index.php index 04354cdf16c..869466862ee 100644 --- a/user/index.php +++ b/user/index.php @@ -679,7 +679,7 @@ if ($userlist) { - $usersprinted = array(); + $usersprinted = array(); while ($user = rs_fetch_next_record($userlist)) { if (in_array($user->id, $usersprinted)) { /// Prevent duplicates by r.hidden - MDL-13935 continue; @@ -717,11 +717,19 @@ } else { $usercontext = $user->context; } + + $contextcanviewdetails = has_capability('moodle/user:viewdetails', $context); + $usercontextcanviewdetails = has_capability('moodle/user:viewdetails', $usercontext); - if ($piclink = ($USER->id == $user->id || has_capability('moodle/user:viewdetails', $context) || has_capability('moodle/user:viewdetails', $usercontext))) { - $profilelink = ''.fullname($user).''; + if ($piclink = ($USER->id == $user->id || $contextcanviewdetails || $usercontextcanviewdetails)) { + if ($usercontextcanviewdetails) { + $canviewfullname = has_capability('moodle/site:viewfullnames', $usercontext); + } else { + $canviewfullname = has_capability('moodle/site:viewfullnames', $context); + } + $profilelink = ''.fullname($user, $canviewfullname).''; } else { - $profilelink = ''.fullname($user).''; + $profilelink = ''.fullname($user, has_capability('moodle/site:viewfullnames', $context)).''; } $data = array (