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'));
 }