Ejemplo n.º 1
0
// the manual fallback.
// header('HTTP/1.1 400 Bad Request');die('{"errortype":"progressreview_autosave_exception","message":"epic fail"}');
define('AJAX_SCRIPT', true);
require_once '../../config.php';
require_once $CFG->dirroot . '/local/progressreview/lib.php';
try {
    $sessionid = required_param('sessionid', PARAM_INT);
    $studentid = required_param('studentid', PARAM_INT);
    $courseid = required_param('courseid', PARAM_INT);
    $teacherid = required_param('teacherid', PARAM_INT);
    $type = required_param('reviewtype', PARAM_INT);
    $plugin = required_param('plugin', PARAM_TEXT);
    $field = urldecode(required_param('field', PARAM_TEXT));
    $value = urldecode(required_param('value', PARAM_TEXT));
    progressreview_controller::validate_session($sessionid);
    progressreview_controller::validate_student($studentid);
    progressreview_controller::validate_course($courseid);
    progressreview_controller::validate_teacher($teacherid);
    require_login($courseid);
    $coursecontext = get_context_instance(CONTEXT_COURSE, $courseid);
    require_capability('moodle/local_progressreview:write', $coursecontext);
    $progressreview = current(progressreview_controller::get_reviews($sessionid, $studentid, $courseid, $teacherid, $type));
    $plugin = $progressreview->get_plugin($plugin);
    $plugin->validate(array($field => $value));
    $plugin->autosave($field, $value);
} catch (moodle_exception $e) {
    add_to_log($courseid, 'local_progressreview', 'update failed', '', get_class($e));
    header('HTTP/1.1 400 Bad Request');
    progressreview_controller::xhr_response($e);
} catch (progressreview_invalidfield_exception $e) {
    add_to_log($courseid, 'local_progressreview', 'update failed', '', get_class($e));
Ejemplo n.º 2
0
// along with Moodle.  If not, see <http://www.gnu.org/licenses/>.
/**
 * Displays current and historic reviews for the specified user
 *
 * @package   local_progressreview
 * @copyright 2011 Taunton's College, UK
 * @author    Mark Johnson <*****@*****.**>
 * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */
require_once '../../config.php';
require_once $CFG->dirroot . '/local/progressreview/lib.php';
require_once $CFG->dirroot . '/local/progressreview/renderer.php';
require_login($SITE);
$sessionid = optional_param('sessionid', false, PARAM_INT);
$userid = required_param('userid', PARAM_INT);
$user = progressreview_controller::validate_student($userid);
if ($sessions = progressreview_controller::get_sessions_for_student($user)) {
    if (!$sessionid) {
        $sessionid = current($sessions)->id;
    }
    $session = progressreview_controller::validate_session($sessionid);
} else {
    print_error('noreviewsforstudent', 'local_progressreview');
}
$PAGE->set_context(get_context_instance(CONTEXT_USER, $user->id));
$params = array('userid' => $userid);
$PAGE->set_url('/local/progressreview/user.php', $params);
$hasviewown = has_capability('moodle/local_intranet:viewownattendance', $PAGE->context);
$viewown = $userid == $USER->id && $hasviewown;
$viewany = has_capability('moodle/local_intranet:viewattendance', $PAGE->context);
if (!$viewown && !$viewany) {