Issue Details (XML | Word | Printable)

Key: MDL-16348
Type: Improvement Improvement
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Tim Hunt
Reporter: Tim Hunt
Votes: 0
Watchers: 1
Operations

Add/Edit UI Mockup to this issue
If you were logged in you would be able to see more operations.
Moodle

A way for admin report plugins to specify where they appear in the admin tree

Created: 05/Sep/08 06:02 PM   Updated: 08/Sep/08 07:32 PM
Component/s: Administration
Affects Version/s: 2.0
Fix Version/s: 2.0

File Attachments: 1. Text File admintree.patch.txt (15 kB)


Participants: Petr Skoda and Tim Hunt
Security Level: None
Resolved date: 08/Sep/08
Affected Branches: MOODLE_20_STABLE
Fixed Branches: MOODLE_20_STABLE


 Description  « Hide
In each admin report plugin, there will be an optional file lib.php, which may define two variables:

$placeintree = array('users', 'roles');
$requirecapability = 'moodle/role:manage';

If this was in admin/report/capability/lib.php, then it would say that the capability report appears under Users -> Permissions, and is only available to people with the moodle/role:manage capability.

If lib.php does not exist, or either of these variables are not defined in that file, then the default is

$placeintree = array('reports');
$requirecapability = 'moodle/site:viewreports';

The strings in the $placeintree array are the names passed to the admin_category constructor.

Note that this has to work, even if reports want to add themselves to the experimental category, that is, reports need to be processed last when building the tree, although the reports category will remain second from last.

As well as moving the new Capabilities report to Users -> Permissions, we will move Unit tests and Functional DB tests (and XMLDB editor, although that is not a report) to a new Developer top level category.



 All   Comments   Change History   Version Control      Sort Order: Ascending order - Click to sort in descending order
Tim Hunt added a comment - 08/Sep/08 05:42 PM
Actually, there was already a settings.php mechanism for admin reports to control how they were added to the admin tree, so I just used that.

Changes made to the admin tree:

  • New Capability report put under Users -> Permissions
  • Miscellaneous category renamed to Development
  • Unit tests and Functional DB test moved to be under Development.
  • The hard-coded hack that was used to change the permission that controls the Backups and stats reports replaced with settings.php files.
  • There were two hidden Miscellaneous things in the old category, so I moved them. Multilan upgrade now under Lanuages, and Online assignment cleanup now under Plugins -> Activity modules. Both still hidden.

Tim Hunt added a comment - 08/Sep/08 05:44 PM
Also, the place where admin reports are included in the tree moved from admin/settings/top.php to lib/adminlib.php, so they get added last, and so can choose anywhere in the tree to be added.

Petr Skoda added a comment - 08/Sep/08 06:51 PM
I like the Development renaming. do you have a patch for review?

Petr Skoda added a comment - 08/Sep/08 07:24 PM
+1 for commit into HEAD, thanks