initial commit
This commit is contained in:
commit
1e1aa7d461
215 changed files with 35140 additions and 0 deletions
44
app/Http/Controllers/Auth/SessionController.php
Normal file
44
app/Http/Controllers/Auth/SessionController.php
Normal file
|
|
@ -0,0 +1,44 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use App\Http\Requests\Auth\LoginRequest;
|
||||
use App\Http\Controllers\Controller;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
|
||||
class SessionController extends Controller
|
||||
{
|
||||
/**
|
||||
* Handle an incoming authentication request.
|
||||
*
|
||||
* @param \App\Http\Requests\Auth\LoginRequest $request
|
||||
* @return \Illuminate\Http\RedirectResponse
|
||||
*/
|
||||
public function store(LoginRequest $request)
|
||||
{
|
||||
$request->authenticate();
|
||||
|
||||
$request->session()->regenerate();
|
||||
|
||||
return redirect()->intended('/');
|
||||
}
|
||||
|
||||
/**
|
||||
* Destroy an authenticated session.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\RedirectResponse
|
||||
*/
|
||||
public function destroy(Request $request)
|
||||
{
|
||||
Auth::guard('web')->logout();
|
||||
|
||||
$request->session()->invalidate();
|
||||
|
||||
$request->session()->regenerateToken();
|
||||
|
||||
return redirect('/');
|
||||
}
|
||||
}
|
||||
40
app/Http/Controllers/CharacterController.php
Normal file
40
app/Http/Controllers/CharacterController.php
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\Character;
|
||||
use App\Http\Requests\CharacterRequest;
|
||||
|
||||
class CharacterController extends Controller
|
||||
{
|
||||
public function index()
|
||||
{
|
||||
return view('character.list', [
|
||||
'items' => Character::with('professions')->orderBy('name')->get(),
|
||||
]);
|
||||
}
|
||||
|
||||
public function show(Character $character)
|
||||
{
|
||||
return view('character.show', [
|
||||
'character' => $character
|
||||
]);
|
||||
}
|
||||
|
||||
public function create()
|
||||
{
|
||||
$this->authorize('create', Character::class);
|
||||
|
||||
return view('character.create');
|
||||
}
|
||||
|
||||
public function destroy(Character $character)
|
||||
{
|
||||
$this->authorize('delete', $character);
|
||||
|
||||
$character->delete();
|
||||
|
||||
return redirect()->back()
|
||||
->with(['success' => "<strong>{$character->name}</strong> was deleted!"]);
|
||||
}
|
||||
}
|
||||
63
app/Http/Controllers/CharacterProfessionController.php
Normal file
63
app/Http/Controllers/CharacterProfessionController.php
Normal file
|
|
@ -0,0 +1,63 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\Character;
|
||||
use App\Models\Profession;
|
||||
use App\Models\Recipe;
|
||||
use App\Models\CharacterProfession;
|
||||
use App\Http\Requests\CharacterProfessionRequest;
|
||||
use App\Jobs\ImportProfession;
|
||||
|
||||
class CharacterProfessionController extends Controller
|
||||
{
|
||||
public function show(Character $character, Profession $profession)
|
||||
{
|
||||
$ch_prof = CharacterProfession::where('character_id', $character->id)
|
||||
->where('profession_id', $profession->id)
|
||||
->with(['character', 'recipes.craft', 'recipes.category'])
|
||||
->firstOrFail();
|
||||
|
||||
return view('character.profession.show', [
|
||||
'ch_prof' => $ch_prof,
|
||||
]);
|
||||
}
|
||||
|
||||
public function create(Character $character)
|
||||
{
|
||||
$this->authorize('import_profession', $character);
|
||||
|
||||
return view('character.profession.create', [
|
||||
'character' => $character
|
||||
]);
|
||||
}
|
||||
|
||||
public function store(Character $character, CharacterProfessionRequest $request)
|
||||
{
|
||||
$this->authorize('import_profession', $character);
|
||||
|
||||
$request->validated();
|
||||
|
||||
$data = json_decode($request->input('data'));
|
||||
|
||||
try {
|
||||
ImportProfession::dispatch($character, $data);
|
||||
} catch(\App\ProfessionImport\Exception $e) {
|
||||
return redirect()->back()->with('error', $e->getMessage());
|
||||
}
|
||||
return redirect()->back()->with('success', 'Profession imported!');
|
||||
}
|
||||
|
||||
public function destroy(Character $character, Profession $profession)
|
||||
{
|
||||
$ch_prof = CharacterProfession::where('character_id', $character->id)
|
||||
->where('profession_id', $profession->id)->firstOrFail();
|
||||
|
||||
$this->authorize('delete', $ch_prof);
|
||||
|
||||
$ch_prof->delete();
|
||||
|
||||
return redirect()->back()
|
||||
->with(['success' => "<strong>Profession</strong> was deleted!"]);
|
||||
}
|
||||
}
|
||||
13
app/Http/Controllers/Controller.php
Normal file
13
app/Http/Controllers/Controller.php
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
<?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;
|
||||
|
||||
class Controller extends BaseController
|
||||
{
|
||||
use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
|
||||
}
|
||||
38
app/Http/Controllers/RecipeController.php
Normal file
38
app/Http/Controllers/RecipeController.php
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Models\Recipe;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
|
||||
class RecipeController extends Controller
|
||||
{
|
||||
/**
|
||||
* List all recipies
|
||||
*/
|
||||
public function index()
|
||||
{
|
||||
return view('recipe.index');
|
||||
}
|
||||
|
||||
/**
|
||||
* Show a recipe
|
||||
*/
|
||||
public function show(Recipe $recipe)
|
||||
{
|
||||
$recipe->load([
|
||||
'reagents' => function($q) {
|
||||
$q->orderBy('name');
|
||||
},
|
||||
'crafters' => function($q) {
|
||||
$q->orderBy('name');
|
||||
}
|
||||
]);
|
||||
|
||||
return view('recipe.show', [
|
||||
'recipe' => $recipe
|
||||
]);
|
||||
}
|
||||
}
|
||||
37
app/Http/Controllers/UserController.php
Normal file
37
app/Http/Controllers/UserController.php
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Requests\UserRequest;
|
||||
|
||||
class UserController extends Controller
|
||||
{
|
||||
public function index(Request $request)
|
||||
{
|
||||
return view('user.index', [
|
||||
'user' => Auth::user(),
|
||||
]);
|
||||
}
|
||||
|
||||
public function edit(Request $request)
|
||||
{
|
||||
return view('user.edit', [
|
||||
'user' => Auth::user(),
|
||||
]);
|
||||
}
|
||||
|
||||
public function update(UserRequest $request)
|
||||
{
|
||||
$data = $request->validated();
|
||||
|
||||
$user = $request->user();
|
||||
$user->password = Hash::make($data['password']);
|
||||
$user->save();
|
||||
|
||||
return redirect()->route('user.index')
|
||||
->with('success', 'Password was updated');
|
||||
}
|
||||
}
|
||||
Reference in a new issue