Added very basic authorization.

This commit is contained in:
Lukas Halbritter
2018-12-06 11:49:49 +01:00
parent 85493343d6
commit 24001f6920
6 changed files with 140 additions and 59 deletions
+9
View File
@@ -118,4 +118,13 @@ class Booking extends Model
public static function firstDate() { public static function firstDate() {
return Booking::min('date'); return Booking::min('date');
} }
/**
* Get the date of the last booking.
*
* @return string
*/
public static function lastDate() {
return Booking::max('date');
}
} }
+18 -1
View File
@@ -2,6 +2,7 @@
namespace App\Http\Controllers\Auth; namespace App\Http\Controllers\Auth;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers; use Illuminate\Foundation\Auth\AuthenticatesUsers;
@@ -25,7 +26,7 @@ class LoginController extends Controller
* *
* @var string * @var string
*/ */
protected $redirectTo = '/home'; protected $redirectTo;
/** /**
* Create a new controller instance. * Create a new controller instance.
@@ -34,6 +35,22 @@ class LoginController extends Controller
*/ */
public function __construct() public function __construct()
{ {
$this->redirectTo = '/bookings/year-' . date('Y');
$this->middleware('guest')->except('logout'); $this->middleware('guest')->except('logout');
} }
/**
* Log the user out of the application.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function logout(Request $request)
{
$this->guard()->logout();
$request->session()->invalidate();
return redirect('/login');
}
} }
+28
View File
@@ -0,0 +1,28 @@
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class HomeController extends Controller
{
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth');
}
/**
* Show the application dashboard.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return view('home');
}
}
@@ -28,7 +28,16 @@ class PersonTargetsController extends Controller
'actuals.accountType.accountClass.ioType:id,factor'); 'actuals.accountType.accountClass.ioType:id,factor');
} }
return view('personTargets.index', compact('personTargets')); $sums['receivables'] = 0;
$sums['debts'] = 0;
foreach ($personTargets as $type => $personTargetsList) {
foreach ($personTargetsList as $personTarget) {
$sums[$type] += $personTarget->difference();
}
}
return view('personTargets.index', compact('personTargets', 'sums'));
} }
/** /**
@@ -53,15 +62,17 @@ class PersonTargetsController extends Controller
*/ */
public function store(PersonTargetCreateOrUpdate $request) public function store(PersonTargetCreateOrUpdate $request)
{ {
foreach (request('person_id') as $personId) {
$personTarget = new PersonTarget(); $personTarget = new PersonTarget();
$personTarget->reference = request('reference'); $personTarget->reference = request('reference');
$personTarget->amount = request('amount'); $personTarget->amount = request('amount');
$personTarget->date = request('date'); $personTarget->date = request('date');
$personTarget->io_type_id = request('io_type_id'); $personTarget->io_type_id = request('io_type_id');
$personTarget->person_id = request('person_id'); $personTarget->person_id = $personId;
$personTarget->save(); $personTarget->save();
}
return redirect('/targets'); return redirect('/targets');
} }
+2 -1
View File
@@ -209,7 +209,8 @@ class PersonTarget extends Model
LEFT JOIN account_classes a_c ON a_c.id = a_t.account_class_id LEFT JOIN account_classes a_c ON a_c.id = a_t.account_class_id
LEFT JOIN i_o_types i_o1 ON i_o1.id = a_c.io_type_id LEFT JOIN i_o_types i_o1 ON i_o1.id = a_c.io_type_id
GROUP BY p_t.id GROUP BY p_t.id
HAVING ' . $having . ';'); HAVING ' . $having . '
ORDER BY p_t.date, p_t.reference, p_t.person_id;');
// Remove the unused columns 'target' and 'actual' from the query // Remove the unused columns 'target' and 'actual' from the query
// result. // result.
+23 -8
View File
@@ -11,9 +11,10 @@
| |
*/ */
/****************************************************************************** Route::middleware(['auth'])->group(function() {
/**************************************************************************
* PEOPLE * * PEOPLE *
******************************************************************************/ **************************************************************************/
Route::get('/people', 'PeopleController@index'); Route::get('/people', 'PeopleController@index');
Route::post('/people', 'PeopleController@store'); Route::post('/people', 'PeopleController@store');
@@ -25,9 +26,9 @@ Route::delete('/people/{person}', 'PeopleController@destroy');
Route::get('/people/{person}/edit', 'PeopleController@edit'); Route::get('/people/{person}/edit', 'PeopleController@edit');
Route::get('/people/{person}/delete', 'PeopleController@delete'); Route::get('/people/{person}/delete', 'PeopleController@delete');
/****************************************************************************** /**************************************************************************
* BOOKINGS * * BOOKINGS *
******************************************************************************/ **************************************************************************/
Route::get('/bookings/year-{year}', 'BookingsController@index'); Route::get('/bookings/year-{year}', 'BookingsController@index');
Route::post('/bookings', 'BookingsController@store'); Route::post('/bookings', 'BookingsController@store');
@@ -38,9 +39,9 @@ Route::delete('/bookings/{booking}', 'BookingsController@destroy');
Route::get('/bookings/{booking}/edit', 'BookingsController@edit'); Route::get('/bookings/{booking}/edit', 'BookingsController@edit');
Route::get('/bookings/{booking}/delete', 'BookingsController@delete'); Route::get('/bookings/{booking}/delete', 'BookingsController@delete');
/****************************************************************************** /**************************************************************************
* PROJECTS * * PROJECTS *
******************************************************************************/ **************************************************************************/
Route::get('/projects', 'ProjectsController@index'); Route::get('/projects', 'ProjectsController@index');
Route::post('/projects', 'ProjectsController@store'); Route::post('/projects', 'ProjectsController@store');
@@ -51,9 +52,9 @@ Route::delete('/projects/{project}', 'ProjectsController@destroy');
Route::get('/projects/{project}/edit', 'ProjectsController@edit'); Route::get('/projects/{project}/edit', 'ProjectsController@edit');
Route::get('/projects/{project}/delete', 'ProjectsController@delete'); Route::get('/projects/{project}/delete', 'ProjectsController@delete');
/****************************************************************************** /**************************************************************************
* PERSON TARGETS * * PERSON TARGETS *
******************************************************************************/ **************************************************************************/
Route::get('/targets', 'PersonTargetsController@index'); Route::get('/targets', 'PersonTargetsController@index');
Route::post('/targets', 'PersonTargetsController@store'); Route::post('/targets', 'PersonTargetsController@store');
@@ -63,3 +64,17 @@ Route::delete('/targets/{personTarget}', 'PersonTargetsController@destroy');
Route::get('/targets/{personTarget}/edit', 'PersonTargetsController@edit'); Route::get('/targets/{personTarget}/edit', 'PersonTargetsController@edit');
Route::get('/targets/{personTarget}/delete', 'PersonTargetsController@delete'); Route::get('/targets/{personTarget}/delete', 'PersonTargetsController@delete');
});
// Authentication Routes...
Route::get('login', 'Auth\LoginController@showLoginForm')->name('login');
Route::post('login', 'Auth\LoginController@login');
Route::post('logout', 'Auth\LoginController@logout')->name('logout');
// Password Reset Routes...
Route::get('password/reset', 'Auth\ForgotPasswordController@showLinkRequestForm')->name('password.request');
Route::post('password/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.email');
Route::get('password/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.reset');
Route::post('password/reset', 'Auth\ResetPasswordController@reset');
Route::get('/home', 'HomeController@index')->name('home');