Ejemplo n.º 1
0
    redirect($CFG->wwwroot);
}
$PAGE->set_title($hdr);
$PAGE->requires->js('/badges/backpack.js');
$PAGE->requires->js_init_call('check_site_access', null, false);
$output = $PAGE->get_renderer('core', 'badges');
if ($delete && has_capability('moodle/badges:deletebadge', $PAGE->context)) {
    $badge = new badge($delete);
    if (!$confirm) {
        echo $output->header();
        echo $output->confirm(get_string('delconfirm', 'badges', $badge->name), new moodle_url($PAGE->url, array('delete' => $badge->id, 'confirm' => 1)), $returnurl);
        echo $output->footer();
        die;
    } else {
        require_sesskey();
        $badge->delete();
        redirect($returnurl);
    }
}
if ($activate && has_capability('moodle/badges:configuredetails', $PAGE->context)) {
    $badge = new badge($activate);
    if (!$badge->has_criteria()) {
        $err = get_string('error:cannotact', 'badges') . get_string('nocriteria', 'badges');
    } else {
        if ($badge->is_locked()) {
            $badge->set_status(BADGE_STATUS_ACTIVE_LOCKED);
            $msg = get_string('activatesuccess', 'badges');
        } else {
            require_sesskey();
            $badge->set_status(BADGE_STATUS_ACTIVE);
            $msg = get_string('activatesuccess', 'badges');
Ejemplo n.º 2
0
 public function test_delete_badge()
 {
     $badge = new badge($this->badgeid);
     $badge->delete();
     // We don't actually delete badges. We archive them.
     $this->assertAttributeEquals(BADGE_STATUS_ARCHIVED, 'status', $badge);
 }
Ejemplo n.º 3
0
 /**
  * Test the badge deleted event.
  */
 public function test_badge_deleted()
 {
     $badge = new badge($this->badgeid);
     $sink = $this->redirectEvents();
     // Trigger and capture the event.
     $badge->delete(false);
     $events = $sink->get_events();
     $event = reset($events);
     $this->assertCount(1, $events);
     // Check that the event data is valid.
     $this->assertInstanceOf('\\core\\event\\badge_deleted', $event);
     $this->assertEquals($badge->id, $event->objectid);
     $this->assertDebuggingNotCalled();
     $sink->close();
 }
Ejemplo n.º 4
0
        // Archive this badge?
        echo $output->heading(get_string('archivebadge', 'badges', $badge->name));
        $archivebutton = $output->single_button(new moodle_url($PAGE->url, array('archive' => $badge->id, 'confirm' => 1)), get_string('archiveconfirm', 'badges'));
        echo $output->box(get_string('archivehelp', 'badges') . $archivebutton, 'generalbox');
        // Delete this badge?
        echo $output->heading(get_string('delbadge', 'badges', $badge->name));
        $deletebutton = $output->single_button(new moodle_url($PAGE->url, array('delete' => $badge->id, 'confirm' => 1)), get_string('delconfirm', 'badges'));
        echo $output->box(get_string('deletehelp', 'badges') . $deletebutton, 'generalbox');
        // Go back.
        echo $output->action_link($returnurl, get_string('cancel'));
        echo $output->footer();
        die;
    } else {
        require_sesskey();
        $archiveonly = $archive != 0 ? true : false;
        $badge->delete($archiveonly);
        redirect($returnurl);
    }
}
if ($deactivate && has_capability('moodle/badges:configuredetails', $PAGE->context)) {
    require_sesskey();
    $badge = new badge($deactivate);
    if ($badge->is_locked()) {
        $badge->set_status(BADGE_STATUS_INACTIVE_LOCKED);
    } else {
        $badge->set_status(BADGE_STATUS_INACTIVE);
    }
    $msg = 'deactivatesuccess';
    $returnurl->param('msg', $msg);
    redirect($returnurl);
}