mirror of
https://github.com/moodle/moodle.git
synced 2025-04-08 01:43:32 +02:00
Merge branch 'MDL-65101_master' of git://github.com/markn86/moodle
This commit is contained in:
commit
ec089cc4f7
File diff suppressed because one or more lines are too long
@ -854,6 +854,11 @@ function(
|
||||
* @return {Bool}
|
||||
*/
|
||||
var requiresContactRequest = function(loggedInUserId, user) {
|
||||
// If a user can message then no contact request is required.
|
||||
if (user.canmessage) {
|
||||
return false;
|
||||
}
|
||||
|
||||
var contactRequests = user.contactrequests.filter(function(request) {
|
||||
return request.userid == loggedInUserId || request.requesteduserid;
|
||||
});
|
||||
@ -1036,7 +1041,7 @@ function(
|
||||
type: 'add-contact',
|
||||
user: otherUser
|
||||
};
|
||||
} else if (!otherUser.canmessage || (otherUser.requirescontact && !otherUser.iscontact)) {
|
||||
} else if (!otherUser.canmessage && (otherUser.requirescontact && !otherUser.iscontact)) {
|
||||
return {type: 'unable-to-message'};
|
||||
}
|
||||
}
|
||||
|
42
message/tests/behat/capability_message_any_user.feature
Normal file
42
message/tests/behat/capability_message_any_user.feature
Normal file
@ -0,0 +1,42 @@
|
||||
@core @core_message @javascript
|
||||
Feature: Capability test for 'moodle/site:messageanyuser'
|
||||
In order to test that the 'moodle/site:messageanyuser' works as expected
|
||||
As a user with or without the capability 'moodle/site:messageanyuser'
|
||||
I should either be able to message anyone regardless of their messaging preferences, or not
|
||||
|
||||
Background:
|
||||
Given the following "courses" exist:
|
||||
| fullname | shortname |
|
||||
| Course 1 | C1 |
|
||||
And the following "users" exist:
|
||||
| username | firstname | lastname | email |
|
||||
| teacher1 | Teacher | 1 | teacher1@example.com |
|
||||
| student1 | Student | 1 | student1@example.com |
|
||||
| student2 | Student | 2 | student1@example.com |
|
||||
And the following "course enrolments" exist:
|
||||
| user | course | role |
|
||||
| teacher1 | C1 | teacher |
|
||||
| student1 | C1 | student |
|
||||
| student2 | C1 | student |
|
||||
And the following config values are set as admin:
|
||||
| messaging | 1 |
|
||||
| messagingallusers | 1 |
|
||||
And I log in as "student1"
|
||||
And I open messaging
|
||||
And I open messaging settings preferences
|
||||
And I click on "//label[text()[contains(.,'My contacts only')]]" "xpath_element"
|
||||
And I log out
|
||||
|
||||
Scenario: Allow a message to be sent as the user has the correct capabilities
|
||||
Given I log in as "teacher1"
|
||||
And I open messaging
|
||||
When I send "Hi!" message to "Student 1" user
|
||||
Then I should see "Hi!" in the "//div[@data-region='message-drawer']//div[@data-region='content-message-container']" "xpath_element"
|
||||
|
||||
Scenario: Do not allow a message to be sent as the user does not have the correct capabilities
|
||||
Given I log in as "student2"
|
||||
And I am on "Course 1" course homepage
|
||||
And I follow "Participants"
|
||||
And I follow "Student 1"
|
||||
When I click on "Message" "link" in the ".header-button-group" "css_element"
|
||||
Then I should see "Student 1 is not in your contacts"
|
Loading…
x
Reference in New Issue
Block a user