mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-05 18:23:48 +00:00
v1.7 beta.3
This commit is contained in:
@@ -64,10 +64,10 @@ class AppFunctionsController extends Controller
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Get settings
|
// Get settings
|
||||||
$setup_wizard_success = Setting::where('name', 'setup_wizard_success')->first();
|
$upgraded = Setting::where('name', 'latest_upgrade')->first();
|
||||||
|
|
||||||
// Get connection string
|
// Get connection string
|
||||||
if (! $setup_wizard_success) {
|
if ($upgraded && $upgraded->value !== '1.7') {
|
||||||
$connection = 'quiet-update';
|
$connection = 'quiet-update';
|
||||||
} else {
|
} else {
|
||||||
$connection = $this->get_setup_status();
|
$connection = $this->get_setup_status();
|
||||||
|
|||||||
@@ -10,6 +10,7 @@ use App\Http\Requests\SetupWizard\StoreEnvironmentSetupRequest;
|
|||||||
use App\Http\Requests\SetupWizard\StoreStripeBillingRequest;
|
use App\Http\Requests\SetupWizard\StoreStripeBillingRequest;
|
||||||
use App\Http\Requests\SetupWizard\StoreStripeCredentialsRequest;
|
use App\Http\Requests\SetupWizard\StoreStripeCredentialsRequest;
|
||||||
use App\Http\Requests\SetupWizard\StoreStripePlansRequest;
|
use App\Http\Requests\SetupWizard\StoreStripePlansRequest;
|
||||||
|
use App\Page;
|
||||||
use App\Services\StripeService;
|
use App\Services\StripeService;
|
||||||
use App\Setting;
|
use App\Setting;
|
||||||
use App\User;
|
use App\User;
|
||||||
@@ -19,9 +20,11 @@ use Cartalyst\Stripe\Exception\UnauthorizedException;
|
|||||||
use Doctrine\DBAL\Driver\PDOException;
|
use Doctrine\DBAL\Driver\PDOException;
|
||||||
use Illuminate\Contracts\Routing\ResponseFactory;
|
use Illuminate\Contracts\Routing\ResponseFactory;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
use Illuminate\Support\Facades\DB;
|
||||||
use Illuminate\Support\Facades\Hash;
|
use Illuminate\Support\Facades\Hash;
|
||||||
use Illuminate\Support\Facades\Http;
|
use Illuminate\Support\Facades\Http;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
|
use Schema;
|
||||||
use Stripe;
|
use Stripe;
|
||||||
use Symfony\Component\HttpKernel\Exception\HttpException;
|
use Symfony\Component\HttpKernel\Exception\HttpException;
|
||||||
|
|
||||||
@@ -33,7 +36,6 @@ class SetupWizardController extends Controller
|
|||||||
public function __construct(StripeService $stripe)
|
public function __construct(StripeService $stripe)
|
||||||
{
|
{
|
||||||
$this->stripe = $stripe;
|
$this->stripe = $stripe;
|
||||||
$this->setup_done = Setting::where('name', 'setup_wizard_success')->first();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -45,7 +47,7 @@ class SetupWizardController extends Controller
|
|||||||
public function verify_purchase_code(Request $request)
|
public function verify_purchase_code(Request $request)
|
||||||
{
|
{
|
||||||
// Check setup status
|
// Check setup status
|
||||||
if ($this->setup_done) abort(410, 'Gone');
|
if ($this->get_setup_status()) abort(410, 'Gone');
|
||||||
|
|
||||||
// Verify purchase code
|
// Verify purchase code
|
||||||
$response = Http::get('https://verify.vuefilemanager.com/api/verify-code/' . $request->purchaseCode);
|
$response = Http::get('https://verify.vuefilemanager.com/api/verify-code/' . $request->purchaseCode);
|
||||||
@@ -66,7 +68,7 @@ class SetupWizardController extends Controller
|
|||||||
public function setup_database(StoreDatabaseCredentialsRequest $request)
|
public function setup_database(StoreDatabaseCredentialsRequest $request)
|
||||||
{
|
{
|
||||||
// Check setup status
|
// Check setup status
|
||||||
if ($this->setup_done) abort(410, 'Gone');
|
if ($this->get_setup_status()) abort(410, 'Gone');
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// Set temporary database connection
|
// Set temporary database connection
|
||||||
@@ -117,7 +119,6 @@ class SetupWizardController extends Controller
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Clear cache
|
// Clear cache
|
||||||
//Artisan::call('config:clear');
|
|
||||||
Artisan::call('config:cache');
|
Artisan::call('config:cache');
|
||||||
|
|
||||||
// Set up application
|
// Set up application
|
||||||
@@ -141,7 +142,7 @@ class SetupWizardController extends Controller
|
|||||||
public function store_stripe_credentials(StoreStripeCredentialsRequest $request)
|
public function store_stripe_credentials(StoreStripeCredentialsRequest $request)
|
||||||
{
|
{
|
||||||
// Check setup status
|
// Check setup status
|
||||||
if ($this->setup_done) abort(410, 'Gone');
|
if ($this->get_setup_status()) abort(410, 'Gone');
|
||||||
|
|
||||||
// Create stripe instance
|
// Create stripe instance
|
||||||
$stripe = Stripe::make($request->secret, '2020-03-02');
|
$stripe = Stripe::make($request->secret, '2020-03-02');
|
||||||
@@ -195,7 +196,7 @@ class SetupWizardController extends Controller
|
|||||||
public function store_stripe_billings(StoreStripeBillingRequest $request)
|
public function store_stripe_billings(StoreStripeBillingRequest $request)
|
||||||
{
|
{
|
||||||
// Check setup status
|
// Check setup status
|
||||||
if ($this->setup_done) abort(410, 'Gone');
|
if ($this->get_setup_status()) abort(410, 'Gone');
|
||||||
|
|
||||||
// Get options
|
// Get options
|
||||||
$settings = collect([
|
$settings = collect([
|
||||||
@@ -239,7 +240,6 @@ class SetupWizardController extends Controller
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Clear cache
|
// Clear cache
|
||||||
//Artisan::call('config:clear');
|
|
||||||
Artisan::call('config:cache');
|
Artisan::call('config:cache');
|
||||||
|
|
||||||
return response('Done', 200);
|
return response('Done', 200);
|
||||||
@@ -253,7 +253,7 @@ class SetupWizardController extends Controller
|
|||||||
public function store_stripe_plans(StoreStripePlansRequest $request)
|
public function store_stripe_plans(StoreStripePlansRequest $request)
|
||||||
{
|
{
|
||||||
// Check setup status
|
// Check setup status
|
||||||
if ($this->setup_done) abort(410, 'Gone');
|
if ($this->get_setup_status()) abort(410, 'Gone');
|
||||||
|
|
||||||
foreach ($request->input('plans') as $plan) {
|
foreach ($request->input('plans') as $plan) {
|
||||||
$this->stripe->createPlan($plan);
|
$this->stripe->createPlan($plan);
|
||||||
@@ -269,7 +269,7 @@ class SetupWizardController extends Controller
|
|||||||
public function store_environment_setup(StoreEnvironmentSetupRequest $request)
|
public function store_environment_setup(StoreEnvironmentSetupRequest $request)
|
||||||
{
|
{
|
||||||
// Check setup status
|
// Check setup status
|
||||||
if ($this->setup_done) abort(410, 'Gone');
|
if ($this->get_setup_status()) abort(410, 'Gone');
|
||||||
|
|
||||||
$storage_driver = $request->input('storage.driver');
|
$storage_driver = $request->input('storage.driver');
|
||||||
|
|
||||||
@@ -455,7 +455,7 @@ class SetupWizardController extends Controller
|
|||||||
public function store_app_settings(StoreAppSetupRequest $request)
|
public function store_app_settings(StoreAppSetupRequest $request)
|
||||||
{
|
{
|
||||||
// Check setup status
|
// Check setup status
|
||||||
if ($this->setup_done) abort(410, 'Gone');
|
if ($this->get_setup_status()) abort(410, 'Gone');
|
||||||
|
|
||||||
// Store Logo
|
// Store Logo
|
||||||
if ($request->hasFile('logo')) {
|
if ($request->hasFile('logo')) {
|
||||||
@@ -533,7 +533,7 @@ class SetupWizardController extends Controller
|
|||||||
public function create_admin_account(Request $request)
|
public function create_admin_account(Request $request)
|
||||||
{
|
{
|
||||||
// Check setup status
|
// Check setup status
|
||||||
if ($this->setup_done) abort(410, 'Gone');
|
if ($this->get_setup_status()) abort(410, 'Gone');
|
||||||
|
|
||||||
// Validate request
|
// Validate request
|
||||||
$request->validate([
|
$request->validate([
|
||||||
@@ -589,13 +589,16 @@ class SetupWizardController extends Controller
|
|||||||
// Create legal pages and index content
|
// Create legal pages and index content
|
||||||
if ($request->license === 'Extended') {
|
if ($request->license === 'Extended') {
|
||||||
|
|
||||||
Artisan::call('db:seed --class=PageSeeder', [
|
$pages = collect(config('vuefilemanager.pages'));
|
||||||
'--force' => true
|
$content = collect(config('vuefilemanager.content'));
|
||||||
]);
|
|
||||||
|
|
||||||
Artisan::call('db:seed --class=ContentSeeder', [
|
$content->each(function ($content) {
|
||||||
'--force' => true
|
Setting::updateOrCreate($content);
|
||||||
]);
|
});
|
||||||
|
|
||||||
|
$pages->each(function ($page) {
|
||||||
|
Page::updateOrCreate($page);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Retrieve access token
|
// Retrieve access token
|
||||||
@@ -618,7 +621,9 @@ class SetupWizardController extends Controller
|
|||||||
private function set_up_application()
|
private function set_up_application()
|
||||||
{
|
{
|
||||||
// Generate app key
|
// Generate app key
|
||||||
Artisan::call('key:generate');
|
Artisan::call('key:generate', [
|
||||||
|
'--force' => true
|
||||||
|
]);
|
||||||
|
|
||||||
// Migrate database
|
// Migrate database
|
||||||
Artisan::call('migrate:fresh', [
|
Artisan::call('migrate:fresh', [
|
||||||
@@ -669,4 +674,24 @@ class SetupWizardController extends Controller
|
|||||||
|
|
||||||
return Request::create(url('/oauth/token'), 'POST', $request->all());
|
return Request::create(url('/oauth/token'), 'POST', $request->all());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get setup wizard status
|
||||||
|
*
|
||||||
|
* @return |null
|
||||||
|
*/
|
||||||
|
private function get_setup_status()
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
// Check database connections
|
||||||
|
DB::getPdo();
|
||||||
|
|
||||||
|
// Get setup_wizard status
|
||||||
|
return Schema::hasTable('settings') ? Setting::where('name', 'setup_wizard_success')->first() : false;
|
||||||
|
|
||||||
|
} catch (PDOException $e) {
|
||||||
|
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
namespace App\Http\Controllers\General;
|
namespace App\Http\Controllers\General;
|
||||||
|
|
||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
|
use App\Page;
|
||||||
use App\Setting;
|
use App\Setting;
|
||||||
use Artisan;
|
use Artisan;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
@@ -24,13 +25,16 @@ class UpgradeAppController extends Controller
|
|||||||
// Create legal pages and index content
|
// Create legal pages and index content
|
||||||
if ($request->license === 'Extended') {
|
if ($request->license === 'Extended') {
|
||||||
|
|
||||||
Artisan::call('db:seed --class=PageSeeder', [
|
$pages = collect(config('vuefilemanager.pages'));
|
||||||
'--force' => true
|
$content = collect(config('vuefilemanager.content'));
|
||||||
]);
|
|
||||||
|
|
||||||
Artisan::call('db:seed --class=ContentSeeder', [
|
$content->each(function ($content) {
|
||||||
'--force' => true
|
Setting::updateOrCreate($content);
|
||||||
]);
|
});
|
||||||
|
|
||||||
|
$pages->each(function ($page) {
|
||||||
|
Page::updateOrCreate($page);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
// Store Logo
|
// Store Logo
|
||||||
|
|||||||
@@ -3,4 +3,104 @@
|
|||||||
return [
|
return [
|
||||||
|
|
||||||
'version' => '1.7',
|
'version' => '1.7',
|
||||||
|
|
||||||
|
'pages' => [
|
||||||
|
[
|
||||||
|
'visibility' => 1,
|
||||||
|
'title' => 'Terms of Service',
|
||||||
|
'slug' => 'terms-of-service',
|
||||||
|
'content' => 'Laoreet cum hendrerit iaculis arcu phasellus congue et elementum, pharetra risus imperdiet aptent posuere rutrum parturient blandit, dapibus tellus ridiculus potenti aliquam sociis turpis. Nullam commodo eget laoreet risus cursus vel placerat, in dapibus sociis gravida faucibus sodales, fringilla potenti elit semper iaculis ullamcorper. Dignissim vulputate pretium montes pellentesque mollis, consectetur adipiscing curabitur semper sem rhoncus, litora viverra curae proin.',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'visibility' => 1,
|
||||||
|
'title' => 'Privacy Policy',
|
||||||
|
'slug' => 'privacy-policy',
|
||||||
|
'content' => 'Sit orci justo augue maecenas laoreet consectetur natoque magnis in viverra sagittis, himenaeos urna facilisis mus proin primis diam accumsan tristique inceptos. Primis quisque posuere sit praesent lobortis feugiat semper convallis facilisis, vivamus gravida ligula nostra curae eu donec duis parturient senectus, arcu dolor viverra penatibus natoque cum nisi commodo. Litora sociis mauris justo nullam suspendisse mattis maecenas nascetur congue phasellus cras ultricies posuere donec, dapibus egestas diam lacus ornare montes senectus tincidunt eu taciti sed consequat.',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'visibility' => 1,
|
||||||
|
'title' => 'Cookie Policy',
|
||||||
|
'slug' => 'cookie-policy',
|
||||||
|
'content' => 'Metus penatibus ligula dolor natoque non habitasse laoreet facilisis, libero vivamus eget semper vulputate interdum integer, phasellus lorem enim blandit consectetur nullam sollicitudin. Hendrerit interdum luctus ut in molestie himenaeos eros cum laoreet parturient est, eu lectus hac et netus viverra dictumst congue elit sem senectus litora, fames scelerisque adipiscing inceptos fringilla montes sociosqu suscipit auctor potenti. Elementum lacus vulputate viverra ac morbi ligula ipsum facilisi, sit eu imperdiet lacinia congue dis vitae.',
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
|
'content' => [
|
||||||
|
[
|
||||||
|
'name' => 'section_features',
|
||||||
|
'value' => '1',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => 'section_feature_boxes',
|
||||||
|
'value' => '1',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => 'section_pricing_content',
|
||||||
|
'value' => '1',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => 'section_get_started',
|
||||||
|
'value' => '1',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => 'header_title',
|
||||||
|
'value' => 'Simple <span style="color: #41B883">&</span> Powerfull Personal Cloud Storage',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => 'header_description',
|
||||||
|
'value' => 'Your private cloud storage software build on Laravel & Vue.js. No limits & no monthly fees. Trully freedom.',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => 'features_title',
|
||||||
|
'value' => 'The Fastest Growing <span style="color: #41B883">File Manager</span> on the CodeCanyon Market',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => 'features_description',
|
||||||
|
'value' => 'Your private cloud storage software build on Laravel & Vue.js. No limits & no monthly fees. Trully freedom.',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => 'feature_title_1',
|
||||||
|
'value' => 'Truly Freedom',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => 'feature_description_1',
|
||||||
|
'value' => 'You have full control over VueFileManager, no third authorities will control your service or usage, only you.',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => 'feature_title_2',
|
||||||
|
'value' => 'The Sky is the Limit',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => 'feature_description_2',
|
||||||
|
'value' => 'VueFileManager is cloud storage software. You have to install and running application on your own server hosting.',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => 'feature_title_3',
|
||||||
|
'value' => 'No Monthly Fees',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => 'feature_description_3',
|
||||||
|
'value' => 'When you running VueFileManager on your own server hosting, anybody can\'t control your content or resell your user data. Your data is safe.',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => 'pricing_title',
|
||||||
|
'value' => 'Pick the <span style="color: #41B883;">Best Plan</span> For Your Needs',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => 'pricing_description',
|
||||||
|
'value' => 'Your private cloud storage software build on Laravel & Vue.js. No limits & no monthly fees. Trully freedom.',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => 'get_started_title',
|
||||||
|
'value' => 'Ready to Get <span style="color: #41B883">Started</span><br> With Us?',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => 'get_started_description',
|
||||||
|
'value' => 'Your private cloud storage software build on Laravel & Vue.js. No limits & no monthly fees. Trully freedom.',
|
||||||
|
],
|
||||||
|
[
|
||||||
|
'name' => 'footer_content',
|
||||||
|
'value' => '© 2020 Simple & Powerfull Personal Cloud Storage. Developed by <a href="https://hi5ve.digital" target="_blank">Hi5Ve.Digital</a>',
|
||||||
|
],
|
||||||
|
],
|
||||||
];
|
];
|
||||||
2
public/js/main.js
vendored
2
public/js/main.js
vendored
File diff suppressed because one or more lines are too long
@@ -59,6 +59,12 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div class="form-group" v-if="isError">
|
||||||
|
<InfoBox type="error" style="margin-top: 40px">
|
||||||
|
<p>{{ errorMessage }}</p>
|
||||||
|
</InfoBox>
|
||||||
|
</div>
|
||||||
|
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<ButtonBase :disabled="isLoading" :loading="isLoading" button-style="theme" type="submit">
|
<ButtonBase :disabled="isLoading" :loading="isLoading" button-style="theme" type="submit">
|
||||||
{{ $t('admin_page_plans.create_plan_button') }}
|
{{ $t('admin_page_plans.create_plan_button') }}
|
||||||
@@ -79,6 +85,7 @@
|
|||||||
import SectionTitle from '@/components/Others/SectionTitle'
|
import SectionTitle from '@/components/Others/SectionTitle'
|
||||||
import ButtonBase from '@/components/FilesView/ButtonBase'
|
import ButtonBase from '@/components/FilesView/ButtonBase'
|
||||||
import PageHeader from '@/components/Others/PageHeader'
|
import PageHeader from '@/components/Others/PageHeader'
|
||||||
|
import InfoBox from '@/components/Others/Forms/InfoBox'
|
||||||
import {required} from 'vee-validate/dist/rules'
|
import {required} from 'vee-validate/dist/rules'
|
||||||
import {mapGetters} from 'vuex'
|
import {mapGetters} from 'vuex'
|
||||||
import {events} from "@/bus"
|
import {events} from "@/bus"
|
||||||
@@ -97,10 +104,13 @@
|
|||||||
PageHeader,
|
PageHeader,
|
||||||
FormLabel,
|
FormLabel,
|
||||||
required,
|
required,
|
||||||
|
InfoBox,
|
||||||
},
|
},
|
||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
isLoading: false,
|
isLoading: false,
|
||||||
|
errorMessage: '',
|
||||||
|
isError: false,
|
||||||
plan: {
|
plan: {
|
||||||
name: '',
|
name: '',
|
||||||
price: '',
|
price: '',
|
||||||
@@ -141,20 +151,16 @@
|
|||||||
// Validation errors
|
// Validation errors
|
||||||
if (error.response.status == 422) {
|
if (error.response.status == 422) {
|
||||||
|
|
||||||
// Password validation error
|
|
||||||
if (error.response.data.errors['storage_capacity']) {
|
if (error.response.data.errors['storage_capacity']) {
|
||||||
|
|
||||||
this.$refs.createPlan.setErrors({
|
this.$refs.createPlan.setErrors({
|
||||||
'storage capacity': this.$t('errors.capacity_digit')
|
'storage capacity': this.$t('errors.capacity_digit')
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
if (error.response.status == 500) {
|
||||||
|
this.isError = true
|
||||||
events.$emit('alert:open', {
|
this.errorMessage = error.response.data.message
|
||||||
title: this.$t('popup_error.title'),
|
|
||||||
message: this.$t('popup_error.message'),
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}).finally(() => {
|
}).finally(() => {
|
||||||
|
|||||||
@@ -156,7 +156,6 @@
|
|||||||
})
|
})
|
||||||
.catch(error => {
|
.catch(error => {
|
||||||
|
|
||||||
|
|
||||||
if (error.response.status == 401) {
|
if (error.response.status == 401) {
|
||||||
|
|
||||||
if (error.response.data.error === 'invalid_client') {
|
if (error.response.data.error === 'invalid_client') {
|
||||||
|
|||||||
@@ -74,11 +74,14 @@
|
|||||||
</ButtonBase>
|
</ButtonBase>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<InfoBox v-if="isError" type="error" style="margin-top: 40px">
|
||||||
|
<p>{{ errorMessage }}</p>
|
||||||
|
</InfoBox>
|
||||||
|
|
||||||
<div class="submit-wrapper">
|
<div class="submit-wrapper">
|
||||||
<AuthButton icon="chevron-right" :text="submitButtonText" :loading="isLoading"
|
<AuthButton icon="chevron-right" :text="submitButtonText" :loading="isLoading"
|
||||||
:disabled="isLoading"/>
|
:disabled="isLoading"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</ValidationObserver>
|
</ValidationObserver>
|
||||||
</AuthContent>
|
</AuthContent>
|
||||||
</AuthContentWrapper>
|
</AuthContentWrapper>
|
||||||
@@ -123,6 +126,8 @@
|
|||||||
data() {
|
data() {
|
||||||
return {
|
return {
|
||||||
isLoading: false,
|
isLoading: false,
|
||||||
|
isError: false,
|
||||||
|
errorMessage: '',
|
||||||
subscriptionPlans: [
|
subscriptionPlans: [
|
||||||
{
|
{
|
||||||
id: 1,
|
id: 1,
|
||||||
@@ -147,23 +152,27 @@
|
|||||||
|
|
||||||
// Start loading
|
// Start loading
|
||||||
this.isLoading = true
|
this.isLoading = true
|
||||||
|
this.isError = false
|
||||||
|
|
||||||
// Send request to get verify account
|
// Send request to get verify account
|
||||||
axios
|
axios
|
||||||
.post('/api/setup/stripe-plans', {
|
.post('/api/setup/stripe-plans', {
|
||||||
plans: this.subscriptionPlans
|
plans: this.subscriptionPlans
|
||||||
})
|
})
|
||||||
.then(response => {
|
.then(() => {
|
||||||
|
|
||||||
// End loading
|
|
||||||
this.isLoading = false
|
|
||||||
|
|
||||||
// Redirect to next step
|
// Redirect to next step
|
||||||
this.$router.push({name: 'EnvironmentSetup'})
|
this.$router.push({name: 'EnvironmentSetup'})
|
||||||
})
|
})
|
||||||
.catch(error => {
|
.catch(error => {
|
||||||
|
|
||||||
// End loading
|
if (error.response.status = 500) {
|
||||||
|
this.isError = true
|
||||||
|
this.errorMessage = error.response.data.message
|
||||||
|
}
|
||||||
|
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
this.isLoading = false
|
this.isLoading = false
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -11,8 +11,8 @@
|
|||||||
...mapGetters(['config']),
|
...mapGetters(['config']),
|
||||||
},
|
},
|
||||||
mounted() {
|
mounted() {
|
||||||
if (this.config.installation === 'setup-done' || this.config.installation === 'quiet-update')
|
//if (this.config.installation === 'setup-done' || this.config.installation === 'quiet-update')
|
||||||
this.$router.push({name: 'SignIn'})
|
//this.$router.push({name: 'SignIn'})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -1 +0,0 @@
|
|||||||
9999999999a:2:{i:0;a:2:{s:4:"plan";a:20:{s:2:"id";s:17:"professional-pack";s:6:"object";s:4:"plan";s:6:"active";b:1;s:15:"aggregate_usage";N;s:6:"amount";i:1499;s:14:"amount_decimal";s:4:"1499";s:14:"billing_scheme";s:8:"per_unit";s:7:"created";i:1594824464;s:8:"currency";s:3:"gbp";s:8:"interval";s:3:"day";s:14:"interval_count";i:1;s:8:"livemode";b:0;s:8:"metadata";a:0:{}s:8:"nickname";N;s:7:"product";s:19:"prod_HeUtX49eUU2mjk";s:5:"tiers";N;s:10:"tiers_mode";N;s:15:"transform_usage";N;s:17:"trial_period_days";N;s:10:"usage_type";s:8:"licensed";}s:7:"product";a:14:{s:2:"id";s:19:"prod_HeUtX49eUU2mjk";s:6:"object";s:7:"product";s:6:"active";b:1;s:10:"attributes";a:0:{}s:7:"created";i:1594824463;s:11:"description";s:26:"The best for professionals";s:6:"images";a:0:{}s:8:"livemode";b:0;s:8:"metadata";a:1:{s:8:"capacity";s:3:"500";}s:4:"name";s:17:"Professional Pack";s:20:"statement_descriptor";N;s:4:"type";s:7:"service";s:10:"unit_label";N;s:7:"updated";i:1594824464;}}i:1;a:2:{s:4:"plan";a:20:{s:2:"id";s:12:"starter-pack";s:6:"object";s:4:"plan";s:6:"active";b:1;s:15:"aggregate_usage";N;s:6:"amount";i:999;s:14:"amount_decimal";s:3:"999";s:14:"billing_scheme";s:8:"per_unit";s:7:"created";i:1594824411;s:8:"currency";s:3:"gbp";s:8:"interval";s:3:"day";s:14:"interval_count";i:1;s:8:"livemode";b:0;s:8:"metadata";a:0:{}s:8:"nickname";N;s:7:"product";s:19:"prod_HeUsSOeOkv4nE9";s:5:"tiers";N;s:10:"tiers_mode";N;s:15:"transform_usage";N;s:17:"trial_period_days";N;s:10:"usage_type";s:8:"licensed";}s:7:"product";a:14:{s:2:"id";s:19:"prod_HeUsSOeOkv4nE9";s:6:"object";s:7:"product";s:6:"active";b:1;s:10:"attributes";a:0:{}s:7:"created";i:1594824410;s:11:"description";s:18:"the best for start";s:6:"images";a:0:{}s:8:"livemode";b:0;s:8:"metadata";a:1:{s:8:"capacity";s:3:"200";}s:4:"name";s:12:"Starter Pack";s:20:"statement_descriptor";N;s:4:"type";s:7:"service";s:10:"unit_label";N;s:7:"updated";i:1594824516;}}}
|
|
||||||
Binary file not shown.
Reference in New Issue
Block a user