Skip to content

Commit 7628f5a

Browse files
Merge pull request #51510 from nextcloud/backport/51477/stable30
[stable30] fix(profile): allow to unset phone number
2 parents e5ee50e + 91aee18 commit 7628f5a

File tree

4 files changed

+41
-3
lines changed

4 files changed

+41
-3
lines changed

apps/settings/src/components/PersonalInfo/PhoneSection.vue

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,10 @@ export default {
3939
4040
methods: {
4141
onValidate(value) {
42+
if (value === '') {
43+
return true
44+
}
45+
4246
if (defaultPhoneRegion) {
4347
return isValidPhoneNumber(value, defaultPhoneRegion)
4448
}

cypress/e2e/settings/personal-info.cy.ts

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -320,6 +320,40 @@ describe('Settings: Change personal information', { testIsolation: true }, () =>
320320
cy.get('a[href="tel:+498972101099701"]').should('be.visible')
321321
})
322322

323+
it('Can set phone number with phone region', () => {
324+
cy.contains('label', 'Phone number').scrollIntoView()
325+
inputForLabel('Phone number').type('{selectAll}0 40 428990')
326+
inputForLabel('Phone number').should('have.attr', 'class').and('contain', '--error')
327+
328+
cy.runOccCommand('config:system:set default_phone_region --value DE')
329+
cy.reload()
330+
331+
cy.contains('label', 'Phone number').scrollIntoView()
332+
inputForLabel('Phone number').type('{selectAll}0 40 428990')
333+
handlePasswordConfirmation(user.password)
334+
335+
cy.wait('@submitSetting')
336+
cy.reload()
337+
inputForLabel('Phone number').should('have.value', '+4940428990')
338+
})
339+
340+
it('Can reset phone number', () => {
341+
cy.contains('label', 'Phone number').scrollIntoView()
342+
inputForLabel('Phone number').type('{selectAll}+49 40 428990')
343+
handlePasswordConfirmation(user.password)
344+
345+
cy.wait('@submitSetting')
346+
cy.reload()
347+
inputForLabel('Phone number').should('have.value', '+4940428990')
348+
349+
inputForLabel('Phone number').clear()
350+
handlePasswordConfirmation(user.password)
351+
352+
cy.wait('@submitSetting')
353+
cy.reload()
354+
inputForLabel('Phone number').should('have.value', '')
355+
})
356+
323357
it('Can set Website and change its visibility', () => {
324358
cy.contains('label', 'Website').scrollIntoView()
325359
// Check invalid input

dist/settings-vue-settings-personal-info.js

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/settings-vue-settings-personal-info.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)