Merge pull request #28014 from nextcloud/backport/28004/stable22

This commit is contained in:
Julius Härtl 2021-07-19 08:26:54 +02:00 committed by GitHub
commit 05d49b9a67
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
21 changed files with 81 additions and 63 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View file

@ -149,6 +149,7 @@ class PersonalInfo implements ISettings {
$accountParameters = [
'displayNameChangeSupported' => $user->canChangeDisplayName(),
'lookupServerUploadEnabled' => $lookupServerUploadEnabled,
];
$this->initialStateService->provideInitialState('emails', $emails);

View file

@ -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: {

View file

@ -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
},