Exemplo n.º 1
0
 /**
  * Bind data to the view.
  *
  * @param \Illuminate\Contracts\View\View $view
  *
  * @return void
  */
 public function compose(View $view)
 {
     $view->withIncidentCount(Incident::notScheduled()->count());
     $view->withIncidentTemplateCount(IncidentTemplate::count());
     $view->withComponentCount(Component::all()->count());
     $view->withSubscriberCount(Subscriber::isVerified()->count());
 }
 /**
  * Handle the subscribe subscriber command.
  *
  * @param \CachetHQ\Cachet\Bus\Commands\Subscriber\UpdateSubscriberSubscriptionCommand $command
  *
  * @return \CachetHQ\Cachet\Models\Subscriber
  */
 public function handle(UpdateSubscriberSubscriptionCommand $command)
 {
     $subscriber = $command->subscriber;
     $subscriptions = $command->subscriptions ?: [];
     $components = Component::all();
     $updateSubscriptions = $components->filter(function ($item) use($subscriptions) {
         return in_array($item->id, $subscriptions);
     });
     $subscriber->global = $updateSubscriptions->count() === $components->count();
     $subscriber->subscriptions()->delete();
     if (!$updateSubscriptions->isEmpty()) {
         foreach ($updateSubscriptions as $subscription) {
             Subscription::firstOrCreate(['subscriber_id' => $subscriber->id, 'component_id' => $subscription->id]);
         }
     }
     $subscriber->save();
     event(new SubscriberHasUpdatedSubscriptionsEvent($subscriber));
     return $subscriber;
 }
 /**
  * Handle the subscribe subscriber command.
  *
  * @param \CachetHQ\Cachet\Bus\Commands\Subscriber\SubscribeSubscriberCommand $command
  *
  * @return \CachetHQ\Cachet\Models\Subscriber
  */
 public function handle(SubscribeSubscriberCommand $command)
 {
     if ($subscriber = Subscriber::where('email', $command->email)->first()) {
         return $subscriber;
     }
     $subscriber = Subscriber::firstOrCreate(['email' => $command->email]);
     // Decide what to subscribe the subscriber to.
     if ($subscriptions = $command->subscriptions) {
         $subscriptions = Component::whereIn('id', $subscriptions);
     } else {
         $subscriptions = Component::all();
     }
     foreach ($subscriptions as $component) {
         Subscription::create(['subscriber_id' => $subscriber->id, 'component_id' => $component->id]);
     }
     if ($command->verified) {
         dispatch(new VerifySubscriberCommand($subscriber));
     } else {
         event(new SubscriberHasSubscribedEvent($subscriber));
     }
     return $subscriber;
 }
Exemplo n.º 4
0
 /**
  * Bind data to the view.
  *
  * @param \Illuminate\Contracts\View\View $view
  */
 public function compose(View $view)
 {
     $view->withIncidentCount(Incident::notScheduled()->count());
     $view->withComponentCount(Component::all()->count());
 }
Exemplo n.º 5
0
<?php

use CachetHQ\Cachet\Models\Component;
use CachetHQ\Cachet\Models\Incident;
use Illuminate\Support\Facades\View;
View::composer('index', function ($view) {
    $date = date('Y-m-d');
    $components = Component::notStatus(1);
    if (Component::all()->count() === 0 || $components->count() === 0) {
        // If all our components are ok, do we have any non-fixed incidents?
        $incidents = Incident::orderBy('created_at', 'desc')->get();
        $incidentCount = $incidents->count();
        if ($incidentCount === 0 || $incidentCount >= 1 && (int) $incidents->first()->status === 4) {
            $status = 'success';
            $message = trans('cachet.service.good');
        } else {
            $status = 'danger';
            $message = trans('cachet.service.bad');
        }
    } else {
        $status = 'danger';
        $message = trans('cachet.service.bad');
    }
    $view->with(['systemStatus' => $status, 'systemMessage' => $message]);
});
Exemplo n.º 6
0
 /**
  * Shows the dashboard view.
  *
  * @return \Illuminate\View\View
  */
 public function showDashboard()
 {
     // TODO: Find steps needed to complete setup.
     $components = Component::all();
     return View::make('dashboard.index')->with(['components' => $components]);
 }