if (!$is_category_item && ($icon = $this->gtree->get_edit_icon($element, $this->gpr, true))) {
$actionsmenu->add($icon);
}
-
- if ($this->show_calculations && ($icon = $this->gtree->get_calculation_icon($element, $this->gpr, true))) {
+ // MDL-49281 if grade_item already has calculation, it should be editable even if global setting is off.
+ $type = $element['type'];
+ $iscalculated = ($type == 'item' or $type == 'courseitem' or $type == 'categoryitem') && $object->is_calculated();
+ $icon = $this->gtree->get_calculation_icon($element, $this->gpr, true);
+ if ($iscalculated || ($this->show_calculations && $icon)) {
$actionsmenu->add($icon);
}