Commit Graph

182 Commits

Author SHA1 Message Date
Mark Nelson
5571af1614 MDL-63280 core_message: added constants for enabled/disabled 2018-10-25 17:51:34 +08:00
Mark Nelson
f0e137c539 MDL-63280 core: minor changes after review
- Fixed reference to non-existent column 'timeread'.
- Fixed alignment issues.
- Fixed inconsistencies between upgrade.php and install.xml.
- Cleaned unit tests of unnecessary DB calls.
- Renamed 'get_does_conversation_area_enabled' to
  'is_conversation_area_enabled' and moved to api.php.
- Replaced "$mform->elementExists('enablemessaging')"
  check with a capability check.
- Removed the change of [] to array() in unrelated to upgrade code.
- Updated conversation 'timemodified' field when updating name.
- Bumped version based on latest master.
2018-10-25 17:51:04 +08:00
cescobedo
e7f467143f MDL-63280 core_message: Create group conversation from group edit page
Allows linking of course groups with conversations when group messaging feature is enabled.
2018-10-25 12:20:00 +08:00
cescobedo
55fda006e3 MDL-63280 core_message: Create conversation area 2018-10-25 12:20:00 +08:00
Mark Nelson
d1e8e69d85 MDL-63466 core_message: deprecated methods and services 2018-10-24 09:40:07 +08:00
Mark Nelson
4f22d7f23b MDL-63466 core_message: removed get_last_message_time_created_cache_key 2018-10-24 09:39:59 +08:00
Mark Nelson
f978593d6c MDL-63466 core_message: rename cache for last message time 2018-10-24 09:39:42 +08:00
Sara Arjona
fb04293bb1 MDL-63466 core_message: Add conversation support to get_messages
- The get_conversation_messages has been added to the API and the WS
with the conversation identifier (convid) instead of the userto,
to let get conversation messages and the members involved.
- The cache has been also reviewed, to use the convid instead of the
[userfrom, userto] keys.
- The get_most_recent_conversation_messages has been added to the API
to update the cache when needed.
2018-10-24 09:39:05 +08:00
David Monllao
4abe3d250f MDL-63408 messaging: Remove duplicated field 2018-10-23 13:44:52 +02:00
Andrew Nicols
0ff384dbf1 Merge branch 'MDL-63548_master' of git://github.com/markn86/moodle 2018-10-23 10:25:54 +08:00
Mark Nelson
abf7a261a9 MDL-63548 core_message: added api::can_mark_all_messages_as_read 2018-10-23 09:52:14 +08:00
Andrew Nicols
67b813514c Merge branch 'MDL-63408_master' of git://github.com/markn86/moodle 2018-10-23 08:50:40 +08:00
Andrew Nicols
9c6ccfd93b Merge branch 'MDL-63213-master-2' of https://github.com/snake/moodle 2018-10-22 10:54:56 +08:00
Andrew Nicols
7b73fd183c Merge branch 'MDL-63691_master' of git://github.com/markn86/moodle 2018-10-22 10:52:13 +08:00
Mark Nelson
cbf9e41c2d MDL-63408 core_message: remove no longer needed code
We only allow the functionality of adding/removing
members on group conversations, which will never have
a conversation hash.
2018-10-22 10:26:30 +08:00
Mark Nelson
83e3a4fe26 MDL-63408 core_message: add check to ensure it is a group conversation 2018-10-22 10:26:21 +08:00
Amaia Anabitarte
623048af81 MDL-63408 core_message: New functions to manage conversation members
New functions created to add, remove and count conversation members
2018-10-22 10:26:10 +08:00
Mark Nelson
f2ac0a3e5b MDL-63691 core_message: added api::create_conversation 2018-10-22 10:21:28 +08:00
Mark Nelson
e66b915c40 MDL-63691 core_message: added api::can_create_group_conversation 2018-10-22 10:21:27 +08:00
Mark Nelson
a66ae84911 MDL-63691 core_message: deprecate create_conversation_between_users 2018-10-22 10:21:27 +08:00
Jake Dallimore
b8ff2c4481 MDL-63213 core_message: update get_conversations to support favourites
Added the type param here, which will be used in MDL-63549.
2018-10-22 09:43:33 +08:00
Andrew Nicols
c3918bfee9 MDL-63289 message: Remove unused global 2018-10-22 08:31:04 +08:00
Sara Arjona
e5eba802d5 MDL-63289 message: Deprecate is_user_non_contact_blocked method
This function has been deprecated and no other function has been
added to replace it. It was only called from can_post_message, so
its code has been moved there.
2018-10-20 08:36:24 +02:00
Sara Arjona
7983fb830e MDL-63289 message: Bypass privacy user preferences for teachers
Created capability 'moodle/site:messageanyuser' to allow
bypass user privacy preferences for messaging participants in a course,
even when some of them has blocked the teacher.
2018-10-20 08:35:17 +02:00
David Monllao
32b01d2b02 Merge branch 'MDL-63214-master' of git://github.com/sarjona/moodle 2018-10-17 15:55:44 +02:00
Sara Arjona
f7dfa9ba3e MDL-63214 message: Add privacy preferences to filter who can message
Add new messaging profile preferences to allow users to choose who
can message them:
- By default, users can select between 'My contacts only' and 'My
contacts and anyone in my courses'
- When $CFG->messagingallusers is enabled, a new option is displayed
also: 'Anyone on the site'. For users who have selected this option,
if $CFG->messagingallusers is disabled, the behaviour will be changed
to 'My contacts and anyone in my courses'
2018-10-17 11:52:57 +02:00
Mark Nelson
15663b0bec MDL-63547 core_message: can_delete_conversation expects a conversationid 2018-10-17 12:05:16 +08:00
Mark Nelson
263ad98436 MDL-63547 core_message: deprecated api::delete_conversation() 2018-10-17 12:05:16 +08:00
Mark Nelson
08cb8a34f9 MDL-63547 core_message: updated api::can_delete_message 2018-10-17 12:05:16 +08:00
Mark Nelson
14de10c463 MDL-63547 core_message: updated message_deleted event to support groups 2018-10-17 12:05:16 +08:00
Mark Nelson
0d203bbf8d MDL-63211 core_message: respect new setting 'messagingallusers' 2018-10-03 11:58:39 +08:00
Mark Nelson
c886e2c94d MDL-63211 core_message: deprecated api::is_user_blocked 2018-10-03 11:58:39 +08:00
Mark Nelson
be016b0144 MDL-63211 core: added notification when contact request is made 2018-10-03 11:58:39 +08:00
Mark Nelson
f219eac7b4 MDL-63211 core: update core to use new APIs 2018-10-03 11:51:29 +08:00
Mark Nelson
0b3eadcd96 MDL-63211 core_message: deprecated functions and added new API 2018-10-03 11:35:26 +08:00
Marina Glancy
442f12f81a MDL-62742 core: rename coursecat->core_course_category
Also rename course_in_list -> core_course_list_element
Deprecate class coursecat_sortable_records
2018-08-28 11:36:23 +02:00
Mark Nelson
5aac33c785 MDL-36941 core_message: dont query DB unnecessarily checking read status 2018-03-23 12:30:31 +08:00
Mark Nelson
99248f6177 MDL-36941 core_message: fixed minor CiBoT complaints 2018-03-23 12:30:31 +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
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
93b47710ac MDL-59977 core: do not directly check 'viewparticipant' capability 2017-09-11 12:44:27 +08:00
Neill Magill
22481f3d89 MDL-59317 message: Message page taking long time to load
The OR clause in these queries used different sets of columns to select
userid which meant that the indexes that included user id could not be
used.

This change splits the query so that each individual part can use one of
the indexes that includes a userid which speeds them up considerably.
2017-07-06 15:24:02 +01:00
Dan Poltawski
83a6b8c48c Merge branch 'MDL-58050-master-msgtrans' of git://github.com/mudrd8mz/moodle 2017-03-20 13:19:22 +00: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 Mudrák
0c44da7887 MDL-58050 message: Fix the DB transaction handling
Consumer code is not supposed to call commit_delegated_transaction()
method directly, this was incorrect usage of the delegated transactions.
2017-02-22 13:42:05 +01: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
c9b82e402e MDL-57370 message: improve message union sql 2017-02-09 03:39:09 +00:00