File: D:/HostingSpaces/SBogers10/ehboledensysteem.komma.pro/app/KommaApp/Events/Kms/EventController.php
<?php
/**
*
* @author Komma <info@komma.pro>
* @copyright (c) 2012-2016, Komma
*/
namespace App\KommaApp\Events\Kms;
use App\KommaApp\Kms\Core\SectionController;
use App\KommaApp\Events\Models\Event;
use App\KommaApp\Users\Models\User;
use App\Mail\EventAssignedMail;
use App\Mail\EventNotAssignedMail;
use Illuminate\Support\Collection;
use Illuminate\Support\Facades\Mail;
class EventController extends SectionController
{
protected $slug = "events";
protected $forModelName = Event::class;
function __construct(EventSection $section)
{
parent::__construct($section);
}
public function assignUserToEvent($returnToOverview = true, $returnEvent = false) {
$users = request('subscribed_user');
$event = request('event_id');
if(!isset($users) ) return redirect()->back()->with('message' , 'Geen gebruikers geselecteerd.');
if(!isset($event)) return redirect()->back()->with('message' , 'Geen evenement.');
$event = Event::find($event);
$event->load('translation', 'users');
$users = $event->users->whereIn('id', $users);
foreach ($users as $user) {
Mail::to($user->email)->send(new EventAssignedMail($user, $event));
$user->pivot->user_status = Event::UserStatusPresent;
$user->pivot->save();
}
if($returnToOverview) {
return redirect()->route('events.show', ['event' => $event])->with('success', 'Mails verzonden.');
}
if($returnEvent) {
return $event;
}
}
public function assignUserToEventAndNotifyOthers() {
$event = $this->assignUserToEvent(false, true);
$unAssignedUsers = $event->users()->where('user_status', 1)->get();
foreach ($unAssignedUsers as $user) {
Mail::to($user->email)->send(new EventNotAssignedMail($user, $event));
}
return redirect()->route('events.show', ['event' => $event])->with('success', 'Mails verzonden.');
}
}