/**
  * Bootstrap any application services.
  *
  * @return void
  */
 public function boot()
 {
     view()->composer('partials.sessies', function ($view) {
         $all = Sessie::all();
         $filtered = $all->filter(function ($item) {
             return $item->max_inschrijvingen > count($item->inschrijvingen);
         });
         $view->with('sessies', $filtered->unique('title'));
     });
 }
 public function inschrijven(Request $request)
 {
     $this->validate($request, ['sessie1' => 'required', 'sessie2' => 'required', 'name' => 'required', 'email' => 'required|email', 'hogeschool' => 'required', 'vakgebied' => 'required']);
     $sessie1 = Sessie::findOrFail($request->sessie1);
     $sessie2 = Sessie::findOrFail($request->sessie2);
     $inschrijving = Inschrijving::create(['naam' => $request->name, 'mail' => $request->email, 'hogeschool' => $request->hogeschool, 'vakgebied' => $request->vakgebied]);
     $inschrijving->sessies()->attach($request->sessie1);
     $inschrijving->sessies()->attach($request->sessie2);
     Mail::send('emails.inschrijving', ['email' => $request, 'sessie1' => $sessie1, 'sessie2' => $sessie2], function ($message) use($request) {
         $message->from('*****@*****.**', 'Congres Technische Bedrijfskunde');
         $message->to($request->email);
         $message->subject('Bedankt voor uw inschrijving');
     });
     /*        Mail::raw($request->sessie1, function ($message) use($request) {
                 $message->from('*****@*****.**', 'Congres Technische Bedrijfskunde');
                 $message->to('*****@*****.**');
                 $message->subject('Bedankt voor uw inschrijving');
             });*/
     return redirect('/inschrijven/verstuurd');
 }
Route::get('/sessie', function () {
    return view('sessie');
});
Route::get('/fotos', function () {
    return view('fotos');
});
Route::get('/contact', function () {
    return view('contact');
});
Route::get('/inschrijven', function () {
    $all1 = Sessie::where('sessie', 1)->get();
    $filtered1 = $all1->filter(function ($item) {
        return $item->max_inschrijvingen > count($item->inschrijvingen);
    });
    $sessies1 = ['' => ''] + $filtered1->lists('title', 'id')->all();
    $all2 = Sessie::where('sessie', 2)->get();
    $filtered2 = $all2->filter(function ($item) {
        return $item->max_inschrijvingen > count($item->inschrijvingen);
    });
    $sessies2 = ['' => ''] + $filtered2->lists('title', 'id')->all();
    return view('inschrijven', compact('sessies1', 'sessies2'));
});
Route::post('/inschrijven', 'PagesController@inschrijven');
Route::get('/inschrijven/verstuurd', function () {
    return view('bedankt');
});
Route::get('/download', ['middleware' => 'auth.basic', function () {
    $inschrijvingen = Inschrijving::all();
    Excel::create('Inschrijvingen' . Carbon::now(), function ($excel) use($inschrijvingen) {
        $excel->sheet('Sheet 1', function ($sheet) use($inschrijvingen) {
            $sheet->fromArray($inschrijvingen);