diff --git a/.env.example b/.env.example index 67e9c9f33d..7888a92370 100644 --- a/.env.example +++ b/.env.example @@ -304,7 +304,6 @@ PUSHER_ID= DEMO_USERNAME= DEMO_PASSWORD= USE_ENCRYPTION=false -IS_SANDSTORM=false IS_HEROKU=false FIREFLY_III_LAYOUT=v1 diff --git a/app/Http/Controllers/Admin/ConfigurationController.php b/app/Http/Controllers/Admin/ConfigurationController.php index 6a026d938d..c965bd3a0a 100644 --- a/app/Http/Controllers/Admin/ConfigurationController.php +++ b/app/Http/Controllers/Admin/ConfigurationController.php @@ -25,7 +25,6 @@ namespace FireflyIII\Http\Controllers\Admin; use FireflyIII\Http\Controllers\Controller; use FireflyIII\Http\Middleware\IsDemoUser; -use FireflyIII\Http\Middleware\IsSandStormUser; use FireflyIII\Http\Requests\ConfigurationRequest; use Illuminate\Contracts\View\Factory; use Illuminate\Http\RedirectResponse; @@ -55,7 +54,6 @@ class ConfigurationController extends Controller } ); $this->middleware(IsDemoUser::class)->except(['index']); - $this->middleware(IsSandStormUser::class); } /** diff --git a/app/Http/Controllers/Admin/HomeController.php b/app/Http/Controllers/Admin/HomeController.php index 5c3366037f..e31e211102 100644 --- a/app/Http/Controllers/Admin/HomeController.php +++ b/app/Http/Controllers/Admin/HomeController.php @@ -25,7 +25,6 @@ namespace FireflyIII\Http\Controllers\Admin; use FireflyIII\Events\AdminRequestedTestMessage; use FireflyIII\Http\Controllers\Controller; use FireflyIII\Http\Middleware\IsDemoUser; -use FireflyIII\Http\Middleware\IsSandStormUser; use FireflyIII\User; use Illuminate\Contracts\View\Factory; use Illuminate\Http\RedirectResponse; @@ -48,7 +47,6 @@ class HomeController extends Controller { parent::__construct(); $this->middleware(IsDemoUser::class)->except(['index']); - $this->middleware(IsSandStormUser::class)->except(['index']); } /** @@ -61,9 +59,8 @@ class HomeController extends Controller Log::channel('audit')->info('User visits admin index.'); $title = (string) trans('firefly.administration'); $mainTitleIcon = 'fa-hand-spock-o'; - $sandstorm = 1 === (int) getenv('SANDSTORM'); - return view('admin.index', compact('title', 'mainTitleIcon', 'sandstorm')); + return view('admin.index', compact('title', 'mainTitleIcon')); } /** diff --git a/app/Http/Controllers/Admin/UpdateController.php b/app/Http/Controllers/Admin/UpdateController.php index f21d016fda..f9c0b1d1e6 100644 --- a/app/Http/Controllers/Admin/UpdateController.php +++ b/app/Http/Controllers/Admin/UpdateController.php @@ -26,7 +26,6 @@ namespace FireflyIII\Http\Controllers\Admin; use FireflyIII\Helpers\Update\UpdateTrait; use FireflyIII\Http\Controllers\Controller; use FireflyIII\Http\Middleware\IsDemoUser; -use FireflyIII\Http\Middleware\IsSandStormUser; use Illuminate\Contracts\View\Factory; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; @@ -57,7 +56,6 @@ class UpdateController extends Controller } ); $this->middleware(IsDemoUser::class)->except(['index']); - $this->middleware(IsSandStormUser::class)->except(['index']); } /** diff --git a/app/Http/Controllers/Admin/UserController.php b/app/Http/Controllers/Admin/UserController.php index 1f07ded42b..941b94ecdc 100644 --- a/app/Http/Controllers/Admin/UserController.php +++ b/app/Http/Controllers/Admin/UserController.php @@ -24,7 +24,6 @@ namespace FireflyIII\Http\Controllers\Admin; use FireflyIII\Http\Controllers\Controller; use FireflyIII\Http\Middleware\IsDemoUser; -use FireflyIII\Http\Middleware\IsSandStormUser; use FireflyIII\Http\Requests\UserFormRequest; use FireflyIII\Repositories\User\UserRepositoryInterface; use FireflyIII\User; @@ -57,7 +56,6 @@ class UserController extends Controller } ); $this->middleware(IsDemoUser::class)->except(['index', 'show']); - $this->middleware(IsSandStormUser::class); } /** diff --git a/app/Http/Controllers/ProfileController.php b/app/Http/Controllers/ProfileController.php index 6cd342aaba..164b7fc344 100644 --- a/app/Http/Controllers/ProfileController.php +++ b/app/Http/Controllers/ProfileController.php @@ -28,7 +28,6 @@ use FireflyIII\Events\UserChangedEmail; use FireflyIII\Exceptions\FireflyException; use FireflyIII\Exceptions\ValidationException; use FireflyIII\Http\Middleware\IsDemoUser; -use FireflyIII\Http\Middleware\IsSandStormUser; use FireflyIII\Http\Requests\DeleteAccountFormRequest; use FireflyIII\Http\Requests\EmailFormRequest; use FireflyIII\Http\Requests\ProfileFormRequest; @@ -85,7 +84,6 @@ class ProfileController extends Controller $this->externalIdentity = 'eloquent' === $loginProvider || 'remote_user_guard' === $authGuard; $this->middleware(IsDemoUser::class)->except(['index']); - $this->middleware(IsSandStormUser::class)->except('index'); } /** diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index 2c538f94d0..d84cf3d709 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -31,7 +31,6 @@ use FireflyIII\Http\Middleware\InterestingMessage; use FireflyIII\Http\Middleware\IsAdmin; use FireflyIII\Http\Middleware\Range; use FireflyIII\Http\Middleware\RedirectIfAuthenticated; -use FireflyIII\Http\Middleware\Sandstorm; use FireflyIII\Http\Middleware\SecureHeaders; use FireflyIII\Http\Middleware\StartFireflySession; use FireflyIII\Http\Middleware\TrimStrings; @@ -85,7 +84,6 @@ class Kernel extends HttpKernel // does not check 2fa // does not check activation 'web' => [ - Sandstorm::class, EncryptCookies::class, AddQueuedCookiesToResponse::class, StartFireflySession::class, @@ -105,7 +103,6 @@ class Kernel extends HttpKernel // MUST NOT be logged in. Does not care about 2FA or confirmation. 'user-not-logged-in' => [ Installer::class, - Sandstorm::class, EncryptCookies::class, AddQueuedCookiesToResponse::class, StartFireflySession::class, @@ -119,7 +116,6 @@ class Kernel extends HttpKernel // don't care about confirmation: 'user-logged-in-no-2fa' => [ Installer::class, - Sandstorm::class, EncryptCookies::class, AddQueuedCookiesToResponse::class, StartFireflySession::class, @@ -134,7 +130,6 @@ class Kernel extends HttpKernel // don't care about 2fa // don't care about confirmation. 'user-simple-auth' => [ - Sandstorm::class, EncryptCookies::class, AddQueuedCookiesToResponse::class, StartFireflySession::class, @@ -149,7 +144,6 @@ class Kernel extends HttpKernel // MUST be confirmed. // (this group includes the other Firefly middleware) 'user-full-auth' => [ - Sandstorm::class, EncryptCookies::class, AddQueuedCookiesToResponse::class, StartFireflySession::class, @@ -168,7 +162,6 @@ class Kernel extends HttpKernel // MUST have owner role // (this group includes the other Firefly middleware) 'admin' => [ - Sandstorm::class, EncryptCookies::class, AddQueuedCookiesToResponse::class, StartFireflySession::class, diff --git a/app/Http/Middleware/IsSandStormUser.php b/app/Http/Middleware/IsSandStormUser.php deleted file mode 100644 index dc5065d8e8..0000000000 --- a/app/Http/Middleware/IsSandStormUser.php +++ /dev/null @@ -1,59 +0,0 @@ -. - */ -declare(strict_types=1); - -namespace FireflyIII\Http\Middleware; - -use Closure; -use Illuminate\Http\Request; -use Illuminate\Support\Facades\Auth; - - -/** - * Class IsSandStormUser. - */ -class IsSandStormUser -{ - /** - * Handle an incoming request. May not be a limited user (ie. Sandstorm env. or demo user). - * - * @param Request $request - * @param Closure $next - * @param string|null $guard - * - * @return mixed - */ - public function handle(Request $request, Closure $next, $guard = null) - { - if (Auth::guard($guard)->guest()) { - // don't care when not logged in, usual stuff applies: - return $next($request); - } - - if (1 === (int) getenv('SANDSTORM')) { - app('session')->flash('warning', (string) trans('firefly.sandstorm_not_available')); - - return response()->redirectTo(route('index')); - } - - return $next($request); - } -} diff --git a/app/Http/Middleware/Sandstorm.php b/app/Http/Middleware/Sandstorm.php deleted file mode 100644 index 3a2dae74f8..0000000000 --- a/app/Http/Middleware/Sandstorm.php +++ /dev/null @@ -1,107 +0,0 @@ -. - */ -/** @noinspection PhpDynamicAsStaticMethodCallInspection */ -declare(strict_types=1); - -namespace FireflyIII\Http\Middleware; - -use Auth; -use Closure; -use FireflyIII\Repositories\User\UserRepositoryInterface; -use FireflyIII\User; -use Illuminate\Http\Request; -use Log; - -/** - * Class Sandstorm. - */ -class Sandstorm -{ - /** - * Detects if is using Sandstorm, and responds by logging the user - * in and/or creating an account. - * - * @param Request $request - * @param Closure $next - * @param string|null $guard - * - * @return mixed - */ - public function handle(Request $request, Closure $next, $guard = null) - { - // is in Sandstorm environment? - $sandstorm = 1 === (int) getenv('SANDSTORM'); - app('view')->share('SANDSTORM', $sandstorm); - if (!$sandstorm) { - return $next($request); - } - - // we're in sandstorm! is user a guest? - if (Auth::guard($guard)->guest()) { - /** @var UserRepositoryInterface $repository */ - $repository = app(UserRepositoryInterface::class); - $userId = (string) $request->header('X-Sandstorm-User-Id'); - - // catch anonymous: - $userId = '' === $userId ? 'anonymous' : $userId; - $email = $userId . '@firefly'; - - // always grab the first user in the Sandstorm DB: - $user = $repository->findByEmail($email) ?? $repository->first(); - // or create somebody if necessary. - $user = $user ?? $this->createUser($email); - - // then log this user in: - Log::info(sprintf('Sandstorm user ID is "%s"', $userId)); - Log::info(sprintf('Access to database under "%s"', $email)); - Auth::guard($guard)->login($user); - $repository->attachRole($user, 'owner'); - app('view')->share('SANDSTORM_ANON', false); - } - - return $next($request); - } - - - /** - * Create a user. - * - * @param string $email - * - * @return User - * @codeCoverageIgnore - */ - private function createUser(string $email): User - { - $repository = app(UserRepositoryInterface::class); - - return $repository->store( - [ - 'blocked' => false, - 'blocked_code' => null, - 'email' => $email, - ] - ); - - } -} - - diff --git a/config/firefly.php b/config/firefly.php index 5fe3c1b17a..06885c4115 100644 --- a/config/firefly.php +++ b/config/firefly.php @@ -143,7 +143,7 @@ return [ ], //'encryption' => null === env('USE_ENCRYPTION') || true === env('USE_ENCRYPTION'), - 'version' => '5.3.0-alpha.1', + 'version' => '5.3.0-beta.1', 'api_version' => '1.2.0', 'db_version' => 14, 'maxUploadSize' => 15242880, @@ -152,7 +152,6 @@ return [ 'send_registration_mail' => env('SEND_REGISTRATION_MAIL', true), 'demo_username' => env('DEMO_USERNAME', ''), 'demo_password' => env('DEMO_PASSWORD', ''), - 'is_sandstorm' => env('IS_SANDSTORM', 'unknown'), 'fixer_api_key' => env('FIXER_API_KEY', ''), 'mapbox_api_key' => env('MAPBOX_API_KEY', ''), 'trusted_proxies' => env('TRUSTED_PROXIES', ''), @@ -185,6 +184,7 @@ return [ Tag::class, Transaction::class, TransactionJournal::class, + Recurrence::class, ], 'allowedMimes' => [ /* plain files */ diff --git a/resources/lang/en_US/firefly.php b/resources/lang/en_US/firefly.php index d939a20c8a..cc89626612 100644 --- a/resources/lang/en_US/firefly.php +++ b/resources/lang/en_US/firefly.php @@ -1511,9 +1511,6 @@ return [ 'reset_after' => 'Reset form after submission', 'errors_submission' => 'There was something wrong with your submission. Please check out the errors below.', - // sandstorm.io errors and messages: - 'sandstorm_not_available' => 'This function is not available when you are using Firefly III within a Sandstorm.io environment.', - // object groups 'default_group_title_name' => '(ungrouped)', diff --git a/resources/views/v1/admin/index.twig b/resources/views/v1/admin/index.twig index 065f2c1af2..dd2f1e0883 100644 --- a/resources/views/v1/admin/index.twig +++ b/resources/views/v1/admin/index.twig @@ -17,9 +17,7 @@ {% if config('firefly.feature_flags.telemetry') %}
{{ trans('firefly.user_id_is',{user: userId})|raw }}
- {% if not SANDSTORM %}- Block for sandstorm thing -
-