| Línea 16... |
Línea 16... |
| 16 |
|
16 |
|
| Línea 17... |
Línea 17... |
| 17 |
namespace gradereport_user\report;
|
17 |
namespace gradereport_user\report;
|
| 18 |
|
18 |
|
| - |
|
19 |
use cache;
|
| 19 |
use cache;
|
20 |
use context_course;
|
| 20 |
use context_course;
|
21 |
use core_grades\penalty_manager;
|
| 21 |
use course_modinfo;
|
22 |
use course_modinfo;
|
| 22 |
use grade_grade;
|
23 |
use grade_grade;
|
| 23 |
use grade_helper;
|
24 |
use grade_helper;
|
| Línea 222... |
Línea 223... |
| 222 |
* @param null|object $gpr grade plugin return tracking object
|
223 |
* @param null|object $gpr grade plugin return tracking object
|
| 223 |
* @param object $context
|
224 |
* @param object $context
|
| 224 |
* @param int $userid The id of the user
|
225 |
* @param int $userid The id of the user
|
| 225 |
* @param bool $viewasuser Set this to true when the current user is a mentor/parent of the targetted user.
|
226 |
* @param bool $viewasuser Set this to true when the current user is a mentor/parent of the targetted user.
|
| 226 |
*/
|
227 |
*/
|
| 227 |
public function __construct(int $courseid, ?object $gpr, object $context, int $userid, bool $viewasuser = null) {
|
228 |
public function __construct(int $courseid, ?object $gpr, object $context, int $userid, ?bool $viewasuser = null) {
|
| 228 |
global $DB, $CFG;
|
229 |
global $DB, $CFG;
|
| 229 |
parent::__construct($courseid, $gpr, $context);
|
230 |
parent::__construct($courseid, $gpr, $context);
|
| Línea 230... |
Línea 231... |
| 230 |
|
231 |
|
| 231 |
$this->showrank = grade_get_setting($this->courseid, 'report_user_showrank', $CFG->grade_report_user_showrank);
|
232 |
$this->showrank = grade_get_setting($this->courseid, 'report_user_showrank', $CFG->grade_report_user_showrank);
|
| Línea 522... |
Línea 523... |
| 522 |
}
|
523 |
}
|
| Línea 523... |
Línea 524... |
| 523 |
|
524 |
|
| Línea 524... |
Línea 525... |
| 524 |
$gradegrade->load_grade_item();
|
525 |
$gradegrade->load_grade_item();
|
| 525 |
|
526 |
|
| 526 |
// Hidden Items.
|
527 |
// Hidden Items.
|
| 527 |
if ($gradegrade->grade_item->is_hidden()) {
|
528 |
if ($gradegrade->grade_item->is_hidden() && $this->canviewhidden) {
|
| Línea 528... |
Línea 529... |
| 528 |
$hidden = ' dimmed_text';
|
529 |
$hidden = ' dimmed_text';
|
| 529 |
}
|
530 |
}
|
| Línea 586... |
Línea 587... |
| 586 |
$class .= ($type == 'categoryitem' || $type == 'courseitem') ? " d$depth baggt b2b" : " item b1b";
|
587 |
$class .= ($type == 'categoryitem' || $type == 'courseitem') ? " d$depth baggt b2b" : " item b1b";
|
| 587 |
} else {
|
588 |
} else {
|
| 588 |
$class .= ($type == 'categoryitem' || $type == 'courseitem') ? " d$depth baggb" : " item b1b";
|
589 |
$class .= ($type == 'categoryitem' || $type == 'courseitem') ? " d$depth baggb" : " item b1b";
|
| 589 |
}
|
590 |
}
|
| Línea 590... |
Línea 591... |
| 590 |
|
591 |
|
| 591 |
$itemicon = \html_writer::div(grade_helper::get_element_icon($element), 'mr-1');
|
592 |
$itemicon = \html_writer::div(grade_helper::get_element_icon($element), 'me-1');
|
| 592 |
$elementtype = grade_helper::get_element_type_string($element);
|
593 |
$elementtype = grade_helper::get_element_type_string($element);
|
| 593 |
$itemtype = \html_writer::span($elementtype, 'd-block text-uppercase small dimmed_text',
|
594 |
$itemtype = \html_writer::span($elementtype, 'd-block text-uppercase small ' . $hidden,
|
| Línea 594... |
Línea 595... |
| 594 |
['title' => $elementtype]);
|
595 |
['title' => $elementtype]);
|
| 595 |
|
596 |
|
| 596 |
if ($type == 'categoryitem' || $type == 'courseitem') {
|
597 |
if ($type == 'categoryitem' || $type == 'courseitem') {
|
| Línea 692... |
Línea 693... |
| 692 |
get_string('strftimedatetimeshort')
|
693 |
get_string('strftimedatetimeshort')
|
| 693 |
) . $gradestatus
|
694 |
) . $gradestatus
|
| 694 |
);
|
695 |
);
|
| 695 |
$gradeitemdata['gradehiddenbydate'] = true;
|
696 |
$gradeitemdata['gradehiddenbydate'] = true;
|
| 696 |
} else if ($gradegrade->is_hidden()) {
|
697 |
} else if ($gradegrade->is_hidden()) {
|
| 697 |
$data['grade']['class'] = $class.' dimmed_text';
|
698 |
$data['grade']['class'] = $class;
|
| 698 |
$data['grade']['content'] = '-';
|
699 |
$data['grade']['content'] = '-';
|
| Línea 699... |
Línea 700... |
| 699 |
|
700 |
|
| - |
|
701 |
if ($this->canviewhidden) {
|
| 700 |
if ($this->canviewhidden) {
|
702 |
$data['grade']['class'] .= ' dimmed_text';
|
| 701 |
$gradeitemdata['graderaw'] = $gradeval;
|
703 |
$gradeitemdata['graderaw'] = $gradeval;
|
| 702 |
$data['grade']['content'] = grade_format_gradevalue($gradeval,
|
704 |
$data['grade']['content'] = grade_format_gradevalue($gradeval,
|
| 703 |
$gradegrade->grade_item,
|
705 |
$gradegrade->grade_item,
|
| 704 |
true) . $gradestatus;
|
706 |
true) . penalty_manager::show_penalty_indicator($gradegrade) . $gradestatus;
|
| 705 |
}
|
707 |
}
|
| 706 |
} else {
|
708 |
} else {
|
| 707 |
$gradestatusclass = '';
|
709 |
$gradestatusclass = '';
|
| 708 |
$gradepassicon = '';
|
710 |
$gradepassicon = '';
|
| Línea 726... |
Línea 728... |
| 726 |
}
|
728 |
}
|
| 727 |
}
|
729 |
}
|
| Línea 728... |
Línea 730... |
| 728 |
|
730 |
|
| 729 |
$data['grade']['class'] = "{$class} {$gradestatusclass}";
|
731 |
$data['grade']['class'] = "{$class} {$gradestatusclass}";
|
| 730 |
$data['grade']['content'] = $gradepassicon . grade_format_gradevalue($gradeval,
|
732 |
$data['grade']['content'] = $gradepassicon . grade_format_gradevalue($gradeval,
|
| 731 |
$gradegrade->grade_item, true) . $gradestatus;
|
733 |
$gradegrade->grade_item, true) . penalty_manager::show_penalty_indicator($gradegrade) . $gradestatus;
|
| 732 |
$gradeitemdata['graderaw'] = $gradeval;
|
734 |
$gradeitemdata['graderaw'] = $gradeval;
|
| 733 |
}
|
735 |
}
|
| 734 |
$data['grade']['headers'] = "$headercat $headerrow grade$userid";
|
736 |
$data['grade']['headers'] = "$headercat $headerrow grade$userid";
|
| 735 |
$gradeitemdata['gradeformatted'] = $data['grade']['content'];
|
737 |
$gradeitemdata['gradeformatted'] = $data['grade']['content'];
|
| 736 |
// If the current grade item need to show a grade action menu, generate the appropriate output.
|
738 |
// If the current grade item need to show a grade action menu, generate the appropriate output.
|
| 737 |
if ($gradeactionmenu = $this->gtree->get_grade_action_menu($gradegrade)) {
|
739 |
if ($gradeactionmenu = $this->gtree->get_grade_action_menu($gradegrade)) {
|
| 738 |
$gradecontainer = html_writer::div($data['grade']['content']);
|
740 |
$gradecontainer = html_writer::div($data['grade']['content']);
|
| 739 |
$grademenucontainer = html_writer::div($gradeactionmenu, 'pl-1 d-flex align-items-center');
|
741 |
$grademenucontainer = html_writer::div($gradeactionmenu, 'ps-1 d-flex align-items-center');
|
| 740 |
$data['grade']['content'] = html_writer::div($gradecontainer . $grademenucontainer,
|
742 |
$data['grade']['content'] = html_writer::div($gradecontainer . $grademenucontainer,
|
| 741 |
'd-flex align-items-center');
|
743 |
'd-flex align-items-center');
|
| 742 |
}
|
744 |
}
|
| Línea 760... |
Línea 762... |
| 760 |
if ($this->showpercentage) {
|
762 |
if ($this->showpercentage) {
|
| 761 |
if ($gradegrade->grade_item->needsupdate) {
|
763 |
if ($gradegrade->grade_item->needsupdate) {
|
| 762 |
$data['percentage']['class'] = $class.' gradingerror';
|
764 |
$data['percentage']['class'] = $class.' gradingerror';
|
| 763 |
$data['percentage']['content'] = get_string('error');
|
765 |
$data['percentage']['content'] = get_string('error');
|
| 764 |
} else if ($gradegrade->is_hidden()) {
|
766 |
} else if ($gradegrade->is_hidden()) {
|
| 765 |
$data['percentage']['class'] = $class.' dimmed_text';
|
767 |
$data['percentage']['class'] = $class;
|
| 766 |
$data['percentage']['content'] = '-';
|
768 |
$data['percentage']['content'] = '-';
|
| 767 |
if ($this->canviewhidden) {
|
769 |
if ($this->canviewhidden) {
|
| - |
|
770 |
$data['percentage']['class'] .= ' dimmed_text';
|
| 768 |
$data['percentage']['content'] = grade_format_gradevalue(
|
771 |
$data['percentage']['content'] = grade_format_gradevalue(
|
| 769 |
$gradeval,
|
772 |
$gradeval,
|
| 770 |
$gradegrade->grade_item,
|
773 |
$gradegrade->grade_item,
|
| 771 |
true,
|
774 |
true,
|
| 772 |
GRADE_DISPLAY_TYPE_PERCENTAGE
|
775 |
GRADE_DISPLAY_TYPE_PERCENTAGE
|
| Línea 789... |
Línea 792... |
| 789 |
if ($this->showlettergrade) {
|
792 |
if ($this->showlettergrade) {
|
| 790 |
if ($gradegrade->grade_item->needsupdate) {
|
793 |
if ($gradegrade->grade_item->needsupdate) {
|
| 791 |
$data['lettergrade']['class'] = $class.' gradingerror';
|
794 |
$data['lettergrade']['class'] = $class.' gradingerror';
|
| 792 |
$data['lettergrade']['content'] = get_string('error');
|
795 |
$data['lettergrade']['content'] = get_string('error');
|
| 793 |
} else if ($gradegrade->is_hidden()) {
|
796 |
} else if ($gradegrade->is_hidden()) {
|
| 794 |
$data['lettergrade']['class'] = $class.' dimmed_text';
|
797 |
$data['lettergrade']['class'] = $class;
|
| 795 |
if (!$this->canviewhidden) {
|
798 |
if (!$this->canviewhidden) {
|
| - |
|
799 |
$data['lettergrade']['class'] .= ' dimmed_text';
|
| 796 |
$data['lettergrade']['content'] = '-';
|
800 |
$data['lettergrade']['content'] = '-';
|
| 797 |
} else {
|
801 |
} else {
|
| 798 |
$data['lettergrade']['content'] = grade_format_gradevalue(
|
802 |
$data['lettergrade']['content'] = grade_format_gradevalue(
|
| 799 |
$gradeval,
|
803 |
$gradeval,
|
| 800 |
$gradegrade->grade_item,
|
804 |
$gradegrade->grade_item,
|
| Línea 820... |
Línea 824... |
| 820 |
$gradeitemdata['rank'] = 0;
|
824 |
$gradeitemdata['rank'] = 0;
|
| 821 |
if ($gradegrade->grade_item->needsupdate) {
|
825 |
if ($gradegrade->grade_item->needsupdate) {
|
| 822 |
$data['rank']['class'] = $class.' gradingerror';
|
826 |
$data['rank']['class'] = $class.' gradingerror';
|
| 823 |
$data['rank']['content'] = get_string('error');
|
827 |
$data['rank']['content'] = get_string('error');
|
| 824 |
} else if ($gradegrade->is_hidden()) {
|
828 |
} else if ($gradegrade->is_hidden()) {
|
| 825 |
$data['rank']['class'] = $class.' dimmed_text';
|
829 |
$data['rank']['class'] = $class;
|
| 826 |
$data['rank']['content'] = '-';
|
830 |
$data['rank']['content'] = '-';
|
| - |
|
831 |
if ($this->canviewhidden) {
|
| - |
|
832 |
$data['rank']['class'] .= ' dimmed_text';
|
| - |
|
833 |
}
|
| 827 |
} else if (is_null($gradeval)) {
|
834 |
} else if (is_null($gradeval)) {
|
| 828 |
// No grade, o rank.
|
835 |
// No grade, o rank.
|
| 829 |
$data['rank']['class'] = $class;
|
836 |
$data['rank']['class'] = $class;
|
| 830 |
$data['rank']['content'] = '-';
|
837 |
$data['rank']['content'] = '-';
|