当前位置: 首页>>代码示例>>PHP>>正文


PHP api::approve_plan方法代码示例

本文整理汇总了PHP中core_competency\api::approve_plan方法的典型用法代码示例。如果您正苦于以下问题:PHP api::approve_plan方法的具体用法?PHP api::approve_plan怎么用?PHP api::approve_plan使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在core_competency\api的用法示例。


在下文中一共展示了api::approve_plan方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: approve_plan

 /**
  * External function approve_plan.
  *
  * @param int $id The plan ID.
  * @return boolean
  */
 public static function approve_plan($id)
 {
     $params = self::validate_parameters(self::approve_plan_parameters(), array('id' => $id));
     $plan = api::read_plan($id);
     self::validate_context($plan->get_context());
     return api::approve_plan($plan);
 }
开发者ID:evltuma,项目名称:moodle,代码行数:13,代码来源:external.php

示例2: test_approve_plan

 /**
  * Testing approving the plan.
  */
 public function test_approve_plan()
 {
     $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::approve_plan($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::approve_plan($tplplan);
         $this->fail('The plan is based on a template.');
     } catch (coding_exception $e) {
         $this->assertRegExp('/Template plans are already approved./', $e->getMessage());
     }
     // Can not approve a plan already approved.
     $this->setUser($reviewer);
     $plan->set_status(plan::STATUS_ACTIVE);
     try {
         api::approve_plan($plan);
         $this->fail('The plan cannot be approved at this stage.');
     } catch (coding_exception $e) {
         $this->assertRegExp('/The plan cannot be approved at this stage./', $e->getMessage());
     }
     // Can not approve a plan already approved.
     $this->setUser($reviewer);
     $plan->set_status(plan::STATUS_COMPLETE);
     try {
         api::approve_plan($plan);
         $this->fail('The plan cannot be approved at this stage.');
     } catch (coding_exception $e) {
         $this->assertRegExp('/The plan cannot be approved at this stage./', $e->getMessage());
     }
     // Approve as the owner.
     $this->setUser($user);
     $plan->set_status(plan::STATUS_IN_REVIEW);
     try {
         api::approve_plan($plan);
         $this->fail('The user can not approve the plan.');
     } catch (required_capability_exception $e) {
         $this->assertEquals('nopermissions', $e->errorcode);
     }
     // Approve plan from in review.
     $this->setUser($reviewer);
     api::approve_plan($plan);
     $plan->read();
     $this->assertEquals(plan::STATUS_ACTIVE, $plan->get_status());
     // Approve plan by ID.
     $plan->set_status(plan::STATUS_IN_REVIEW);
     $plan->update();
     api::approve_plan($plan->get_id());
     $plan->read();
     $this->assertEquals(plan::STATUS_ACTIVE, $plan->get_status());
     // Approve plan from draft.
     $plan->set_status(plan::STATUS_DRAFT);
     $plan->update();
     api::approve_plan($plan);
     $plan->read();
     $this->assertEquals(plan::STATUS_ACTIVE, $plan->get_status());
     // Approve plan from waiting for review.
     $plan->set_status(plan::STATUS_WAITING_FOR_REVIEW);
     $plan->update();
     api::approve_plan($plan);
     $plan->read();
     $this->assertEquals(plan::STATUS_ACTIVE, $plan->get_status());
 }
开发者ID:dg711,项目名称:moodle,代码行数:85,代码来源:api_test.php

示例3: test_plan_approved

 /**
  * Test the plan approved event.
  *
  */
 public function test_plan_approved()
 {
     $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));
     $planid = $plan->get_id();
     $contextid = $plan->get_context()->id;
     // Trigger and capture the event.
     $sink = $this->redirectEvents();
     $result = api::approve_plan($plan->get_id());
     $this->assertTrue($result);
     // Get our event event.
     $events = $sink->get_events();
     $event = reset($events);
     $this->assertInstanceOf('\\core\\event\\competency_plan_approved', $event);
     $this->assertEquals($planid, $event->objectid);
     $this->assertEquals($contextid, $event->contextid);
     $this->assertEquals($plan->get_userid(), $event->relateduserid);
     $this->assertEventContextNotUsed($event);
     $this->assertDebuggingNotCalled();
 }
开发者ID:evltuma,项目名称:moodle,代码行数:28,代码来源:event_test.php


注:本文中的core_competency\api::approve_plan方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。