Пример #1
0
 /**
  * Test the competency framework updated event.
  *
  */
 public function test_competency_framework_updated()
 {
     $this->resetAfterTest(true);
     $this->setAdminUser();
     $lpg = $this->getDataGenerator()->get_plugin_generator('core_competency');
     $framework = $lpg->create_framework();
     // Trigger and capture the event.
     $sink = $this->redirectEvents();
     $framework->set_shortname('Shortname modified');
     api::update_framework($framework->to_record());
     // Get our event event.
     $events = $sink->get_events();
     $event = reset($events);
     // Check that the event data is valid.
     $this->assertInstanceOf('\\core\\event\\competency_framework_updated', $event);
     $this->assertEquals($framework->get_id(), $event->objectid);
     $this->assertEquals($framework->get_contextid(), $event->contextid);
     $this->assertEventContextNotUsed($event);
     $this->assertDebuggingNotCalled();
 }
Пример #2
0
 /**
  * Update an existing competency framework
  *
  * @param array $competencyframework An array with all the fields for a competency framework.
  * @return boolean
  */
 public static function update_competency_framework($competencyframework)
 {
     $params = self::validate_parameters(self::update_competency_framework_parameters(), array('competencyframework' => $competencyframework));
     $params = $params['competencyframework'];
     $framework = api::read_framework($params['id']);
     self::validate_context($framework->get_context());
     $params = (object) $params;
     return api::update_framework($params);
 }
// We check that we have the permission to edit this framework, in its own context.
require_login();
\core_competency\api::require_enabled();
require_capability('moodle/competency:competencymanage', $context);
// Set up the framework page.
list($pagetitle, $pagesubtitle, $url, $frameworksurl) = tool_lp\page_helper::setup_for_framework($id, $pagecontextid, $framework, $returntype);
$output = $PAGE->get_renderer('tool_lp');
$form = new \tool_lp\form\competency_framework($url->out(false), array('context' => $context, 'persistent' => $framework));
if ($form->is_cancelled()) {
    redirect($frameworksurl);
} else {
    if ($data = $form->get_data()) {
        if (empty($data->id)) {
            // Create new framework.
            $data->contextid = $context->id;
            $framework = \core_competency\api::create_framework($data);
            $frameworkmanageurl = new moodle_url('/admin/tool/lp/competencies.php', array('pagecontextid' => $pagecontextid, 'competencyframeworkid' => $framework->get_id()));
            $messagesuccess = get_string('competencyframeworkcreated', 'tool_lp');
            redirect($frameworkmanageurl, $messagesuccess, 0, \core\output\notification::NOTIFY_SUCCESS);
        } else {
            \core_competency\api::update_framework($data);
            $messagesuccess = get_string('competencyframeworkupdated', 'tool_lp');
            redirect($frameworksurl, $messagesuccess, 0, \core\output\notification::NOTIFY_SUCCESS);
        }
    }
}
echo $output->header();
echo $output->heading($pagetitle, 2);
echo $output->heading($pagesubtitle, 3);
$form->display();
echo $output->footer();