Proyectos de Subversion Moodle

Rev

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

Rev 1 Rev 1441
Línea 827... Línea 827...
827
 
827
 
828
        $mastercheckbox = '';
828
        $mastercheckbox = '';
829
        if ($this->deepest_level > 1) {
829
        if ($this->deepest_level > 1) {
830
            if (empty($params['eid'])) {
830
            if (empty($params['eid'])) {
831
                throw new Exception('Array key (eid) missing from 3rd param of ' .
831
                throw new Exception('Array key (eid) missing from 3rd param of ' .
832
                    'grade_edit_tree_column_select::get_category_cell($category, $levelclass, $params)');
832
                    'grade_edit_tree_column_name::get_category_cell($category, $levelclass, $params)');
Línea 833... Línea 833...
833
            }
833
            }
834
 
834
 
835
            // Get toggle group for this master checkbox.
835
            // Get toggle group for this master checkbox.
Línea 854... Línea 854...
854
 
854
 
855
        $moveaction = isset($params['moveaction']) ? $params['moveaction'] : '';
855
        $moveaction = isset($params['moveaction']) ? $params['moveaction'] : '';
856
        $categorycell = parent::get_category_cell($category, $levelclass, $params);
856
        $categorycell = parent::get_category_cell($category, $levelclass, $params);
857
        $categorycell->colspan = ($this->deepest_level + 2) - $params['level'];
857
        $categorycell->colspan = ($this->deepest_level + 2) - $params['level'];
858
        $rowtitle = html_writer::div($params['name'], 'rowtitle');
858
        $rowtitle = html_writer::div($params['name'], 'rowtitle');
859
        $categorycell->text = html_writer::div($mastercheckbox . $visibilitytoggle . $moveaction . $rowtitle, 'font-weight-bold');
859
        $categorycell->text = html_writer::div($mastercheckbox . $visibilitytoggle . $moveaction . $rowtitle, 'fw-bold');
860
        return $categorycell;
860
        return $categorycell;
Línea 861... Línea 861...
861
    }
861
    }
862
 
862
 
863
    public function get_item_cell($item, $params) {
863
    public function get_item_cell($item, $params) {
864
        if (empty($params['element']) || empty($params['name']) || empty($params['level'])) {
864
        if (empty($params['element']) || empty($params['name']) || empty($params['level'])) {
Línea 865... Línea 865...
865
            throw new Exception('Array key (name, level or element) missing from 2nd param of grade_edit_tree_column_name::get_item_cell($item, $params)');
865
            throw new Exception('Array key (name, level or element) missing from 2nd param of grade_edit_tree_column_name::get_item_cell($item, $params)');
866
        }
866
        }
867
 
867
 
868
        $itemicon = \html_writer::div($params['icon'], 'mr-1');
868
        $itemicon = \html_writer::div($params['icon'], 'me-1');
Línea 869... Línea 869...
869
        $itemtype = \html_writer::span($params['type'], 'd-block text-uppercase small dimmed_text');
869
        $itemtype = \html_writer::span($params['type'], 'd-block text-uppercase small dimmed_text');
Línea 1161... Línea 1161...
1161
        $itemcell = parent::get_item_cell($item, $params);
1161
        $itemcell = parent::get_item_cell($item, $params);
1162
        $itemcell->text = $params['actions'];
1162
        $itemcell->text = $params['actions'];
1163
        return $itemcell;
1163
        return $itemcell;
1164
    }
1164
    }
1165
}
1165
}
1166
 
-
 
1167
/**
-
 
1168
 * Class grade_edit_tree_column_select
-
 
1169
 *
-
 
1170
 * @deprecated Since Moodle 4.3.
-
 
1171
 * @todo Final deprecation on Moodle 4.7 MDL-77668
-
 
1172
 *
-
 
1173
 * @package   core_grades
-
 
1174
 * @license   http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
-
 
1175
 */
-
 
1176
class grade_edit_tree_column_select extends grade_edit_tree_column {
-
 
1177
 
-
 
1178
    /**
-
 
1179
     * @deprecated Since Moodle 4.3.
-
 
1180
     * @todo Final deprecation on Moodle 4.7 MDL-77668
-
 
1181
     */
-
 
1182
    public function get_header_cell() {
-
 
1183
        debugging('Method grade_edit_tree_column_select::get_header_cell() is deprecated, ' .
-
 
1184
            'please do not use it anymore.', DEBUG_DEVELOPER);
-
 
1185
 
-
 
1186
        $headercell = clone($this->headercell);
-
 
1187
        $headercell->text = get_string('select');
-
 
1188
        return $headercell;
-
 
1189
    }
-
 
1190
 
-
 
1191
    /**
-
 
1192
     * @deprecated Since Moodle 4.3.
-
 
1193
     * @todo Final deprecation on Moodle 4.7 MDL-77668
-
 
1194
     */
-
 
1195
    public function get_category_cell($category, $levelclass, $params) {
-
 
1196
        global $OUTPUT;
-
 
1197
 
-
 
1198
        debugging('Method grade_edit_tree_column_select::get_category_cell() is deprecated, ' .
-
 
1199
            'please do not use it anymore.', DEBUG_DEVELOPER);
-
 
1200
 
-
 
1201
        if (empty($params['eid'])) {
-
 
1202
            throw new Exception('Array key (eid) missing from 3rd param of grade_edit_tree_column_select::get_category_cell($category, $levelclass, $params)');
-
 
1203
        }
-
 
1204
 
-
 
1205
        // Get toggle group for this master checkbox.
-
 
1206
        $togglegroup = $this->get_checkbox_togglegroup($category);
-
 
1207
        // Set label for this master checkbox.
-
 
1208
        $masterlabel = get_string('all');
-
 
1209
        // Use category name if available.
-
 
1210
        if ($category->fullname !== '?') {
-
 
1211
            $masterlabel = format_string($category->fullname, true, ['escape' => false]);
-
 
1212
            // Limit the displayed category name to prevent the Select column from getting too wide.
-
 
1213
            if (core_text::strlen($masterlabel) > 20) {
-
 
1214
                $masterlabel = get_string('textellipsis', 'core', core_text::substr($masterlabel, 0, 12));
-
 
1215
            }
-
 
1216
        }
-
 
1217
        // Build the master checkbox.
-
 
1218
        $mastercheckbox = new \core\output\checkbox_toggleall($togglegroup, true, [
-
 
1219
            'id' => 'select_category_' . $category->id,
-
 
1220
            'name' => $togglegroup,
-
 
1221
            'value' => 1,
-
 
1222
            'classes' => 'itemselect ignoredirty',
-
 
1223
            'label' => $masterlabel,
-
 
1224
            // Consistent label to prevent the select column from resizing.
-
 
1225
            'selectall' => $masterlabel,
-
 
1226
            'deselectall' => $masterlabel,
-
 
1227
            'labelclasses' => 'm-0',
-
 
1228
        ]);
-
 
1229
 
-
 
1230
        $categorycell = parent::get_category_cell($category, $levelclass, $params);
-
 
1231
        $categorycell->text = $OUTPUT->render($mastercheckbox);
-
 
1232
        return $categorycell;
-
 
1233
    }
-
 
1234
 
-
 
1235
    /**
-
 
1236
     * @deprecated Since Moodle 4.3.
-
 
1237
     * @todo Final deprecation on Moodle 4.7 MDL-77668
-
 
1238
     */
-
 
1239
    public function get_item_cell($item, $params) {
-
 
1240
        debugging('Method grade_edit_tree_column_select::get_item_cell() is deprecated, ' .
-
 
1241
            'please do not use it anymore.', DEBUG_DEVELOPER);
-
 
1242
 
-
 
1243
        if (empty($params['itemtype']) || empty($params['eid'])) {
-
 
1244
            throw new \moodle_exception('missingitemtypeoreid', 'core_grades');
-
 
1245
        }
-
 
1246
        $itemcell = parent::get_item_cell($item, $params);
-
 
1247
 
-
 
1248
        if ($params['itemtype'] != 'course' && $params['itemtype'] != 'category') {
-
 
1249
            global $OUTPUT;
-
 
1250
 
-
 
1251
            // Fetch the grade item's category.
-
 
1252
            $category = grade_category::fetch(['id' => $item->categoryid]);
-
 
1253
            $togglegroup = $this->get_checkbox_togglegroup($category);
-
 
1254
 
-
 
1255
            $checkboxid = 'select_' . $params['eid'];
-
 
1256
            $checkbox = new \core\output\checkbox_toggleall($togglegroup, false, [
-
 
1257
                'id' => $checkboxid,
-
 
1258
                'name' => $checkboxid,
-
 
1259
                'label' => get_string('select', 'grades', $item->itemname),
-
 
1260
                'labelclasses' => 'accesshide',
-
 
1261
                'classes' => 'itemselect ignoredirty',
-
 
1262
            ]);
-
 
1263
            $itemcell->text = $OUTPUT->render($checkbox);
-
 
1264
        }
-
 
1265
        return $itemcell;
-
 
1266
    }
-
 
1267
 
-
 
1268
    /**
-
 
1269
     * Generates a toggle group name for a bulk-action checkbox based on the given grade category.
-
 
1270
     *
-
 
1271
     * @deprecated Since Moodle 4.3.
-
 
1272
     * @todo Final deprecation on Moodle 4.7 MDL-77668
-
 
1273
     *
-
 
1274
     * @param grade_category $category The grade category.
-
 
1275
     * @return string
-
 
1276
     */
-
 
1277
    protected function get_checkbox_togglegroup(grade_category $category): string {
-
 
1278
        debugging('Method grade_edit_tree_column_select::get_checkbox_togglegroup() is deprecated, ' .
-
 
1279
            'please do not use it anymore.', DEBUG_DEVELOPER);
-
 
1280
 
-
 
1281
        $levels = [];
-
 
1282
        $categories = explode('/', $category->path);
-
 
1283
        foreach ($categories as $categoryid) {
-
 
1284
            $level = 'category' . $categoryid;
-
 
1285
            if (!in_array($level, $levels)) {
-
 
1286
                $levels[] = 'category' . $categoryid;
-
 
1287
            }
-
 
1288
        }
-
 
1289
        $togglegroup = implode(' ', $levels);
-
 
1290
 
-
 
1291
        return $togglegroup;
-
 
1292
    }
-
 
1293
}
-