Commit Graph

375 Commits

Author SHA1 Message Date
Mark Nelson
f219eac7b4 MDL-63211 core: update core to use new APIs 2018-10-03 11:51:29 +08:00
Mark Nelson
742c27b3e8 MDL-63211 core_message: updated privacy provider 2018-10-03 11:51:29 +08:00
Mark Nelson
522841861f MDL-63211 core_message: added new web services 2018-10-03 11:35:26 +08:00
Mark Nelson
0b3eadcd96 MDL-63211 core_message: deprecated functions and added new API 2018-10-03 11:35:26 +08:00
Andrew Nicols
20f9b981f9 Merge branch 'dashboard-split-overview-block' of https://github.com/ryanwyllie/moodle 2018-09-27 14:08:55 +08:00
Ryan Wyllie
bbe6eadda7 MDL-63044 block_myoverview: remove tab preference 2018-09-27 13:10:45 +08:00
Jonathan Champ
b2f349a433 MDL-54035 accesslib: separate role definition cache clear
Thanks to MDL-49398, we can separate the combined user session and role
definition cache clearing function into two separate functions. At the
same time, we want to identify and remove mark_dirty() calls that were
added for role definition changes but were incorrectly left behind.

Change highlights:
 - Remove unnecessary mark_dirty() calls performed after
   assign_capability(), unassign_capability(), delete_role(),
   deleted contexts, brand new contexts
 - Move role definition cache clear from the user-centric
   accesslib_clear_all_caches() to the newly created,
   role-dedicated accesslib_reset_role_cache()
2018-09-21 09:17:42 -04:00
Eloy Lafuente (stronk7)
db5057d7bd Merge branch 'MDL-63130_master' of git://github.com/markn86/moodle 2018-09-11 23:55:00 +02:00
Mark Nelson
8a261177f7 MDL-63130 core_message: add unit test 2018-09-06 18:16:33 +08:00
David Mudrák
39d2c68856 MDL-61742 messaging: Do not send messages from inactive providers
Before this patch, we only checked that the given provider has been
configured in the user or system preferences. However, if the provider's
component is disabled, it does not even appear in these preferences.
Additionally, there was no check that the message / notification
provider is among providers allowed to be consumed by the recipient.

The patch checks that the message origin is among providers returned by
the message_get_providers_for_user() so disabled plugins can't act as
sources of messages and users can't receive messages from providers they
do not have capability for. This mitigates the risk of abusing a plugin
as a source of spam, for example.

Unit test is fixed and extended. When the $CFG->messaging is disabled,
no messages between users should be sent (I can't understand why the
unit test was written in an opposite way). Added assertions for the
raised debugging message.
2018-08-31 12:15:30 +02:00
Víctor Déniz Falcón
02fda279ed MDL-57281 behat: deprecated step definition I navigate to node in
Definition step deprecated and affected tests modified.
2018-08-20 12:53:26 +01:00
Andrew Nicols
f89f6cf04e Merge branch 'MDL-62899-search-icons-master' of https://github.com/dmitriim/moodle 2018-08-08 13:17:34 +08:00
Dmitrii Metelkin
66f145efd1 MDL-62899 search: add document icons 2018-08-07 17:40:57 +10:00
Adrian Greeve
cc4952e997 MDL-55449 messages: Remove support for stdClass messages.
This also makes message_sent::create_from_ids() $courseid
parameter required.
2018-08-07 11:04:22 +08:00
Mark Nelson
c57fadcc64 MDL-62808 core_message: fixed 'useridto' being incorrectly set to 0 2018-07-09 12:00:06 +08:00
Mark Nelson
cd9ecbd81c MDL-62709 core_message: convert NULL format types in task 2018-06-14 13:18:46 +08:00
Andrew Nicols
823e08bf9d MDL-62393 message: Fix random unit test fails 2018-05-12 22:53:58 +08:00
Mark Nelson
b6b7c2636f MDL-62364 core: allow null for 'courseid' in notification_sent event
It's possible the '\core\message\message' object has a null value
for the 'courseid' which is used in \core\message\manager::send_message().
Make sure we compensate for this.
2018-05-09 17:27:00 +08:00
Mark Nelson
04cd1b3f31 MDL-61919 core_message: implement privacy provider 2018-05-03 20:44:05 +08:00
Mark Nelson
84f6a716b2 MDL-61255 core_message: migrate data from the 'message_popup' table 2018-04-10 17:26:43 +08:00
Mark Nelson
5cc6b3eeb5 MDL-61255 core_message: added unit test for task 2018-04-10 15:17:01 +08:00
Mark Nelson
74ad60bfbe MDL-36941 core_message: deprecated 'api::mark_all_read_for_user' 2018-03-23 12:30:30 +08:00
Mark Nelson
b2cd17e6a9 MDL-36941 core: added 'convhash' field to quickly get conversations 2018-03-23 12:30:28 +08:00
Mark Nelson
2b595d96f4 MDL-36941 core: added new mark notification as read webservice 2018-03-23 12:30:28 +08:00
Mark Nelson
376a79c242 MDL-36941 core: added events for notifications 2018-03-23 12:30:27 +08:00
Mark Nelson
548936a6c9 MDL-36941 core_message: mark notification/messages takes stdClass
This avoid unnecessary DB calls.
2018-03-23 12:30:27 +08:00
Mark Nelson
883ce42127 MDL-36941 core: convert existing api to use new table structure
Also deprecated the following functions -

1. message_move_userfrom_unread2read - It is not necessary
   for us to mark a message as read on user deletion.
2. message_get_blocked_users - Horrible logic used to
   determine if a user is blocked via reference on some
   randomly chosen 'isblocked' variable.
3. message_get_contacts - The same as above. This can be
   done in a much nicer way.
4. message_mark_message_read - We want two functions to do
   this to avoid confusing messages and notifications.
5. message_can_delete_message - This assumed the variable
   $message contained the 'useridto' property, which
   was present in the old table structure. We do not want
   future usages where a query is done on the new table
   and is simply passed as this won't contain this property.
6. message_delete_message - Same as above.
2018-03-23 12:30:27 +08:00
Mark Nelson
ee14412e21 MDL-36941 core_message: removed unit test that will always fail
We are changing how the API behaves so the old tables will never
be populated. This unit test is testing a deprecated function
which we will not be refactoring to use the new table structure.
2018-03-23 09:27:57 +08:00
Adam Olley
e36a2f2aa7 MDL-60918 core_message: update preferences of user behat test 2018-01-16 05:07:13 +00:00
sam marshall
a938e4096c MDL-60174 core_dml: fix miscellaneous incorrect recordset usage
The new recordset support for Postgres requires transactions and
will cause errors if recordsets are not closed correctly. This
commit fixes problems that were identified during unit tests, and
via some basic code analysis, across all core code. Most of these
are incorrect usage of recordset (forgetting to close them).
2017-11-27 11:10:33 +00:00
Marina Glancy
33683bc80c MDL-60281 general: function each() is deprecated in PHP7.2 2017-10-16 09:37:20 +08:00
sam marshall
66e3702680 MDL-55356 core_search: Change existing search areas to new API
This change considers all existing search areas in Moodle and makes
necessary changes.

Custom change to course search, supported by helper in base.php:

* course/classes/search/mycourse.php

Custom change to message search:

* message/classes/search/message_received.php
* message/classes/search/message_sent.php

Custom change to user search:

* user/classes/search/user.php

Custom changes to module areas, supported by helper in base_mod.php:

* mod/book/classes/search/chapter.php
* mod/data/classes/search/entry.php
* mod/forum/classes/search/post.php
* mod/glossary/classes/search/entry.php
* mod/survey/classes/search/activity.php
* mod/wiki/classes/search/collaborative_page.php

(Note: the unit tests do not exhaustively check every context type
for these, given that's mainly handled by the helper function
which was already tested in the base_activity test.)

Handled by block base class (no change):

* blocks/html/classes/search/content.php

Handled by activity base class (no change):

* mod/assign/classes/search/activity.php
* mod/book/classes/search/activity.php
* mod/chat/classes/search/activity.php
* mod/choice/classes/search/activity.php
* mod/data/classes/search/activity.php
* mod/feedback/classes/search/activity.php
* mod/folder/classes/search/activity.php
* mod/forum/classes/search/activity.php
* mod/glossary/classes/search/activity.php
* mod/imscp/classes/search/activity.php
* mod/label/classes/search/activity.php
* mod/lesson/classes/search/activity.php
* mod/lti/classes/search/activity.php
* mod/page/classes/search/activity.php
* mod/quiz/classes/search/activity.php
* mod/resource/classes/search/activity.php
* mod/scorm/classes/search/activity.php
* mod/url/classes/search/activity.php
* mod/wiki/classes/search/activity.php
* mod/workshop/classes/search/activity.php
2017-10-11 17:17:09 +01:00
sam marshall
81a988833e MDL-55356 core_message: Rename unit tests with wrong names 2017-10-11 17:17:08 +01:00
Andrew Nicols
2a77813b51 MDL-59882 behat: Update known uses of dialogue CSS 2017-10-02 12:44:37 +08:00
David Monllao
0e0e92c5e0 Merge branch 'MDL-59759-master-2' of git://github.com/junpataleta/moodle 2017-09-07 10:52:20 +02:00
Jun Pataleta
23356f410f MDL-59759 core_message: Use SAVE_CANCEL modal for delete dialog 2017-09-04 10:44:51 +08:00
Matt Porritt
bc60052d83 MDL-59834 Global Search: Indexing user messages
Make indexing of user messages tolerant to user deletion.
When creating the search document for user messages,
add a check to see if the user has been deleted in the
system. If they have been deleted abort creating the search
document.
This is to avoid rasining an error when trying to get the
user context for a deleted user.
2017-09-04 09:09:48 +10:00
Dan Poltawski
83a6b8c48c Merge branch 'MDL-58050-master-msgtrans' of git://github.com/mudrd8mz/moodle 2017-03-20 13:19:22 +00:00
Damyon Wiese
8857c715d1 MDL-40759 icons: Behat fixes for font-awesome 2017-03-17 15:52:18 +08:00
David Mudrák
bb2924d018 MDL-58050 message: Commit the transaction before the early return
If there was no conversation found and the method returned early, the
active transaction was not marked as committable and the error was
reported by the request shutdown handler.

Attaching a unit test for the case just because it did not seem to be
covered. I was trying to reproduce the thrown error in the unit test but
it can't be used in this case. The shutdown handler puts the warning
directly into the error_log and it is not guaranteed where such messages
go (depending on the PHP configuration). And we do not even raise it
during the unit test execution (presumably due to noise it would
produce) anyway.
2017-02-22 13:56:02 +01:00
David Monllao
cb0f30cf77 Merge branch 'MDL-58014_master' of git://github.com/markn86/moodle 2017-02-20 09:32:11 +01:00
Mark Nelson
29c3b0b4d2 MDL-58014 core_message: fixed unread message count 2017-02-20 13:29:13 +08:00
Mark Nelson
f512355b31 MDL-57967 core_message: do not process conversations from deleted users 2017-02-16 13:01:06 +08:00
Ryan Wyllie
e12d9f494c MDL-57370 message: add unread count to conversation tests 2017-02-09 03:39:14 +00:00
Ryan Wyllie
b1e6f1a8fb MDL-57370 message: deprecate message_get_recent_conversations 2017-02-07 01:40:47 +00:00
Ryan Wyllie
4d146f1a45 MDL-57370 message: unit tests for get_conversations 2017-02-07 01:04:11 +00:00
Andrew Nicols
ea6eb1cc48 Merge branch 'MDL-57630-m' of https://github.com/micaherne/moodle 2017-02-02 09:18:17 +08:00
Andrew Nicols
81c226d451 Merge branch 'MDL-57634-m' of https://github.com/micaherne/moodle 2017-01-18 12:36:45 +08:00
Michael Aherne
55b2a33ce1 MDL-57634 messaging: Ensure test uses a configured plugin 2017-01-12 12:30:39 +00:00
Michael Aherne
46c5c88321 MDL-57630 messaging: Pass unit test with third-party plugins 2017-01-11 16:37:46 +00:00