From 6def93b833d1ef882ebdb596bf199e267e1a144e Mon Sep 17 00:00:00 2001 From: ibuler Date: Mon, 2 Feb 2026 18:47:25 +0800 Subject: [PATCH 1/2] perf: add aggreement --- src/components/Form/FormFields/agreement.vue | 53 ++++++++++++++++++++ src/views/profile/Improvement.vue | 22 +++++--- 2 files changed, 67 insertions(+), 8 deletions(-) create mode 100644 src/components/Form/FormFields/agreement.vue diff --git a/src/components/Form/FormFields/agreement.vue b/src/components/Form/FormFields/agreement.vue new file mode 100644 index 0000000000..0013fc1eee --- /dev/null +++ b/src/components/Form/FormFields/agreement.vue @@ -0,0 +1,53 @@ + + + + + diff --git a/src/views/profile/Improvement.vue b/src/views/profile/Improvement.vue index f24c685453..afc83ec357 100644 --- a/src/views/profile/Improvement.vue +++ b/src/views/profile/Improvement.vue @@ -6,12 +6,14 @@ import { GenericCreateUpdatePage } from '@/layout/components' import { Required } from '@/components/Form/DataForm/rules' import { PhoneInput } from '@/components/Form/FormFields' +import Agreement from '@/components/Form/FormFields/agreement.vue' import store from '@/store' export default { name: 'Improvement', components: { - GenericCreateUpdatePage + GenericCreateUpdatePage, + Agreement }, props: { object: { @@ -26,7 +28,7 @@ export default { [this.$t('Account'), ['username', 'name', 'email']], [this.$t('Authentication'), ['mfa_level', 'public_key']], [this.$t('Other'), ['phone']], - [this.$t('TermsAndConditions'), ['terms']] + [this.$t('TermsOfService'), ['terms']] ], fieldsMeta: { username: { @@ -53,15 +55,14 @@ export default { type: 'textarea', placeholder: 'ssh-rsa AAAA...' }, - hidden: (formValue) => { + hidden: formValue => { return formValue.source !== 'local' }, helpText: this.$t('SSHKeyOfProfileSSHUpdatePage') }, terms: { - label: this.$t('IAgree'), - type: 'checkbox', - checked: false, + label: '', + component: Agreement, rules: [Required], helpText: this.$t('MFAOfUserFirstLoginUserGuidePage') } @@ -93,9 +94,14 @@ export default { }, methods: { disableMFAFieldIfNeed(user) { - const adminUserIsNeed = (user?.is_superuser || user?.is_org_admin) && + const adminUserIsNeed = + (user?.is_superuser || user?.is_org_admin) && store.getters.publicSettings['SECURITY_MFA_AUTH'] === 2 - if (store.getters.publicSettings['SECURITY_MFA_AUTH'] === 1 || adminUserIsNeed || user?.mfa_level.value === 2) { + if ( + store.getters.publicSettings['SECURITY_MFA_AUTH'] === 1 || + adminUserIsNeed || + user?.mfa_level.value === 2 + ) { this.fieldsMeta['mfa_level'].disabled = true } } From 03227cbf8b51999e3c2fb7f659dd73e396321ea6 Mon Sep 17 00:00:00 2001 From: ibuler Date: Mon, 9 Feb 2026 16:10:12 +0800 Subject: [PATCH 2/2] perf: update policy --- src/components/Form/FormFields/agreement.vue | 24 ++++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/src/components/Form/FormFields/agreement.vue b/src/components/Form/FormFields/agreement.vue index 0013fc1eee..e5268b73d8 100644 --- a/src/components/Form/FormFields/agreement.vue +++ b/src/components/Form/FormFields/agreement.vue @@ -2,11 +2,11 @@
{{ $t('ReadAgreeTo') }} - + {{ $t('TermsOfService') }} {{ $t('and') }} - + {{ $t('PrivacyPolicy') }} @@ -26,16 +26,6 @@ export default { iValue: false } }, - watch: { - iValue: { - handler(v) { - this.$emit('input', v) - } - } - }, - created() { - this.iValue = this.value - }, computed: { iValue: { get() { @@ -46,6 +36,16 @@ export default { } } }, + watch: { + iValue: { + handler(v) { + this.$emit('input', v) + } + } + }, + created() { + this.iValue = this.value + }, methods: {} }