This commit is contained in:
Čarodej
2022-03-17 10:06:29 +01:00
parent 9c040cfe48
commit e8f59ef0a9
7 changed files with 174 additions and 152 deletions

View File

@@ -1,75 +1,75 @@
{
"/js/main.js": "/js/main.js",
"/chunks/request.js": "/chunks/request.js?id=52635746deeab2c5",
"/chunks/request-upload.js": "/chunks/request-upload.js?id=2205184a904bf971",
"/chunks/setup-wizard.js": "/chunks/setup-wizard.js?id=3c2fc454c3fce8d2",
"/chunks/status-check.js": "/chunks/status-check.js?id=13a266918abf0cf8",
"/chunks/purchase-code.js": "/chunks/purchase-code.js?id=c1df85c34d7e9521",
"/chunks/database.js": "/chunks/database.js?id=aa0c55a4ea464e38",
"/chunks/environment-setup.js": "/chunks/environment-setup.js?id=e789154b7e7a051e",
"/chunks/app-setup.js": "/chunks/app-setup.js?id=19a9aefba0671fcc",
"/chunks/admin-account.js": "/chunks/admin-account.js?id=4efb7c4e0b664b06",
"/chunks/shared.js": "/chunks/shared.js?id=84d56595882a8c1c",
"/chunks/shared/browser.js": "/chunks/shared/browser.js?id=ef01f0a8d6866da1",
"/chunks/shared/single-file.js": "/chunks/shared/single-file.js?id=fe8e8538a05aeeb1",
"/chunks/shared/authenticate.js": "/chunks/shared/authenticate.js?id=2d2ccd3ef9765d65",
"/chunks/not-found.js": "/chunks/not-found.js?id=3ff463727211228e",
"/chunks/temporary-unavailable.js": "/chunks/temporary-unavailable.js?id=ba49ed84eaeb6e76",
"/chunks/admin.js": "/chunks/admin.js?id=4e8b57aff98aee6c",
"/chunks/dashboard.js": "/chunks/dashboard.js?id=da6cc2ad31b3185a",
"/chunks/invoices.js": "/chunks/invoices.js?id=da62e39ad5ef9bd7",
"/chunks/subscriptions.js": "/chunks/subscriptions.js?id=d0c8277ed5e2b48c",
"/chunks/pages.js": "/chunks/pages.js?id=979ca7c16b74efce",
"/chunks/page-edit.js": "/chunks/page-edit.js?id=2af8302e98e5ec3f",
"/chunks/plans.js": "/chunks/plans.js?id=f4533ad79d4560a5",
"/chunks/users.js": "/chunks/users.js?id=320784137a3aa296",
"/chunks/user-create.js": "/chunks/user-create.js?id=95a4b36c10e43795",
"/chunks/plan-create/fixed.js": "/chunks/plan-create/fixed.js?id=17e80e7c9eb00953",
"/chunks/plan-create/metered.js": "/chunks/plan-create/metered.js?id=f5064e50ce6ba1b5",
"/chunks/user.js": "/chunks/user.js?id=77e59bd628da3cb4",
"/chunks/user-detail.js": "/chunks/user-detail.js?id=ebbbd514e30630e0",
"/chunks/user-storage.js": "/chunks/user-storage.js?id=57856a54644a24d3",
"/chunks/user-subscription.js": "/chunks/user-subscription.js?id=0be0c55ddd5d358e",
"/chunks/user-password.js": "/chunks/user-password.js?id=d24f0c4afc9b2220",
"/chunks/user-delete.js": "/chunks/user-delete.js?id=47d44b2f8e4e620c",
"/chunks/plan.js": "/chunks/plan.js?id=2444730c1a0a42fc",
"/chunks/plan-subscribers.js": "/chunks/plan-subscribers.js?id=a9f9d70e279b7dcc",
"/chunks/plan-settings.js": "/chunks/plan-settings.js?id=626f93c13e875893",
"/chunks/plan-delete.js": "/chunks/plan-delete.js?id=c3f6973ecd47dcc1",
"/chunks/payments.js": "/chunks/payments.js?id=5ea275fedd8d638a",
"/chunks/payments/billings.js": "/chunks/payments/billings.js?id=8b5846c43c3b335c",
"/chunks/payments/settings.js": "/chunks/payments/settings.js?id=52e3a8f53a1827ad",
"/chunks/app-settings.js": "/chunks/app-settings.js?id=b0ca7cdad56e46fd",
"/chunks/app-appearance.js": "/chunks/app-appearance.js?id=79521524b58b6120",
"/chunks/app-index.js": "/chunks/app-index.js?id=cd54d602a5122a40",
"/chunks/app-environment.js": "/chunks/app-environment.js?id=059db5c5ff25f7a5",
"/chunks/app-others.js": "/chunks/app-others.js?id=9629c9ca65e7c92e",
"/chunks/app-sign-in-out.js": "/chunks/app-sign-in-out.js?id=9e94b765b03347ca",
"/chunks/app-adsense.js": "/chunks/app-adsense.js?id=c4c4cda03202a49a",
"/chunks/app-server.js": "/chunks/app-server.js?id=4a099ee9d6979096",
"/chunks/app-language.js": "/chunks/app-language.js?id=4c84c957ec474ca5",
"/chunks/homepage.js": "/chunks/homepage.js?id=20e686e79d1f827a",
"/chunks/dynamic-page.js": "/chunks/dynamic-page.js?id=bbd1a3b0be7dbeee",
"/chunks/contact-us.js": "/chunks/contact-us.js?id=f8634b03752500fb",
"/chunks/successfully-email-verified.js": "/chunks/successfully-email-verified.js?id=6649e9fb4a8a8f43",
"/chunks/successfully-email-send.js": "/chunks/successfully-email-send.js?id=d630ed9f6f558509",
"/chunks/sign-in.js": "/chunks/sign-in.js?id=027bfbe1ae255c4b",
"/chunks/sign-up.js": "/chunks/sign-up.js?id=b8a707561c587006",
"/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=8aaf784d9a8538b7",
"/chunks/create-new-password.js": "/chunks/create-new-password.js?id=e9482fe3bc2e589e",
"/chunks/settings.js": "/chunks/settings.js?id=7d31b9a2822a110b",
"/chunks/profile.js": "/chunks/profile.js?id=8049a20459b22971",
"/chunks/settings-password.js": "/chunks/settings-password.js?id=637e68d26ba0a89f",
"/chunks/settings-storage.js": "/chunks/settings-storage.js?id=5ce9b4c17ee3033d",
"/chunks/billing.js": "/chunks/billing.js?id=dee7f139e8a0c7b2",
"/chunks/platform.js": "/chunks/platform.js?id=af32b6ce97832e23",
"/chunks/files.js": "/chunks/files.js?id=a7af1e625dd3bca6",
"/chunks/recent-uploads.js": "/chunks/recent-uploads.js?id=4b9bb4109270de81",
"/chunks/my-shared-items.js": "/chunks/my-shared-items.js?id=ca88ea617de08571",
"/chunks/trash.js": "/chunks/trash.js?id=6ec6c6dfd1c47290",
"/chunks/team-folders.js": "/chunks/team-folders.js?id=b2402d51e0ce4f39",
"/chunks/shared-with-me.js": "/chunks/shared-with-me.js?id=04f15f8a26e72ac6",
"/chunks/invitation.js": "/chunks/invitation.js?id=4064848e25bec2a7",
"/chunks/request.js": "/chunks/request.js?id=c2edd99d001665c2",
"/chunks/request-upload.js": "/chunks/request-upload.js?id=35b65503f01ef52c",
"/chunks/setup-wizard.js": "/chunks/setup-wizard.js?id=19a0784e59d768ec",
"/chunks/status-check.js": "/chunks/status-check.js?id=336de73834cc9a29",
"/chunks/purchase-code.js": "/chunks/purchase-code.js?id=df5bd89528649783",
"/chunks/database.js": "/chunks/database.js?id=ba3140027421b977",
"/chunks/environment-setup.js": "/chunks/environment-setup.js?id=fc3886e258b9a9b9",
"/chunks/app-setup.js": "/chunks/app-setup.js?id=7bae302e249c73a1",
"/chunks/admin-account.js": "/chunks/admin-account.js?id=309dc20e668952e6",
"/chunks/shared.js": "/chunks/shared.js?id=e106df5c08e2ebb0",
"/chunks/shared/browser.js": "/chunks/shared/browser.js?id=7d78c21314593e88",
"/chunks/shared/single-file.js": "/chunks/shared/single-file.js?id=af632a9bdc82be95",
"/chunks/shared/authenticate.js": "/chunks/shared/authenticate.js?id=c303bb3ce8a22918",
"/chunks/not-found.js": "/chunks/not-found.js?id=5fbc874846003a91",
"/chunks/temporary-unavailable.js": "/chunks/temporary-unavailable.js?id=9c283755ffea5e90",
"/chunks/admin.js": "/chunks/admin.js?id=a4511f8b0f8f5d6c",
"/chunks/dashboard.js": "/chunks/dashboard.js?id=3cb0b23a8ab78cbb",
"/chunks/invoices.js": "/chunks/invoices.js?id=f89964a5a55ace45",
"/chunks/subscriptions.js": "/chunks/subscriptions.js?id=62582c26b6288d7d",
"/chunks/pages.js": "/chunks/pages.js?id=d7219aff1586ef7a",
"/chunks/page-edit.js": "/chunks/page-edit.js?id=8a6b001219a08faf",
"/chunks/plans.js": "/chunks/plans.js?id=704f996bd6e6c651",
"/chunks/users.js": "/chunks/users.js?id=f3c592b251f7d183",
"/chunks/user-create.js": "/chunks/user-create.js?id=617e9bf3df1739b2",
"/chunks/plan-create/fixed.js": "/chunks/plan-create/fixed.js?id=b557039c3b07913a",
"/chunks/plan-create/metered.js": "/chunks/plan-create/metered.js?id=8db8eabf6b39775b",
"/chunks/user.js": "/chunks/user.js?id=7e567c0cb7f641d6",
"/chunks/user-detail.js": "/chunks/user-detail.js?id=6c169888720ad92a",
"/chunks/user-storage.js": "/chunks/user-storage.js?id=f66071eb1b65c082",
"/chunks/user-subscription.js": "/chunks/user-subscription.js?id=f033931911b07f5c",
"/chunks/user-password.js": "/chunks/user-password.js?id=6d23f552e9d52c49",
"/chunks/user-delete.js": "/chunks/user-delete.js?id=82b5180a1d9e1217",
"/chunks/plan.js": "/chunks/plan.js?id=37a04161ac1973ad",
"/chunks/plan-subscribers.js": "/chunks/plan-subscribers.js?id=2cc70b67d00bbda1",
"/chunks/plan-settings.js": "/chunks/plan-settings.js?id=1679d4320a70fc13",
"/chunks/plan-delete.js": "/chunks/plan-delete.js?id=1a03842f88224cbd",
"/chunks/payments.js": "/chunks/payments.js?id=2a6dba57de536b0d",
"/chunks/payments/billings.js": "/chunks/payments/billings.js?id=a434d9363a14beab",
"/chunks/payments/settings.js": "/chunks/payments/settings.js?id=59925e82d06e59fe",
"/chunks/app-settings.js": "/chunks/app-settings.js?id=ac94675bfea2ac48",
"/chunks/app-appearance.js": "/chunks/app-appearance.js?id=e388c80adec307d7",
"/chunks/app-index.js": "/chunks/app-index.js?id=6befbefd7ebeb16a",
"/chunks/app-environment.js": "/chunks/app-environment.js?id=d5ebc63ff754aa33",
"/chunks/app-others.js": "/chunks/app-others.js?id=ecec96c73341ba8a",
"/chunks/app-sign-in-out.js": "/chunks/app-sign-in-out.js?id=d3ed0a81743ac3ba",
"/chunks/app-adsense.js": "/chunks/app-adsense.js?id=4ee8de4ac0dae19e",
"/chunks/app-server.js": "/chunks/app-server.js?id=b07d804fe4dd8132",
"/chunks/app-language.js": "/chunks/app-language.js?id=83a53ba4d233ae46",
"/chunks/homepage.js": "/chunks/homepage.js?id=3a8a009996ff94d0",
"/chunks/dynamic-page.js": "/chunks/dynamic-page.js?id=0585ee757e04fe8d",
"/chunks/contact-us.js": "/chunks/contact-us.js?id=1b8ef1d52ded4eff",
"/chunks/successfully-email-verified.js": "/chunks/successfully-email-verified.js?id=887ca001d1542b96",
"/chunks/successfully-email-send.js": "/chunks/successfully-email-send.js?id=f4562229776d9f56",
"/chunks/sign-in.js": "/chunks/sign-in.js?id=bbed1e72f0086331",
"/chunks/sign-up.js": "/chunks/sign-up.js?id=8c86dc0636211584",
"/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=63bc2a81117cee2f",
"/chunks/create-new-password.js": "/chunks/create-new-password.js?id=b7d1b17596c771c3",
"/chunks/settings.js": "/chunks/settings.js?id=1852612f04dd5286",
"/chunks/profile.js": "/chunks/profile.js?id=baa99177b1a788a2",
"/chunks/settings-password.js": "/chunks/settings-password.js?id=29034c929a287e2a",
"/chunks/settings-storage.js": "/chunks/settings-storage.js?id=80bca2eb75da275d",
"/chunks/billing.js": "/chunks/billing.js?id=9008d99558ed20a5",
"/chunks/platform.js": "/chunks/platform.js?id=db669d1ba1538743",
"/chunks/files.js": "/chunks/files.js?id=535a172eef59e2f4",
"/chunks/recent-uploads.js": "/chunks/recent-uploads.js?id=a6d8378911b23390",
"/chunks/my-shared-items.js": "/chunks/my-shared-items.js?id=ebfebefef781b070",
"/chunks/trash.js": "/chunks/trash.js?id=1db4e081774b005b",
"/chunks/team-folders.js": "/chunks/team-folders.js?id=28717f216f507f4b",
"/chunks/shared-with-me.js": "/chunks/shared-with-me.js?id=c34c03304d94f7eb",
"/chunks/invitation.js": "/chunks/invitation.js?id=21d172e77f12dbbb",
"/css/tailwind.css": "/css/tailwind.css",
"/css/app.css": "/css/app.css"
}

View File

@@ -4,7 +4,7 @@
class="flex h-5 w-5 items-center justify-center rounded-md"
:class="{
'bg-theme': isClicked,
'bg-light-background dark:bg-dark-foreground': !isClicked,
'bg-light-background dark:bg-4x-dark-foreground': !isClicked,
}"
@click="changeState"
>

View File

@@ -64,48 +64,6 @@
</AppInputText>
</div>
<!--Other Settings-->
<div v-if="app" class="card shadow-card">
<FormLabel>
{{ $t('Application') }}
</FormLabel>
<AppInputButton
:title="$t('Cache')"
:description="$t('Did you change anything in your .env file? Then clear your cache.')"
>
<ButtonBase
@click.native="flushCache"
:loading="isFlushingCache"
:disabled="isFlushingCache"
class="w-full sm:w-auto"
button-style="theme"
>
{{ $t('admin_settings.others.cache_clear') }}
</ButtonBase>
</AppInputButton>
<AppInputText :title="$t('admin_settings.others.contact_email')">
<input
class="focus-border-theme input-dark"
@input="$updateText('/admin/settings', 'contact_email', app.contactMail)"
v-model="app.contactMail"
:placeholder="$t('admin_settings.others.contact_email_plac')"
type="email"
/>
</AppInputText>
<AppInputText :title="$t('admin_settings.others.google_analytics')" :is-last="true">
<input
@input="$updateText('/admin/settings', 'google_analytics', app.googleAnalytics, true)"
v-model="app.googleAnalytics"
:placeholder="$t('admin_settings.others.google_analytics_plac')"
type="text"
class="focus-border-theme input-dark"
/>
</AppInputText>
</div>
<!-- ReCaptcha -->
<div v-if="app" class="card shadow-card">
<FormLabel icon="shield">
@@ -182,6 +140,64 @@
{{ $t('Store Credentials') }}
</ButtonBase>
</ValidationObserver>
</div>
<!--Other Settings-->
<div v-if="app" class="card shadow-card">
<FormLabel>
{{ $t('Application') }}
</FormLabel>
<AppInputButton
:title="$t('Cache')"
:description="$t('Did you change anything in your .env file? Then clear your cache.')"
>
<ButtonBase
@click.native="flushCache"
:loading="isFlushingCache"
:disabled="isFlushingCache"
class="w-full sm:w-auto"
button-style="theme"
>
{{ $t('admin_settings.others.cache_clear') }}
</ButtonBase>
</AppInputButton>
<AppInputText :title="$t('admin_settings.others.contact_email')">
<input
class="focus-border-theme input-dark"
@input="$updateText('/admin/settings', 'contact_email', app.contactMail)"
v-model="app.contactMail"
:placeholder="$t('admin_settings.others.contact_email_plac')"
type="email"
/>
</AppInputText>
<AppInputText :title="$t('admin_settings.others.google_analytics')" :is-last="true">
<input
@input="$updateText('/admin/settings', 'google_analytics', app.googleAnalytics, true)"
v-model="app.googleAnalytics"
:placeholder="$t('admin_settings.others.google_analytics_plac')"
type="text"
class="focus-border-theme input-dark"
/>
</AppInputText>
</div>
<!-- Subscription -->
<div v-if="app" class="card shadow-card">
<FormLabel icon="credit-card">
{{ $t('Subscription') }}
</FormLabel>
<AppInputText :title="$t('Subscription Type')" :description="$t('Please do not change in production environment.')" :is-last="true">
<SelectInput
@change="subscriptionTypeChange"
:default="app.subscriptionType"
:options="subscriptionTypes"
:placeholder="$t('Select your subscription type')"
/>
</AppInputText>
</div>
</PageTab>
</template>
@@ -200,10 +216,12 @@ import { required } from 'vee-validate/dist/rules'
import { events } from '../../../../bus'
import { mapGetters } from 'vuex'
import axios from 'axios'
import SelectInput from "../../../../components/Others/Forms/SelectInput";
export default {
name: 'AppOthers',
components: {
SelectInput,
AppInputButton,
ValidationObserver,
ValidationProvider,
@@ -217,7 +235,7 @@ export default {
PageTab,
},
computed: {
...mapGetters(['config']),
...mapGetters(['subscriptionTypes', 'config']),
},
data() {
return {
@@ -235,6 +253,18 @@ export default {
}
},
methods: {
subscriptionTypeChange(type) {
events.$emit('confirm:open', {
title: this.$t('Are you sure you want to change subscription type?'),
message: this.$t(
'We strongly do not recommend change this value if there is any subscribed user to prevent any failures. You can operate only with one type of subscription and you can not change it on the fly!'
),
action: {
type: type,
operation: 'change-subscription-type',
},
})
},
async storeCredentials(service) {
// Validate fields
const isValid = await this.$refs.credentialsForm.validate()
@@ -296,7 +326,7 @@ export default {
axios
.get('/api/admin/settings', {
params: {
column: 'contact_email|google_analytics|default_max_storage_amount|storage_limitation|mimetypes_blacklist|upload_limit',
column: 'contact_email|google_analytics|default_max_storage_amount|storage_limitation|mimetypes_blacklist|upload_limit|subscriptionType',
},
})
.then((response) => {
@@ -309,8 +339,27 @@ export default {
storageLimitation: parseInt(response.data.storage_limitation),
mimetypesBlacklist: response.data.mimetypes_blacklist,
uploadLimit: response.data.upload_limit,
subscriptionType: response.data.subscriptionType,
}
})
},
created() {
events.$on('action:confirmed', (data) => {
if (data.operation === 'change-subscription-type') {
// Update database
this.$updateText('/admin/settings', 'subscription_type', data.type)
// Update config
this.$store.commit('REPLACE_CONFIG_VALUE', {
key: 'subscriptionType',
value: data.type,
})
}
})
},
destroyed() {
events.$off('action:confirmed')
},
}
</script>

View File

@@ -9,7 +9,7 @@
<AppInputSwitch
:title="$t('Allow Subscription Payments')"
:description="$t('User can subscribe to fixed or metered plan')"
:is-last="!allowedPayments"
:is-last="true"
>
<SwitchInput
@input="$updateText('/admin/settings', 'allowed_payments', allowedPayments)"
@@ -17,15 +17,6 @@
:state="allowedPayments"
/>
</AppInputSwitch>
<AppInputText v-if="allowedPayments" :title="$t('Subscription Type')" :is-last="true">
<SelectInput
@change="subscriptionTypeChange"
:default="config.subscriptionType"
:options="subscriptionTypes"
:placeholder="$t('Select your subscription type')"
/>
</AppInputText>
</div>
<!--Metered settings-->
@@ -512,7 +503,7 @@ export default {
InfoBox,
},
computed: {
...mapGetters(['subscriptionTypes', 'config']),
...mapGetters(['config']),
submitButtonText() {
return this.isLoading
? this.$t('admin_settings.payments.button_testing')
@@ -637,28 +628,11 @@ export default {
})
.finally(() => (this.isLoading = false))
},
subscriptionTypeChange(type) {
events.$emit('confirm:open', {
title: this.$t('Are you sure you want to change subscription type?'),
message: this.$t(
'We strongly do not recommend change this value if there is any subscribed user to prevent any failures. You can operate only with one type of subscription and you can not change it on the fly!'
),
action: {
type: type,
operation: 'change-subscription-type',
},
})
},
getWebhookEndpoint(service) {
return `${this.config.host}/api/subscriptions/${service}/webhooks`
},
},
created() {
events.$on('action:confirmed', (data) => {
if (data.operation === 'change-subscription-type')
this.$updateText('/admin/settings', 'subscription_type', data.type)
})
// Set payment description
this.stripe.paymentDescription = this.config.stripe_payment_description
this.paystack.paymentDescription = this.config.paystack_payment_description

View File

@@ -233,15 +233,14 @@ export default {
}
})
.catch((error) => {
if (error.response.status == 500) {
events.$emit('alert:open', {
emoji: '🤔',
title: this.$t('popup_signup_error.title'),
message: this.$t('popup_signup_error.message'),
})
if (error.response.status === 500) {
events.$emit('alert:open', {
title: this.$t('popup_error.title'),
message: this.$t('popup_error.message'),
})
}
if (error.response.status == 422) {
if (error.response.status === 422) {
if (error.response.data.errors['email']) {
this.$refs.sign_up.setErrors({
'E-Mail': error.response.data.errors['email'],

View File

@@ -1546,7 +1546,7 @@ class SetupDevEnvironment extends Command
});
// Get system images
collect(['logo.svg', 'logo-dark.svg', 'logo-horizontal-dark.svg', 'favicon.png', 'og-image.jpg', 'touch-icon.png'])
collect(['logo.svg', 'logo-dark.svg', 'logo-horizontal.svg', 'logo-horizontal-dark.svg', 'favicon.png', 'og-image.jpg', 'touch-icon.png'])
->each(function ($file) {
Storage::putFileAs('system', storage_path("demo/app/$file"), $file, 'private');
});

View File

@@ -58,7 +58,7 @@ class CreateAdminAccountController extends Controller
],
[
'name' => 'license',
'value' => $request->input('license'),
'value' => strtolower($request->input('license')),
],
[
'name' => 'purchase_code',