Commit Graph

248 Commits (b9ab00a59e2d906fdb43eaaea37eb7a4a9cc8a13)

Author SHA1 Message Date
Vincent Petry 9493f86de3
Fix share controller to accept share attributes alone
Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2022-07-28 16:53:22 +07:00
Vincent Petry a95c19e14b
Add share attributes + prevent download permission
Makes it possible to store download permission

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2022-07-28 16:53:22 +07:00
Joas Schilling 148498bba5
Merge pull request #32741 from nextcloud/Valdnet-patch-2
l10n: Delete apostrophe
2022-06-10 15:54:14 +07:00
Cyrille Bollu 50badb3fb6 Various improvements related to the recent implementation of temporary passwords
for mail shares:

1- Changes style of "forgot password?" and "Back" button
2- Adds information about share password's expiration time in the emails sent.
3- Shows password expiration time in the Share menu
4- Fixes an issue when the message "Password expires..." would be shown for non email share types (which don't have temporary passswords)
5- At share's creation, password should only be sent when it's a permanent one

See also https://github.com/nextcloud/server/issues/31952

Signed-off-by: Cyrille Bollu <cyrpub@bollu.be>
Signed-off-by: nextcloud-command <nextcloud-command@users.noreply.github.com>
2022-06-08 11:29:19 +07:00
Valdnet dfe7243338
l10n: Delete apostrophe
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2022-06-07 16:41:38 +07:00
Vincent Petry f5c8fa4f11
Properly reset pw expiration
When requesting a new password for share by mail link, now we correctly
reset the expiration date.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2022-04-13 15:46:30 +07:00
Cyrille Bollu c6a5c07041 Adds a "Request password" button to the public share authentication page for shares
of type TYPE_EMAIL, when the "video verification" checkbox isn't checked. Users accessing
non-anonymous public shares (TYPE_EMAIL shares) can now request a temporary password themselves.

- Creates a migration step for the files_sharing app to add the 'password_expiration_time'
  attribute to the oc_shares table.
- Makes share temporary passwords' expiration time configurable via a system value.
- Adds a system config value to allow permanent share passwords

-Fixes a typo in a comment in apps/files_sharing/src/components/SharingEntryLink.vue

See https://github.com/nextcloud/server/issues/31005

Signed-off-by: Cyrille Bollu <cyrpub@bollu.be>
2022-04-11 21:58:24 +07:00
Simon L 1ceb6cdb38
Merge pull request #31684 from nextcloud/user-share-permissions-merge
take permissions from multiple paths into account for share permissions
2022-04-05 17:37:46 +07:00
Robin Appelman 278b13155a
take permissions from multiple paths into account for share permissions
Signed-off-by: Robin Appelman <robin@icewind.nl>
2022-03-31 16:47:35 +07:00
Louis 47f1ba6ea6
Merge pull request #31240 from nextcloud/Valdnet-patch-3
l10n: Add a dot
2022-03-31 14:57:25 +07:00
Valdnet 1e487c2a09
l10n: Spelling unification in Transifex.
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2022-03-18 10:14:34 +07:00
Valdnet 522d9c1d1f
l10n: Delete dot
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2022-02-17 15:03:53 +07:00
Valdnet c72718c61b
l10n: Add a dot
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2022-02-17 14:07:51 +07:00
Louis Chemineau da435b1e67 Support CRUD share permissions
Signed-off-by: Louis Chemineau <louis@chmn.me>
2022-02-15 11:54:17 +07:00
Joas Schilling d49ad7ea47
Limit more contact searches
Signed-off-by: Joas Schilling <coding@schilljs.com>
2021-12-08 18:58:54 +07:00
Julius Härtl 5116bf146f
Allow to pass note when creating a share and send it with directly in the share mail when set
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2021-12-03 10:17:02 +07:00
Arthur Schiwon 27865d03c0
use specific email getter where necessary
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
2021-09-09 19:23:05 +07:00
szaimen 0c27faf711 Update "Sending password by Nextcloud Talk failed" sentence
Signed-off-by: szaimen <szaimen@e.mail.de>
2021-07-07 13:39:57 +07:00
John Molakvoæ (skjnldsv) 215aef3cbd
Update php licenses
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-06-04 22:02:41 +07:00
Valdnet 9749968308
l10n: Unify spelling
Spelling unification in Nextcloud applications.
2021-05-20 09:22:08 +07:00
Morris Jobke 6f31d20f3d
Merge pull request #26580 from castillo92/patch-2
Fix casing of exception string
2021-05-18 09:29:45 +07:00
Valdnet 505863c55e
l10n: Change to a capital letter
Signed-off-by: Valdnet <47037905+Valdnet@users.noreply.github.com>
2021-04-27 12:38:28 +07:00
castillo92 12948aa217
Update ShareAPIController.php
Change to capital letters in an abbreviation.

Signed-off-by: castillo92 javiercizquierdo@gmail.com
2021-04-16 08:56:20 +07:00
Vincent Petry 8680bafc5c
Implement expiration date for federated shares
Add expiration date field in UI.
Save expiration date when creating or updating federated share.
Read expiration date from DB in federated share provider.
Applies to both federated user and group shares.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-04-15 10:02:00 +07:00
Daniel Calviño Sánchez f99876997a
Remove duplicated query for email shares
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
Signed-off-by: npmbuildbot-nextcloud[bot] <npmbuildbot-nextcloud[bot]@users.noreply.github.com>
2021-03-22 06:50:47 +07:00
John Molakvoæ (skjnldsv) 100d5d9a47
Add labels to mail shares
Now the email is shown on a second line if a label is set.

Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2021-03-22 06:34:09 +07:00
Vincent Petry 6997344931
Log exceptions when creating share
Because the exceptions don't always contain a useful message for the UI,
but also because in some cases we need to find out what went wrong.

In some setups, a ShareNotFoundException might happen during creation
when we try to re-read the just written share. Usually related to Galera
Cluster where node syncing wait is not enabled.

Signed-off-by: Vincent Petry <vincent@nextcloud.com>
2021-03-15 12:00:41 +07:00
Roeland Jago Douma 988b9f49c5 Fix invalid check after constructing DateTime
We construct an object. Either that works on not.But the result can't be
false.

Found by psalm

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2021-03-08 16:32:34 +07:00
Morris Jobke 24d436cb60
Remove unneeded casts that were found by Psalm
In preparation of the update of Psalm from 4.2.1 to 4.3.1+ (see https://github.com/nextcloud/server/pull/24521)

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2021-01-11 13:14:41 +07:00
Christoph Wurst d89a75be0b
Update all license headers for Nextcloud 21
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-12-16 18:48:22 +07:00
Julius Härtl 102402bfcb
Show unique displayname context in the user share list entries
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-14 11:14:59 +07:00
Julius Härtl c4ea37b8a1
Address minor comments
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-09 15:51:41 +07:00
Julius Härtl f3150f29a7
Introduce deck share type to ShareAPIController
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-12-09 13:20:24 +07:00
Maxence Lange 28252594a2 circleId too short in some request
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2020-11-13 08:59:22 +07:00
Richard Steinmetz 89f7e2ab64
Indicate preview availability in share api responses
Signed-off-by: Richard Steinmetz <richard@steinmetz.cloud>
2020-10-13 14:12:42 +07:00
Roeland Jago Douma 7e6f04490e
Merge pull request #22393 from nextcloud/fix/license-headers-20
Update the license headers for Nextcloud 20
2020-08-24 22:03:00 +07:00
John Molakvoæ (skjnldsv) 6d576a9100
Fix missing FN from federated contact
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2020-08-24 15:15:32 +07:00
Christoph Wurst 2a054e6c04
Update the license headers for Nextcloud 20
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-08-24 14:54:25 +07:00
John Molakvoæ 565ccb08cd
Merge pull request #22109 from nextcloud/feature/20931/followup-1 2020-08-17 22:13:45 +07:00
Georg Ehrke 5b26487f14
Expose status via Collaborators API
Signed-off-by: Georg Ehrke <developer@georgehrke.com>
2020-08-14 17:04:52 +07:00
Daniel Kesselberg 6f8147b18f
Fix some MissingDocblockType or InvalidDocblock warnings.
Signed-off-by: Daniel Kesselberg <mail@danielkesselberg.de>
2020-08-14 15:10:48 +07:00
Gary Kim a2cedcefee
Add user input for link share labels
Signed-off-by: Gary Kim <gary@garykim.dev>
2020-07-14 10:02:17 +07:00
Daniel Calviño Sánchez 37f231333f Fix reference to wrong class name
\OCP\IShare does not exist; the right name is \OCP\Share\IShare,
although it is already imported as IShare.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2020-05-29 01:41:06 +07:00
Roeland Jago Douma ef34f72167
Have share permissions on link shares if it is enabled
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-05-15 08:18:03 +07:00
John Molakvoæ (skjnldsv) a26ca1e638
Do not filter id matching userId on non-user-share shares
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Signed-off-by: npmbuildbot[bot] <npmbuildbot[bot]@users.noreply.github.com>
2020-05-05 21:36:46 +07:00
John Molakvoæ (skjnldsv) ff20da637e Fix federated link sharing permissions
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Signed-off-by: npmbuildbot[bot] <npmbuildbot[bot]@users.noreply.github.com>
2020-05-04 11:48:11 +07:00
Roeland Jago Douma d466a7b808 Allow to navigate to others with access from the sidebar
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
Signed-off-by: npmbuildbot[bot] <npmbuildbot[bot]@users.noreply.github.com>
2020-04-29 17:53:35 +07:00
Christoph Wurst cb057829f7
Update license headers for 19
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-29 11:57:22 +07:00
Julius Härtl 5646f7c761
Link shares have reshare permission if outgoing federated shares are enabled
Signed-off-by: Julius Härtl <jus@bitgrid.net>
2020-04-21 14:35:29 +07:00
Christoph Wurst caff1023ea
Format control structures, classes, methods and function
To continue this formatting madness, here's a tiny patch that adds
unified formatting for control structures like if and loops as well as
classes, their methods and anonymous functions. This basically forces
the constructs to start on the same line. This is not exactly what PSR2
wants, but I think we can have a few exceptions with "our" style. The
starting of braces on the same line is pracrically standard for our
code.

This also removes and empty lines from method/function bodies at the
beginning and end.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 14:19:56 +07:00
Christoph Wurst 14c996d982
Use elseif instead of else if
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-10 10:35:09 +07:00
Christoph Wurst afbd9c4e6e
Unify function spacing to PSR2 recommendation
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-04-09 13:54:22 +07:00
Roeland Jago Douma 7613681627
Don't try to format deleted shares
Fixes #15455

The issue is that we have a fallback for shares to use the target. So
when the target exists again we happily format it (not that the shares
are still invalid).

This just tries to get the node. If we can't then boom.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-03-02 09:18:04 +07:00
Roeland Jago Douma fc77f530d7
Don't show link shares hash in inherited share list
This adds no value at all. Just showing the text "(Shared link)" now.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-01-15 09:21:53 +07:00
Christoph Wurst 6127c288e8 Fix license headers
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2020-01-13 14:23:49 +07:00
Maxence Lange 554c4a7cf8 moving ->getParent earlier
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2020-01-08 08:56:14 +07:00
Julius Härtl 445274cf93
Add pending share list to frontend
Signed-off-by: Julius Härtl <jus@bitgrid.net>
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-01-07 19:35:45 +07:00
Roeland Jago Douma fbed6a3416
A pending shares overview
Now that we accept shares we should show an overview of shares that are
pending. This first part is the small API to get a list of the currently
pending shares.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2020-01-07 08:53:33 +07:00
Maxence Lange 441b81a3af confirm resharing rights if viewer is current owner
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2020-01-02 11:34:20 +07:00
Christoph Wurst 5bf3d1bb38
Update license headers
Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
2019-12-05 15:38:45 +07:00
Maxence Lange f2c7ca4584
fixing tests + avoid duplicate in getFormattedShares()
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2019-12-03 08:13:22 +07:00
Maxence Lange ccf7d87c11
integration tests
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
add tests on non-owner pov

Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
duplicate

Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
small fixes

Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
removed tags

Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2019-12-03 08:10:27 +07:00
Maxence Lange 5794f14df9
Inherited Shares
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
working on users with resharing rights

Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
-getLogger()

Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
cleaning

Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
fix type

Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
Update SharingRightsException.php
2019-12-03 08:10:27 +07:00
Roeland Jago Douma c7d5b8fc49
Merge pull request #18079 from nextcloud/fixes/phpcs
Some php-cs fixes
2019-11-25 14:07:00 +07:00
Roeland Jago Douma 68748d4f85
Some php-cs fixes
* Order the imports
* No leading slash on imports
* Empty line before namespace
* One line per import
* Empty after imports
* Emmpty line at bottom of file

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2019-11-22 20:52:10 +07:00
waleczny 6e3ea09b1c
Get first element of nodes array
Geting first element of nodes array instead of element with key 0. In some cases key 0 not exists in this array ie. when file is shared from group folder with member of this group who have no permission to read this file.
2019-11-18 23:33:26 +07:00
Joas Schilling e79ab7d0c5
The share manager knows which provider can accept shares
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-11-12 17:37:47 +07:00
Joas Schilling 520042bbd0
Allow to accept group shares
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-11-12 17:36:58 +07:00
Joas Schilling e96c9e0e4a
Add the notifier and the API endpoint for user shares
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-11-12 17:33:50 +07:00
John Molakvoæ (skjnldsv) 2fd057513a Fix current user edit/delete permissions
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2019-10-29 13:20:08 +07:00
John Molakvoæ (skjnldsv) cc4362df4f Unify code to get shares of a file or also including subfiles
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2019-10-25 21:41:12 +07:00
John Molakvoæ (skjnldsv) dbb6b4cbb9 Filter out duplicated shares before processing them
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2019-10-25 21:41:12 +07:00
Daniel Calviño Sánchez 8098abee60 Do not return shares with the current user
Getting the shares of a file no longer returns shares with the current
user for consistency with the results when getting the shares including
subfiles.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-10-25 21:40:50 +07:00
Daniel Calviño Sánchez 1afefc2d9a Extract method to get all shares
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-10-25 21:39:49 +07:00
Daniel Calviño Sánchez 222e5a9a9f Add missing share types when getting shares of a file
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-10-25 21:39:49 +07:00
Daniel Calviño Sánchez 24febe1e41 Unify share type sorting when getting shares of a file or with subfiles
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-10-25 21:39:49 +07:00
Daniel Calviño Sánchez 0599536c82 Remove unneeded calls to "ShareManager::shareProviderExists()"
"ShareManager::getSharesBy()" already checks if the share provider
exists before returning the shares and, if the provider does not exist,
it returns an empty array. Therefore it is not needed to explicitly
check if the provider exists or not.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2019-10-25 21:39:49 +07:00
John Molakvoæ (skjnldsv) ff895abac0
Fix shares read permissions
A user with reshare permissions on a file is now able to get any share
of that file (just like the owner).

Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2019-10-04 21:40:30 +07:00
John Molakvoæ (skjnldsv) b1069b29fa
Add checks for whether a user with access to a share can delete it
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2019-10-04 19:25:11 +07:00
John Molakvoæ (skjnldsv) f02cff1304
Extract check for whether a user with access to a share can edit it
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2019-10-04 19:25:11 +07:00
John Molakvoæ (skjnldsv) c49469c4d8
Prevent non owners to update others link shares
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2019-10-04 08:19:07 +07:00
John Molakvoæ (skjnldsv) c8d50538b8
Use same settings for mail share as link shares
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2019-10-04 08:19:07 +07:00
Joas Schilling 858b18e34a
Bye Spreed namespace, hello Talk!
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-09-05 15:32:58 +07:00
Joas Schilling 85a80b05ac
Unify the permission checking in one place only
Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-07-03 16:34:00 +07:00
Joas Schilling 7aa26b28a8
Correctly check share permissions when updating a re-sub-share
Before this change the node you shared was checked for permissions.
This works when you reshare the folder that was shared with you.
However when you reshared a subfolder (e.g. as public link),
you could afterwards update the permissions and grant
create+update permissions although the share you receive was read-only.

Signed-off-by: Joas Schilling <coding@schilljs.com>
2019-06-27 15:27:30 +07:00
Maxence Lange 749fdab3b0 do not returns shared_with === currentUser
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2019-04-01 11:17:05 +07:00
Maxence Lange 0166990f01 fixing share format
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2019-03-31 10:40:14 +07:00
Maxence Lange efbadf0cf2 issue during last push
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2019-03-31 10:40:14 +07:00
Maxence Lange 44c1feb938 returns reshares in API
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2019-03-31 10:40:14 +07:00
Joas Schilling ee545d6840
Fix typo in "incoming"
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-12-05 11:27:38 +07:00
Roeland Jago Douma a343a60a68
Handle permission in update of share better
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-11-20 09:42:01 +07:00
Daniel Calviño Sánchez b2cc2d6023 Add "password" parameter to the response data of link shares
Due to legacy reasons the password of link shares was returned in the
"share_with" and "share_with_displayname" parameters of the response
data. Now a proper "password" parameter is returned too; the old
"share_with" and "share_with_displayname" parameters are kept, although
deprecated, and they will be removed in a future version of Nextcloud.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-06 23:48:28 +07:00
Roeland Jago Douma 72b7c9ffa0
Merge pull request #12105 from nextcloud/using-resharing-right-to-display-shares
Shares are displayed to users with resharing rights
2018-11-04 21:08:11 +07:00
Maxence Lange 0fc8a0f58e
user can have his resharing rights revoked, yet seeing created shares
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2018-11-02 12:10:49 +07:00
Maxence Lange 236a293f6a
check parents resharing rights
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2018-11-02 12:10:48 +07:00
Maxence Lange 275cea5d9c
limit to circles moderator
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2018-11-02 12:09:28 +07:00
Maxence Lange 72ad2d60b5
display shares to circles moderator
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2018-11-02 12:09:28 +07:00
Maxence Lange 68c44bb642
shares are displayed to users with resharing rights
Signed-off-by: Maxence Lange <maxence@artificial-owl.com>
2018-11-02 12:09:26 +07:00
Daniel Calviño Sánchez adf80aa8b3 Add sending the password by Talk for a link share to ShareAPIController
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-11-02 01:57:48 +07:00
Bjoern Schiessle 5e90711600 allow to update lables for public link shares
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-11-01 02:18:55 +07:00
Bjoern Schiessle f377a61f90 allow to add labels to shares
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-11-01 02:15:07 +07:00
Bjoern Schiessle d0411b2369
allow to create multiple link shares via share api
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-10-31 06:55:52 +07:00
Roeland Jago Douma abbb946bbb Propegate hide download state in share provider
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-30 15:18:55 +07:00
Joas Schilling ea21aa3f7a
Use numeric placeholders if there are multiple, so that RTL languages can operate better
Signed-off-by: Joas Schilling <coding@schilljs.com>
2018-10-09 14:32:14 +07:00
Roeland Jago Douma 13b1cd5cb8
Allow userId to be null
Fixes #10852

A quick hack. Still ensures some type safety however now also accepts
null. Else we'd need to add a whole new layer of middlewares.

This can only happen when a guest user wants to access a controller that
requries the user_id.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-10-04 13:04:58 +07:00
Daniel Calviño Sánchez e2e6f23b67 Suppress Phan warnings about calling undeclared class methods
The DeletedShareAPIController and ShareAPIController helpers for room
shares are defined in Talk, so the classes do not exist when Talk is not
installed. Due to this when the object returned by "getRoomShareHelper"
is used Phan complains that the class is not declared.

This is not a problem, though, because when the class is not available
"getRoomShareHelper" throws an exception, which is then caught where
that method was called. Therefore now those warnings from Phan are
suppressed (it would be better to use "@phan-suppress-next-line"
instead, but it is not yet available in our Phan version).

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-08-08 14:25:44 +07:00
Daniel Calviño Sánchez 4ed7131e26 Add support for room shares to ShareAPIController
In some cases, the ShareAPIController requires explicit handling of each
type of share (for example, to format a share for a DataResponse). Room
shares are implemented in an external app (Nextcloud Talk), so in order
to keep the controller as isolated as possible from room share specifics
all that explicit handling is done in a helper class provided by the
Talk app.

In other cases it is just enough to call the share manager specifying a
room share type; note that the share manager is guarded against share
types for which there is no provider, so it is not necessary to
explicitly check that before passing room shares to the share manager.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-08-08 14:25:43 +07:00
Daniel Calviño Sánchez 7849630cef Add support for sending the password by Talk to ShareAPIController
Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-07-24 14:04:17 +07:00
Bjoern Schiessle 72d2455577
return the as well note if we fetch a share
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-07-21 15:02:19 +07:00
Bjoern Schiessle a93f2a648b
allow to add a personal note to a share
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-07-21 15:02:18 +07:00
Morris Jobke 82021b2b1b
Merge pull request #5280 from nextcloud/shared-with-display-name
sharedWithDisplayName & sharedWithAvatar
2018-07-13 17:29:57 +07:00
Daniel Calviño Sánchez 243df99fcf Fix formatting of email and circle shares
Due to a misplaced "||" instead of "===" the condition was always met,
so every share type in the conditional chain after the remote and remote
group shares was formatted as a remote/remote group share.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-07-12 21:24:55 +07:00
Bjoern Schiessle b23032e4c5
implement federated group shares
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-07-11 10:11:44 +07:00
John Molakvoæ (skjnldsv) 3b835d8076
Js magic for deleted shares
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
2018-07-05 12:43:57 +07:00
Daniel Calviño Sánchez 6cb2cb33ac Fix getting the information of group share as a sharee
When the receiver of a group share modifies it (for example, by moving
it to a different folder) the original share is not modified, but a
"ghost" share that keeps track of the changes made by that specific user
is used instead.

By default, the method "getShareById" in the share provider returns the
share from the point of view of the sharer, but it can be used too to
get the share from the point of view of a sharee by providing the
"recipient" parameter (and if the sharee is not found then the share is
returned from the point of view of the sharer).

The "ShareAPIController" always formats the share from the point of view
of the current user, but when getting the information of a specific
share the "recipient" parameter was not given, so it was always returned
from the point of view of the sharer, even if the current user was a
sharee. Now the "recipient" parameter is set to the current user, and
thus the information of the share is returned from the point of view of
the current user, be it the sharer or a sharee.

Note that this special behaviour of "getShareById" happens only with
group shares; with other types of shares the share is the same for the
sharer and the sharee, and thus the parameter is ignored; it was added
for them too just for consistency.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-06-29 08:20:19 +07:00
Maxence Lange 0009adae80 SharedWithDisplayName + SharedWithAvatar
Signed-off-by: Maxence Lange <maxence@nextcloud.com>
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-05-21 01:24:45 +07:00
Roeland Jago Douma 4d5a2cce8d
Fix tests
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-24 08:07:25 +07:00
Roeland Jago Douma 3b34a77c58
Make the ShareAPIController strict
Fixes #9279

With types we can force php to not cast a full nummeric user to an int.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-23 20:31:57 +07:00
Roeland Jago Douma d6cda3f2a6
When formatting a share node an Empty target is invalid
Fixes #9028

For federated shares the share table holds no target information (since
it is on the other server). So when a node is actually invalid and not
found we should not display it anymore in the shared with sections etc
and thus throw the proper exceptions.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2018-04-04 11:33:05 +07:00
Daniel Calviño Sánchez 2c073dc53d Set "share_with" field to the ID of the circle
When a share is shared with a circle the "share_with" field returned by
the API endpoint was always set to the name of the circle. However, the
name is not enough to identify a circle. The Circles app now provides
the ID of the circle in the "shared with" field of a Share, so this
commit modifies the API endpoint to set the "share_with" field to the ID
of the circle when provided by the Circles app.

Signed-off-by: Daniel Calviño Sánchez <danxuliu@gmail.com>
2018-03-16 04:58:00 +07:00
Bjoern Schiessle ebb15283a6
share api: use default permission of no permission is given
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2018-02-27 12:29:25 +07:00
Morris Jobke 2a38605545
Properly log the full exception instead of only the message
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2018-01-23 10:57:21 +07:00
Morris Jobke 0eebff152a
Update license headers
Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-11-06 16:56:19 +07:00
blizzz 2060ff591b Merge pull request #6120 from nextcloud/public_upload_share_api_fix
Public upload share permission handling
2017-09-04 12:43:02 +07:00
Roeland Jago Douma eea7de4c9f
Correctly format OCS response with favorites
The helper funtion did not handle the response correctly and basically
only returned the last share with tags.

This is a simple rewrite. That is still understandable. Loops maybe more
than strictly required. But preformance is not the issue here.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-08-29 12:03:13 +07:00
Roeland Jago Douma 82791b7b06
Public upload share permission handling
If you set the permissions on a public share the SHARE permission makes
no sense. So instead of throwing a warning. Just filter out the share
permission.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2017-08-16 21:17:26 +07:00
Lukas Reschke d8ec399454
Run phan over code base
Signed-off-by: Lukas Reschke <lukas@statuscode.ch>
2017-07-19 10:28:11 +07:00
Maxence Lange 6e7be6acfd upstream
Signed-off-by: Maxence Lange <maxence@nextcloud.com>
2017-07-11 13:21:24 +07:00
Michael Jobst 81b1dc4930
share api expanded by tags (#26583)
* share api expanded by tags

* Modified files_sharing JS Unit tests

* modified tests. renamed request parameter. refactoring

* Update Share20OCS.php

Added missing function description

* Update Helper.php

Added missing function description

* Update Helper.php

implicit boolean conversion to !empty()

* Update Share20OCSTest.php

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-04-11 11:54:13 +07:00
Bjoern Schiessle 3323d01db1
update unit tests
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-04-07 15:43:59 +07:00
Bjoern Schiessle b84fd7c361
set expire date for all share types
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-04-03 10:29:32 +07:00
Bjoern Schiessle c191173d59
allow password protected mail shares
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-04-03 10:29:32 +07:00
Bjoern Schiessle 0d5147bd49
add new password column to the share table in order to set passwords for share by mails
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-04-03 10:20:49 +07:00
Joas Schilling 35f6b8716e Merge pull request #3884 from nextcloud/downstream-26956
Skip null groups in group manager
2017-03-20 12:27:38 +07:00
Maxence Lange 69694012ab shares-circles
Signed-off-by: Maxence Lange <maxence@nextcloud.com>
2017-03-17 18:48:33 +07:00
Vincent Petry 377fdf3860
Skip null groups in group manager (#26871) (#26956)
* Skip null groups in group manager (#26871)

* Skip null groups in group manager

* Also skip null groups in group manager's search function

* Add more group null checks in sharing code

* Add unit tests for null group safety in group manager

* Add unit tests for sharing code null group checks

* Added tests for null groups handling in sharing code

* Ignore moveShare optional repair in mount provider

In some cases, data is inconsistent in the oc_share table due to legacy
data. The mount provider might attempt to make it consistent but if the
target group does not exist any more it cannot work. In such case we
simply ignore the exception as it is not critical. Keeping the
exception would break user accounts as they would be unable to use
their filesystem.

* Adjust null group handing + tests

* Fix new group manager tests

Signed-off-by: Morris Jobke <hey@morrisjobke.de>
2017-03-17 00:07:03 +07:00
Bjoern Schiessle 92d7dd4781
allow editing single files shared as public link
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2017-01-24 13:41:27 +07:00
Vincent Petry 14256d631c
Use group display name in sharing API + UI 2016-12-22 18:35:32 +07:00
Roeland Jago Douma 965981486f
Fixes not allowed increasing of link share permissions
Fixes the following:

1. user0 shares folder with user1 (RO but with sharing permissions)
2. user1 shares by link
3. user1 send 'publicUpload=true' OCS request to the link share

before this increased the permissions of the link share. Which should
not happen.

now: API reponds with an error that the permissions can't be increased.

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-11-13 20:29:34 +07:00
Morris Jobke ffebc050d0 Merge pull request #1887 from nextcloud/downstream-26370
Added functions to check etag of elements - integration tests
2016-11-02 14:57:45 +07:00
Roeland Jago Douma e5bc45c349
Fix OCS API to be able to remove group shares from self as recipient
Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-11-02 08:49:58 +07:00
Bjoern Schiessle 6d7520b1e2
unit tests updated and new added
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2016-11-01 19:54:41 +07:00
Bjoern Schiessle 561dd80d57
don't show 'notify by mail' option or permissions not available for mail shares
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2016-11-01 19:54:41 +07:00
Bjoern Schiessle 8c8a019b7e
show correct display name if we have the user in one of our address books
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2016-11-01 19:54:40 +07:00
Bjoern Schiessle 77f74b9780
handle case if no share-by-mail share provider is loaded
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2016-11-01 19:54:40 +07:00
Bjoern Schiessle 96c40d14a1
update permissions
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2016-11-01 19:51:11 +07:00
Bjoern Schiessle a17c6a485d
add share by mail share provider
Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
2016-11-01 19:51:11 +07:00
Roeland Jago Douma ea07bbc562
Move Share20OCS to ShareAPIController
It was already a controller just still residing in its old location.

* Moved ShareAPIController to user plain userID instead of user object
* Moved Share20OCS to ShareAPIController
* Removed initisation of class from Application.php and leave it to the
AppFramework
* Fixed tests

Signed-off-by: Roeland Jago Douma <roeland@famdouma.nl>
2016-10-24 09:52:34 +07:00