340 Commits

Author SHA1 Message Date
Amaia Anabitarte
9108771ea3 MDL-71621 core_user: Parents could edit custom fields in child profile 2021-07-23 12:51:39 +02:00
Paul Holden
4098af1c52 MDL-26171 user: implement method for retrieving fullname via SQL. 2021-06-29 16:35:35 +01:00
Andrew Nicols
f7222e6ee4 Merge branch 'MDL-71559-master' of https://github.com/sammarshallou/moodle 2021-06-10 10:57:26 +08:00
Matt Porritt
8281261b5a MDL-69194 user: make core_user_update_users return warnings
Add unit test coverage for the new warning scenarios.
2021-06-08 01:24:48 +00:00
sam marshall
007cde2eab MDL-71559 core_user: Fields support for PROFILE_VISIBLE_TEACHERS 2021-06-03 11:23:06 +01:00
David Mudrák
ad30fde448 MDL-71425 lang: Fix reworded strings in tests 2021-05-04 17:45:18 +02:00
Ilya Tregubov
cf1cf222e7 MDL-66431 core: Fix behat tests.
Move activity creation to data generators. Only fixing those
tests failing due to removing usemodchooser preference.
2021-05-01 16:22:03 +02:00
Marina Glancy
8974874018 MDL-71051 core_user: create user profile field form is now modal form 2021-04-28 11:47:22 +02:00
Marina Glancy
880aff7bf9 MDL-71051 core_user: move edit profile category form to classes 2021-04-28 11:47:22 +02:00
Marina Glancy
ef3d6a3d70 MDL-71051 core_user: use user profile generator in all tests 2021-04-28 11:47:21 +02:00
Marina Glancy
5682b9a585 MDL-71051 core_user: always use API when working with profile fields 2021-04-28 11:39:04 +02:00
Bas Brands
0fe5d5faa8 MDL-28452 core_user: add custom profilefield capability
Add a setting to show custom profilefields to self or others
with capability moodle/sit:viewuseridentity in the course context only
2021-04-21 11:22:31 +02:00
Bas Brands
f9e1c2587a MDL-28452 core_user: migrate social profile fields
Create a new profile field type, move all existing content of the fields
'icq', 'skype', 'aim', 'yahoo', 'msn' and 'url' in the mdl_user table to
theses new profile fields if needed.

AMOS BEGIN
MOV [aimid,core],[aimid,courseimage,profilefield_social]
MOV [yahooid,core],[yahooid,profilefield_social]
MOV [skypeid,core],[skypeid,profilefield_social]
MOV [icqnumber,core],[icqnumber,profilefield_social]
MOV [msnid,core],[msnid,profilefield_social]
MOV [webpage,core],[webpage,profilefield_social]
AMOS END
2021-04-21 11:22:25 +02:00
sam marshall
efb9654dcb MDL-71131 Admin: Users page incorrectly showing all name fields 2021-03-25 13:49:39 +00:00
sam marshall
5e72715e4f MDL-71099 Lib: Move new user_fields class from core to core_user
This class would belong more appropriately within the 'user' API
(core_user) instead of within the 'core' API, since it is
directly related to user data.

Since the class has only just been added to Moodle, now is a good
time to move it.
2021-03-25 13:47:23 +00:00
Eloy Lafuente (stronk7)
c9912e2c0e Merge branch 'MDL-70565' of git://github.com/paulholden/moodle 2021-03-16 22:48:57 +01:00
Eloy Lafuente (stronk7)
f0733b2f41 Merge branch 'MDL-67748-master-managewebservices' of git://github.com/mudrd8mz/moodle 2021-03-16 19:02:10 +01:00
David Mudrák
f51d3a81d6 MDL-67748 user: Add a new core_user_search_identity external function
The purpose of this external function is to provide data for
asynchronous user selectors and similar widgets. It allows to search
users matching the given query in their name or other available identity
fields.
2021-03-15 21:24:05 +01:00
David Mudrák
614036d797 MDL-67748 user: Fix @link docs tag usage
Not related to this issue, just spotted while working on it.
2021-03-15 21:21:43 +01:00
Eloy Lafuente (stronk7)
695f75373b Merge branch 'MDL-69474-master' of https://github.com/NashTechOpenUniversity/moodle 2021-03-15 16:27:02 +01:00
Paul Holden
be2862fe6f MDL-70565 user: filter course participants by country. 2021-03-12 09:50:05 +00:00
hiendinh
bc6997a889 MDL-69474 Accessibility: Profile image changes 2021-03-11 16:29:11 +07:00
Adrian Greeve
baa906485c Merge branch 'MDL-66025' of git://github.com/paulholden/moodle 2021-03-11 11:46:34 +08:00
sam marshall
e86ead1d91 MDL-45242 Course: Participants list supports custom profile fields 2021-03-10 10:57:11 +00:00
sam marshall
677e1c6248 MDL-45242 Lib: Allow custom profile fields in showuseridentity 2021-03-08 09:20:18 +00:00
Paul Holden
3112712ec3 MDL-66025 user: require message content in bulk action.
Also import missing 'core/notification' dependency.
2021-02-14 20:09:18 +00:00
Sara Arjona
927f2dc46d Merge branch 'MDL-51287-master' of https://github.com/SangNguyenAnh/moodle 2021-02-08 11:28:54 +01:00
sangnguyen
1d50e833e0 MDL-51287 Profile: Should notify users that changes are saved 2021-02-04 14:54:12 +07:00
Sara Arjona
09cfed9186 Merge branch 'MDL-70439-master' of https://github.com/DinhHien0307/moodle 2021-02-03 13:03:02 +01:00
hiendinh
c3b7e5fe16 MDL-70439 Profile: Indicate user email address settings on own profile 2021-01-27 13:37:18 +07:00
Andrew Nicols
a61c4fbce3 MDL-66979 behat: Switch to generators
These steps were creating content manually in an unnecessary fashion. I
had to debug some issues with features in these areas so took the time
to update them to make use of data generators, which are significantly
faster.
2021-01-22 14:52:11 +08:00
Andrew Nicols
31402aa406 MDL-69107 user: Fix autocomplete usages 2020-12-16 07:50:56 +08:00
Jun Pataleta
a6e4ea65a4 MDL-69145 core_user: Set default filter to ALL 2020-12-09 10:51:12 +08:00
Eloy Lafuente (stronk7)
6ca32e21e5 Merge branch 'MDL-70148-master' of git://github.com/andrewnicols/moodle into master 2020-11-17 23:12:56 +01:00
Andrew Nicols
ba34d6e225 MDL-70148 behat: Update steps for keyboard 2020-11-17 15:14:43 +08:00
Paul Holden
5fb73c9639 MDL-69964 course: toggle participant checkboxes in root element.
For a given toggleGroup, the relevant action elements are not
necessarily descendants of the same tableRoot element, on the
course participants page.
2020-11-16 17:44:17 +00:00
Shamim Rezaie
ce484f2872 MDL-68167 user: Improve keyboard navigation on autocomplete fields 2020-10-30 14:43:00 +11:00
Eloy Lafuente (stronk7)
40de097e65 MDL-67673 phpunit: Remove deprecated assertContains() uses on strings
Both assertContains() and assertNotContains() are deprecated in PHPUnit 8
for operations on strings. Also the optional case parameter is. All uses
must be changed to one of:

- assertStringContainsString()
- assertStringContainsStringIgnoringCase()
- assertStringNotContainsString()
- assertStringNotContainsStringIgnoringCase()

More info: https://github.com/sebastianbergmann/phpunit/issues/3422

Regexp to find all uses:

ag 'assert(Not)?Contains\('
2020-10-21 12:46:00 +02:00
Eloy Lafuente (stronk7)
d95c378771 MDL-67673 phpunit: Remove expectedException annotations
While this is not strictly required, because removal will
happen in PHPUnit 9.0, we are already getting rid of all
uses in core.

From release notes:https://phpunit.de/announcements/phpunit-8.html

The annotations `@expectedException`, `@expectedExceptionCode`,
`@expectedExceptionMessage`, and `@expectedExceptionMessageRegExp`
are now deprecated.
Using these annotations will trigger a deprecation warning
in PHPUnit 8 and in PHPUnit 9 these annotations will be removed.

Also, all uses of expectExceptionMessageRegExp() has been moved
to expectExceptionMessageMatches(). See https://github.com/sebastianbergmann/phpunit/issues/3957

TODO: Various weirdness found while doing the changes with these tests:
- vendor/bin/phpunit lib/tests/exporter_test.php (created MDL-69700)
- vendor/bin/phpunit competency/tests/external_test.php (same issue than prev one)
- vendor/bin/phpunit question/engine/tests/questionengine_test.php (created MDL-69624)
- vendor/bin/phpunit lib/tests/event_test.php (created MDL-69688)
2020-10-21 12:46:00 +02:00
Eloy Lafuente (stronk7)
f94195c320 MDL-67673 phpunit: Remove deprecated assertInternalType()
While this is not strictly required, because removal will
happen in PHPUnit 9.0, we are already getting rid of all
uses in core.

From release notes:https://phpunit.de/announcements/phpunit-8.html

assertInternalType() is deprecated and will be removed in
PHPUnit 9. Refactor your test to use assertIsArray(), assertIsBool(),
assertIsFloat(), assertIsInt(), assertIsNumeric(), assertIsObject(),
assertIsResource(), assertIsString(), assertIsScalar(),
assertIsCallable(), or assertIsIterable() instead.
2020-10-21 12:45:59 +02:00
Eloy Lafuente (stronk7)
f6711bb394 MDL-67673 phpunit: Fix the return type of template methods
All the setup/teardown/pre/post/conditions template methods
now are required to return void. This was warned with phpunit 7
and now is enforced.

At the same time, fix a few wrong function names,
provider data and param types, return statements...
2020-10-21 12:45:59 +02:00
Paul Holden
2175216110 MDL-66648 user: consistent checks for linking to full profile.
The access checks for displaying a link to a users' full profile
now match the checks performed on the full profile page itself.
2020-09-14 20:22:07 +01:00
Luca Bösch
4994817908 MDL-68334 user: Display name in footer as elsewhere. 2020-08-08 10:38:56 +02:00
Michael Hawkins
c2f188311e MDL-69336 lib: Reinstating tablelib column show/hide functionality
Also added behat testing for hide/show columns in participants table.
2020-08-04 15:18:39 +08:00
Andrew Nicols
8d5926bead MDL-69026 user: Correct statuses => status in test 2020-06-12 10:03:06 +08:00
Andrew Nicols
8bcf74e9bc MDL-69026 user: Wrap sub-query in brackets
It is perfectly valid to have a query like:

Match None of the following:
- Role is ANY of the following:
-- 'Teacher'
-- 'Editing teacher'
-- 'Manager'; AND
- Keyword is NONE of the following:
-- 'Kevin'

However, due to the way in which the query is constructed, this leads to
a query which includes

    WHERE NOT ef.id IS NOT NULL
    AND NOT
        u.id IN (SELECT userid FROM {role_assignments} WHERE roleid IN (...) AND contextid IN (...))
    AND NOT
        NOT (u.firstname || ' ' || u.lastname LIKE '%Kevin%')

The use of NOT NOT is valid in Postgres, MariaDB, MySQL, and MSSQL, but
not in Oracle.

To counter this when the outer jointype is of type NONE, we must wrap
each of the inner WHERE clauses in a set of brackets, which makes the
query:

    WHERE NOT ef.id IS NOT NULL
    AND NOT
        (u.id IN (SELECT userid FROM {role_assignments} WHERE roleid IN (...) AND contextid IN (...)))
    AND NOT
        (NOT (u.firstname || ' ' || u.lastname LIKE '%Kevin%'))

Whilst Oracle does not support the use of `AND NOT NOT ...`, it does support
`AND NOT (NOT ...)`
2020-06-12 10:03:06 +08:00
Jun Pataleta
02b7fac93d Merge branch 'MDL-69017-master' of git://github.com/andrewnicols/moodle 2020-06-11 16:59:04 +08:00
Andrew Nicols
d3bfae8fcc MDL-69017 user: Show all links should work for students 2020-06-11 15:51:41 +08:00
Jun Pataleta
49a34f1593 Merge branch 'MDL-68912' of https://github.com/rlorenzo/moodle 2020-06-11 11:01:05 +08:00
Rex Lorenzo
330c871c3f MDL-68912 user: "Send a message" select all not working 2020-06-10 17:53:53 -07:00