76 Commits

Author SHA1 Message Date
Paul Holden
543dcf3e9c
MDL-78026 group: format retrieved group names from external methods. 2023-05-16 10:09:55 +01:00
Mark Johnson
958da5b67e MDL-68093 groups: Add visibility and participation settings
These new settings are designed to enchance user privacy surrounding
groups. They allow groups to be configured so that users outside the
group cannot see the group, so that users in the group cannot see each
other, or so that users cannot see the group at all, even if they are in
it. This avoids issues where a group may be assigned based on sensitive
personal information (such as a person requiring special arrangements
due to a disability).

By default, groups are visible to all and available for participation in
activities, which maintains the current behaviour.

For performance, a new cache has been added to track the number of
groups on a course that are not visible to non-members. This allows us
to revert to the existing behaviour if the new features are not being
used at all on a course, and only apply the new visibility conditions if
they are.

Users who have the moodle/course:viewhiddengroups capability should be
concious of exposing hidden groups when showing their screen to other
users. The "Switch role to..." feature can be used to show a course page
on screen without exposing private availability conditions, for example.

The changes cover several specific areas:
* grouplib functions, which most code should use to get lists of groups
  and members (this includes the participants page).
* Activities supporting group overrides will not allow overrides for
  groups that are hidden from all users.
* Activities supporting separate/visible groups modes will only allow
  groups with the new "participation" flag enabled to be selected.
* Group messaging will be disabled for groups where members cannot see
  each other, or cannot see the group at all.
2023-03-14 08:52:25 +00:00
Andrew Nicols
a3cc26f8bb MDL-76583 core: Update uses of external_* classes 2023-01-19 07:34:09 +08:00
Paul Holden
6e8ed1a8fb MDL-67245 group: observe viewfullnames capability. 2020-01-17 12:42:17 +00:00
Dmitrii Metelkin
301783d94e MDL-63516 groups: fix unexpected debugging message 2019-02-06 09:21:26 +11:00
Damyon Wiese
17af25ce92 MDL-44137 group: fix stdClass name
Fix only for new core_group_update_groups webservice.
2018-11-05 15:09:47 +08:00
Damyon Wiese
f6ca9ca691 Merge branch 'MDL-44137_add_update-groups_webservice' of https://github.com/TheVirtualLtd/moodle 2018-11-05 15:07:26 +08:00
Robynstar
474dd887d0 MDL-44137 group: add update_groups webservice function 2018-11-01 11:52:03 +13:00
Juan Leyva
6f89b33bdb MDL-61197 core_group: Fix groupings not being filtered 2018-10-30 10:22:58 +01:00
Juan Leyva
b8a3567407 MDL-61197 core_group: Refactor get_course_user_groups to get all groups
This is a refactor of the function to be able to get all the user
course groups in just one call
2018-10-30 10:22:58 +01:00
Simey Lameze
effa7d2ba1 MDL-60637 group: remove useless id number validation on web services 2017-11-21 09:52:40 +08:00
Juan Leyva
e71687baf9 MDL-60198 webservice: Add missing MOODLE_INTERNAL checks 2017-09-21 13:01:28 +02:00
Juan Leyva
0f398b500d MDL-59160 core_group: Return if the user can access all groups in WS
The core_group_get_activity_allowed_groups WS should be returning not
only the groups but also if the user is allowed to access all the
activity groups.
2017-06-19 15:53:38 +01:00
Cameron Ball
f23e9b6ba4 MDL-49414 webservices: Remove deprecated functions 2016-04-27 15:54:38 +08:00
Dan Poltawski
4d9edf1b15 MDL-51536 webservices: fix invalid param definitions 2015-10-13 19:01:42 +01:00
Eloy Lafuente (stronk7)
c75b891ba7 Merge branch 'MDL-49821-master-master' of git://github.com/jleyva/moodle 2015-10-01 01:26:58 +02:00
Juan Leyva
4485f7c549 MDL-49821 webservice: Add active user checks in external functions 2015-09-25 11:33:13 +02:00
Juan Leyva
48a90a215b MDL-51415 webservice: Check course access using can_access_course()
This function check both user enrolled and course:view capabilities
2015-09-22 15:29:49 +02:00
David Monllao
224d819678 Merge branch 'MDL-50964-master' of git://github.com/jleyva/moodle
Conflicts:
	group/tests/externallib_test.php
	lib/db/services.php
2015-09-15 17:09:33 +08:00
Juan Leyva
c0ef63eb38 MDL-50964 core_group: New Web Service core_group_get_activity_groupmode 2015-09-11 11:30:28 +02:00
Juan Leyva
7107c2f066 MDL-50966 core_group: New WS core_group_get_activity_allowed_groups 2015-09-11 11:29:38 +02:00
David Monllao
ed0fd1f6ec MDL-43949 groups: Add idnumber to web services
Thanks to Vitor Martins for his contribution.
2015-06-25 16:55:14 +08:00
Juan Leyva
5d62e813ab MDL-48730 webservices: New ws core_group_get_course_user_groups 2015-02-24 09:39:05 +01:00
David Monllao
3c1aa6fdfb MDL-43535 webservices: Marking functions as deprecated
Also:
- We don't allow users to add deprecated functions to WS
- We show a debugging message when deprecated functions
  are already being used in web services.
2015-02-09 05:42:22 +08:00
Marina Glancy
cd5be9a504 MDL-44321 events: make sure the full object is passed to add_record_snapshot() 2014-02-28 16:37:36 +08:00
Jerome Mouneyrac
63c7be350b MDL-34434 Change the texts saying that we'll be removing web service deprecated functions from 2.5 2013-04-17 12:13:04 +08:00
Paul Charsley
45c0a7d002 MDL-36541 modify get_groupings to optionally return associated groups 2013-02-15 13:13:06 +13:00
Mark Nelson
9e222bac61 MDL-37359 groups: fixing typo in the web service function create_groupings_parameters 2013-01-04 15:23:12 +08:00
sam marshall
1d1917aeaa MDL-31973 Groups: groups_members table should have 'component', 'itemid' fields 2012-08-24 15:30:13 +01:00
Ankit Agarwal
0d4d49d18a MDL-34471 libraries: changing strictness of context_XXXX::instance() when needed 2012-08-02 15:37:38 +08:00
Ankit Agarwal
bf0f06b1be MDL-34471 libraries: Replace all uses of get_context_instance() with respective context_XXXX::instance() method 2012-08-02 15:37:38 +08:00
Rajesh Taneja
1e12c1203b MDL-30651 libraries: Replaced deprecated PARAM_INTEGER with PARAM_INT 2012-07-19 15:37:46 +08:00
Sam Hemelryk
e5f0e51942 MDL-33770 webservices: Fixed error with core_group_create_groups when no enrolment key provided 2012-07-05 09:22:12 +12:00
Jerome Mouneyrac
32435a6968 MDL-33770 Web service: create_groups should not require enrolmentkey 2012-06-15 15:14:06 +08:00
Jerome Mouneyrac
93ce0e8296 MDL-32581 support additional format field with all text field in extrnal lib function + new possible ws params to decide how format is returned (which are stored in a singleton) 2012-05-31 12:31:27 +08:00
Dan Poltawski
2ffd7f1824 Merge branch 'MDL-33060' of git://github.com/mouneyrac/moodle 2012-05-25 10:16:12 +08:00
Jerome Mouneyrac
96d3b93ba3 MDL-33060 remove some get_string from exceptions 2012-05-18 14:45:15 +08:00
Juan Leyva
2c8ad38eff MDL-32662 core_group_xxx_groupings: Fixed integrator review potential problem detected in update_groupings. More info: http://tracker.moodle.org/browse/MDL-32662?focusedCommentId=157706&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-157706 2012-05-16 10:45:40 +02:00
Juan Leyva
67aa60f9b7 MDL-32662 Fixed review problems 2012-05-10 11:41:46 +02:00
Juan Leyva
fb3f5d3173 MDL-32662 Added unassign_grouping method 2012-05-10 11:40:57 +02:00
Juan Leyva
20053b8c3d MDL-32662 Added assign_grouping method 2012-05-10 11:40:51 +02:00
Juan Leyva
a531136e98 MDL-32662 Added delete_groupings method 2012-05-10 11:40:46 +02:00
Juan Leyva
85e42d2218 MDL-32662 Added get_course_groupings method 2012-05-10 11:40:40 +02:00
Juan Leyva
ed849fbace MDL-32662 Added get_groupings method 2012-05-10 11:40:35 +02:00
Juan Leyva
87e959f33b MDL-32662 Added update_groupings method 2012-05-10 11:40:29 +02:00
Juan Leyva
882bac854f MDL-32662 Added method create_groupings 2012-05-10 11:40:23 +02:00
Jerome Mouneyrac
4615817d1c MDL-30986 external API, check and update DocBlock
Conflicts:

	group/externallib.php
2012-04-30 15:11:56 +08:00
Eloy Lafuente (stronk7)
e757f51864 MDL-30997 - group - trailing whitespace + comment alignment fixes 2012-02-22 13:23:11 +01:00
Adrian Greeve
4d8e241742 MDL-30997 - group - update of the api block documentation. 2012-02-21 11:17:27 +08:00
Petr Skoda
c5eeccbec9 MDL-31117 delete obsolete TODO
This TODO was added when we were still using moodledata folder for group images, it is not relevant any more because group images are in new file API which supports DB transaction rollbacks.
2012-01-15 00:43:28 +01:00