Moodle APIs  3.8
Moodle 3.8.6 (Build: 20201109)
Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
testable_quiz_attempts_report Class Reference

Makes some protected methods of quiz_attempts_report public to facilitate testing. More...

Inheritance diagram for testable_quiz_attempts_report:
quiz_attempts_report quiz_default_report

Public Member Functions

 delete_selected_attempts ($quiz, $cm, $attemptids, core\dml\sql_join $allowedjoins)
 Testable delete_selected_attempts function. More...
 
 display ($cm, $course, $quiz)
 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

string const ALL_WITH = 'all_with'
 constant used for the options, means all users with attempts.
 
int const DEFAULT_PAGE_SIZE = 30
 default page size for reports.
 
string const ENROLLED_ALL = 'enrolled_any'
 constant used for the options, means all enrolled users.
 
string const ENROLLED_WITH = 'enrolled_with'
 constant used for the options, means only enrolled users with attempts.
 
string const ENROLLED_WITHOUT = 'enrolled_without'
 constant used for the options, means only enrolled users without attempts.
 
const NO_GROUPS_ALLOWED = -2
 

Protected Member Functions

 add_grade_columns ($quiz, $usercanseegrades, &$columns, &$headers, $includefeedback=true)
 Add all the grade and feedback columns, if applicable, to the $columns and $headers arrays. More...
 
 add_state_column (&$columns, &$headers)
 Add the state column to the $columns and $headers arrays. More...
 
 add_time_columns (&$columns, &$headers)
 Add all the time-related columns to the $columns and $headers arrays. More...
 
 add_user_columns ($table, &$columns, &$headers)
 Add all the user-related columns to the $columns and $headers arrays. More...
 
 configure_user_columns ($table)
 Set the display options for the user-related columns in the table. More...
 
 get_base_url ()
 Get the base URL for this report. More...
 
 get_students_joins ($cm, $course=null)
 Get sql fragments (joins) which can be used to build queries that will select an appropriate set of students to show in the reports. More...
 
 init ($mode, $formclass, $quiz, $cm, $course)
 Initialise various aspects of this report. More...
 
 load_relevant_students ($cm, $course=null)
 Get information about which students to show in the report. More...
 
 print_standard_header_and_messages ($cm, $course, $quiz, $options, $currentgroup, $hasquestions, $hasstudents)
 Outputs the things you commonly want at the top of a quiz report. More...
 
 process_actions ($quiz, $cm, $currentgroup, core\dml\sql_join $groupstudentsjoins, core\dml\sql_join $allowedjoins, $redirecturl)
 Process any submitted actions. More...
 
 set_up_table_columns ($table, $columns, $headers, $reporturl, mod_quiz_attempts_report_options $options, $collapsible)
 Set up the table. More...
 

Protected Attributes

object $context
 the quiz context.
 
mod_quiz_attempts_report_form $form
 The settings form to use.
 
string $mode
 the mode this report is.
 
string $qmsubselect
 SQL fragment for selecting the attempt that gave the final grade, if applicable.
 
boolean $showgrades = null
 caches the results of should_show_grades().
 

Detailed Description

Makes some protected methods of quiz_attempts_report public to facilitate testing.

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

Member Function Documentation

◆ add_grade_columns()

quiz_attempts_report::add_grade_columns (   $quiz,
  $usercanseegrades,
$columns,
$headers,
  $includefeedback = true 
)
protectedinherited

Add all the grade and feedback columns, if applicable, to the $columns and $headers arrays.

Parameters
object$quizthe quiz settings.
bool$usercanseegradeswhether the user is allowed to see grades for this quiz.
array$columnsthe list of columns. Added to.
array$headersthe columns headings. Added to.
bool$includefeedbackwhether to include the feedbacktext columns

◆ add_state_column()

quiz_attempts_report::add_state_column ( $columns,
$headers 
)
protectedinherited

Add the state column to the $columns and $headers arrays.

Parameters
array$columnsthe list of columns. Added to.
array$headersthe columns headings. Added to.

◆ add_time_columns()

quiz_attempts_report::add_time_columns ( $columns,
$headers 
)
protectedinherited

Add all the time-related columns to the $columns and $headers arrays.

Parameters
array$columnsthe list of columns. Added to.
array$headersthe columns headings. Added to.

◆ add_user_columns()

quiz_attempts_report::add_user_columns (   $table,
$columns,
$headers 
)
protectedinherited

Add all the user-related columns to the $columns and $headers arrays.

Parameters
table_sql$tablethe table being constructed.
array$columnsthe list of columns. Added to.
array$headersthe columns headings. Added to.

◆ configure_user_columns()

quiz_attempts_report::configure_user_columns (   $table)
protectedinherited

Set the display options for the user-related columns in the table.

Parameters
table_sql$tablethe table being constructed.

◆ delete_selected_attempts()

testable_quiz_attempts_report::delete_selected_attempts (   $quiz,
  $cm,
  $attemptids,
core\dml\sql_join  $allowedjoins 
)

Testable delete_selected_attempts function.

Parameters
object$quiz
object$cm
array$attemptids
core\dml\sql_join$allowedjoins

Reimplemented from quiz_attempts_report.

◆ display()

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

Override this function to displays the report.

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

Reimplemented from quiz_default_report.

◆ get_base_url()

quiz_attempts_report::get_base_url ( )
protectedinherited

Get the base URL for this report.

Return values
moodle_urlthe URL.

◆ 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_students_joins()

quiz_attempts_report::get_students_joins (   $cm,
  $course = null 
)
protectedinherited

Get sql fragments (joins) which can be used to build queries that will select an appropriate set of students to show in the reports.

Parameters
object$cmthe course module.
object$coursethe course settings.
Return values
arraywith four elements: 0 => integer the current group id (0 for none). 1 => core\dml\sql_join Contains joins, wheres, params for all the students in this course. 2 => core\dml\sql_join Contains joins, wheres, params for all the students in the current group. 3 => core\dml\sql_join Contains joins, wheres, params for all the students to show in the report. Will be the same as either element 1 or 2.

◆ init()

quiz_attempts_report::init (   $mode,
  $formclass,
  $quiz,
  $cm,
  $course 
)
protectedinherited

Initialise various aspects of this report.

Parameters
string$mode
string$formclass
object$quiz
object$cm
object$course
Return values
arraywith four elements: 0 => integer the current group id (0 for none). 1 => core\dml\sql_join Contains joins, wheres, params for all the students in this course. 2 => core\dml\sql_join Contains joins, wheres, params for all the students in the current group. 3 => core\dml\sql_join Contains joins, wheres, params for all the students to show in the report. Will be the same as either element 1 or 2.

◆ load_relevant_students()

quiz_attempts_report::load_relevant_students (   $cm,
  $course = null 
)
protectedinherited

Get information about which students to show in the report.

Parameters
object$cmthe coures module.
object$coursethe course settings.
Return values
arraywith four elements: 0 => integer the current group id (0 for none). 1 => array ids of all the students in this course. 2 => array ids of all the students in the current group. 3 => array ids of all the students to show in the report. Will be the same as either element 1 or 2.
Deprecated:
since Moodle 3.2 Please use get_students_joins() instead.

◆ print_header_and_tabs()

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

Initialise some parts of $PAGE and start output.

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

Reimplemented in quiz_grading_report.

◆ print_standard_header_and_messages()

quiz_attempts_report::print_standard_header_and_messages (   $cm,
  $course,
  $quiz,
  $options,
  $currentgroup,
  $hasquestions,
  $hasstudents 
)
protectedinherited

Outputs the things you commonly want at the top of a quiz report.

Calls through to print_header_and_tabs() and then outputs the standard group selector, number of attempts summary, and messages to cover common cases when the report can't be shown.

Parameters
stdClass$cmthe course_module information.
stdClass$coursethe course settings.
stdClass$quizthe quiz settings.
mod_quiz_attempts_report_options$optionsthe current report settings.
int$currentgroupthe current group.
bool$hasquestionswhether there are any questions in the quiz.
bool$hasstudentswhether there are any relevant students.

◆ process_actions()

quiz_attempts_report::process_actions (   $quiz,
  $cm,
  $currentgroup,
core\dml\sql_join  $groupstudentsjoins,
core\dml\sql_join  $allowedjoins,
  $redirecturl 
)
protectedinherited

Process any submitted actions.

Parameters
object$quizthe quiz settings.
object$cmthe cm object for the quiz.
int$currentgroupthe currently selected group.
core\dml\sql_join$groupstudentsjoins(joins, wheres, params) the students in the current group.
core\dml\sql_join$allowedjoins(joins, wheres, params) the users whose attempt this user is allowed to modify.
moodle_url$redirecturlwhere to redircet to after a successful action.

Reimplemented in quiz_overview_report.

◆ set_up_table_columns()

quiz_attempts_report::set_up_table_columns (   $table,
  $columns,
  $headers,
  $reporturl,
mod_quiz_attempts_report_options  $options,
  $collapsible 
)
protectedinherited

Set up the table.

Parameters
table_sql$tablethe table being constructed.
array$columnsthe list of columns.
array$headersthe columns headings.
moodle_url$reporturlthe URL of this report.
mod_quiz_attempts_report_options$optionsthe display options.
bool$collapsiblewhether to allow columns in the report to be collapsed.

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