logo, improved listing, some helpers, mail confirms table, confirmed flag, user title column..

This commit is contained in:
2018-07-22 15:43:17 +02:00
parent 9081b38425
commit a3ba68ea98
47 changed files with 1462 additions and 292 deletions
+11 -2
View File
@@ -1,6 +1,7 @@
<?php
// auth related routes, using the web middleware
use App\Models\User;
use SocialNorm\Exceptions\ApplicationRejectedException;
use SocialNorm\Exceptions\InvalidAuthorizationCodeException;
use SocialNorm\ProviderUser;
@@ -11,16 +12,24 @@ Auth::routes();
function _loginVia($method) {
try {
SocialAuth::login($method, function (\App\Models\User $user, ProviderUser $details) {
SocialAuth::login($method, function (User $user, ProviderUser $details) {
// update user name first time user logs in
if (!$user->exists) {
$user->name = $details->nickname ?: ($details->full_name ?: $details->email);
$basename = $details->nickname ?: ($details->full_name ?: $details->email);
$user->name = $basename;
$cnt = 1;
while (User::where('name', $user->name)->exists()) {
$cnt++;
$user->name = $basename . $cnt;
}
}
// set e-mail from provider data, only if user e-mail is empty
if ("$user->email" === "") {
$user->email = $details->email;
}
$user->confirmed = true; // mark as confirmed, we trust the provider
});
} catch (ApplicationRejectedException $e) {
abort(401, $e->getMessage());
-22
View File
@@ -1,22 +0,0 @@
<?php
// Routes using the web middleware
require "login.php";
Route::get('/about/terms', function () {
return view('about.terms');
});
Route::get('/about/privacy', function () {
return view('about.privacy');
});
Route::get('/', function () {
if (!Auth::guest()) {
return redirect('/home');
}
return view('welcome');
});
// Table resource
Route::get('{user}/{table}', 'TableController@view')->name('table.view');
-13
View File
@@ -1,13 +0,0 @@
<?php
// Routes using the web+auth middlewares
Route::get('/home', 'HomeController@index')->name('home');
// Table resource
Route::group([
'prefix' => 'table',
], function () {
Route::get('create', 'TableController@create')->name('table.create');
Route::post('create', 'TableController@storeNew')->name('table.storeNew');
});
+40
View File
@@ -0,0 +1,40 @@
<?php
// Routes using the web middleware
require "login.php";
Route::get('/about/terms', function () {
return view('about.terms');
});
Route::get('/about/privacy', function () {
return view('about.privacy');
});
Route::get('/', function () {
if (!Auth::guest()) {
return redirect(route('user.view', Auth::user()->name));
}
return view('welcome');
});
Route::group(['middleware' => 'auth'], function () {
// Table resource
Route::group([
'prefix' => 'table',
], function () {
Route::get('create', 'TableController@create')->name('table.create');
Route::post('create', 'TableController@storeNew')->name('table.storeNew');
});
Route::group([
'prefix' => 'user',
], function () {
Route::get('edit', 'UserController@edit')->name('user.edit');
Route::post('create', 'TableController@storeNew')->name('table.storeNew');
});
});
// Table resource - located at the end to work as a fallback
Route::get('@{user}', 'UserController@view')->name('user.view');
Route::get('@{user}/{table}', 'TableController@view')->name('table.view');