From 5493227dd6719344829d0f2114424a0505659056 Mon Sep 17 00:00:00 2001 From: davigonz Date: Fri, 9 Jun 2017 11:51:03 +0200 Subject: [PATCH 1/4] Adding supports_upload_only capability [WIP] --- .../android/lib/resources/status/OCCapability.java | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/com/owncloud/android/lib/resources/status/OCCapability.java b/src/com/owncloud/android/lib/resources/status/OCCapability.java index be7827c1..3b17ba13 100644 --- a/src/com/owncloud/android/lib/resources/status/OCCapability.java +++ b/src/com/owncloud/android/lib/resources/status/OCCapability.java @@ -55,6 +55,7 @@ public class OCCapability { private CapabilityBooleanType mFilesSharingPublicSendMail; private CapabilityBooleanType mFilesSharingPublicUpload; private CapabilityBooleanType mFilesSharingPublicMultiple; + private CapabilityBooleanType mFilesSharingPublicSupportsUploadOnly; private CapabilityBooleanType mFilesSharingUserSendMail; @@ -239,6 +240,15 @@ public class OCCapability { this.mFilesSharingPublicMultiple = filesSharingPublicMultiple; } + public CapabilityBooleanType getFilesSharingPublicSupportsUploadOnly() { + return mFilesSharingPublicSupportsUploadOnly; + } + + public void setFilesSharingPublicSupportsUploadOnly(CapabilityBooleanType + filesSharingPublicMultiple) { + this.mFilesSharingPublicSupportsUploadOnly = filesSharingPublicMultiple; + } + public CapabilityBooleanType getFilesSharingUserSendMail() { return mFilesSharingUserSendMail; } From e7b2dde94066ce1f82076a7f3a8786ee931bc9f1 Mon Sep 17 00:00:00 2001 From: davigonz Date: Wed, 14 Jun 2017 11:14:37 +0200 Subject: [PATCH 2/4] Adding support upload only field to OCCapability --- src/com/owncloud/android/lib/resources/status/OCCapability.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/com/owncloud/android/lib/resources/status/OCCapability.java b/src/com/owncloud/android/lib/resources/status/OCCapability.java index 3b17ba13..f866e4c9 100644 --- a/src/com/owncloud/android/lib/resources/status/OCCapability.java +++ b/src/com/owncloud/android/lib/resources/status/OCCapability.java @@ -90,6 +90,7 @@ public class OCCapability { mFilesSharingPublicSendMail = CapabilityBooleanType.UNKNOWN; mFilesSharingPublicUpload = CapabilityBooleanType.UNKNOWN; mFilesSharingPublicMultiple = CapabilityBooleanType.UNKNOWN; + mFilesSharingPublicSupportsUploadOnly = CapabilityBooleanType.UNKNOWN; mFilesSharingUserSendMail = CapabilityBooleanType.UNKNOWN; mFilesSharingResharing = CapabilityBooleanType.UNKNOWN; mFilesSharingFederationOutgoing = CapabilityBooleanType.UNKNOWN; From bcb6c2c106caaa8be865155395a031a1edd59759 Mon Sep 17 00:00:00 2001 From: davigonz Date: Fri, 16 Jun 2017 11:07:06 +0200 Subject: [PATCH 3/4] Update permissions when updating share via link --- .../resources/shares/UpdateRemoteShareOperation.java | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/com/owncloud/android/lib/resources/shares/UpdateRemoteShareOperation.java b/src/com/owncloud/android/lib/resources/shares/UpdateRemoteShareOperation.java index fa5bb3f9..222d7934 100644 --- a/src/com/owncloud/android/lib/resources/shares/UpdateRemoteShareOperation.java +++ b/src/com/owncloud/android/lib/resources/shares/UpdateRemoteShareOperation.java @@ -102,6 +102,7 @@ public class UpdateRemoteShareOperation extends RemoteOperation { mPassword = null; // no update mExpirationDateInMillis = 0; // no update mPublicUpload = null; + mPermissions = OCShare.DEFAULT_PERMISSION; } @@ -188,15 +189,18 @@ public class UpdateRemoteShareOperation extends RemoteOperation { parametersToUpdate.add(new Pair<>(PARAM_EXPIRATION_DATE, formattedExpirationDate)); } // else, ignore - no update - if (mPermissions > 0) { - // set permissions - parametersToUpdate.add(new Pair<>(PARAM_PERMISSIONS, Integer.toString(mPermissions))); - } if (mPublicUpload != null) { parametersToUpdate.add(new Pair<>(PARAM_PUBLIC_UPLOAD, Boolean.toString(mPublicUpload))); } + // IMPORTANT: permissions parameter needs to be updated after mPublicUpload parameter, + // otherwise they would be set as 1 (READ) in the server when mPublicUpload was updated + if (mPermissions > 0) { + // set permissions + parametersToUpdate.add(new Pair<>(PARAM_PERMISSIONS, Integer.toString(mPermissions))); + } + /// perform required PUT requests PutMethod put = null; String uriString; From 137a892d2ed49e1c42126c162bccf4f1b8cef087 Mon Sep 17 00:00:00 2001 From: davigonz Date: Fri, 16 Jun 2017 11:43:18 +0200 Subject: [PATCH 4/4] Improve comments --- .../lib/resources/shares/UpdateRemoteShareOperation.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/com/owncloud/android/lib/resources/shares/UpdateRemoteShareOperation.java b/src/com/owncloud/android/lib/resources/shares/UpdateRemoteShareOperation.java index 222d7934..a16d4c66 100644 --- a/src/com/owncloud/android/lib/resources/shares/UpdateRemoteShareOperation.java +++ b/src/com/owncloud/android/lib/resources/shares/UpdateRemoteShareOperation.java @@ -195,7 +195,7 @@ public class UpdateRemoteShareOperation extends RemoteOperation { } // IMPORTANT: permissions parameter needs to be updated after mPublicUpload parameter, - // otherwise they would be set as 1 (READ) in the server when mPublicUpload was updated + // otherwise they would be set always as 1 (READ) in the server when mPublicUpload was updated if (mPermissions > 0) { // set permissions parametersToUpdate.add(new Pair<>(PARAM_PERMISSIONS, Integer.toString(mPermissions)));