Bladeren bron

Refine unsupported federation scope checks

Signed-off-by: Christopher Ng <chrng8@gmail.com>
tags/v23.0.0beta1
Christopher Ng 2 jaren geleden
bovenliggende
commit
74aa115125

+ 1
- 0
apps/settings/lib/Settings/Personal/PersonalInfo.php Bestand weergeven

@@ -149,6 +149,7 @@ class PersonalInfo implements ISettings {

$accountParameters = [
'displayNameChangeSupported' => $user->canChangeDisplayName(),
'lookupServerUploadEnabled' => $lookupServerUploadEnabled,
];

$this->initialStateService->provideInitialState('emails', $emails);

+ 2
- 3
apps/settings/src/components/PersonalInfo/EmailSection/EmailSection.vue Bestand weergeven

@@ -62,7 +62,7 @@ import { savePrimaryEmail, removeAdditionalEmail } from '../../../service/Person
import { DEFAULT_ADDITIONAL_EMAIL_SCOPE } from '../../../constants/AccountPropertyConstants'

const { additionalEmails, primaryEmail } = loadState('settings', 'emails', {})
const accountParams = loadState('settings', 'accountParameters', {})
const { displayNameChangeSupported } = loadState('settings', 'accountParameters', {})

export default {
name: 'EmailSection',
@@ -74,7 +74,6 @@ export default {

data() {
return {
accountParams,
additionalEmails,
primaryEmail,
isValidForm: true,
@@ -83,7 +82,7 @@ export default {

computed: {
isDisplayNameChangeSupported() {
return this.accountParams.displayNameChangeSupported
return displayNameChangeSupported
},

primaryEmailValue: {

+ 19
- 1
apps/settings/src/components/PersonalInfo/EmailSection/FederationControl.vue Bestand weergeven

@@ -42,11 +42,14 @@
<script>
import Actions from '@nextcloud/vue/dist/Components/Actions'
import ActionButton from '@nextcloud/vue/dist/Components/ActionButton'
import { loadState } from '@nextcloud/initial-state'
import { showError } from '@nextcloud/dialogs'

import { SCOPE_ENUM, SCOPE_PROPERTY_ENUM } from '../../../constants/AccountPropertyConstants'
import { savePrimaryEmailScope, saveAdditionalEmailScope } from '../../../service/PersonalInfoService'

const { lookupServerUploadEnabled } = loadState('settings', 'accountParameters', {})

// TODO hardcoded for email, should abstract this for other sections
const excludedScopes = [SCOPE_ENUM.PRIVATE]

@@ -80,11 +83,26 @@ export default {
data() {
return {
initialScope: this.scope,
federationScopes: Object.values(SCOPE_PROPERTY_ENUM).filter(({ name }) => !excludedScopes.includes(name)),
}
},

computed: {
federationScopes() {
return Object.values(SCOPE_PROPERTY_ENUM).filter(({ name }) => !this.unsupportedScopes.includes(name))
},

unsupportedScopes() {
if (!lookupServerUploadEnabled) {
return [
...excludedScopes,
SCOPE_ENUM.FEDERATED,
SCOPE_ENUM.PUBLISHED,
]
}

return excludedScopes
},

scopeIcon() {
return SCOPE_PROPERTY_ENUM[this.scope].iconClass
},

Laden…
Annuleren
Opslaan