Moodle APIs 3.9
Moodle 3.9.13+ (Build: 20220325)
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
quiz_grading_report Class Reference

Quiz report to help teachers manually grade questions that need it. More...

Inheritance diagram for quiz_grading_report:
quiz_default_report

Public Member Functions

 display ($quiz, $cm, $course)
 Override this function to displays the report. More...
 
 get_current_group ($cm, $course, $context)
 Get the current group for the user user looking at the report. More...
 
 print_header_and_tabs ($cm, $course, $quiz, $reportmode='overview')
 Initialise some parts of $PAGE and start output. More...
 

Public Attributes

const DEFAULT_ORDER = 'random'
 
const DEFAULT_PAGE_SIZE = 5
 
const NO_GROUPS_ALLOWED = -2
 

Protected Member Functions

 base_url ()
 Get the URL of the front page of the report that lists all the questions. More...
 
 display_grading_interface ($slot, $questionid, $grade, $pagesize, $page, $shownames, $showidnumbers, $order, $counts)
 Display the UI for grading attempts at one question. More...
 
 display_index ($includeauto)
 Display the report front page which summarises the number of attempts to grade. More...
 
 format_count_for_table ($counts, $type, $gradestring)
 Renders the contents of one cell of the table on the index view. More...
 
 get_qubaids_condition ()
 Get the JOIN conditions needed so we only show attempts by relevant users. More...
 
 get_question_heading ($attempt, $shownames, $showidnumbers)
 Get question heading. More...
 
 get_question_state_summary ($slots)
 Load information about the number of attempts at various questions in each summarystate. More...
 
 get_usage_ids_where_question_in_state ($summarystate, $slot, $questionid=null, $orderby='random', $page=0, $pagesize=null)
 Get a list of usage ids where the question with slot $slot, and optionally also with question id $questionid, is in summary state $summarystate. More...
 
 grade_question_url ($slot, $questionid, $grade, $page=true)
 Get the URL to grade a batch of question attempts. More...
 
 list_questions_url ($includeauto=null)
 Get the URL of the front page of the report that lists all the questions. More...
 
 load_attempts_by_usage_ids ($qubaids)
 Load the quiz_attempts rows corresponding to a list of question_usage ids. More...
 
 process_submitted_data ()
 Save all submitted marks to the database.
 
 validate_submitted_marks ()
 When saving a grading page, are all the submitted marks valid? More...
 

Protected Attributes

stdClass $cm
 the course_module settings.
 
context $context
 the quiz context.
 
stdClass $course
 the course settings.
 
int $currentgroup
 the current group, 0 if none, or NO_GROUPS_ALLOWED.
 
array $questions
 from quiz_report_get_significant_questions.
 
stdClass $quiz
 the quiz settings.
 
quiz_grading_renderer $renderer
 Renderer of Quiz Grading.
 
string $userssql
 fragment of SQL code to restrict to the relevant users.
 
array $viewoptions = []
 URL parameters for what is being displayed when grading.
 

Detailed Description

Quiz report to help teachers manually grade questions that need it.

This report basically provides two screens:

License
http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later

Member Function Documentation

◆ base_url()

quiz_grading_report::base_url ( )
protected

Get the URL of the front page of the report that lists all the questions.

Return values
moodle_urlthe URL.

◆ display()

quiz_grading_report::display (   $cm,
  $course,
  $quiz 
)

Override this function to displays the report.

Parameters
$cmthe course-module for this quiz.
$coursethe coures we are in.
$quizthis quiz.

Reimplemented from quiz_default_report.

◆ display_grading_interface()

quiz_grading_report::display_grading_interface (   $slot,
  $questionid,
  $grade,
  $pagesize,
  $page,
  $shownames,
  $showidnumbers,
  $order,
  $counts 
)
protected

Display the UI for grading attempts at one question.

Parameters
int$slotidentifies which question to grade.
int$questionididentifies which question to grade.
string$gradetype of attempts to grade.
int$pagesizenumber of questions to show per page.
int$pagecurrent page number.
bool$shownameswhether student names should be shown.
bool$showidnumberswither student idnumbers should be shown.
string$orderpreferred order of attempts.
stdClass$countsobject that stores the number of each type of attempt.

◆ display_index()

quiz_grading_report::display_index (   $includeauto)
protected

Display the report front page which summarises the number of attempts to grade.

Parameters
bool$includeautowhether to show automatically-graded questions.

◆ format_count_for_table()

quiz_grading_report::format_count_for_table (   $counts,
  $type,
  $gradestring 
)
protected

Renders the contents of one cell of the table on the index view.

Parameters
stdClass$countscounts of different types of attempt for this slot.
string$typethe type of count to format.
string$gradestringget_string identifier for the grading link text, if required.
Return values
stringHTML.

◆ get_current_group()

quiz_default_report::get_current_group (   $cm,
  $course,
  $context 
)
inherited

Get the current group for the user user looking at the report.

Parameters
object$cmthe course_module information.
object$couresthe course settings.
context$contextthe quiz context.
Return values
intthe current group id, if applicable. 0 for all users, NO_GROUPS_ALLOWED if the user cannot see any group.

◆ get_qubaids_condition()

quiz_grading_report::get_qubaids_condition ( )
protected

Get the JOIN conditions needed so we only show attempts by relevant users.

Return values
qubaid_join

◆ get_question_heading()

quiz_grading_report::get_question_heading (   $attempt,
  $shownames,
  $showidnumbers 
)
protected

Get question heading.

Parameters
object$attemptan instance of quiz_attempt.
bool$shownamesTrue to show the question name.
bool$showidnumbersTrue to show the question id number.
Return values
stringThe string text for the question heading.
Exceptions
coding_exception

◆ get_question_state_summary()

quiz_grading_report::get_question_state_summary (   $slots)
protected

Load information about the number of attempts at various questions in each summarystate.

The results are returned as an two dimensional array $qubaid => $slot => $dataobject

Parameters
array$slotsA list of slots for the questions you want to konw about.
Return values
arrayThe array keys are slot,qestionid. The values are objects with fields $slot, $questionid, $inprogress, $name, $needsgrading, $autograded, $manuallygraded and $all.

◆ get_usage_ids_where_question_in_state()

quiz_grading_report::get_usage_ids_where_question_in_state (   $summarystate,
  $slot,
  $questionid = null,
  $orderby = 'random',
  $page = 0,
  $pagesize = null 
)
protected

Get a list of usage ids where the question with slot $slot, and optionally also with question id $questionid, is in summary state $summarystate.

Also return the total count of such states.

Only a subset of the ids can be returned by using $orderby, $limitfrom and $limitnum. A special value 'random' can be passed as $orderby, in which case $limitfrom is ignored.

Parameters
int$slotThe slot for the questions you want to konw about.
int$questionid(optional) Only return attempts that were of this specific question.
string$summarystate'all', 'needsgrading', 'autograded' or 'manuallygraded'.
string$orderby'random', 'date', 'student' or 'idnumber'.
int$pageimplements paging of the results. Ignored if $orderby = random or $pagesize is null.
int$pagesizeimplements paging of the results. null = all.
Return values
arraywith two elements, an array of usage ids, and a count of the total number.

◆ grade_question_url()

quiz_grading_report::grade_question_url (   $slot,
  $questionid,
  $grade,
  $page = true 
)
protected

Get the URL to grade a batch of question attempts.

Parameters
int$slot
int$questionid
string$grade
int | bool$page= true, link to current page. false = omit page. number = link to specific page.
Return values
moodle_url

◆ list_questions_url()

quiz_grading_report::list_questions_url (   $includeauto = null)
protected

Get the URL of the front page of the report that lists all the questions.

Parameters
bool$includeautoif not given, use the current setting, otherwise, force a particular value of includeauto in the URL.
Return values
moodle_urlthe URL.

◆ load_attempts_by_usage_ids()

quiz_grading_report::load_attempts_by_usage_ids (   $qubaids)
protected

Load the quiz_attempts rows corresponding to a list of question_usage ids.

Parameters
int[]$qubaidsthe question_usage ids of the quiz_attempts to load.
Return values
arrayquiz attempts, with added user name fields.

◆ print_header_and_tabs()

quiz_grading_report::print_header_and_tabs (   $cm,
  $course,
  $quiz,
  $reportmode = 'overview' 
)

Initialise some parts of $PAGE and start output.

Parameters
object$cmthe course_module information.
object$coursethe course settings.
object$quizthe quiz settings.
string$reportmodethe report name.

Reimplemented from quiz_default_report.

◆ validate_submitted_marks()

quiz_grading_report::validate_submitted_marks ( )
protected

When saving a grading page, are all the submitted marks valid?

Return values
booltrue if all valid, else false.

The documentation for this class was generated from the following file: