From 268beda8e906ecc622159ef746a2a6c640c9b007 Mon Sep 17 00:00:00 2001 From: Frederic Massart Date: Thu, 8 Dec 2016 14:00:10 +0800 Subject: [PATCH] MDL-57273 core_competency: Fatal error in external update_plan --- competency/classes/external.php | 5 ++--- competency/tests/external_test.php | 5 +++++ 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/competency/classes/external.php b/competency/classes/external.php index f03c9ef5600..06369a5e0d9 100644 --- a/competency/classes/external.php +++ b/competency/classes/external.php @@ -2705,9 +2705,8 @@ class external extends external_api { $params = (object) $params; $result = api::update_plan($params); - $exporter = plan_exporter($result); - $record = $exporter->export($output); - return external_api::clean_returnvalue(self::update_plan_returns(), $record); + $exporter = new plan_exporter($result, ['template' => $plan->get_template()]); + return $exporter->export($output); } /** diff --git a/competency/tests/external_test.php b/competency/tests/external_test.php index 609a2cbaf67..38d7af31be2 100644 --- a/competency/tests/external_test.php +++ b/competency/tests/external_test.php @@ -1207,6 +1207,11 @@ class core_competency_external_testcase extends externallib_advanced_testcase { $plan2 = $this->create_plan(3, $this->user->id, 0, plan::STATUS_DRAFT, 0); + // Basic update on the plan. + $this->assertNotEquals('Updated plan 2 name', $plan2->name); + $plan2 = external::update_plan(['id' => $plan2->id, 'name' => 'Updated plan 2 name']); + $this->assertEquals('Updated plan 2 name', $plan2->name); + try { $plan3 = $this->create_plan(4, $this->user->id, 0, plan::STATUS_ACTIVE, 0); $this->fail('Exception expected due to not permissions to create active plans');