Commit Graph

502 Commits

Author SHA1 Message Date
tjhunt 059ec02aaa Fix notice. 2008-12-01 07:19:40 +00:00
skodak cecd63c9f2 MDL-17372 new course reports string - role definition improvement 2008-11-29 16:28:21 +00:00
skodak 12748c8425 MDL-17372 course reports: Added full plugin support for course reports - backported from HEAD 2008-11-27 20:31:02 +00:00
skodak 2d89f2de76 MDL-17372 admin reports: Added full plugin support for admin reports; added specail capability for unittest execution, minor refactoring - backported from HEAD 2008-11-26 20:58:03 +00:00
tjhunt 5e304e4900 role assign: MDL-13325 when assigning roles inside front page activites, list all users as potential users. 2008-11-11 07:23:36 +00:00
nicolasconnault 1f02086d55 MDL-16892 Fixed bug in accesslib role_fix_names method 2008-10-20 13:43:12 +00:00
stronk7 4c22bf9766 Substring MSSQL function *requires* 3rd parameter - MDL-16655 2008-09-24 17:26:27 +00:00
stronk7 28d6c12579 Prevent get_users_by_capability() to retrn deleted users. MDL-16323 2008-09-11 22:14:10 +00:00
tjhunt a16f9c67fb MDL-12336 Inconsistent naming of the Front page area of the question bank, and the front page context more generally. 2008-09-05 04:05:16 +00:00
stronk7 9b1294cad1 Improve get_user_courses_bycap() queries. MDL-16209 2008-08-28 12:37:58 +00:00
stronk7 9f00b6e8b4 Avoid "some" ra's duplicates. MDL-14817 2008-08-18 22:37:18 +00:00
stronk7 38a1e2bc67 Making some accesslib queries cross-db. Avoid using DISTINCT clauses on TEXT fields. MDL-16034 2008-08-18 18:35:43 +00:00
tjhunt 5929f17c0e Correct a URL in a comment. 2008-08-13 05:27:51 +00:00
skodak 3b20cc2f8f MDL-15941 block view permissions override regression fixed, merged from HEAD 2008-08-06 05:08:35 +00:00
moodler 23ab305b99 MDL-15841 Removed the default safe overrides for new installs (MDL-8521) 2008-07-28 03:11:35 +00:00
skodak 3e79b6e37a MDL-11421 context levels fixed in capability definitions, sorting of caps by name, plug-ins may report used core caps, fixed some risks 2008-07-24 21:58:05 +00:00
skodak bc8b3aa84d MDL-8521 new feature - safe overrides, see tracker for details 2008-07-23 16:09:13 +00:00
skodak 48f3e237f5 MDL-9983 role_unassign should not touch group members table directly - we need events 2008-07-06 22:54:05 +00:00
skodak 9952398b7f MDL-9983 role assignment related triggers 2008-07-06 19:26:21 +00:00
sam_marshall 2a212d94a0 MDL-14965: Pass-by-reference call broke install on php5 2008-05-23 10:36:11 +00:00
dongsheng ca5d438280 "MDL-14668, fix course full in activity reports (upgrade course module version)" 2008-05-16 02:07:57 +00:00
tjhunt 26337523fa New convinience function in accesslib: get_parent_contextid. Also, the start of some unit tests for accesslib, but only this trivial funciton, and the get_parent_contexts function it is based on. Still, it is a start. 2008-05-12 15:28:31 +00:00
moodler 94ad221b27 MDL-13261 get_context_users_bycap and get_context_users_byrole were draft and should never have been included in accesslib in 1.9 STABLE. To avoid confusion I've removed these functions. They weren't being used by any core code ... I only hope no-one out there is using them for Moodle 1.9 modules. :-( :-( 2008-04-29 06:48:56 +00:00
moodler 6c089f4a28 MDL-11323
Cleaned up the display of role aliases by extending get_assignable_roles
and get_overrideable_roles to use role_fix_names better.

The lists of assignable and overrideable are now correctly derived from the
actual context (eg activity or module) while the aliases are derived from course
that is the parent.

Some other cleanups along the way.
2008-04-18 06:18:25 +00:00
moodler fe01ad8ec0 MDL-11142 Roles upgrade was losing timestart and timeend for teachers and students (Merged from 1.7) 2008-04-18 03:31:54 +00:00
moodler b6f293036f MDL-13810 Fixed check for join 2008-03-19 07:48:45 +00:00
moodler d8f4ee51a5 MDL-13810 Fixed check for ul.timeaccess 2008-03-06 02:11:53 +00:00
moodler 15e6b71bc0 MDL-13754 Avoid joining to lastaccess unless we really wanted it
Plus some other cosmetic tidying and comments
2008-03-03 06:19:31 +00:00
moodler fd21a93e5f MDL-13676 Fixed some mistakes 2008-02-29 08:55:42 +00:00
moodler f45aff70d9 MDL-13676 Changed a field so that Oracle can cope with a COALESCE statement. :-(
I hate doing this at this late stage, but without it Oracle fails.

           On the way I also fixed the profile page so it displays role aliases if they exist
2008-02-29 08:40:39 +00:00
tjhunt 0a22085fdb MDL-13723 - Unbalanced brackets in get_users_by_capability in the groups bit. 2008-02-28 22:39:15 +00:00
skodak 20d03127ad MDL-13560 simplify deating with role name course aliases 2008-02-21 09:16:34 +00:00
skodak 490c14fe8a MDL-13459 fixed hardcoded mdl_ prefix 2008-02-16 11:35:54 +00:00
nicolasconnault ee6689b003 MDL-13459 Didn't use the patch, which puts its finger in too many pies. Instead just implemented a quick-fix, a temporary get_assignable_for_switchrole() function. It only affects the switchroles menu 2008-02-15 16:35:19 +00:00
nicolasconnault 29252268ca MDL-13459 Didn't use the patch, which puts its finger in too many pies. Instead just implemented a quick-fix, a temporary get_assignable_for_switchrole() function. It only affects the switchroles menu 2008-02-15 16:35:19 +00:00
skodak 5623276da8 MDL-13450 and MDL-13303 - sorry for changing forum API so late, but it was needed; major perf improvement for forum; fixed printing of user pictures 2008-02-13 17:01:41 +00:00
poltawski c472c4bb50 MDL-13314 count_role_users was showing different count to those returned from
get_role_users(), based on patch from Patrick Pollett
2008-02-05 17:18:10 +00:00
skodak f6ea800797 MDL-12938, MDL-12937 - unenrol fixes - can not unenrol if can not unassign all users roles in course, do not show self unenrol if enrolment comes from parent context, fixed rturn value from get_user_roles; based on patch by Eric Merrill 2008-02-05 12:58:59 +00:00
skodak 907a481674 MDL-13334 get_role_access() static cache in cron only 2008-02-05 10:39:59 +00:00
skodak a3b9814156 MDL-13317 use cached system context in get_user_access_sitewide and when rebuilding paths 2008-02-03 16:21:35 +00:00
martinlanghoff b227269e56 accesslib: Fix get_context_users_bycap() when no roles grant the cap
When no roles mention the capability, get_context_users_bycap() breaks
badly. This trivial patch does a sanity check before jumping into the
SQL shark-pool...

MDL-13160
2008-01-25 00:54:35 +00:00
skodak 91cb9645d4 tweak has_capability() debug mode to add only one query per page for cap name verification 2008-01-16 17:23:07 +00:00
mjollnir_ 33c34c5705 MDL-13000 Adding support for developers to add their own capabilities to local/db/access.php
This relies on a local/ language pack as well for the capability names.
Notes on implementation are in lib/locallib.php
2008-01-15 04:20:02 +00:00
tjhunt 0229dc83ea Put back DEBUG_DEVELOPER sanity check in has_capability, that makes sure the capabiltiy you are asking about actually exists. I know it takes an extra DB query, but it is DEBUG_DEVELOPER only, and it is worth its weight in gold, because otherwise you get really subtle bugs that take forever to diagnose. I know, I have just been banging my head against the wall for an hour. 2008-01-08 15:04:04 +00:00
martinlanghoff 9dc8c1b014 MDL-12452 accesslib: get_users_by_capability() now excludes doanything'ers properly
With some subselect-outer-join poison-pill magic, when the we don't
want doanything users, we remove the roles that would grant such
dubious status.

Just a flick of the SQL muscle, actually.
2008-01-06 23:20:00 +00:00
martinlanghoff 264d665380 MDL-12523 accesslib: get_users_by_capability() fix subselect with ra.hidden
MDL-12452
2008-01-06 23:19:04 +00:00
martinlanghoff 4ebe85b6a5 MDL-12523 accesslib: Introducing sort_by_roleassignment_authority()
This will help us bridge the gap from olden-style order-by
user_teachers.id. From the phpdoc...

 Will re-sort a $users results array (from get_users_by_capability(), usually)
 based on a sorting policy. This is to support the odd practice of
 sorting teachers by 'authority', where authority was "lowest id of the role
 assignment".

 Will execute 1 database query. Only suitable for small numbers of users, as it
 uses an u.id IN() clause.

 Notes about the sorting criteria.

 As a default, we cannot rely on role.sortorder because then
 admins/coursecreators will always win. That is why the sane
 rule "is locality matters most", with sortorder as 2nd
 consideration.

 If you want role.sortorder, use the 'sortorder' policy, and
 name explicitly what roles you want to cover. It's probably
 a good idea to see what roles have the capabilities you want
 (array_diff() them against roiles that have 'can-do-anything'
 to weed out admin-ish roles. Or fetch a list of roles from
 variables like $CFG->coursemanagers .

MDL-12452
2008-01-06 23:18:37 +00:00
martinlanghoff b5ea0a4a52 MDL-12523 accesslib: get_user_by_capability() - Fix pagination
Ooops! Off-by-one error

MDL-12452
2008-01-06 23:17:53 +00:00
martinlanghoff 22edc02cf9 MDL-12523 accesslib: get_user_by_capability() - Fix last_access handling
We were missing $courseid, which is actually $context->instanceid.

MDL-12452
2008-01-06 23:17:24 +00:00
martinlanghoff 3f1e6d3c73 MDL-12523 accesslib: get_user_by_capability() - Move capcheck to has_capability_from_rarc()
This fixes the handling of default roles as "tie breakers" for lower
RAs in conflict, and simplifies the code a lot.

The main loop in get_user_by_capability() runs a simpler state machine
that just collects role assignments (roleid and depth), and handles
pagination.

The complex part of the state machine has moved to
has_capability_from_rarc() which will walk the data structures
collected by get_user_by_capability() for each user.

Having all the complex state handling of $hascap there makes things a
lot easier for pagination and general sanity of
get_user_by_capability().

MDL-12452
2008-01-06 23:17:11 +00:00