mirror of
https://github.com/VueFileManager/vuefilemanager.git
synced 2026-04-18 08:12:15 +00:00
Merge branch 'fraud-prevention-mechanism'
# Conflicts: # public/chunks/admin.js # public/chunks/payments/settings.js # public/chunks/platform.js # public/chunks/settings.js # public/chunks/status-check.js # public/css/tailwind.css # public/js/main.js # public/mix-manifest.json # src/App/Providers/AppServiceProvider.php # tests/Domain/Admin/AdminTest.php
This commit is contained in:
@@ -19,7 +19,7 @@
|
||||
class="vue-feather text-theme shrink-0"
|
||||
/>
|
||||
<alert-triangle-icon
|
||||
v-if="['billing-alert', 'insufficient-balance'].includes(notification.data.attributes.category)"
|
||||
v-if="['billing-alert', 'insufficient-balance', 'payment-alert'].includes(notification.data.attributes.category)"
|
||||
size="22"
|
||||
class="vue-feather text-theme shrink-0"
|
||||
/>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div v-if="$store.getters.isLimitedUser" class="bg-red-500 py-1 text-center">
|
||||
<div v-if="$store.getters.userLimitationReason" class="bg-gradient-to-r from-red-600 to-red-500 py-2.5 px-1 text-center leading-none">
|
||||
<router-link :to="{ name: 'Billing' }" class="text-xs font-bold text-white">
|
||||
{{ $t('restricted_account_warning') }}
|
||||
{{ $t('restricted_account_warning') + ' ' + $store.getters.userLimitationReason }}
|
||||
</router-link>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
5
resources/js/store/modules/userAuth.js
vendored
5
resources/js/store/modules/userAuth.js
vendored
@@ -201,10 +201,7 @@ const mutations = {
|
||||
}
|
||||
|
||||
const getters = {
|
||||
isLimitedUser: (state) =>
|
||||
state.user &&
|
||||
state.user.data.relationships.failedPayments &&
|
||||
state.user.data.relationships.failedPayments.data.length === 3,
|
||||
userLimitationReason: (state) => state.user && state.user.data.meta.restrictions.reason,
|
||||
permission: (state) => state.permission,
|
||||
user: (state) => state.user,
|
||||
}
|
||||
|
||||
@@ -75,6 +75,49 @@
|
||||
</AppInputButton>
|
||||
</div>
|
||||
|
||||
<!--Fraud Prevention Mechanism Rules-->
|
||||
<div v-if="config.subscriptionType === 'metered' && allowedPayments" class="card shadow-card">
|
||||
<FormLabel icon="shield">
|
||||
{{ $t('Fraud Prevention Mechanism Rules') }}
|
||||
</FormLabel>
|
||||
|
||||
<AppInputSwitch
|
||||
:title="$t('allow_limit_usage_in_new_accounts')"
|
||||
:description="$t('limit_usage_description_for_restrictions')"
|
||||
>
|
||||
<SwitchInput
|
||||
@input="$updateText('/admin/settings', 'limit_usage_in_new_accounts', settings.limitUsageInNewAccounts)"
|
||||
v-model="settings.limitUsageInNewAccounts"
|
||||
:state="settings.limitUsageInNewAccounts"
|
||||
/>
|
||||
</AppInputSwitch>
|
||||
|
||||
<AppInputText
|
||||
v-if="settings.limitUsageInNewAccounts"
|
||||
class="-mt-3"
|
||||
>
|
||||
<input
|
||||
@input="$updateText('/admin/settings', 'limit_usage_in_new_accounts_amount', settings.limitUsageInNewAccountsAmount)"
|
||||
v-model="settings.limitUsageInNewAccountsAmount"
|
||||
:placeholder="$t('Max Usage Amount...')"
|
||||
type="number"
|
||||
class="focus-border-theme input-dark"
|
||||
/>
|
||||
</AppInputText>
|
||||
|
||||
<AppInputSwitch
|
||||
:title="$t('allow_limit_usage_bigger_than_balance')"
|
||||
:description="$t('limit_usage_description_for_restrictions')"
|
||||
:is-last="true"
|
||||
>
|
||||
<SwitchInput
|
||||
@input="$updateText('/admin/settings', 'usage_bigger_than_balance', settings.usageBiggerThanBalance)"
|
||||
v-model="settings.usageBiggerThanBalance"
|
||||
:state="settings.usageBiggerThanBalance"
|
||||
/>
|
||||
</AppInputSwitch>
|
||||
</div>
|
||||
|
||||
<!--Stripe method configuration-->
|
||||
<div v-if="allowedPayments" class="card shadow-card">
|
||||
<img :src="$getPaymentLogo('stripe')" alt="Stripe" class="mb-8 h-8" />
|
||||
@@ -518,10 +561,13 @@ export default {
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(['config']),
|
||||
...mapGetters([
|
||||
'config'
|
||||
]),
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
settings: undefined,
|
||||
allowedRegistrationBonus: true,
|
||||
registrationBonusAmount: undefined,
|
||||
|
||||
@@ -661,6 +707,23 @@ export default {
|
||||
})
|
||||
}
|
||||
},
|
||||
mounted() {
|
||||
axios
|
||||
.get('/api/admin/settings', {
|
||||
params: {
|
||||
column: 'limit_usage_in_new_accounts|limit_usage_in_new_accounts_amount|usage_bigger_than_balance',
|
||||
},
|
||||
})
|
||||
.then((response) => {
|
||||
this.isLoading = false
|
||||
|
||||
this.settings = {
|
||||
limitUsageInNewAccounts: parseInt(response.data.limit_usage_in_new_accounts),
|
||||
limitUsageInNewAccountsAmount: parseInt(response.data.limit_usage_in_new_accounts_amount),
|
||||
usageBiggerThanBalance: parseInt(response.data.usage_bigger_than_balance),
|
||||
}
|
||||
})
|
||||
},
|
||||
created() {
|
||||
// Set payment description
|
||||
this.stripe.paymentDescription = this.config.stripe_payment_description
|
||||
|
||||
@@ -111,7 +111,7 @@ export default {
|
||||
DragUI,
|
||||
},
|
||||
computed: {
|
||||
...mapGetters(['isVisibleSidebar', 'isLimitedUser', 'config', 'currentFolder']),
|
||||
...mapGetters(['isVisibleSidebar', 'config', 'currentFolder']),
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
||||
Reference in New Issue
Block a user