setup wizard refactoring

This commit is contained in:
Čarodej
2022-04-27 11:42:28 +02:00
parent 39c94473c8
commit 08ee6567bc
21 changed files with 51 additions and 527 deletions

View File

@@ -1,212 +1,15 @@
<?php
return [
'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' => [
'regular' => [
[
'name' => 'section_features',
'value' => 1,
],
[
'name' => 'section_feature_boxes',
'value' => 1,
],
[
'name' => 'section_get_started',
'value' => 1,
],
[
'name' => 'header_title',
'value' => 'Simple <span class="text-theme">&</span> Powerful Personal Cloud Storage',
],
[
'name' => 'header_description',
'value' => 'Your private cloud storage software build on Laravel & Vue.js. No limits & no monthly fees. Truly freedom.',
],
[
'name' => 'features_title',
'value' => 'The Fastest Growing <span class="text-theme">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. Truly 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' => 'get_started_title',
'value' => 'Ready to Get <span class="text-theme">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. Truly freedom.',
],
[
'name' => 'footer_content',
'value' => '© 2022 Simple & Powerful Personal Cloud Storage. Developed by <a href="https://hi5ve.digital" target="_blank">Hi5Ve.Digital</a>',
],
[
'name' => 'allow_homepage',
'value' => 1,
],
[
'name' => 'allowed_adsense',
'value' => 0,
],
[
'name' => 'allowed_recaptcha',
'value' => 0,
],
],
'extended' => [
[
'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 class="text-theme">&</span> Powerful Personal Cloud Storage',
],
[
'name' => 'header_description',
'value' => 'Your private cloud storage software build on Laravel & Vue.js. No limits & no monthly fees. Truly freedom.',
],
[
'name' => 'features_title',
'value' => 'The Fastest Growing <span class="text-theme">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. Truly 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 class="text-theme">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. Truly freedom.',
],
[
'name' => 'get_started_title',
'value' => 'Ready to Get <span class="text-theme">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. Truly freedom.',
],
[
'name' => 'footer_content',
'value' => '© 2022 Simple & Powerful Personal Cloud Storage. Developed by <a href="https://hi5ve.digital" target="_blank" class="text-theme">Hi5Ve.Digital</a>',
],
[
'name' => 'allowed_adsense',
'value' => 0,
],
[
'name' => 'allowed_recaptcha',
'value' => 0,
],
// Subscription
[
'name' => 'paypal_payment_description',
'value' => 'Available PayPal Credit, Debit or Credit Card.',
],
[
'name' => 'paystack_payment_description',
'value' => 'Available Bank Account, USSD, Mobile Money, Apple Pay.',
],
[
'name' => 'stripe_payment_description',
'value' => 'Available credit card or Apple Pay.',
],
[
'name' => 'allowed_registration_bonus',
'value' => 0,
],
[
'name' => 'registration_bonus_amount',
'value' => 0,
],
],
],
];

View File

@@ -1,35 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateWebSocketsStatisticsEntriesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('websockets_statistics_entries', function (Blueprint $table) {
$table->increments('id');
$table->string('app_id');
$table->integer('peak_connection_count');
$table->integer('websocket_message_count');
$table->integer('api_message_count');
$table->nullableTimestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('websockets_statistics_entries');
}
}

View File

@@ -22,6 +22,7 @@ class CreateUsersTable extends Migration
$table->string('password')->nullable();
$table->text('two_factor_secret')->nullable();
$table->text('two_factor_recovery_codes')->nullable();
$table->timestamp('two_factor_confirmed_at')->nullable();
$table->rememberToken();
$table->timestamps();
$table->charset = 'utf8mb4';

View File

@@ -16,6 +16,7 @@ class CreateFilesTable extends Migration
Schema::create('files', function (Blueprint $table) {
$table->uuid('id')->primary()->index();
$table->uuid('user_id')->index();
$table->uuid('creator_id')->nullable();
$table->uuid('parent_id')->nullable();
$table->text('name');
@@ -26,8 +27,6 @@ class CreateFilesTable extends Migration
$table->text('type')->nullable();
$table->enum('author', ['user', 'member', 'visitor'])->default('user');
$table->softDeletes();
$table->timestamps();

View File

@@ -1,35 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreatePagesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('pages', function (Blueprint $table) {
$table->string('slug')->index();
$table->string('title');
$table->boolean('visibility');
$table->longText('content');
$table->charset = 'utf8mb4';
$table->collation = 'utf8mb4_unicode_ci';
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('pages');
}
}

View File

@@ -15,7 +15,7 @@ class CreateExifsTable extends Migration
{
Schema::create('exifs', function (Blueprint $table) {
$table->uuid('id')->primary()->index();
$table->uuid('file_id')->index();
$table->uuid('file_id')->nullable()->index();
$table->timestamp('date_time_original')->nullable();
$table->string('artist')->nullable();

View File

@@ -1,36 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('files', function (Blueprint $table) {
$table->dropColumn('author');
});
Schema::table('files', function (Blueprint $table) {
$table->uuid('creator_id')->after('user_id')->nullable();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('files', function (Blueprint $table) {
$table->dropColumn('creator_id');
});
}
};

View File

@@ -1,34 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('users', function (Blueprint $table) {
$table->timestamp('two_factor_confirmed_at')
->after('two_factor_recovery_codes')
->nullable();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('users', function (Blueprint $table) {
$table->dropColumn('two_factor_confirmed_at');
});
}
};

View File

@@ -1,30 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('exifs', function (Blueprint $table) {
$table->uuid('file_id')->nullable()->change();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
}
};

View File

@@ -1,46 +1,46 @@
{
"/js/main.js": "/js/main.js",
"/chunks/setup-wizard.js": "/chunks/setup-wizard.js?id=7c91a6f589f63dea",
"/chunks/status-check.js": "/chunks/status-check.js?id=616f3efb1b5f727d",
"/chunks/purchase-code.js": "/chunks/purchase-code.js?id=24915fe3bb1fa065",
"/chunks/database.js": "/chunks/database.js?id=e7f662eac4d60379",
"/chunks/environment.js": "/chunks/environment.js?id=bfc233ddb60e5aad",
"/chunks/app-setup.js": "/chunks/app-setup.js?id=b24d57914af8dfb7",
"/chunks/admin-account.js": "/chunks/admin-account.js?id=6cf7678174fb1f12",
"/chunks/shared.js": "/chunks/shared.js?id=e2155db595366b0f",
"/chunks/shared/browser.js": "/chunks/shared/browser.js?id=c7649d1690ac5b02",
"/chunks/shared/single-file.js": "/chunks/shared/single-file.js?id=b640ccae4a4827c4",
"/chunks/shared/authenticate.js": "/chunks/shared/authenticate.js?id=3be7a46e0112a2c9",
"/chunks/not-found.js": "/chunks/not-found.js?id=dfa41bf6cf927137",
"/chunks/temporary-unavailable.js": "/chunks/temporary-unavailable.js?id=f318b02cfb078ba4",
"/chunks/admin.js": "/chunks/admin.js?id=77c1eb3a5f02b2af",
"/chunks/dashboard.js": "/chunks/dashboard.js?id=f80defd9d6b6dac4",
"/chunks/users.js": "/chunks/users.js?id=748e62cd72ca91dd",
"/chunks/user-create.js": "/chunks/user-create.js?id=91219b2443f340f1",
"/chunks/user.js": "/chunks/user.js?id=bb8cde0e06b6a99c",
"/chunks/user-detail.js": "/chunks/user-detail.js?id=d28fa7d46b7a17af",
"/chunks/user-storage.js": "/chunks/user-storage.js?id=5bfce55bbfb89320",
"/chunks/user-password.js": "/chunks/user-password.js?id=8b7b7b3037952102",
"/chunks/user-delete.js": "/chunks/user-delete.js?id=356412dbeead31c2",
"/chunks/app-settings.js": "/chunks/app-settings.js?id=0c61f970281449ce",
"/chunks/app-appearance.js": "/chunks/app-appearance.js?id=4bbd7b9b5ba28914",
"/chunks/app-environment.js": "/chunks/app-environment.js?id=21d8cdfabbd01d08",
"/chunks/app-others.js": "/chunks/app-others.js?id=c8e5d2ae7f4cd275",
"/chunks/app-server.js": "/chunks/app-server.js?id=09bc6fdf42b8d0ac",
"/chunks/app-language.js": "/chunks/app-language.js?id=9e7dba8b4ed61901",
"/chunks/successfully-email-send.js": "/chunks/successfully-email-send.js?id=e84d15ed9bd4f8a1",
"/chunks/sign-in.js": "/chunks/sign-in.js?id=cba0eb089ac06317",
"/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=d3f98d215d4fc216",
"/chunks/create-new-password.js": "/chunks/create-new-password.js?id=63ae1d81b2850c8d",
"/chunks/settings.js": "/chunks/settings.js?id=208ffe968d9ee61f",
"/chunks/profile.js": "/chunks/profile.js?id=4316499b4cccb4a7",
"/chunks/settings-password.js": "/chunks/settings-password.js?id=34ee68509b3365ce",
"/chunks/settings-storage.js": "/chunks/settings-storage.js?id=41d71671c8185cd3",
"/chunks/platform.js": "/chunks/platform.js?id=816e1539a4dc6aa9",
"/chunks/files.js": "/chunks/files.js?id=e866dab51b4a307e",
"/chunks/recent-uploads.js": "/chunks/recent-uploads.js?id=dd0aa2a3009da448",
"/chunks/my-shared-items.js": "/chunks/my-shared-items.js?id=a34d425f18439cca",
"/chunks/trash.js": "/chunks/trash.js?id=7c3baf6498416d93",
"/chunks/setup-wizard.js": "/chunks/setup-wizard.js?id=19a0784e59d768ec",
"/chunks/status-check.js": "/chunks/status-check.js?id=951b690c573510e5",
"/chunks/purchase-code.js": "/chunks/purchase-code.js?id=ba76b9a8adbfdc0b",
"/chunks/database.js": "/chunks/database.js?id=a44a44e6daa14a92",
"/chunks/environment.js": "/chunks/environment.js?id=00bcaa788b606272",
"/chunks/app-setup.js": "/chunks/app-setup.js?id=3455f66a3cf4e87f",
"/chunks/admin-account.js": "/chunks/admin-account.js?id=81cb5eb6de2c0b43",
"/chunks/shared.js": "/chunks/shared.js?id=bceb993df04359d9",
"/chunks/shared/browser.js": "/chunks/shared/browser.js?id=7867c9667578452a",
"/chunks/shared/single-file.js": "/chunks/shared/single-file.js?id=6f8fd6c000e90430",
"/chunks/shared/authenticate.js": "/chunks/shared/authenticate.js?id=b5519d193bce2339",
"/chunks/not-found.js": "/chunks/not-found.js?id=d31bd699138cf828",
"/chunks/temporary-unavailable.js": "/chunks/temporary-unavailable.js?id=26798085f527d955",
"/chunks/admin.js": "/chunks/admin.js?id=0bcbf57228fa5d09",
"/chunks/dashboard.js": "/chunks/dashboard.js?id=8431153cdc5663fc",
"/chunks/users.js": "/chunks/users.js?id=e1dc04b0e402dd27",
"/chunks/user-create.js": "/chunks/user-create.js?id=40254ae98547761e",
"/chunks/user.js": "/chunks/user.js?id=052364b014015a4d",
"/chunks/user-detail.js": "/chunks/user-detail.js?id=fc5475489f0cec6a",
"/chunks/user-storage.js": "/chunks/user-storage.js?id=cd17c66dc9a7bf78",
"/chunks/user-password.js": "/chunks/user-password.js?id=900ae71c3d4199ea",
"/chunks/user-delete.js": "/chunks/user-delete.js?id=a3091617207684e5",
"/chunks/app-settings.js": "/chunks/app-settings.js?id=4ff5c1e5bbb0aed8",
"/chunks/app-appearance.js": "/chunks/app-appearance.js?id=8ba3feb2cc81a2c3",
"/chunks/app-environment.js": "/chunks/app-environment.js?id=d5fbb0ea9249ce7f",
"/chunks/app-others.js": "/chunks/app-others.js?id=f2141c08fb258235",
"/chunks/app-server.js": "/chunks/app-server.js?id=ff66d34e90ff98a0",
"/chunks/app-language.js": "/chunks/app-language.js?id=041070825d222906",
"/chunks/successfully-email-send.js": "/chunks/successfully-email-send.js?id=b11c04d73c59a232",
"/chunks/sign-in.js": "/chunks/sign-in.js?id=2f17cf87141126c8",
"/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=27cda9364b6593d8",
"/chunks/create-new-password.js": "/chunks/create-new-password.js?id=2f0401ee2fc148c4",
"/chunks/settings.js": "/chunks/settings.js?id=3b8e3ced294dc6b2",
"/chunks/profile.js": "/chunks/profile.js?id=5f1e6f1817817716",
"/chunks/settings-password.js": "/chunks/settings-password.js?id=d00bf503d8126dc4",
"/chunks/settings-storage.js": "/chunks/settings-storage.js?id=092e324aad54656b",
"/chunks/platform.js": "/chunks/platform.js?id=9dfb7ec9acf3fade",
"/chunks/files.js": "/chunks/files.js?id=05a249346211c989",
"/chunks/recent-uploads.js": "/chunks/recent-uploads.js?id=ca1063798b010a2d",
"/chunks/my-shared-items.js": "/chunks/my-shared-items.js?id=0a95a97a1640dc8f",
"/chunks/trash.js": "/chunks/trash.js?id=241392bce92e4e7a",
"/css/tailwind.css": "/css/tailwind.css",
"/css/app.css": "/css/app.css"
}

View File

@@ -309,14 +309,13 @@ export default {
axios
.get('/api/admin/settings', {
params: {
column: 'contact_email|google_analytics|default_max_storage_amount|storage_limitation|mimetypes_blacklist|upload_limit|subscriptionType|chunk_size|default_max_team_member',
column: 'google_analytics|default_max_storage_amount|storage_limitation|mimetypes_blacklist|upload_limit|subscriptionType|chunk_size|default_max_team_member',
},
})
.then((response) => {
this.isLoading = false
this.app = {
contactMail: response.data.contact_email,
googleAnalytics: response.data.google_analytics,
defaultStorage: response.data.default_max_storage_amount,
storageLimitation: parseInt(response.data.storage_limitation),

View File

@@ -167,7 +167,6 @@ export default {
formData.append('password', this.admin.password)
formData.append('password_confirmation', this.admin.password_confirmation)
formData.append('license', localStorage.getItem('license'))
formData.append('purchase_code', localStorage.getItem('purchase_code'))
if (this.admin.avatar) formData.append('avatar', this.admin.avatar)

View File

@@ -100,20 +100,8 @@
<div class="card text-left shadow-card">
<FormLabel>Application</FormLabel>
<ValidationProvider tag="div" mode="passive" name="Contact Email" rules="required" v-slot="{ errors }">
<AppInputText title="Contact Email" :error="errors[0]">
<input
class="focus-border-theme input-dark"
v-model="app.contactMail"
placeholder="Type your contact email"
type="email"
:class="{ '!border-rose-600': errors[0] }"
/>
</AppInputText>
</ValidationProvider>
<ValidationProvider tag="div" mode="passive" name="Google Analytics Code" v-slot="{ errors }">
<AppInputText title="Google Analytics Code (optional)" :error="errors[0]">
<AppInputText title="Google Analytics Code (optional)" :error="errors[0]" :is-last="true">
<input
class="focus-border-theme input-dark"
v-model="app.googleAnalytics"
@@ -123,14 +111,6 @@
/>
</AppInputText>
</ValidationProvider>
<AppInputSwitch
title="Allow User Registration"
description="You can disable public registration for new users. You will still able to create new users in administration panel."
:is-last="true"
>
<SwitchInput v-model="app.userRegistration" class="switch" :state="app.userRegistration" />
</AppInputSwitch>
</div>
<div class="card text-left shadow-card">
@@ -139,6 +119,7 @@
<AppInputSwitch
title="Storage Limitation"
description="If this value is off, all users will have infinity storage capacity and you won't be able to charge your users for storage plan."
:is-last="!app.storageLimitation"
>
<SwitchInput v-model="app.storageLimitation" :state="app.storageLimitation" />
</AppInputSwitch>
@@ -154,6 +135,7 @@
v-if="app.storageLimitation"
title="Default Storage Space for Accounts"
:error="errors[0]"
:is-last="true"
>
<input
class="focus-border-theme input-dark"
@@ -166,64 +148,8 @@
/>
</AppInputText>
</ValidationProvider>
<ValidationProvider
tag="div"
mode="passive"
name="Default Storage Space"
rules="required"
v-slot="{ errors }"
>
<AppInputText
v-if="app.teamsDefaultMembers"
title="Max Team Members"
description="Type -1 to set unlimited team members."
:error="errors[0]"
:is-last="true"
>
<input
class="focus-border-theme input-dark"
v-model="app.teamsDefaultMembers"
min="1"
max="999999999"
placeholder="Set default max team members"
type="number"
:class="{'!border-rose-600': errors[0]}"
/>
</AppInputText>
</ValidationProvider>
</div>
<div v-if="isExtended" class="card text-left shadow-card">
<FormLabel>Subscription</FormLabel>
<ValidationProvider
tag="div"
mode="passive"
name="Subscription Type"
rules="required"
v-slot="{ errors }"
>
<AppInputText
:title="$t('Subscription Type')"
description="Choose your preferred subscription system in advance. After installation and any other user registration, you can't change this setting later."
:error="errors[0]"
>
<SelectInput
v-model="app.subscriptionType"
:default="app.subscriptionType"
:options="$store.getters.subscriptionTypes"
:placeholder="$t('Select your subscription type')"
:is-error="errors[0]"
/>
</AppInputText>
</ValidationProvider>
<InfoBox class="!mb-2">
<p>Any other subscription related settings you will be able set up later in admin panel.</p>
</InfoBox>
</div>
<AuthButton
class="w-full justify-center"
icon="chevron-right"
@@ -275,10 +201,8 @@ export default {
data() {
return {
isLoading: false,
isExtended: undefined,
app: {
color: '#00BC7E',
subscriptionType: undefined,
title: undefined,
description: undefined,
logo: undefined,
@@ -286,11 +210,8 @@ export default {
favicon: undefined,
og_image: undefined,
touch_icon: undefined,
contactMail: undefined,
googleAnalytics: undefined,
defaultStorage: 5,
teamsDefaultMembers: 5,
userRegistration: 1,
storageLimitation: 1,
},
}
@@ -316,16 +237,11 @@ export default {
formData.append('color', this.app.color)
formData.append('title', this.app.title)
formData.append('description', this.app.description)
formData.append('contactMail', this.app.contactMail)
formData.append('userRegistration', Boolean(this.app.userRegistration) ? 1 : 0)
formData.append('storageLimitation', Boolean(this.app.storageLimitation) ? 1 : 0)
if (this.app.subscriptionType) formData.append('subscriptionType', this.app.subscriptionType)
if (this.app.googleAnalytics) formData.append('googleAnalytics', this.app.googleAnalytics)
if (this.app.defaultStorage) formData.append('defaultStorage', this.app.defaultStorage)
if (this.app.teamsDefaultMembers) formData.append('teamsDefaultMembers', this.app.teamsDefaultMembers)
if (this.app.logo) formData.append('logo', this.app.logo)
@@ -357,8 +273,6 @@ export default {
created() {
this.$scrollTop()
this.isExtended = localStorage.getItem('license') === 'Extended'
if (this.$root.$data.config.isSetupWizardDebug) {
this.app.subscriptionType = 'metered'
this.app.title = 'VueFileManager'
@@ -366,9 +280,7 @@ export default {
this.app.contactMail = 'howdy@hi5ve.digital'
this.app.googleAnalytics = 'UA-123456789'
this.app.defaultStorage = '5'
this.app.userRegistration = 1
this.app.storageLimitation = 1
this.app.userVerification = 0
}
},
}

View File

@@ -125,7 +125,7 @@
</AppInputText>
</ValidationProvider>
<InfoBox v-if="isError" type="error" style="margin-bottom: 10px">
<InfoBox v-if="isError" type="error" class="!mb-0 mt-7">
<p>We couldn't establish database connection. Please double check your database credentials.</p>
<br />
<p>Detailed error: {{ errorMessage }}</p>

View File

@@ -113,7 +113,6 @@ export default {
],
storage: undefined,
mail: undefined,
broadcast: undefined,
}
},
methods: {
@@ -134,7 +133,6 @@ export default {
// Send request to get verify account
axios
.post('/api/setup/environment-setup', {
broadcast: this.broadcast,
environment: this.environment,
storage: this.storage,
mailDriver: this.mail.driver,

View File

@@ -13,11 +13,11 @@
/>
</Headline>
<a href="https://codecanyon.net/item/vue-file-manager-with-laravel-backend/25815986">
<!--<a href="https://codecanyon.net/item/vue-file-manager-with-laravel-backend/25815986">
<AlertBox color="rose" class="text-left">
<p class="text-rose-500">Please make sure you have only legal copy of VueFileManager <b class="text-rose-500 underline">purchased from CodeCanyon</b>. Any illegal copy can contain malicious software, bugs and others security issues which exposes your files to abuse.</p>
</AlertBox>
</a>
</a>-->
<!--PHP version and ini check-->
<div class="card shadow-card">

View File

@@ -782,10 +782,6 @@ class SetupDevEnvironment extends Command
'name' => 'google_analytics',
'value' => '',
],
[
'name' => 'contact_email',
'value' => '',
],
[
'name' => 'registration',
'value' => 1,

View File

@@ -122,10 +122,6 @@ class SetupProdEnvironment extends Command
'name' => 'google_analytics',
'value' => null,
],
[
'name' => 'contact_email',
'value' => null,
],
[
'name' => 'storage_limitation',
'value' => 1,

View File

@@ -60,10 +60,6 @@ class StoreAppSettingsController extends Controller
'name' => 'google_analytics',
'value' => $request->input('googleAnalytics'),
],
[
'name' => 'contact_email',
'value' => $request->input('contactMail'),
],
[
'name' => 'storage_limitation',
'value' => $request->input('storageLimitation'),

View File

@@ -28,7 +28,6 @@ class StoreAppSetupRequest extends FormRequest
'logo' => 'sometimes|file',
'logo_horizontal' => 'sometimes|file',
'favicon' => 'sometimes|file',
'contactMail' => 'required|email',
'googleAnalytics' => 'sometimes|string',
'defaultStorage' => 'sometimes|digits_between:1,9',
'storageLimitation' => 'required|boolean',

View File

@@ -92,10 +92,6 @@ class SetupWizardTest extends TestCase
'name' => 'google_analytics',
'value' => 'UA-12345678-1',
])
->assertDatabaseHas('settings', [
'name' => 'contact_email',
'value' => 'john@doe.com',
])
->assertDatabaseHas('settings', [
'name' => 'default_max_storage_amount',
'value' => '10',