get(); return View::make('dashboard.metrics.index') ->withPageTitle(trans('dashboard.metrics.metrics').' - '.trans('dashboard.dashboard')) ->withMetrics($metrics); } /** * Shows the add metric view. * * @return \Illuminate\View\View */ public function showAddMetric() { return View::make('dashboard.metrics.add') ->withPageTitle(trans('dashboard.metrics.add.title').' - '.trans('dashboard.dashboard')); } /** * Shows the metric points. * * @return \Illuminate\View\View */ public function showMetricPoints() { return View::make('dashboard.metrics.points.index') ->withPageTitle(trans('dashboard.metrics.points.title').' - '.trans('dashboard.dashboard')) ->withMetrics(MetricPoint::all()); } /** * Creates a new metric. * * @return \Illuminate\Http\RedirectResponse */ public function createMetricAction() { try { $this->dispatchFromArray(AddMetricCommand::class, Binput::get('metric')); } catch (ValidationException $e) { return Redirect::route('dashboard.metrics.add') ->withInput(Binput::all()) ->withTitle(sprintf('%s %s', trans('dashboard.notifications.whoops'), trans('dashboard.metrics.add.failure'))) ->withErrors($e->getMessageBag()); } return Redirect::route('dashboard.metrics.add') ->withSuccess(sprintf('%s %s', trans('dashboard.notifications.awesome'), trans('dashboard.metrics.add.success'))); } /** * Shows the add metric point view. * * @return \Illuminate\View\View */ public function showAddMetricPoint() { return View::make('dashboard.metrics.points.add') ->withPageTitle(trans('dashboard.metrics.points.add.title').' - '.trans('dashboard.dashboard')); } /** * Deletes a given metric. * * @param \CachetHQ\Cachet\Models\Metric $metric * * @return \Illuminate\Http\RedirectResponse */ public function deleteMetricAction(Metric $metric) { $this->dispatch(new RemoveMetricCommand($metric)); return Redirect::route('dashboard.metrics.index'); } /** * Shows the edit metric view. * * @param \CachetHQ\Cachet\Models\Metric $metric * * @return \Illuminate\View\View */ public function showEditMetricAction(Metric $metric) { return View::make('dashboard.metrics.edit') ->withPageTitle(trans('dashboard.metrics.edit.title').' - '.trans('dashboard.dashboard')) ->withMetric($metric); } /** * Edit an metric. * * @param \CachetHQ\Cachet\Models\Metric $metric * * @return \Illuminate\Http\RedirectResponse */ public function editMetricAction(Metric $metric) { try { $this->dispatch(new UpdateMetricCommand( $metric, Binput::get('metric.name', null, false), Binput::get('metric.suffix', null, false), Binput::get('metric.description', null, false), Binput::get('metric.default_value', null, false), Binput::get('metric.calc_type', null, false), Binput::get('metric.display_chart', null, false), Binput::get('metric.places', null, false) )); } catch (ValidationException $e) { return Redirect::route('dashboard.metrics.edit', ['id' => $metric->id]) ->withInput(Binput::all()) ->withTitle(sprintf('%s', trans('dashboard.notifications.whoops'))) ->withErrors($e->getMessageBag()); } return Redirect::route('dashboard.metrics.edit', ['id' => $metric->id]) ->withSuccess(sprintf('%s %s', trans('dashboard.notifications.awesome'), trans('dashboard.metrics.edit.success'))); } }