This commit is contained in:
denisdulici 2018-06-09 15:37:28 +03:00
parent 270e811150
commit 7fa629e8b5
4 changed files with 36 additions and 12 deletions

View File

@ -3,7 +3,6 @@
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
class Login extends Controller
@ -61,7 +60,7 @@ class Login extends Controller
// Check if user is enabled
if (!$user->enabled) {
auth()->logout();
$this->logout();
flash(trans('auth.disabled'))->error();
@ -85,8 +84,19 @@ class Login extends Controller
public function destroy()
{
auth()->logout();
$this->logout();
return redirect('auth/login');
}
public function logout()
{
auth()->logout();
// Session destroy is required if stored in database
if (env('SESSION_DRIVER') == 'database') {
$request = app('Illuminate\Http\Request');
$request->session()->getHandler()->destroy($request->session()->getId());
}
}
}

View File

@ -139,12 +139,9 @@ class Settings extends Controller
}
}
// Change default locale if only 1 company
if (($key == 'default_locale') && ($companies == 1)) {
// Update .env file
Installer::updateEnv([
'APP_LOCALE' => $value
]);
// If only 1 company
if ($companies == 1) {
$this->oneCompany($key, $value);
}
setting()->set('general.' . $key, $value);
@ -159,4 +156,22 @@ class Settings extends Controller
return redirect('settings/settings');
}
protected function oneCompany($key, $value)
{
switch ($key) {
case 'default_locale':
// Change default locale
Installer::updateEnv([
'APP_LOCALE' => $value
]);
break;
case 'session_handler':
// Change session handler
Installer::updateEnv([
'SESSION_DRIVER' => $value
]);
break;
}
}
}

View File

@ -21,11 +21,11 @@ class Login
// Logout if no company assigned
if (!$company) {
auth()->logout();
app('App\Http\Controllers\Auth\Login')->logout();
flash(trans('auth.error.no_company'))->error();
return redirect('auth/login');
return;
}
// Set company id

View File

@ -49,7 +49,6 @@ class Overrider
}
// Session
config(['session.driver' => setting('general.session_handler', 'file')]);
config(['session.lifetime' => setting('general.session_lifetime', '30')]);
// Locale