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() { $metricData = Binput::get('metric'); try { dispatch(new AddMetricCommand( $metricData['name'], $metricData['suffix'], $metricData['description'], $metricData['default_value'], $metricData['calc_type'], $metricData['display_chart'], $metricData['places'], $metricData['view'] )); } 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.index') ->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) { dispatch(new RemoveMetricCommand($metric)); return Redirect::route('dashboard.metrics.index') ->withSuccess(sprintf('%s %s', trans('dashboard.notifications.awesome'), trans('dashboard.metrics.delete.success'))); } /** * 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 { dispatch(new UpdateMetricCommand( $metric, Binput::get('name', null, false), Binput::get('suffix', null, false), Binput::get('description', null, false), Binput::get('default_value', null, false), Binput::get('calc_type', null, false), Binput::get('display_chart', null, false), Binput::get('places', null, false), Binput::get('default_view', 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'))); } }