public function updateCMSFields(\FieldList $fields) { if (!$this->owner->Backend()->config()->supports_dashboard_metrics) { return; } $fields->addFieldsToTab('Root.Metrics', array(\CheckboxField::create('ShowMetrics', 'Display Metrics for this environment?'), \DropdownField::create('MetricSetID', 'Metric Set', MetricSet::get()->map()))); }
public function index(\SS_HTTPRequest $request) { $this->setCurrentActionType(self::ACTION_METRICS); $project = $this->getCurrentProject(); if (!$project) { return $this->project404Response(); } $env = $this->getCurrentEnvironment($project); if (!$env) { return $this->environment404Response(); } else { if (!$env->ShowMetrics) { return \Security::permissionFailure(); } } $metricset = MetricSet::get()->byID($this->getCurrentEnvironment()->MetricSetID); // Check for metrics actually being defined for env if (!$metricset || $metricset == NULL) { $metrics = false; } else { $metrics = $metricset->metrics(); } return $this->customise(array('Environment' => $env, 'Metrics' => $metrics))->renderWith(array('DashboardMetrics_metrics', 'DNRoot')); }