$strdelete = get_string('delete');
$stredit = get_string('edit');
$srtcreatenewscale = get_string('scalescustomcreate');
-$stractivities = get_string('activities');
+$stritems = get_string('items', 'grades');
$stredit = get_string('edit');
switch ($action) {
$line = array();
$line[] = format_string($scale->name).'<div class="scale_options">'.str_replace(",",", ",$scale->scale).'</div>';
- $scales_uses = $scale->get_uses_count();
+ $scales_uses = $scale->get_item_uses_count();
$line[] = $scales_uses;
$buttons = "";
$line[] = $buttons;
$data[] = $line;
}
- $table->head = array($strscale, $stractivities, $stredit);
+ $table->head = array($strscale, $stritems, $stredit);
$table->size = array('70%', '20%', '10%');
$table->align = array('left', 'center', 'center');
$table->width = '90%';
$line = array();
$line[] = format_string($scale->name).'<div class="scale_options">'.str_replace(",",", ",$scale->scale).'</div>';
- $scales_uses = $scale->get_uses_count();
+ $scales_uses = $scale->get_item_uses_count();
$line[] = $scales_uses;
$buttons = "";
$line[] = $buttons;
$data[] = $line;
}
- $table->head = array($strscale, $stractivities, $stredit);
+ $table->head = array($strscale, $stritems, $stredit);
$table->size = array('70%', '20%', '10%');
$table->align = array('left', 'center', 'center');
$table->width = '90%';
return $result;
}
+ /**
+ * In addition to update() it also updates grade_outcomes_courses if needed
+ * @param string $source from where was the object inserted
+ * @return boolean success
+ */
+ function update($source=null) {
+ if ($result = parent::update($source)) {
+ if (!empty($this->courseid)) {
+ if (!get_records('grade_outcomes_courses', 'courseid', $this->courseid, 'outcomeid', $this->id)) {
+ $goc = new object();
+ $goc->courseid = $this->courseid;
+ $goc->outcomeid = $this->id;
+ insert_record('grade_outcomes_courses', $goc);
+ }
+ }
+ }
+ return $result;
+ }
+
/**
* Finds and returns a grade_outcome instance based on params.
* @static
* @return boolean
*/
function can_delete() {
- $count = $this->get_uses_count();
+ $count = $this->get_item_uses_count();
return empty($count);
}
* Returns the number of places where scale is used - activities, grade items, outcomes, etc.
* @return int
*/
- function get_uses_count() {
+ function get_item_uses_count() {
global $CFG;
+//TODO: fix me - this methods does some duplicate counting in grade items and activities
$count = 0;
if (!empty($this->courseid)) {
if ($scales_uses = course_scale_used($this->courseid,$this->id)) {