mirror of
https://github.com/moodle/moodle.git
synced 2025-03-14 12:40:01 +01:00
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.
This commit is contained in:
parent
e7f467143f
commit
f0e137c539
@ -96,7 +96,7 @@ class group_form extends moodleform {
|
||||
* Extend the form definition after the data has been parsed.
|
||||
*/
|
||||
public function definition_after_data() {
|
||||
global $COURSE, $DB;
|
||||
global $COURSE, $DB, $USER;
|
||||
|
||||
$mform = $this->_form;
|
||||
$groupid = $mform->getElementValue('id');
|
||||
@ -104,11 +104,8 @@ class group_form extends moodleform {
|
||||
|
||||
if ($group = $DB->get_record('groups', array('id' => $groupid))) {
|
||||
// If can create group conversation then get if a conversation area exists and it is enabled.
|
||||
if ($mform->elementExists('enablemessaging')) {
|
||||
if (\core_message\helper::get_does_conversation_area_enabled('core_group',
|
||||
'groups',
|
||||
$groupid,
|
||||
$coursecontext->id)) {
|
||||
if (\core_message\api::can_create_group_conversation($USER->id, $coursecontext)) {
|
||||
if (\core_message\api::is_conversation_area_enabled('core_group', 'groups', $groupid, $coursecontext->id)) {
|
||||
$mform->getElement('enablemessaging')->setSelected(1);
|
||||
}
|
||||
}
|
||||
|
@ -278,12 +278,7 @@ function groups_create_group($data, $editform = false, $editoroptions = false) {
|
||||
// Group conversation messaging.
|
||||
if (\core_message\api::can_create_group_conversation($USER->id, $context)) {
|
||||
if (!empty($data->enablemessaging)) {
|
||||
\core_message\api::create_conversation_area('core_group',
|
||||
'groups',
|
||||
$group->id,
|
||||
$context->id,
|
||||
1,
|
||||
$group->name);
|
||||
\core_message\api::create_conversation_area('core_group', 'groups', $group->id, $context->id, $group->name, 1);
|
||||
}
|
||||
}
|
||||
|
||||
@ -427,10 +422,7 @@ function groups_update_group($data, $editform = false, $editoroptions = false) {
|
||||
|
||||
// Group conversation messaging.
|
||||
if (\core_message\api::can_create_group_conversation($USER->id, $context)) {
|
||||
if ($conversationarea = \core_message\api::get_conversation_area('core_group',
|
||||
'groups',
|
||||
$group->id,
|
||||
$context->id)) {
|
||||
if ($conversationarea = \core_message\api::get_conversation_area('core_group', 'groups', $group->id, $context->id)) {
|
||||
if ($data->enablemessaging && $data->enablemessaging != $conversationarea->enabled) {
|
||||
\core_message\api::enable_conversation_area($conversationarea->id);
|
||||
}
|
||||
@ -440,12 +432,7 @@ function groups_update_group($data, $editform = false, $editoroptions = false) {
|
||||
\core_message\api::update_conversation_name($conversationarea->conversationid, $group->name);
|
||||
} else {
|
||||
if (!empty($data->enablemessaging)) {
|
||||
\core_message\api::create_conversation_area('core_group',
|
||||
'groups',
|
||||
$group->id,
|
||||
$context->id,
|
||||
1,
|
||||
$group->name);
|
||||
\core_message\api::create_conversation_area('core_group', 'groups', $group->id, $context->id, $group->name, 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -532,53 +532,39 @@ class core_group_lib_testcase extends advanced_testcase {
|
||||
/**
|
||||
* Test groups_create_group enabling a group of conversation.
|
||||
*/
|
||||
public function groups_create_group_with_conversation_area() {
|
||||
public function test_groups_create_group_with_conversation_area() {
|
||||
global $DB;
|
||||
|
||||
$this->resetAfterTest();
|
||||
$this->setAdminUser();
|
||||
$course1 = $this->getDataGenerator()->create_course();
|
||||
$coursecontext1 = context_course::instance($course1->id);
|
||||
// Check not exists and conversation area created.
|
||||
$this->assertEquals(
|
||||
0,
|
||||
$DB->count_records_sql("SELECT COUNT(ca.id)
|
||||
FROM {message_conversation_area} ca
|
||||
WHERE ca.contextid = ?
|
||||
AND ca.component = 'core_group'
|
||||
AND ca.itemtype = 'groups'", [$coursecontext1->id])
|
||||
);
|
||||
|
||||
// Create two groups and only one group with enablemessaging = 1.
|
||||
$group1a = $this->getDataGenerator()->create_group(array('courseid' => $course1->id, 'enablemessaging' => 1));
|
||||
$group1b = $this->getDataGenerator()->create_group(array('courseid' => $course1->id, 'enablemessaging' => 0));
|
||||
// Check exist only one row created in conversation area.
|
||||
$this->assertEquals(
|
||||
1,
|
||||
$DB->count_records_sql("SELECT COUNT(ca.id)
|
||||
FROM {message_conversation_area} ca
|
||||
WHERE ca.contextid = ?
|
||||
AND ca.component = 'core_group'
|
||||
AND ca.itemtype = 'groups'
|
||||
AND ca.enabled = 1", [$coursecontext1->id])
|
||||
|
||||
$conversationareas = $DB->get_records('message_conversation_area',
|
||||
[
|
||||
'contextid' => $coursecontext1->id,
|
||||
'component' => 'core_group',
|
||||
'itemtype' => 'groups',
|
||||
'enabled' => 1
|
||||
]
|
||||
);
|
||||
$conversation = $DB->get_record_sql("SELECT c.*
|
||||
FROM {message_conversations} c
|
||||
JOIN {message_conversation_area} ca ON c.id = ca.conversationid
|
||||
WHERE ca.contextid = ?
|
||||
AND ca.component = 'core_group'
|
||||
AND ca.itemtype = 'groups'", [$coursecontext1->id]);
|
||||
// Check group name and course fullname was stored in conversation.
|
||||
$this->assertEquals($group1a->name, $conversation->name);
|
||||
$this->assertCount(1, $conversationareas);
|
||||
|
||||
$conversationarea = reset($conversationareas);
|
||||
// Check groupid was stored in itemid on conversation area.
|
||||
$this->assertEquals(
|
||||
$group1a->id,
|
||||
$DB->get_field_sql("SELECT ca.itemid
|
||||
FROM {message_conversation_area} ca
|
||||
WHERE ca.contextid = ?
|
||||
AND ca.component = 'core_group'
|
||||
AND ca.itemtype = 'groups'
|
||||
AND ca.conversationid = ?", [$coursecontext1->id, $conversation->id])
|
||||
);
|
||||
$this->assertEquals($group1a->id, $conversationarea->itemid);
|
||||
|
||||
$conversations = $DB->get_records('message_conversations', ['id' => $conversationarea->conversationid]);
|
||||
$this->assertCount(1, $conversations);
|
||||
|
||||
$conversation = reset($conversations);
|
||||
|
||||
// Check group name was stored in conversation.
|
||||
$this->assertEquals($group1a->name, $conversation->name);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -591,69 +577,51 @@ class core_group_lib_testcase extends advanced_testcase {
|
||||
$this->setAdminUser();
|
||||
$course1 = $this->getDataGenerator()->create_course();
|
||||
$coursecontext1 = context_course::instance($course1->id);
|
||||
// Check not exists and conversation area created.
|
||||
$this->assertEquals(
|
||||
0,
|
||||
$DB->count_records_sql("SELECT COUNT(ca.id)
|
||||
FROM {message_conversation_area} ca
|
||||
WHERE ca.contextid = ?
|
||||
AND ca.component = 'core_group'
|
||||
AND ca.itemtype = 'groups'", [$coursecontext1->id])
|
||||
);
|
||||
|
||||
// Create two groups and only one group with enablemessaging = 1.
|
||||
$group1a = $this->getDataGenerator()->create_group(array('courseid' => $course1->id, 'enablemessaging' => 1));
|
||||
$group1b = $this->getDataGenerator()->create_group(array('courseid' => $course1->id, 'enablemessaging' => 0));
|
||||
// Check exist only one row created in conversation area.
|
||||
$this->assertEquals(
|
||||
1,
|
||||
$DB->count_records_sql("SELECT COUNT(ca.id)
|
||||
FROM {message_conversation_area} ca
|
||||
WHERE ca.contextid = ?
|
||||
AND ca.component = 'core_group'
|
||||
AND ca.itemtype = 'groups'
|
||||
AND ca.enabled = 1", [$coursecontext1->id])
|
||||
|
||||
$conversationareas = $DB->get_records('message_conversation_area',
|
||||
[
|
||||
'contextid' => $coursecontext1->id,
|
||||
'component' => 'core_group',
|
||||
'itemtype' => 'groups',
|
||||
'enabled' => 1
|
||||
]
|
||||
);
|
||||
$this->assertCount(1, $conversationareas);
|
||||
|
||||
// Check that the conversation area is created when group messaging is enabled in the course group.
|
||||
$group1b->enablemessaging = 1;
|
||||
groups_update_group($group1b);
|
||||
$this->assertEquals(
|
||||
2,
|
||||
$DB->count_records_sql("SELECT COUNT(ca.id)
|
||||
FROM {message_conversation_area} ca
|
||||
WHERE ca.contextid = ?
|
||||
AND ca.component = 'core_group'
|
||||
AND ca.itemtype = 'groups'
|
||||
AND ca.enabled = 1", [$coursecontext1->id])
|
||||
);
|
||||
$conversation1b = $DB->get_record_sql("SELECT c.*
|
||||
FROM {message_conversations} c
|
||||
JOIN {message_conversation_area} ca ON c.id = ca.conversationid
|
||||
WHERE ca.contextid = ?
|
||||
AND ca.itemid = ?
|
||||
AND ca.component = 'core_group'
|
||||
AND ca.itemtype = 'groups'", [$coursecontext1->id, $group1b->id]);
|
||||
|
||||
$conversationareas = $DB->get_records('message_conversation_area',
|
||||
[
|
||||
'contextid' => $coursecontext1->id,
|
||||
'component' => 'core_group',
|
||||
'itemtype' => 'groups',
|
||||
'enabled' => 1
|
||||
],
|
||||
'id ASC');
|
||||
$this->assertCount(2, $conversationareas);
|
||||
|
||||
$conversationarea1a = array_shift($conversationareas);
|
||||
$conversationarea1b = array_shift($conversationareas);
|
||||
|
||||
$conversation1b = $DB->get_record('message_conversations', ['id' => $conversationarea1b->conversationid]);
|
||||
|
||||
// Check for group1b that group name was stored in conversation.
|
||||
$this->assertEquals($group1b->name, $conversation1b->name);
|
||||
// Check how to is disabled conversation area when group messaging is disabled in the course group.
|
||||
$this->assertEquals(1, $DB->get_field("message_conversation_area", "enabled",
|
||||
['itemid' => $group1b->id,
|
||||
'contextid' => $coursecontext1->id]));
|
||||
|
||||
$group1b->enablemessaging = 0;
|
||||
groups_update_group($group1b);
|
||||
$this->assertEquals(0, $DB->get_field("message_conversation_area", "enabled",
|
||||
['itemid' => $group1b->id,
|
||||
'contextid' => $coursecontext1->id]));
|
||||
$this->assertEquals(0, $DB->get_field("message_conversation_area", "enabled", ['id' => $conversationarea1b->id]));
|
||||
|
||||
// Check that the name of the conversation is changed when the name of the course group is updated.
|
||||
$group1b->name = 'New group name';
|
||||
$this->assertNotEquals($group1b->name, $conversation1b->name);
|
||||
groups_update_group($group1b);
|
||||
$conversation1b = $DB->get_record_sql("SELECT c.*
|
||||
FROM {message_conversations} c
|
||||
JOIN {message_conversation_area} ca ON c.id = ca.conversationid
|
||||
WHERE ca.contextid = ?
|
||||
AND ca.itemid = ?
|
||||
AND ca.component = 'core_group'
|
||||
AND ca.itemtype = 'groups'", [$coursecontext1->id, $group1b->id]);
|
||||
$conversation1b = $DB->get_record('message_conversations', ['id' => $conversation1b->id]);
|
||||
$this->assertEquals($group1b->name, $conversation1b->name);
|
||||
}
|
||||
}
|
||||
|
@ -636,7 +636,7 @@
|
||||
<FIELD NAME="component" TYPE="char" LENGTH="100" NOTNULL="true" SEQUENCE="false" COMMENT="Defines the Moodle component which the area was added to"/>
|
||||
<FIELD NAME="itemtype" TYPE="char" LENGTH="100" NOTNULL="true" SEQUENCE="false"/>
|
||||
<FIELD NAME="itemid" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false"/>
|
||||
<FIELD NAME="contextid" TYPE="int" LENGTH="10" NOTNULL="false" SEQUENCE="false" COMMENT="The context id of the itemid or course of the itemtype was added"/>
|
||||
<FIELD NAME="contextid" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false" COMMENT="The context id of the itemid or course of the itemtype was added"/>
|
||||
<FIELD NAME="enabled" TYPE="int" LENGTH="1" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
||||
<FIELD NAME="timecreated" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false"/>
|
||||
<FIELD NAME="timemodified" TYPE="int" LENGTH="10" NOTNULL="true" DEFAULT="0" SEQUENCE="false" COMMENT="timemodified"/>
|
||||
|
@ -2589,7 +2589,7 @@ function xmldb_main_upgrade($oldversion) {
|
||||
$table = new xmldb_table('message_conversations');
|
||||
|
||||
// Remove the unique 'convhash' index, change to null and add a new non unique index.
|
||||
$index = new xmldb_index('convhash', XMLDB_INDEX_UNIQUE, array('convhash'));
|
||||
$index = new xmldb_index('convhash', XMLDB_INDEX_UNIQUE, ['convhash']);
|
||||
if ($dbman->index_exists($table, $index)) {
|
||||
$dbman->drop_index($table, $index);
|
||||
}
|
||||
@ -2597,7 +2597,7 @@ function xmldb_main_upgrade($oldversion) {
|
||||
$field = new xmldb_field('convhash', XMLDB_TYPE_CHAR, '40', null, null, null, null, 'name');
|
||||
$dbman->change_field_notnull($table, $field);
|
||||
|
||||
$index = new xmldb_index('convhash', XMLDB_INDEX_NOTUNIQUE, array('convhash'));
|
||||
$index = new xmldb_index('convhash', XMLDB_INDEX_NOTUNIQUE, ['convhash']);
|
||||
if (!$dbman->index_exists($table, $index)) {
|
||||
$dbman->add_index($table, $index);
|
||||
}
|
||||
@ -2605,18 +2605,18 @@ function xmldb_main_upgrade($oldversion) {
|
||||
upgrade_main_savepoint(true, 2018102200.00);
|
||||
}
|
||||
|
||||
if ($oldversion < 2018101900.03) {
|
||||
if ($oldversion < 2018102300.02) {
|
||||
// Create new 'message_conversation_area' table.
|
||||
$table = new xmldb_table('message_conversation_area');
|
||||
$table->add_field('id', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, XMLDB_SEQUENCE, null, null);
|
||||
$table->add_field('conversationid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, null, 'id');
|
||||
$table->add_field('component', XMLDB_TYPE_CHAR, '100', null, null, null, null, 'conversationid');
|
||||
$table->add_field('itemtype', XMLDB_TYPE_CHAR, '100', null, null, null, null, 'component');
|
||||
$table->add_field('component', XMLDB_TYPE_CHAR, '100', null, XMLDB_NOTNULL, null, null, 'conversationid');
|
||||
$table->add_field('itemtype', XMLDB_TYPE_CHAR, '100', null, XMLDB_NOTNULL, null, null, 'component');
|
||||
$table->add_field('itemid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, null, 'itemtype');
|
||||
$table->add_field('contextid', XMLDB_TYPE_INTEGER, '10', null, null, null, null, 'itemid');
|
||||
$table->add_field('contextid', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, null, 'itemid');
|
||||
$table->add_field('enabled', XMLDB_TYPE_INTEGER, '1', null, XMLDB_NOTNULL, null, 0, 'contextid');
|
||||
$table->add_field('timecreated', XMLDB_TYPE_INTEGER, '10', null, null, null, null, 'enable');
|
||||
$table->add_field('timemodified', XMLDB_TYPE_INTEGER, '10', null, null, null, null, 'timecreated');
|
||||
$table->add_field('timecreated', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, null, 'enabled');
|
||||
$table->add_field('timemodified', XMLDB_TYPE_INTEGER, '10', null, XMLDB_NOTNULL, null, null, 'timecreated');
|
||||
$table->add_key('primary', XMLDB_KEY_PRIMARY, ['id'], null, null);
|
||||
$table->add_key('conversationid', XMLDB_KEY_FOREIGN, ['conversationid'], 'message_conversations', ['id']);
|
||||
$table->add_key('contextid', XMLDB_KEY_FOREIGN, ['contextid'], 'context', ['id']);
|
||||
@ -2628,7 +2628,7 @@ function xmldb_main_upgrade($oldversion) {
|
||||
$dbman->create_table($table);
|
||||
}
|
||||
|
||||
upgrade_main_savepoint(true, 2018101900.03);
|
||||
upgrade_main_savepoint(true, 2018102300.02);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
@ -1983,24 +1983,21 @@ class api {
|
||||
* @param string $itemtype Defines the type of the component
|
||||
* @param int $itemid The id of the component
|
||||
* @param int $contextid The id of the context
|
||||
* @param int $enabled Allow enabled or disabled the conversation area
|
||||
* @param string $name The main name of the area
|
||||
* @param int $enabled Enable or disable the conversation area
|
||||
* @return \stdClass
|
||||
*/
|
||||
public static function create_conversation_area(string $component,
|
||||
string $itemtype,
|
||||
int $itemid,
|
||||
int $contextid,
|
||||
int $enabled = 0,
|
||||
string $name) {
|
||||
public static function create_conversation_area(string $component, string $itemtype, int $itemid, int $contextid, string $name,
|
||||
int $enabled = 0) {
|
||||
global $DB;
|
||||
|
||||
// Create a conversation.
|
||||
$conversation = self::create_conversation(self::MESSAGE_CONVERSATION_TYPE_GROUP, array(), $name);
|
||||
|
||||
// Create a conversation area.
|
||||
$conversationarea = new \stdClass;
|
||||
$conversationarea->conversationid = $conversation->id;
|
||||
$conversationarea->component = !empty($component) ? $component : '';
|
||||
$conversationarea->component = $component;
|
||||
$conversationarea->itemtype = $itemtype;
|
||||
$conversationarea->itemid = $itemid;
|
||||
$conversationarea->contextid = $contextid;
|
||||
@ -2012,6 +2009,29 @@ class api {
|
||||
return $conversationarea;
|
||||
}
|
||||
|
||||
/**
|
||||
* Checks whether or not a conversation area is enabled.
|
||||
*
|
||||
* @param string $component Defines the Moodle component which the area was added to.
|
||||
* @param string $itemtype Defines the type of the component.
|
||||
* @param int $itemid The id of the component.
|
||||
* @param int $contextid The id of the context.
|
||||
* @return bool Returns if a conversation area exists and is enabled, false otherwise
|
||||
*/
|
||||
public static function is_conversation_area_enabled(string $component, string $itemtype, int $itemid, int $contextid) : bool {
|
||||
global $DB;
|
||||
|
||||
return $DB->record_exists('message_conversation_area',
|
||||
[
|
||||
'itemid' => $itemid,
|
||||
'contextid' => $contextid,
|
||||
'component' => $component,
|
||||
'itemtype' => $itemtype,
|
||||
'enabled' => 1
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get conversation area.
|
||||
*
|
||||
@ -2021,16 +2041,17 @@ class api {
|
||||
* @param int $contextid The id of the context.
|
||||
* @return object message_conversation_area.
|
||||
*/
|
||||
public static function get_conversation_area(string $component,
|
||||
string $itemtype,
|
||||
int $itemid,
|
||||
int $contextid) {
|
||||
public static function get_conversation_area(string $component, string $itemtype, int $itemid, int $contextid) {
|
||||
global $DB;
|
||||
|
||||
return $DB->get_record('message_conversation_area', ['itemid' => $itemid,
|
||||
'contextid' => $contextid,
|
||||
'component' => $component,
|
||||
'itemtype' => $itemtype]);
|
||||
return $DB->get_record('message_conversation_area',
|
||||
[
|
||||
'itemid' => $itemid,
|
||||
'contextid' => $contextid,
|
||||
'component' => $component,
|
||||
'itemtype' => $itemtype
|
||||
]
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -2045,7 +2066,7 @@ class api {
|
||||
$conversationarea = new \stdClass();
|
||||
$conversationarea->id = $conversationareaid;
|
||||
$conversationarea->enabled = 1;
|
||||
$conversationarea->timeread = time();
|
||||
$conversationarea->timemodified = time();
|
||||
$DB->update_record('message_conversation_area', $conversationarea);
|
||||
}
|
||||
|
||||
@ -2061,7 +2082,7 @@ class api {
|
||||
$conversationarea = new \stdClass();
|
||||
$conversationarea->id = $conversationareaid;
|
||||
$conversationarea->enabled = 0;
|
||||
$conversationarea->timeread = time();
|
||||
$conversationarea->timemodified = time();
|
||||
$DB->update_record('message_conversation_area', $conversationarea);
|
||||
}
|
||||
|
||||
@ -2078,6 +2099,7 @@ class api {
|
||||
if ($conversation = $DB->get_record('message_conversations', array('id' => $conversationid))) {
|
||||
if ($name <> $conversation->name) {
|
||||
$conversation->name = $name;
|
||||
$conversation->timemodified = time();
|
||||
$DB->update_record('message_conversations', $conversation);
|
||||
}
|
||||
}
|
||||
|
@ -354,26 +354,4 @@ class helper {
|
||||
|
||||
return $messageexists || $messagereadexists;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get if exists a conversation area and is enabled.
|
||||
*
|
||||
* @param string $component Defines the Moodle component which the area was added to.
|
||||
* @param string $itemtype Defines the type of the component.
|
||||
* @param int $itemid The id of the component.
|
||||
* @param int $contextid The id of the context.
|
||||
* @return bool Returns if a conversation area exists and is enabled, false otherwise
|
||||
*/
|
||||
public static function get_does_conversation_area_enabled(string $component,
|
||||
string $itemtype,
|
||||
int $itemid,
|
||||
int $contextid) : bool {
|
||||
global $DB;
|
||||
|
||||
return $DB->record_exists('message_conversation_area', ['itemid' => $itemid,
|
||||
'contextid' => $contextid,
|
||||
'component' => $component,
|
||||
'itemtype' => $itemtype,
|
||||
'enabled' => 1]);
|
||||
}
|
||||
}
|
||||
|
@ -3263,64 +3263,33 @@ class core_message_api_testcase extends core_message_messagelib_testcase {
|
||||
\core_message\api::create_conversation(\core_message\api::MESSAGE_CONVERSATION_TYPE_INDIVIDUAL, [1, 2, 3]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Comparison function for sorting contacts.
|
||||
*
|
||||
* @param stdClass $a
|
||||
* @param stdClass $b
|
||||
* @return bool
|
||||
*/
|
||||
protected static function sort_contacts($a, $b) {
|
||||
return $a->userid > $b->userid;
|
||||
}
|
||||
|
||||
/**
|
||||
* Test create message conversation area.
|
||||
*/
|
||||
public function test_create_conversation_area() {
|
||||
global $DB;
|
||||
|
||||
$this->resetAfterTest();
|
||||
$contextid = 111;
|
||||
$itemid = 222;
|
||||
$name = 'Name of conversation';
|
||||
\core_message\api::create_conversation_area('core_group',
|
||||
'groups',
|
||||
$itemid,
|
||||
$contextid,
|
||||
1,
|
||||
$name);
|
||||
$conversationarea = $DB->get_record('message_conversation_area', ['itemid' => $itemid,
|
||||
'contextid' => $contextid,
|
||||
'component' => 'core_group',
|
||||
'itemtype' => 'groups']);
|
||||
// Check if exist the new conversation area and if the conversation has been created with the name.
|
||||
$conversationarea = \core_message\api::create_conversation_area('core_group', 'groups', $itemid, $contextid, $name, 0);
|
||||
|
||||
$this->assertEquals($itemid, $conversationarea->itemid);
|
||||
$this->assertEquals(
|
||||
$name,
|
||||
$DB->get_field('message_conversations', 'name', ['id' => $conversationarea->conversationid])
|
||||
);
|
||||
$this->assertEquals($contextid, $conversationarea->contextid);
|
||||
$this->assertEquals('core_group', $conversationarea->component);
|
||||
$this->assertEquals('groups', $conversationarea->itemtype);
|
||||
$this->assertEquals(0, $conversationarea->enabled);
|
||||
}
|
||||
|
||||
/**
|
||||
* Test get_conversation_area.
|
||||
*/
|
||||
public function test_get_conversation_area() {
|
||||
global $DB;
|
||||
|
||||
$contextid = 111;
|
||||
$itemid = 222;
|
||||
$name = 'Name of conversation';
|
||||
\core_message\api::create_conversation_area('core_group',
|
||||
'groups',
|
||||
$itemid,
|
||||
$contextid,
|
||||
1,
|
||||
$name);
|
||||
$conversationarea = \core_message\api::get_conversation_area('core_group',
|
||||
'groups',
|
||||
$itemid,
|
||||
$contextid);
|
||||
\core_message\api::create_conversation_area('core_group', 'groups', $itemid, $contextid, $name, 1);
|
||||
$conversationarea = \core_message\api::get_conversation_area('core_group', 'groups', $itemid, $contextid);
|
||||
|
||||
$this->assertEquals($itemid, $conversationarea->itemid);
|
||||
$this->assertEquals($contextid, $conversationarea->contextid);
|
||||
$this->assertEquals('core_group', $conversationarea->component);
|
||||
@ -3337,23 +3306,10 @@ class core_message_api_testcase extends core_message_messagelib_testcase {
|
||||
$contextid = 111;
|
||||
$itemid = 222;
|
||||
$name = 'Name of conversation';
|
||||
\core_message\api::create_conversation_area('core_group',
|
||||
'groups',
|
||||
$itemid,
|
||||
$contextid,
|
||||
0,
|
||||
$name);
|
||||
$conversationarea = $DB->get_record('message_conversation_area', ['itemid' => $itemid,
|
||||
'contextid' => $contextid,
|
||||
'component' => 'core_group',
|
||||
'itemtype' => 'groups']);
|
||||
$this->assertEquals(0, $conversationarea->enabled);
|
||||
$conversationarea = \core_message\api::create_conversation_area('core_group', 'groups', $itemid, $contextid, $name, 0);
|
||||
\core_message\api::enable_conversation_area($conversationarea->id);
|
||||
$conversationarea = $DB->get_record('message_conversation_area', ['itemid' => $itemid,
|
||||
'contextid' => $contextid,
|
||||
'component' => 'core_group',
|
||||
'itemtype' => 'groups']);
|
||||
$this->assertEquals(1, $conversationarea->enabled);
|
||||
$conversationareaenabled = $DB->get_field('message_conversation_area', 'enabled', ['id' => $conversationarea->id]);
|
||||
$this->assertEquals(1, $conversationareaenabled);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -3365,23 +3321,11 @@ class core_message_api_testcase extends core_message_messagelib_testcase {
|
||||
$contextid = 111;
|
||||
$itemid = 222;
|
||||
$name = 'Name of conversation';
|
||||
\core_message\api::create_conversation_area('core_group',
|
||||
'groups',
|
||||
$itemid,
|
||||
$contextid,
|
||||
1,
|
||||
$name);
|
||||
$conversationarea = $DB->get_record('message_conversation_area', ['itemid' => $itemid,
|
||||
'contextid' => $contextid,
|
||||
'component' => 'core_group',
|
||||
'itemtype' => 'groups']);
|
||||
$conversationarea = \core_message\api::create_conversation_area('core_group', 'groups', $itemid, $contextid, $name, 1);
|
||||
$this->assertEquals(1, $conversationarea->enabled);
|
||||
\core_message\api::disable_conversation_area($conversationarea->id);
|
||||
$conversationarea = $DB->get_record('message_conversation_area', ['itemid' => $itemid,
|
||||
'contextid' => $contextid,
|
||||
'component' => 'core_group',
|
||||
'itemtype' => 'groups']);
|
||||
$this->assertEquals(0, $conversationarea->enabled);
|
||||
$conversationareaenabled = $DB->get_field('message_conversation_area', 'enabled', ['id' => $conversationarea->id]);
|
||||
$this->assertEquals(0, $conversationareaenabled);
|
||||
}
|
||||
/**
|
||||
* Test update_conversation_name.
|
||||
@ -3392,20 +3336,7 @@ class core_message_api_testcase extends core_message_messagelib_testcase {
|
||||
$contextid = 111;
|
||||
$itemid = 222;
|
||||
$name = 'Name of conversation';
|
||||
\core_message\api::create_conversation_area('core_group',
|
||||
'groups',
|
||||
$itemid,
|
||||
$contextid,
|
||||
1,
|
||||
$name);
|
||||
$conversationarea = $DB->get_record('message_conversation_area', ['itemid' => $itemid,
|
||||
'contextid' => $contextid,
|
||||
'component' => 'core_group',
|
||||
'itemtype' => 'groups']);
|
||||
$this->assertEquals(
|
||||
$name,
|
||||
$DB->get_field('message_conversations', 'name', ['id' => $conversationarea->conversationid])
|
||||
);
|
||||
$conversationarea = \core_message\api::create_conversation_area('core_group', 'groups', $itemid, $contextid, $name, 1);
|
||||
|
||||
$newname = 'New name of conversation';
|
||||
\core_message\api::update_conversation_name($conversationarea->conversationid, $newname);
|
||||
@ -3415,4 +3346,15 @@ class core_message_api_testcase extends core_message_messagelib_testcase {
|
||||
$DB->get_field('message_conversations', 'name', ['id' => $conversationarea->conversationid])
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Comparison function for sorting contacts.
|
||||
*
|
||||
* @param stdClass $a
|
||||
* @param stdClass $b
|
||||
* @return bool
|
||||
*/
|
||||
protected static function sort_contacts($a, $b) {
|
||||
return $a->userid > $b->userid;
|
||||
}
|
||||
}
|
||||
|
@ -29,7 +29,7 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$version = 2018102300.01; // YYYYMMDD = weekly release date of this DEV branch.
|
||||
$version = 2018102300.02; // YYYYMMDD = weekly release date of this DEV branch.
|
||||
// RR = release increments - 00 in DEV branches.
|
||||
// .XX = incremental changes.
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user