diff --git a/app/Http/Controllers/Oasis/SubscriptionController.php b/app/Http/Controllers/Oasis/SubscriptionController.php index 6dcbbedb..2db0f4bc 100644 --- a/app/Http/Controllers/Oasis/SubscriptionController.php +++ b/app/Http/Controllers/Oasis/SubscriptionController.php @@ -80,4 +80,9 @@ class SubscriptionController extends Controller return response('Done!', 204); } + + public function set_password(Request $request) + { + return $request->all(); + } } diff --git a/database/migrations/oasis/2021_03_22_094908_create_subscription_requests_table.php b/database/migrations/oasis/2021_03_22_094908_create_subscription_requests_table.php index 33ab6e9a..3d91ed42 100644 --- a/database/migrations/oasis/2021_03_22_094908_create_subscription_requests_table.php +++ b/database/migrations/oasis/2021_03_22_094908_create_subscription_requests_table.php @@ -18,7 +18,7 @@ class CreateSubscriptionRequestsTable extends Migration $table->uuid('user_id')->index(); $table->string('creator'); $table->string('requested_plan'); - $table->enum('status', ['requested', 'payed', 'cancelled'])->default('requested'); + $table->enum('status', ['requested', 'payed', 'logged', 'cancelled'])->default('requested'); $table->timestamps(); }); } diff --git a/public/mix-manifest.json b/public/mix-manifest.json index adab9808..06edcc0a 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -175,7 +175,7 @@ "/js/main.55cf4e9bc02bec922581.hot-update.js": "/js/main.55cf4e9bc02bec922581.hot-update.js", "/js/main.b52ecb4afdc47584e38f.hot-update.js": "/js/main.b52ecb4afdc47584e38f.hot-update.js", "/chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chu~74bf0fcb.js": "/chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-index~chu~74bf0fcb.js?id=6b6737a58e371fc4434b", - "/chunks/oasis/platba.js": "/chunks/oasis/platba.js?id=49ac485fbad31f134cb9", + "/chunks/oasis/platba.js": "/chunks/oasis/platba.js?id=2296813951c371e2be1b", "/chunks/oasis/platba~chunks/upgrade-billing~chunks/upgrade-plan.js": "/chunks/oasis/platba~chunks/upgrade-billing~chunks/upgrade-plan.js?id=4781f8460c7f0f8b21a5", "/vendors~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-i~0a9c5e33.js": "/vendors~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-i~0a9c5e33.js?id=b28978d3c8aae9b949a5", "/vendors~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-i~8394cf85.js": "/vendors~chunks/admin-account~chunks/app-appearance~chunks/app-billings~chunks/app-email~chunks/app-i~8394cf85.js?id=d25da0762af813ea588c", @@ -285,5 +285,47 @@ "/chunks/oasis/platba.94b702f11bbb84b2a26a.hot-update.js": "/chunks/oasis/platba.94b702f11bbb84b2a26a.hot-update.js", "/chunks/oasis/platba.7f2261220d4558187716.hot-update.js": "/chunks/oasis/platba.7f2261220d4558187716.hot-update.js", "/chunks/oasis/platba.0cc8322034321a3f07a5.hot-update.js": "/chunks/oasis/platba.0cc8322034321a3f07a5.hot-update.js", - "/chunks/oasis/platba.097292fe9503aae25f5c.hot-update.js": "/chunks/oasis/platba.097292fe9503aae25f5c.hot-update.js" + "/chunks/oasis/platba.097292fe9503aae25f5c.hot-update.js": "/chunks/oasis/platba.097292fe9503aae25f5c.hot-update.js", + "/chunks/oasis/platba.e13e95a4c77c1e976d93.hot-update.js": "/chunks/oasis/platba.e13e95a4c77c1e976d93.hot-update.js", + "/chunks/oasis/platba.0b778201954aeee92d9e.hot-update.js": "/chunks/oasis/platba.0b778201954aeee92d9e.hot-update.js", + "/chunks/oasis/platba.f1ff98bc8e156ba0717a.hot-update.js": "/chunks/oasis/platba.f1ff98bc8e156ba0717a.hot-update.js", + "/chunks/oasis/platba.fce89888954988c4aa4a.hot-update.js": "/chunks/oasis/platba.fce89888954988c4aa4a.hot-update.js", + "/chunks/oasis/platba.1ce9cba436d1432e1e7b.hot-update.js": "/chunks/oasis/platba.1ce9cba436d1432e1e7b.hot-update.js", + "/chunks/oasis/platba.088494b6c1bcac641ea8.hot-update.js": "/chunks/oasis/platba.088494b6c1bcac641ea8.hot-update.js", + "/chunks/oasis/platba.3047a4259cf8eced1123.hot-update.js": "/chunks/oasis/platba.3047a4259cf8eced1123.hot-update.js", + "/chunks/oasis/platba.7bd73539c1fa196e533a.hot-update.js": "/chunks/oasis/platba.7bd73539c1fa196e533a.hot-update.js", + "/chunks/oasis/platba.83349d896d0f64bf6b61.hot-update.js": "/chunks/oasis/platba.83349d896d0f64bf6b61.hot-update.js", + "/chunks/oasis/platba.36d8bb78dffde4b370ac.hot-update.js": "/chunks/oasis/platba.36d8bb78dffde4b370ac.hot-update.js", + "/chunks/oasis/platba.e14b1782f40a456176f6.hot-update.js": "/chunks/oasis/platba.e14b1782f40a456176f6.hot-update.js", + "/chunks/oasis/platba.0079b4d40fea3603cb73.hot-update.js": "/chunks/oasis/platba.0079b4d40fea3603cb73.hot-update.js", + "/chunks/oasis/platba.f24075402b37513bd698.hot-update.js": "/chunks/oasis/platba.f24075402b37513bd698.hot-update.js", + "/chunks/oasis/platba.97687a998911e67890ea.hot-update.js": "/chunks/oasis/platba.97687a998911e67890ea.hot-update.js", + "/chunks/oasis/platba.3b905c02d19f06f61235.hot-update.js": "/chunks/oasis/platba.3b905c02d19f06f61235.hot-update.js", + "/chunks/oasis/platba.d010b9f954f6daafb11f.hot-update.js": "/chunks/oasis/platba.d010b9f954f6daafb11f.hot-update.js", + "/chunks/oasis/platba.6a9e275749c1e5c79937.hot-update.js": "/chunks/oasis/platba.6a9e275749c1e5c79937.hot-update.js", + "/chunks/oasis/platba.7b807076b0666c4cd619.hot-update.js": "/chunks/oasis/platba.7b807076b0666c4cd619.hot-update.js", + "/chunks/oasis/platba.56b15fbaf67d621e3e83.hot-update.js": "/chunks/oasis/platba.56b15fbaf67d621e3e83.hot-update.js", + "/chunks/oasis/platba.66260c70f44ceeabfa27.hot-update.js": "/chunks/oasis/platba.66260c70f44ceeabfa27.hot-update.js", + "/chunks/oasis/platba.387fbc7cc613892f7f4d.hot-update.js": "/chunks/oasis/platba.387fbc7cc613892f7f4d.hot-update.js", + "/chunks/oasis/platba.d7b9c7357f63d3a5b75d.hot-update.js": "/chunks/oasis/platba.d7b9c7357f63d3a5b75d.hot-update.js", + "/chunks/oasis/platba.a22fd03d833229ca8765.hot-update.js": "/chunks/oasis/platba.a22fd03d833229ca8765.hot-update.js", + "/chunks/oasis/platba.1586fec26eed41a695d2.hot-update.js": "/chunks/oasis/platba.1586fec26eed41a695d2.hot-update.js", + "/chunks/oasis/platba.9a79174527f191ff0b5e.hot-update.js": "/chunks/oasis/platba.9a79174527f191ff0b5e.hot-update.js", + "/chunks/oasis/platba.e5077bc37cb72c3edd7e.hot-update.js": "/chunks/oasis/platba.e5077bc37cb72c3edd7e.hot-update.js", + "/chunks/oasis/platba.986e6b3c9af7ed074912.hot-update.js": "/chunks/oasis/platba.986e6b3c9af7ed074912.hot-update.js", + "/chunks/oasis/platba.b1719d99dc48ed7f5077.hot-update.js": "/chunks/oasis/platba.b1719d99dc48ed7f5077.hot-update.js", + "/chunks/oasis/platba.6724e6452a635403e038.hot-update.js": "/chunks/oasis/platba.6724e6452a635403e038.hot-update.js", + "/js/main.bfcc51c8cbe19d02e689.hot-update.js": "/js/main.bfcc51c8cbe19d02e689.hot-update.js", + "/chunks/oasis/platba.bfcc51c8cbe19d02e689.hot-update.js": "/chunks/oasis/platba.bfcc51c8cbe19d02e689.hot-update.js", + "/chunks/oasis/platba.24a6a7a972761fae8ba1.hot-update.js": "/chunks/oasis/platba.24a6a7a972761fae8ba1.hot-update.js", + "/chunks/oasis/platba.a2302361e8c18757ed61.hot-update.js": "/chunks/oasis/platba.a2302361e8c18757ed61.hot-update.js", + "/chunks/oasis/platba.59c33cfbcba62481c77a.hot-update.js": "/chunks/oasis/platba.59c33cfbcba62481c77a.hot-update.js", + "/chunks/oasis/platba.2654656e07f9c3d6b517.hot-update.js": "/chunks/oasis/platba.2654656e07f9c3d6b517.hot-update.js", + "/chunks/oasis/platba.343235256283a5425feb.hot-update.js": "/chunks/oasis/platba.343235256283a5425feb.hot-update.js", + "/chunks/oasis/platba.d91711ab4e599d95ac40.hot-update.js": "/chunks/oasis/platba.d91711ab4e599d95ac40.hot-update.js", + "/chunks/oasis/platba.7c440bd5167b5f691bc1.hot-update.js": "/chunks/oasis/platba.7c440bd5167b5f691bc1.hot-update.js", + "/chunks/oasis/platba.f78f245efdfd2705115d.hot-update.js": "/chunks/oasis/platba.f78f245efdfd2705115d.hot-update.js", + "/chunks/oasis/platba.520ba6d75a64d6f10fdc.hot-update.js": "/chunks/oasis/platba.520ba6d75a64d6f10fdc.hot-update.js", + "/chunks/oasis/platba.06ace6b4690832e8d596.hot-update.js": "/chunks/oasis/platba.06ace6b4690832e8d596.hot-update.js", + "/chunks/oasis/platba.38a0815c3b0389ce5797.hot-update.js": "/chunks/oasis/platba.38a0815c3b0389ce5797.hot-update.js" } diff --git a/resources/js/Oasis/Pages/CreatePasswordAfterPayment.vue b/resources/js/Oasis/Pages/CreatePasswordAfterPayment.vue new file mode 100644 index 00000000..d4e6c3cd --- /dev/null +++ b/resources/js/Oasis/Pages/CreatePasswordAfterPayment.vue @@ -0,0 +1,171 @@ + + + + + diff --git a/resources/js/Oasis/Pages/SubscriptionRequestPayment.vue b/resources/js/Oasis/Pages/SubscriptionRequestPayment.vue index 4ce9f6f5..a0ce4a05 100644 --- a/resources/js/Oasis/Pages/SubscriptionRequestPayment.vue +++ b/resources/js/Oasis/Pages/SubscriptionRequestPayment.vue @@ -12,7 +12,6 @@
-
{{ $t('page_upgrade_account.section_card') }} @@ -161,7 +160,7 @@ errorMessage: undefined, clientSecret: undefined, isSubmitted: false, - complete: false, + isPayed: false, isLoading: true, isError: false, stripeOptions: { @@ -221,7 +220,7 @@ message: this.$t('toaster.account_upgraded'), }) - // TODO: perform next action + this.$router.push({name: 'CreatePasswordAfterPayment'}) }, errorOrder(error) { @@ -277,6 +276,14 @@ axios.get(`/api/oasis/subscription-request/${this.$route.params.id}`) .then(response => { this.requestedPlan = response.data + + if (response.data.data.attributes.status === 'payed') { + this.$router.push({name: 'CreatePasswordAfterPayment'}) + } + + if (response.data.data.attributes.status === 'logged') { + this.$router.push({name: 'Files'}) + } }) .catch(() => { this.$isSomethingWrong() @@ -487,6 +494,7 @@ .order { display: flex; margin-bottom: 30px; + margin-top: 60px; .steps { flex: 0 0 65%; @@ -505,7 +513,7 @@ .plan-title { text-align: center; max-width: 600px; - margin: 0 auto 80px; + margin: 0 auto; path, line, polyline, rect, circle { color: $theme; diff --git a/resources/js/router.js b/resources/js/router.js index 0c575d6e..88522619 100644 --- a/resources/js/router.js +++ b/resources/js/router.js @@ -19,6 +19,16 @@ const routesOasis = [ title: 'Platba' }, }, + { + name: 'CreatePasswordAfterPayment', + path: '/vytvorit-heslo/:id', + component: () => + import(/* webpackChunkName: "chunks/oasis/platba" */ './Oasis/Pages/CreatePasswordAfterPayment'), + meta: { + requiresAuth: true, + title: 'Vytvorit Heslo' + }, + }, { name: 'Admin', path: '/admin', diff --git a/routes/oasis.php b/routes/oasis.php index 06099868..f45afd80 100644 --- a/routes/oasis.php +++ b/routes/oasis.php @@ -11,4 +11,5 @@ Route::group(['middleware' => 'auth:sanctum', 'prefix' => 'admin'], function () Route::get('/subscription-request/{order}', [SubscriptionController::class, 'get_subscription_request']); Route::get('/subscribe/{order}/setup-intent', [SubscriptionController::class, 'get_setup_intent']); +Route::post('/subscribe/{order}/set-password', [SubscriptionController::class, 'set_password']); Route::post('/subscribe/{order}', [SubscriptionController::class, 'subscribe']);