The share details page should show the target email or user/server to which
the user is creating the share.
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
Prevent browsers - as good as possible - from filling in user credentials as share label and password.
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
- Send correct share attributes (`share.attributes`) to server upon creation.
- Delete parts of code that create or reference, `share.hasDownloadPermission`
(Not required by Share API)
Resolves : https://github.com/nextcloud/server/issues/44131
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
When creating a new share, if the user unchecks "Set expiry date"
no `expireDate` is sent to the server.
However, the server then assumes the default configured, hence better
to send an empty value.
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
Before the password is set on a new share, the computed property `hasUnsavedPassword`
is used to check that `this.share.newPassword` is not undefined. Direct assignment without
using Vue's `this.$set` makes it impossible for vue to detect that changes have happened on the share
object. Hence the inreactivity.
This worked initially most likely because `this.share.newPassword = await GeneratePassword()` was executed
before the computed properties where evaluated.
Resolves : https://github.com/nextcloud/server/issues/43919
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
In 04e8733721 a regression was introduced.
`this` means nothing inside arrow functions, hence this.share was referring to
an undefined object and so all attempted updates for expiration dates would fail.
Resolves : https://github.com/nextcloud/server/issues/43256
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
- Show quick permission details/explanations on subline
- Fix icon colors, should be white (or component set color) when highlighted.
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
The current share logic always uses the default `BUNDLED_PERMISSIONS.ALL`
which includes everything.
This commit updates share creation logic to use `defaultPermissions` if set
by admin for the creation of new shares.
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
Debounce `onExpirationChange` to avoid calling `formatDateToString`
on invalid on uncompletely inputed date strings.
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
It's unexpected that click outside a tooltip would proceed with the
action that could be carried out inside the tooltip.
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
It's important to delete the `newPassword` prop from the share
model, if the user unchecks the isPasswordProtected checkbox.
This clearer and allows for the unchecking to actually work as
`this.$set()` fails with the falsy value `''`.
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
Accessing `this.$refs.shareList` outside $nextTick()
could lead to the holder (`listComponent`) being undefined
as the ref is yet to exist.
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
* It's possible for the admin to enforce and expiry date after, some
shares have been created. This commit makes possible to update the
share with the new admin constraints.
* This commit would users to modify enforced expiry to anything within
range and less than the enforced limit in the pre-create dialog for public
shares.
* This commit fixes, unable to update share without updating password.
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
In order to meet accessibility requirements we cannot use a sticky
footer that overlaps important interactable content. Therefore this
moves to a scroll container for the details which does not include the
action buttons at the bottom.
Larger indentation change in SharingDetailsTab was required to have a
wrapping container for the scroll area.
Signed-off-by: Julius Härtl <jus@bitgrid.net>
`isDefaultExpireDateEnforced` and its corresponding `defaultExpirationDate`
is currently treated as the enforcement fallback when share type enforcements are not
set.
However, `isDefaultExpireDateEnforced` and `defaultExpirationDate` are actually more like
`isDefaultPublicExpireDateEnforced` and `defaultPublicExpirationDate` and therefore only applies
to public shares.
It might be ideal to rename this variables all the way from the backend config to the way we use
them in the frontend code.
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>