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>
[skip ci]
Prevent browsers - as good as possible - from filling in user credentials as share label and password.
Signed-off-by: Ferdinand Thiessen <opensource@fthiessen.de>
- 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>
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>
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>
Current expiration date errorneously assumes that `defaultExpirationDate`
applies to all kinds of shares. But it only really applies to public shares despite
its name.
This commit, fixes that by paring expiration dates with the correct share types during
new share initialization and simplifying the `hasExpirationDate` (check) property.
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
We should check that a maximum expiry date has been enforced for
all shares and NOT JUST FOR internal shares before enforcing a UI max date,
like in commit 9757e680e2
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
Previously, users could change the share expiry date up
to the enforced maximum.
The new share flow imposed the enforced share expiry
date maximum literally and did not allow even dates
lower than the maximum enforced.
That does not make much sense, if the enforced expiry date is 30
days from creation date, then it's logical to allow users set the
date to anything less than 30 days from the creation date.
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
Due to a typo in the app passed to the translation method, some
strings translations don't work.
This commit corrects the spelling `file_sharing` to `files_sharing` and
hence resolves : https://github.com/nextcloud/server/issues/40801
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
The default expiration date cannot be enforced if it is not enabled
in the first place. Hence, the check for whether a share has an expiration date
should not consider enforcements but only where the share expiry type is enabled.
For example : Using `this.config.isDefaultExpireDateEnabled` instead of
`this.config.isDefaultExpireDateEnforced` which can be verified by checking `isExpiryDateEnforced`.
Resolves : https://github.com/nextcloud/server/issues/40612
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
- Show enforced expiry date for new shares.
- Improve quick share dropdown visibility in dark mode.
- Prevent expiry date from showing expire for incoming shares.
by updating the check for `share.passwordExpirationTime` to equally
check for `undefined`.
- Move "Download permission/attribute" from custom setting (as it is just
another advanced setting and not an actual permission).
- Show correct text for upload/editing when "allow public uploads" is enabled
or disabled by admin.
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
Suggest auto generated password for new public share (mail share).
Resolves : https://github.com/nextcloud/server/issues/40493
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
We have three kind of share expiry date enforcements.
- `isDefaultExpireDateEnforced`
- `isDefaultInternalExpireDateEnforced`
- `isDefaultRemoteExpireDateEnforced`
Before these commit, `isExpiryDateEnforced` that is used to
disable/enable the set expiry date checkbox does not take those into consideration
which is problematic as those have different applications.
In addition, this commit now uses `isExpiryDateEnforced` to disable/enable the input for
expiry date that shows up before the creation of link shares.
Here, `hasExpirationDate` is also removed from 'SharingEntryLink` component as it is
not used.
Signed-off-by: fenn-cs <fenn25.fn@gmail.com>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>