Skip to content

Commit

Permalink
MDL-61521 course: Add missing text formatting for category name
Browse files Browse the repository at this point in the history
  • Loading branch information
jleyva committed Apr 26, 2018
1 parent 6fa694b commit 8c9a196
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 4 deletions.
15 changes: 12 additions & 3 deletions course/externallib.php
Original file line number Diff line number Diff line change
Expand Up @@ -1718,7 +1718,7 @@ public static function get_categories($criteria = array(), $addsubcategories = t

$categoryinfo = array();
$categoryinfo['id'] = $category->id;
$categoryinfo['name'] = $category->name;
$categoryinfo['name'] = external_format_string($category->name, $context);
list($categoryinfo['description'], $categoryinfo['descriptionformat']) =
external_format_text($category->description, $category->descriptionformat,
$context->id, 'coursecat', 'description', null);
Expand Down Expand Up @@ -1870,8 +1870,12 @@ public static function create_categories($categories) {
external_validate_format($category['descriptionformat']);

$newcategory = coursecat::create($category);
$context = context_coursecat::instance($newcategory->id);

$createdcategories[] = array('id' => $newcategory->id, 'name' => $newcategory->name);
$createdcategories[] = array(
'id' => $newcategory->id,
'name' => external_format_string($newcategory->name, $context),
);
}

$transaction->allow_commit();
Expand Down Expand Up @@ -2275,14 +2279,19 @@ protected static function get_course_public_information(course_in_list $course,
list($summary, $summaryformat) =
external_format_text($course->summary, $course->summaryformat, $coursecontext->id, 'course', 'summary', null);

$categoryname = '';
if (!empty($category)) {
$categoryname = external_format_string($category->name, $category->get_context());
}

$displayname = get_course_display_name_for_list($course);
$coursereturns = array();
$coursereturns['id'] = $course->id;
$coursereturns['fullname'] = external_format_string($course->fullname, $coursecontext->id);
$coursereturns['displayname'] = external_format_string($displayname, $coursecontext->id);
$coursereturns['shortname'] = external_format_string($course->shortname, $coursecontext->id);
$coursereturns['categoryid'] = $course->category;
$coursereturns['categoryname'] = $category == null ? '' : $category->name;
$coursereturns['categoryname'] = $categoryname;
$coursereturns['summary'] = $summary;
$coursereturns['summaryformat'] = $summaryformat;
$coursereturns['summaryfiles'] = external_util::get_area_files($coursecontext->id, 'course', 'summary', false, false);
Expand Down
3 changes: 2 additions & 1 deletion course/tests/externallib_test.php
Original file line number Diff line number Diff line change
Expand Up @@ -2043,7 +2043,7 @@ public function test_get_courses_by_field() {
global $DB;
$this->resetAfterTest(true);

$category1 = self::getDataGenerator()->create_category();
$category1 = self::getDataGenerator()->create_category(array('name' => 'Cat 1'));
$category2 = self::getDataGenerator()->create_category(array('parent' => $category1->id));
$course1 = self::getDataGenerator()->create_course(
array('category' => $category1->id, 'shortname' => 'c1', 'format' => 'topics'));
Expand Down Expand Up @@ -2099,6 +2099,7 @@ public function test_get_courses_by_field() {
$result = external_api::clean_returnvalue(core_course_external::get_courses_by_field_returns(), $result);
$this->assertCount(1, $result['courses']);
$this->assertEquals($course1->id, $result['courses'][0]['id']);
$this->assertEquals('Cat 1', $result['courses'][0]['categoryname']);

$result = core_course_external::get_courses_by_field('shortname', 'c1');
$result = external_api::clean_returnvalue(core_course_external::get_courses_by_field_returns(), $result);
Expand Down

0 comments on commit 8c9a196

Please sign in to comment.