本文整理汇总了PHP中core_competency\api::plan_stop_review方法的典型用法代码示例。如果您正苦于以下问题:PHP api::plan_stop_review方法的具体用法?PHP api::plan_stop_review怎么用?PHP api::plan_stop_review使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类core_competency\api
的用法示例。
在下文中一共展示了api::plan_stop_review方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: plan_stop_review
/**
* External function plan_stop_review.
*
* @param int $id The plan ID.
* @return boolean
*/
public static function plan_stop_review($id)
{
$params = self::validate_parameters(self::plan_stop_review_parameters(), array('id' => $id));
$plan = api::read_plan($id);
self::validate_context($plan->get_context());
return api::plan_stop_review($plan);
}
示例2: test_plan_stop_review
/**
* Testing stopping the review.
*/
public function test_plan_stop_review()
{
$data = $this->setup_workflow_data();
$dg = $data['dg'];
$lpg = $data['lpg'];
$user = $data['user'];
$reviewer = $data['reviewer'];
$otheruser = $data['otheruser'];
$plan = $data['plan'];
$tplplan = $data['tplplan'];
// Set waiting for review.
$tplplan->set_status(plan::STATUS_IN_REVIEW);
$tplplan->update();
$plan->set_status(plan::STATUS_IN_REVIEW);
$plan->update();
// Foreign user cannot do anything.
$this->setUser($otheruser);
try {
api::plan_stop_review($plan);
$this->fail('The user can not read the plan.');
} catch (required_capability_exception $e) {
$this->assertEquals('nopermissions', $e->errorcode);
}
// Can not change a plan based on a template.
$this->setUser($reviewer);
try {
api::plan_stop_review($tplplan);
$this->fail('The plan is based on a template.');
} catch (coding_exception $e) {
$this->assertRegExp('/Template plans cannot be reviewed./', $e->getMessage());
}
// Can not stop a review whe not in review.
$this->setUser($reviewer);
$plan->set_status(plan::STATUS_DRAFT);
try {
api::plan_stop_review($plan);
$this->fail('The plan review cannot be stopped at this stage.');
} catch (coding_exception $e) {
$this->assertRegExp('/The plan review cannot be stopped at this stage./', $e->getMessage());
}
// Can not stop a review whe not in review.
$this->setUser($reviewer);
$plan->set_status(plan::STATUS_WAITING_FOR_REVIEW);
try {
api::plan_stop_review($plan);
$this->fail('The plan review cannot be stopped at this stage.');
} catch (coding_exception $e) {
$this->assertRegExp('/The plan review cannot be stopped at this stage./', $e->getMessage());
}
// Can not stop a review whe not in review.
$this->setUser($reviewer);
$plan->set_status(plan::STATUS_ACTIVE);
try {
api::plan_stop_review($plan);
$this->fail('The plan review cannot be stopped at this stage.');
} catch (coding_exception $e) {
$this->assertRegExp('/The plan review cannot be stopped at this stage./', $e->getMessage());
}
// Can not stop a review whe not in review.
$this->setUser($reviewer);
$plan->set_status(plan::STATUS_COMPLETE);
try {
api::plan_stop_review($plan);
$this->fail('The plan review cannot be stopped at this stage.');
} catch (coding_exception $e) {
$this->assertRegExp('/The plan review cannot be stopped at this stage./', $e->getMessage());
}
// Stopping as the owner.
$this->setUser($user);
$plan->set_status(plan::STATUS_IN_REVIEW);
try {
api::plan_stop_review($plan);
$this->fail('The user can not stop a review.');
} catch (required_capability_exception $e) {
$this->assertEquals('nopermissions', $e->errorcode);
}
// Stopping review.
$this->setUser($reviewer);
api::plan_stop_review($plan);
$plan->read();
$this->assertEquals(plan::STATUS_DRAFT, $plan->get_status());
// Stopping review by ID.
$plan->set_status(plan::STATUS_IN_REVIEW);
$plan->update();
api::plan_stop_review($plan->get_id());
$plan->read();
$this->assertEquals(plan::STATUS_DRAFT, $plan->get_status());
}
示例3: test_plan_review_stopped
/**
* Test the plan review stopped event.
*
*/
public function test_plan_review_stopped()
{
$this->resetAfterTest(true);
$this->setAdminUser();
$dg = $this->getDataGenerator();
$lpg = $this->getDataGenerator()->get_plugin_generator('core_competency');
$user1 = $dg->create_user();
$plan = $lpg->create_plan(array('userid' => $user1->id, 'status' => \core_competency\plan::STATUS_IN_REVIEW));
$planid = $plan->get_id();
$contextid = $plan->get_context()->id;
// Trigger and capture the event.
$sink = $this->redirectEvents();
$result = api::plan_stop_review($plan->get_id());
$this->assertTrue($result);
// Get our event event.
$events = $sink->get_events();
$event = reset($events);
$this->assertInstanceOf('\\core\\event\\competency_plan_review_stopped', $event);
$this->assertEquals($planid, $event->objectid);
$this->assertEquals($contextid, $event->contextid);
$this->assertEquals($plan->get_userid(), $event->relateduserid);
$this->assertEventContextNotUsed($event);
$this->assertDebuggingNotCalled();
}