MDL-29030 migrate completion report to new report type

AMOS BEGIN
 MOV [completion:view,coursereport_completion],[completion:view,report_completion]
 MOV [completiondate,coursereport_completion],[completiondate,report_completion]
 MOV [pluginpagetype,coursereport_completion],[pluginpagetype,report_completion]
 MOV [pluginname,coursereport_completion],[pluginname,report_completion]
AMOS END
This commit is contained in:
Petr Skoda 2011-11-02 10:56:35 +01:00
parent 3f5389b129
commit 13fdaaacc3
10 changed files with 80 additions and 61 deletions

View File

@ -1,17 +0,0 @@
<?php
if (!defined('MOODLE_INTERNAL')) {
die('Direct access to this script is forbidden.'); // It must be included from a Moodle page
}
require_once($CFG->libdir.'/completionlib.php');
if (has_capability('coursereport/completion:view', $context)) {
$completion = new completion_info($course);
if ($completion->is_enabled() && $completion->has_criteria()) {
echo '<p>';
echo '<a href="'.$CFG->wwwroot.'/course/report/completion/index.php?course='.$course->id.'">'.get_string('coursecompletion').'</a>';
echo '</p>';
}
}

View File

@ -1,27 +0,0 @@
<?PHP
///////////////////////////////////////////////////////////////////////////
// //
// NOTICE OF COPYRIGHT //
// //
// Moodle - Modular Object-Oriented Dynamic Learning Environment //
// http://moodle.com //
// //
// Copyright (C) 1999 onwards Martin Dougiamas http://moodle.com //
// //
// This program is free software; you can redistribute it and/or modify //
// it under the terms of the GNU General Public License as published by //
// the Free Software Foundation; either version 2 of the License, or //
// (at your option) any later version. //
// //
// This program is distributed in the hope that it will be useful, //
// but WITHOUT ANY WARRANTY; without even the implied warranty of //
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the //
// GNU General Public License for more details: //
// //
// http://www.gnu.org/copyleft/gpl.html //
// //
///////////////////////////////////////////////////////////////////////////
$plugin->version = 2010090501;
$plugin->requires = 2010090501;

View File

@ -304,7 +304,7 @@ class plugin_manager {
),
'coursereport' => array(
'completion', 'log', 'participation', 'progress', 'stats'
'log', 'participation', 'progress', 'stats'
),
'datafield' => array(
@ -406,7 +406,7 @@ class plugin_manager {
),
'report' => array(
'backups', 'configlog', 'courseoverview',
'backups', 'completion', 'configlog', 'courseoverview',
'log', 'outline', 'questioninstances', 'security', 'stats'
),

View File

@ -25,7 +25,7 @@
$capabilities = array(
'coursereport/completion:view' => array(
'report/completion:view' => array(
'riskbitmask' => RISK_PERSONAL,
'captype' => 'read',
'contextlevel' => CONTEXT_COURSE,
@ -35,6 +35,6 @@ $capabilities = array(
'manager' => CAP_ALLOW
),
'clonepermissionsfrom' => 'moodle/site:viewreports',
'clonepermissionsfrom' => 'coursereport/completion:view',
)
);

View File

@ -0,0 +1,33 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Post installation and migration code.
*
* @package report
* @subpackage completion
* @copyright 2011 Petr Skoda {@link http://skodak.org}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die;
function xmldb_report_completion_install() {
// this is a hack which is needed for cleanup of original coursereport_completion stuff
unset_all_config_for_plugin('coursereport_online');
capabilities_cleanup('coursereport_online');
}

View File

@ -24,7 +24,7 @@
* @author Aaron Barnes <aaronb@catalyst.net.nz>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
require_once('../../../config.php');
require_once('../../config.php');
require_once($CFG->libdir.'/completionlib.php');
/**
@ -46,7 +46,7 @@ $edituser = optional_param('edituser', 0, PARAM_INT);
$course = $DB->get_record('course', array('id' => $courseid), '*', MUST_EXIST);
$url = new moodle_url('/course/report/completion/index.php', array('course'=>$course->id));
$url = new moodle_url('/report/completion/index.php', array('course'=>$course->id));
$PAGE->set_url($url);
$PAGE->set_pagelayout('report');
@ -78,7 +78,7 @@ function csv_quote($value) {
require_login($course);
$context=get_context_instance(CONTEXT_COURSE, $course->id);
require_capability('coursereport/completion:view', $context);
require_capability('report/completion:view', $context);
// Get group mode
$group = groups_get_course_group($course, true); // Supposed to verify group
@ -177,10 +177,10 @@ if ($csv) {
)
);
$PAGE->requires->js('/course/report/completion/textrotate.js');
$PAGE->requires->js('/report/completion/textrotate.js');
// Handle groups (if enabled)
groups_print_course_menu($course, $CFG->wwwroot.'/course/report/completion/?course='.$course->id);
groups_print_course_menu($course, $CFG->wwwroot.'/report/completion/?course='.$course->id);
}
@ -227,7 +227,7 @@ if ($total) {
// Build link for paging
$link = $CFG->wwwroot.'/course/report/completion/?course='.$course->id;
$link = $CFG->wwwroot.'/report/completion/?course='.$course->id;
if (strlen($sort)) {
$link .= '&amp;sort='.$sort;
}

View File

@ -18,7 +18,6 @@
/**
* This file contains functions used by the progress report
*
* @since 2.0
* @package course-report
* @copyright 2009 Sam Hemelryk
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
@ -33,14 +32,14 @@ require_once($CFG->libdir.'/completionlib.php');
* @param stdClass $course The course to object for the report
* @param stdClass $context The context of the course
*/
function completion_report_extend_navigation($navigation, $course, $context) {
function report_completion_extend_navigation_course($navigation, $course, $context) {
global $CFG, $OUTPUT;
if (has_capability('coursereport/completion:view', $context)) {
if (has_capability('report/completion:view', $context)) {
$completion = new completion_info($course);
if ($completion->is_enabled() && $completion->has_criteria()) {
$url = new moodle_url('/course/report/completion/index.php', array('course'=>$course->id));
$navigation->add(get_string('pluginname','coursereport_completion'), $url, navigation_node::TYPE_SETTING, null, null, new pix_icon('i/report', ''));
$url = new moodle_url('/report/completion/index.php', array('course'=>$course->id));
$navigation->add(get_string('pluginname','report_completion'), $url, navigation_node::TYPE_SETTING, null, null, new pix_icon('i/report', ''));
}
}
}
@ -50,12 +49,13 @@ function completion_report_extend_navigation($navigation, $course, $context) {
* @param string $pagetype current page type
* @param stdClass $parentcontext Block's parent context
* @param stdClass $currentcontext Current context of block
* @return array
*/
function completion_page_type_list($pagetype, $parentcontext, $currentcontext) {
function report_completion_page_type_list($pagetype, $parentcontext, $currentcontext) {
$array = array(
'*' => get_string('page-x', 'pagetype'),
'course-report-*' => get_string('page-course-report-x', 'pagetype'),
'course-report-completion-index' => get_string('pluginpagetype', 'coursereport_completion')
'course-report-completion-index' => get_string('pluginpagetype', 'report_completion')
);
return $array;
}

View File

@ -0,0 +1,30 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Version details.
*
* @package report
* @subpackage completion
* @copyright 1999 onwards Martin Dougiamas (http://dougiamas.com)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die;
$plugin->version = 2011110200; // The current plugin version (Date: YYYYMMDDXX)
$plugin->requires = 2011102700.01; // Requires this Moodle version
$plugin->component = 'report_completion'; // Full name of the plugin (used for diagnostics)