Proyectos de Subversion Moodle

Rev

Rev 1 | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 1 Rev 1441
Línea 71... Línea 71...
71
     * and there is an area with the active grading method set to 'guide'.
71
     * and there is an area with the active grading method set to 'guide'.
72
     *
72
     *
73
     * @param settings_navigation $settingsnav {@link settings_navigation}
73
     * @param settings_navigation $settingsnav {@link settings_navigation}
74
     * @param navigation_node $node {@link navigation_node}
74
     * @param navigation_node $node {@link navigation_node}
75
     */
75
     */
76
    public function extend_settings_navigation(settings_navigation $settingsnav, navigation_node $node=null) {
76
    public function extend_settings_navigation(settings_navigation $settingsnav, ?navigation_node $node=null) {
77
        $node->add(get_string('definemarkingguide', 'gradingform_guide'),
77
        $node->add(get_string('definemarkingguide', 'gradingform_guide'),
78
            $this->get_editor_url(), settings_navigation::TYPE_CUSTOM,
78
            $this->get_editor_url(), settings_navigation::TYPE_CUSTOM,
79
            null, null, new pix_icon('icon', '', 'gradingform_guide'));
79
            null, null, new pix_icon('icon', '', 'gradingform_guide'));
80
    }
80
    }
Línea 87... Línea 87...
87
     *
87
     *
88
     * @param global_navigation $navigation {@link global_navigation}
88
     * @param global_navigation $navigation {@link global_navigation}
89
     * @param navigation_node $node {@link navigation_node}
89
     * @param navigation_node $node {@link navigation_node}
90
     * @return void
90
     * @return void
91
     */
91
     */
92
    public function extend_navigation(global_navigation $navigation, navigation_node $node=null) {
92
    public function extend_navigation(global_navigation $navigation, ?navigation_node $node=null) {
93
        if (has_capability('moodle/grade:managegradingforms', $this->get_context())) {
93
        if (has_capability('moodle/grade:managegradingforms', $this->get_context())) {
94
            // No need for preview if user can manage forms, he will have link to manage.php in settings instead.
94
            // No need for preview if user can manage forms, he will have link to manage.php in settings instead.
95
            return;
95
            return;
96
        }
96
        }
97
        if ($this->is_form_defined() && ($options = $this->get_options()) && !empty($options['alwaysshowdefinition'])) {
97
        if ($this->is_form_defined() && ($options = $this->get_options()) && !empty($options['alwaysshowdefinition'])) {
Línea 855... Línea 855...
855
        global $DB;
855
        global $DB;
856
        $currentgrade = $this->get_guide_filling();
856
        $currentgrade = $this->get_guide_filling();
857
        parent::update($data);
857
        parent::update($data);
Línea 858... Línea 858...
858
 
858
 
-
 
859
        foreach ($data['criteria'] as $criterionid => $record) {
-
 
860
            // Hardcoding/defaulting to html format for new/existing record
-
 
861
            $record['remarkformat'] = FORMAT_HTML;
859
        foreach ($data['criteria'] as $criterionid => $record) {
862
 
860
            if (!array_key_exists($criterionid, $currentgrade['criteria'])) {
863
            if (!array_key_exists($criterionid, $currentgrade['criteria'])) {
861
                $newrecord = array('instanceid' => $this->get_id(), 'criterionid' => $criterionid,
864
                $newrecord = array('instanceid' => $this->get_id(), 'criterionid' => $criterionid,
862
                    'score' => $record['score'], 'remarkformat' => FORMAT_MOODLE);
865
                    'score' => $record['score'], 'remarkformat' => $record['remarkformat']);
863
                if (isset($record['remark'])) {
866
                if (isset($record['remark'])) {
864
                    $newrecord['remark'] = $record['remark'];
867
                    $newrecord['remark'] = $record['remark'];
865
                }
868
                }
866
                $DB->insert_record('gradingform_guide_fillings', $newrecord);
869
                $DB->insert_record('gradingform_guide_fillings', $newrecord);
867
            } else {
870
            } else {
868
                $newrecord = array('id' => $currentgrade['criteria'][$criterionid]['id']);
871
                $newrecord = array('id' => $currentgrade['criteria'][$criterionid]['id']);
869
                foreach (array('score', 'remark'/*, 'remarkformat' TODO */) as $key) {
872
                foreach (array('score', 'remark', 'remarkformat') as $key) {
870
                    if (isset($record[$key]) && $currentgrade['criteria'][$criterionid][$key] != $record[$key]) {
873
                    if (isset($record[$key]) && $currentgrade['criteria'][$criterionid][$key] != $record[$key]) {
871
                        $newrecord[$key] = $record[$key];
874
                        $newrecord[$key] = $record[$key];
872
                    }
875
                    }
873
                }
876
                }
Línea 1014... Línea 1017...
1014
 *
1017
 *
1015
 * @return array
1018
 * @return array
1016
 */
1019
 */
1017
function gradingform_guide_get_fontawesome_icon_map(): array {
1020
function gradingform_guide_get_fontawesome_icon_map(): array {
1018
    return [
1021
    return [
1019
        'gradingform_guide:info' => 'fa-info-circle',
1022
        'gradingform_guide:info' => 'fa-circle-info',
1020
        'gradingform_guide:plus' => 'fa-plus',
1023
        'gradingform_guide:plus' => 'fa-circle-plus',
1021
    ];
1024
    ];
1022
}
1025
}