Refactor and add importer to Installer module #443 (#444)

* Refactor and add importer to Installer module #443

* Refactor for finances to use in import

* Import groups into roles

* Formatting

* Formatting

* Add interface in installer for import

* Notes about importing

* Check for installer folder

* Formatting

* Fix pirep->user mapping

* Unused import

* Formatting
This commit is contained in:
Nabeel S
2019-11-27 09:19:20 -05:00
committed by GitHub
parent f95a3f336b
commit 50dc79bc8d
76 changed files with 2753 additions and 1431 deletions

View File

@@ -79,7 +79,8 @@ class DashboardController extends Controller
$this->checkNewVersion();
return view('admin.dashboard.index', [
'news' => $this->newsRepo->getLatest(),
'news' => $this->newsRepo->getLatest(),
// 'installer_enabled' => $installerEnabled,
'pending_pireps' => $this->pirepRepo->getPendingCount(),
'pending_users' => $this->userRepo->getPendingCount(),
]);

View File

@@ -7,29 +7,33 @@ use App\Http\Requests\CreateRoleRequest;
use App\Http\Requests\UpdateRoleRequest;
use App\Repositories\PermissionsRepository;
use App\Repositories\RoleRepository;
use Flash;
use App\Services\RoleService;
use Illuminate\Http\Request;
use Illuminate\Http\Response;
use Laracasts\Flash\Flash;
use Prettus\Repository\Criteria\RequestCriteria;
use Response;
/**
* Class AirlinesController
*/
class RolesController extends Controller
{
private $permsRepo;
private $rolesRepo;
private $roleSvc;
/**
* AirlinesController constructor.
*
* @param PermissionsRepository $permsRepo
* @param RoleRepository $rolesRepo
* @param $roleSvc
*/
public function __construct(PermissionsRepository $permsRepo, RoleRepository $rolesRepo)
{
public function __construct(
PermissionsRepository $permsRepo,
RoleRepository $rolesRepo,
RoleService $roleSvc
) {
$this->permsRepo = $permsRepo;
$this->rolesRepo = $rolesRepo;
$this->roleSvc = $roleSvc;
}
/**
@@ -132,8 +136,6 @@ class RolesController extends Controller
* @param int $id
* @param UpdateRoleRequest $request
*
* @throws \Prettus\Validator\Exceptions\ValidatorException
*
* @return Response
*/
public function update($id, UpdateRoleRequest $request)
@@ -145,14 +147,8 @@ class RolesController extends Controller
return redirect(route('admin.roles.index'));
}
$this->rolesRepo->update($request->all(), $id);
// Update the permissions, filter out null/invalid values
$perms = collect($request->permissions)->filter(static function ($v, $k) {
return $v;
});
$role->permissions()->sync($perms);
$this->roleSvc->updateRole($role, $request->all());
$this->roleSvc->setPermissionsForRole($role, $request->permissions);
Flash::success('Roles updated successfully.');
return redirect(route('admin.roles.index'));

View File

@@ -5,12 +5,14 @@
namespace App\Http\Middleware;
use App\Contracts\Middleware;
use App\Models\Enums\UserState;
use App\Models\User;
use Auth;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class ApiAuth
class ApiAuth implements Middleware
{
/**
* Handle an incoming request.
@@ -20,7 +22,7 @@ class ApiAuth
*
* @return mixed
*/
public function handle($request, Closure $next)
public function handle(Request $request, Closure $next)
{
// Check if Authorization header is in place
$api_key = $request->header('x-api-key', null);

View File

@@ -2,9 +2,10 @@
namespace App\Http\Middleware;
use App\Contracts\Middleware;
use Illuminate\Cookie\Middleware\EncryptCookies as BaseEncrypter;
class EncryptCookies extends BaseEncrypter
class EncryptCookies extends BaseEncrypter implements Middleware
{
/**
* The names of the cookies that should not be encrypted.

View File

@@ -5,17 +5,18 @@
namespace App\Http\Middleware;
use App\Contracts\Middleware;
use Closure;
use Illuminate\Http\Request;
class InstalledCheck
/**
* Check the app.key to see whether we're installed or not
*
* If the default key is set and we're not in any of the installer routes
* show the message that we need to be installed
*/
class InstalledCheck implements Middleware
{
/**
* Check the app.key to see whether we're installed or not
*
* If the default key is set and we're not in any of the installer routes
* show the message that we need to be installed
*/
public function handle(Request $request, Closure $next)
{
if (config('app.key') === 'base64:zdgcDqu9PM8uGWCtMxd74ZqdGJIrnw812oRMmwDF6KY='

View File

@@ -5,11 +5,13 @@
namespace App\Http\Middleware;
use App\Contracts\Middleware;
use Closure;
use Illuminate\Http\Request;
class JsonResponse
class JsonResponse implements Middleware
{
public function handle($request, Closure $next)
public function handle(Request $request, Closure $next)
{
$response = $next($request);
$response->headers->set('Content-Type', 'application/json');

View File

@@ -5,19 +5,13 @@
namespace App\Http\Middleware;
use App\Contracts\Middleware;
use Closure;
use Illuminate\Http\Request;
class MeasureExecutionTime
class MeasureExecutionTime implements Middleware
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
*
* @return mixed
*/
public function handle($request, Closure $next)
public function handle(Request $request, Closure $next)
{
// Get the response
$response = $next($request);

View File

@@ -2,21 +2,14 @@
namespace App\Http\Middleware;
use App\Contracts\Middleware;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class RedirectIfAuthenticated
class RedirectIfAuthenticated implements Middleware
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure $next
* @param string|null $guard
*
* @return mixed
*/
public function handle($request, Closure $next, $guard = null)
public function handle(Request $request, Closure $next, $guard = null)
{
if (Auth::guard($guard)->check()) {
return redirect('/');

View File

@@ -2,15 +2,17 @@
namespace App\Http\Middleware;
use App\Contracts\Middleware;
use Closure;
use Igaster\LaravelTheme\Facades\Theme;
use Illuminate\Http\Request;
/**
* Read the current theme from the settings (set in admin), and set it
*/
class SetActiveTheme
class SetActiveTheme implements Middleware
{
public function handle($request, Closure $next)
public function handle(Request $request, Closure $next)
{
$theme = setting('general.theme');
if (!empty($theme)) {

View File

@@ -2,13 +2,15 @@
namespace App\Http\Middleware;
use App\Contracts\Middleware;
use App\Services\Installer\InstallerService;
use Closure;
use Illuminate\Http\Request;
/**
* Determine if an update is pending by checking in with the Installer service
*/
class UpdatePending
class UpdatePending implements Middleware
{
private $installerSvc;
@@ -17,13 +19,7 @@ class UpdatePending
$this->installerSvc = $installerSvc;
}
/**
* @param \Illuminate\Http\Request $request
* @param \Closure $next
*
* @return mixed
*/
public function handle($request, Closure $next)
public function handle(Request $request, Closure $next)
{
if ($this->installerSvc->isUpgradePending()) {
return redirect('/update/step1');

View File

@@ -2,9 +2,10 @@
namespace App\Http\Middleware;
use App\Contracts\Middleware;
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as BaseVerifier;
class VerifyCsrfToken extends BaseVerifier
class VerifyCsrfToken extends BaseVerifier implements Middleware
{
/**
* The URIs that should be excluded from CSRF verification.