Zugriff Redakteur, Kundenhoheit API

This commit is contained in:
Kevin Adametz 2022-01-04 11:17:07 +01:00
parent 570d428b1c
commit 3f1fb9377d
13 changed files with 109 additions and 61 deletions

View file

@ -13,7 +13,7 @@ class AttributeController extends Controller
public function __construct()
{
$this->middleware('admin');
$this->middleware('copyreader');
}
public function index()

View file

@ -5,7 +5,7 @@ namespace App\Http\Controllers;
use App\Models\Category;
use App\Models\IqImage;
use App\Models\ProductCategory;
use\Request;
use Request;
class CategoryController extends Controller
@ -14,7 +14,7 @@ class CategoryController extends Controller
public function __construct()
{
$this->middleware('admin');
$this->middleware('copyreader');
}
public function index()

View file

@ -15,7 +15,7 @@ class DataTableController extends Controller
public function getUsers()
{
$query = User::with('account')->select('users.*')->where('users.deleted_at', '=', null)->where('users.admin', "<", 4);
$query = User::with('account')->select('users.*')->where('users.deleted_at', '=', null)->where('users.admin', "<", 10);
return \DataTables::eloquent($query)
->addColumn('first_name', function (User $user) {

View file

@ -16,7 +16,7 @@ class IngredientController extends Controller
public function __construct()
{
$this->middleware('admin');
$this->middleware('copyreader');
}
public function index()

View file

@ -18,7 +18,7 @@ class ProductController extends Controller
public function __construct(ProductRepository $productRepo)
{
$this->middleware('admin');
$this->middleware('copyreader');
$this->productRepo = $productRepo;
}

View file

@ -54,6 +54,7 @@ class Kernel extends HttpKernel
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'copyreader' => \App\Http\Middleware\CopyReader::class,
'admin' => \App\Http\Middleware\Admin::class,
'superadmin' => \App\Http\Middleware\SuperAdmin::class,
'sysadmin' => \App\Http\Middleware\SysAdmin::class,

View file

@ -0,0 +1,26 @@
<?php
namespace App\Http\Middleware;
use Closure;
use Auth;
class CopyReader
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if ( Auth::check() && Auth::user()->isCopyReader() )
{
return $next($request);
}
return redirect('/home');
}
}

View file

@ -234,6 +234,7 @@ class CustomerPriority
->where('auth_user_id', '=', NULL)
->where('number', '!=', NULL) //has number
->where('id', '!=', $shopping_user->id)
->where('member_id', '!=', $shopping_user->member_id)
->where('billing_lastname', '=', $shopping_user->billing_lastname)
->where('billing_zipcode', '=', $shopping_user->billing_zipcode)
->get()->pluck('number', 'id')->unique()->toArray();

View file

@ -33,9 +33,11 @@ class HTMLHelper
private static $roles = [
0 => 'Kunde',
1 => 'Admin',
2 => 'SuperAdmin',
3 => 'SySAdmin',
1 => 'Redakteur',
7 => 'Admin',
8 => 'SuperAdmin',
9 => 'SySAdmin',
//10 => "API",
];
@ -55,12 +57,18 @@ class HTMLHelper
case 1:
return 'badge-warning';
break;
case 2:
case 7:
return 'badge-primary';
break;
case 3:
case 8:
return 'badge-primary';
break;
case 9:
return 'badge-danger';
break;
case 10:
return 'badge-danger';
break;
}
}

View file

@ -220,12 +220,22 @@ class User extends Authenticatable
return $ret;
}
/**
* @return bool
*/
public function isCopyReader()
{
if($this->admin >= 1){
return true;
}
return false;
}
/**
* @return bool
*/
public function isAdmin()
{
if($this->admin >= 1){
if($this->admin >= 7){
return true;
}
return false;
@ -236,7 +246,7 @@ class User extends Authenticatable
*/
public function isSuperAdmin()
{
if($this->admin >= 2){
if($this->admin >= 8){
return true;
}
return false;
@ -247,7 +257,7 @@ class User extends Authenticatable
*/
public function isSySAdmin()
{
if($this->admin >= 3){
if($this->admin >= 9){
return true;
}
return false;
@ -258,7 +268,7 @@ class User extends Authenticatable
*/
public function isApiUser()
{
if($this->admin >= 4){
if($this->admin >= 10){
return true;
}
return false;