diff --git a/changelog/unreleased/enhancement-create-link-modal b/changelog/unreleased/enhancement-create-link-modal index dc8ba0b2fba..8e2e2eda4fd 100644 --- a/changelog/unreleased/enhancement-create-link-modal +++ b/changelog/unreleased/enhancement-create-link-modal @@ -4,3 +4,5 @@ When creating a link while passwords are enfoced, Web will now display a modal t https://github.com/owncloud/web/pull/10104 https://github.com/owncloud/web/pull/10145 +https://github.com/owncloud/web/pull/10159 +https://github.com/owncloud/web/issues/10157 diff --git a/packages/web-pkg/src/components/CreateLinkModal.vue b/packages/web-pkg/src/components/CreateLinkModal.vue index 8240c04b9aa..32b4d9a38a2 100644 --- a/packages/web-pkg/src/components/CreateLinkModal.vue +++ b/packages/web-pkg/src/components/CreateLinkModal.vue @@ -40,6 +40,7 @@
import { DateTime } from 'luxon' +import { v4 as uuidV4 } from 'uuid' import { useGettext } from 'vue3-gettext' import { computed, @@ -207,6 +209,7 @@ export default defineComponent({ const isFolder = computed(() => props.resources.every(({ isFolder }) => isFolder)) + const passwordInputKey = ref(uuidV4()) const roleRefs = ref>({}) const password = reactive({ value: '', error: undefined }) @@ -348,7 +351,11 @@ export default defineComponent({ selectedRole.value = role if (unref(selectedRoleIsInternal)) { password.value = '' + password.error = '' selectedExpiry.value = undefined + + // re-render password because it's the only way to remove policy messages + passwordInputKey.value = uuidV4() } } @@ -369,6 +376,7 @@ export default defineComponent({ passwordEnforced, passwordPolicy, generatePasswordMethod: () => passwordPolicyService.generatePassword(), + passwordInputKey, selectedExpiry, expirationDateTooltip, expirationRules,