Saibamen/HotelManager

View on GitHub
app/Http/Controllers/Controller.php

Summary

Maintainability
A
0 mins
Test Coverage
A
100%
<?php

namespace App\Http\Controllers;

use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
use Illuminate\Foundation\Bus\DispatchesJobs;
use Illuminate\Foundation\Validation\ValidatesRequests;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Support\Facades\Log;
use Illuminate\Support\Facades\Session;

class Controller extends BaseController
{
    use AuthorizesRequests;
    use DispatchesJobs;
    use ValidatesRequests;

    protected function getItemsPerPage()
    {
        return 20;
    }

    protected function addFlashMessage($message, $alertClass = null)
    {
        // Display only one message
        if (!Session::has('message')) {
            Session::flash('message', $message);

            if ($alertClass) {
                Session::flash('alert-class', $alertClass);
            }
        }
    }

    protected function returnBack($data)
    {
        // Prevent infinite loop
        if (back()->getTargetUrl() === url()->current()) {
            Log::info('Request loop: '.back()->getTargetUrl());

            return redirect(route('room.index'))->with($data);
        }

        return back()->with($data);
    }

    public function changeLanguage($language)
    {
        // 90 days in minutes
        return back()->cookie('lang', $language, 129600);
    }
}