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

As well as tracking the permissions information about the role we are creating or editing, we also track the other information about the role. More...

Inheritance diagram for core_role_define_role_table_advanced:
core_role_capability_table_with_risks core_role_capability_table_base core_role_define_role_table_basic core_role_view_role_definition_table

Public Member Functions

 __construct ($context, $roleid)
 
 add_classes ($classnames)
 Use this to add class="" attributes to the table. More...
 
 display ()
 Display the table. More...
 
 force_archetype ($archetype, array $options)
 Change the role definition to match given archetype. More...
 
 force_duplicate ($roleid, array $options)
 Call this after the table has been initialised, this resets everything to that role. More...
 
 force_preset ($xml, array $options)
 Change the role definition to match given preset. More...
 
 get_archetype ()
 
 get_risk_icon ($type)
 Print a risk icon, as a link to the Risks page on Moodle Docs. More...
 
 get_role_id ()
 
 get_role_name ()
 
 is_submission_valid ()
 
 read_submitted_permissions ()
 Update $this->permissions based on submitted data, while making a list of changed capabilities in $this->changed. More...
 
 save_changes ()
 Save the new values of any permissions that have been changed. More...
 

Public Attributes

const NUM_CAPS_FOR_SEARCH = 12
 Default number of capabilities in the table for the search UI to be shown.
 

Protected Member Functions

 add_header_cells ()
 For subclasses to override, output header cells, after the initial capability one. More...
 
 add_permission_cells ($capability)
 
 add_row_cells ($capability)
 For subclasses to override. More...
 
 get_allow_role_control ($type)
 Returns an array of roles with the allowed type. More...
 
 get_allow_roles_list ($type, $roleid=null)
 Returns an array of roles of the allowed type. More...
 
 get_archetype_field ($id)
 
 get_assignable_levels_control ()
 
 get_description_field ($id)
 
 get_name_field ($id)
 
 get_role_risks_info ()
 Returns information about the risks associated with a role. More...
 
 get_row_attributes ($capability)
 For subclasses to override. More...
 
 get_row_classes ($capability)
 For subclasses to override. More...
 
 get_shortname_field ($id)
 
 load_current_permissions ()
 
 load_parent_permissions ()
 
 num_extra_columns ()
 For subclasses to override, return the number of cells that add_header_cells/add_row_cells output. More...
 
 print_field ($name, $caption, $field, $helpicon=null)
 Print labels, fields and help icon on role administration page. More...
 
 print_heading_row ($capability)
 Used to output a heading rows when the context level or component changes. More...
 
 print_show_hide_advanced_button ()
 
 save_allow ($type)
 
 skip_row ($capability)
 For subclasses to override. More...
 

Protected Attributes

 $allcontextlevels
 
 $allowassign
 
 $allowoverride
 
 $allowswitch
 
 $allowview
 
 $allpermissions
 
 $allrisks
 
 $capabilities = array()
 The capabilities to display. More...
 
 $changed
 
 $classes = array('rolecap table-hover')
 Added to the class="" attribute on output.
 
 $context
 The context this table relates to.
 
 $contextlevels
 
 $disabled = ''
 
 $displaypermissions
 
array $errors
 Used to store errors found when validating the data.
 
 $id
 Added as an id="" attribute to the table on output.
 
array $parentpermissions
 The capabilities to highlight as default/inherited.
 
 $permissions
 
 $risksurl
 
stdClass $role
 Used to store other information (besides permissions) about the role we are creating/editing.
 
 $roleid
 
 $strperms
 

Detailed Description

As well as tracking the permissions information about the role we are creating or editing, we also track the other information about the role.

(This class is starting to be more and more like a formslib form in some respects.)

Member Function Documentation

◆ add_classes()

core_role_capability_table_base::add_classes (   $classnames)
inherited

Use this to add class="" attributes to the table.

You get the rolecap by default.

Parameters
array$classnamesof class names.

◆ add_header_cells()

core_role_capability_table_with_risks::add_header_cells ( )
protectedinherited

For subclasses to override, output header cells, after the initial capability one.

Reimplemented from core_role_capability_table_base.

◆ add_permission_cells()

core_role_define_role_table_advanced::add_permission_cells (   $capability)
protected

◆ add_row_cells()

core_role_capability_table_with_risks::add_row_cells (   $capability)
protectedinherited

For subclasses to override.

Output the data cells for this capability. The capability name cell will already have been output.

You can rely on get_row_classes always being called before add_row_cells.

Parameters
stdClass$capabilitythe capability this row relates to.
Return values
stringhtml of row cells

Reimplemented from core_role_capability_table_base.

◆ display()

core_role_define_role_table_advanced::display ( )

Display the table.

Reimplemented from core_role_capability_table_with_risks.

◆ force_archetype()

core_role_define_role_table_advanced::force_archetype (   $archetype,
array  $options 
)

Change the role definition to match given archetype.

Parameters
string$archetype
array$optionsarray with following keys: 'name', 'shortname', 'description', 'permissions', 'archetype', 'contextlevels', 'allowassign', 'allowoverride', 'allowswitch', 'allowview'

◆ force_duplicate()

core_role_define_role_table_advanced::force_duplicate (   $roleid,
array  $options 
)

Call this after the table has been initialised, this resets everything to that role.

Parameters
int$roleidrole id or 0 for no role
array$optionsarray with following keys: 'name', 'shortname', 'description', 'permissions', 'archetype', 'contextlevels', 'allowassign', 'allowoverride', 'allowswitch', 'allowview'

◆ force_preset()

core_role_define_role_table_advanced::force_preset (   $xml,
array  $options 
)

Change the role definition to match given preset.

Parameters
string$xml
array$optionsarray with following keys: 'name', 'shortname', 'description', 'permissions', 'archetype', 'contextlevels', 'allowassign', 'allowoverride', 'allowswitch', 'allowview'

◆ get_allow_role_control()

core_role_define_role_table_advanced::get_allow_role_control (   $type)
protected

Returns an array of roles with the allowed type.

Parameters
string$typeMust be one of: assign, switch, override or view.
Return values
arrayAm array of role names with the allowed type

Reimplemented in core_role_view_role_definition_table.

◆ get_allow_roles_list()

core_role_define_role_table_advanced::get_allow_roles_list (   $type,
  $roleid = null 
)
protected

Returns an array of roles of the allowed type.

Parameters
string$typeMust be one of: assign, switch, or override.
int$roleid(null means current role)
Return values
array

◆ get_risk_icon()

core_role_capability_table_with_risks::get_risk_icon (   $type)
inherited

Print a risk icon, as a link to the Risks page on Moodle Docs.

Parameters
string$typethe type of risk, will be one of the keys from the get_all_risks array. Must start with 'risk'.

◆ get_role_risks_info()

core_role_define_role_table_advanced::get_role_risks_info ( )
protected

Returns information about the risks associated with a role.

Return values
string

Reimplemented in core_role_view_role_definition_table.

◆ get_row_attributes()

core_role_capability_table_base::get_row_attributes (   $capability)
protectedinherited

For subclasses to override.

Additional attributes to be added to each table row for the capability

Parameters
stdClass$capabilitythe capability this row relates to.
Return values
arrayattribute names and their values.

Reimplemented in core_role_override_permissions_table_advanced, and core_role_permissions_table.

◆ get_row_classes()

core_role_capability_table_with_risks::get_row_classes (   $capability)
protectedinherited

For subclasses to override.

A change to reaturn class names that are added to the class="" attribute on the <tr> for this capability.

Parameters
stdClass$capabilitythe capability this row relates to.
Return values
arrayof class name strings.

Reimplemented from core_role_capability_table_base.

◆ load_current_permissions()

core_role_define_role_table_advanced::load_current_permissions ( )
protected

◆ load_parent_permissions()

core_role_define_role_table_advanced::load_parent_permissions ( )
protected

◆ num_extra_columns()

core_role_capability_table_with_risks::num_extra_columns ( )
protectedinherited

For subclasses to override, return the number of cells that add_header_cells/add_row_cells output.

Reimplemented from core_role_capability_table_base.

◆ print_field()

core_role_define_role_table_advanced::print_field (   $name,
  $caption,
  $field,
  $helpicon = null 
)
protected

Print labels, fields and help icon on role administration page.

Parameters
string$nameThe field name.
string$captionThe field caption.
string$fieldThe field type.
null | string$helpiconThe help icon content.

◆ print_heading_row()

core_role_capability_table_base::print_heading_row (   $capability)
protectedinherited

Used to output a heading rows when the context level or component changes.

Parameters
stdClass$capabilitygives the new component and contextlevel.

◆ read_submitted_permissions()

core_role_define_role_table_advanced::read_submitted_permissions ( )

Update $this->permissions based on submitted data, while making a list of changed capabilities in $this->changed.

Reimplemented from core_role_capability_table_with_risks.

◆ save_changes()

core_role_define_role_table_advanced::save_changes ( )

Save the new values of any permissions that have been changed.

Reimplemented from core_role_capability_table_with_risks.

Reimplemented in core_role_view_role_definition_table.

◆ skip_row()

core_role_capability_table_base::skip_row (   $capability)
protectedinherited

For subclasses to override.

Allows certain capabilties to be left out of the table.

Parameters
object$capabilitythe capability this row relates to.
Return values
boolean.If true, this row is omitted from the table.

Reimplemented in core_role_view_role_definition_table.

Member Data Documentation

◆ $capabilities

core_role_capability_table_base::$capabilities = array()
protectedinherited

The capabilities to display.

Initialised as $context->get_capabilities().


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