From 561dd80d576ab87947e49b080dd5eb5d2c0a0ee9 Mon Sep 17 00:00:00 2001
From: Bjoern Schiessle <bjoern@schiessle.org>
Date: Wed, 26 Oct 2016 11:27:43 +0200
Subject: [PATCH] don't show 'notify by mail' option or permissions not
 available for mail shares

Signed-off-by: Bjoern Schiessle <bjoern@schiessle.org>
---
 .../lib/Controller/ShareAPIController.php         |  3 ++-
 apps/sharebymail/templates/altmail.php            |  2 +-
 core/js/sharedialogshareelistview.js              | 15 +++++++++++----
 3 files changed, 14 insertions(+), 6 deletions(-)

diff --git a/apps/files_sharing/lib/Controller/ShareAPIController.php b/apps/files_sharing/lib/Controller/ShareAPIController.php
index 186f314a1c8..ae8165602a6 100644
--- a/apps/files_sharing/lib/Controller/ShareAPIController.php
+++ b/apps/files_sharing/lib/Controller/ShareAPIController.php
@@ -432,7 +432,8 @@ class ShareAPIController extends OCSController {
 				$share->setPermissions(
 					\OCP\Constants::PERMISSION_READ |
 					\OCP\Constants::PERMISSION_CREATE |
-					\OCP\Constants::PERMISSION_UPDATE);
+					\OCP\Constants::PERMISSION_UPDATE |
+					\OCP\Constants::PERMISSION_DELETE);
 			}
 			$share->setSharedWith($shareWith);
 		} else {
diff --git a/apps/sharebymail/templates/altmail.php b/apps/sharebymail/templates/altmail.php
index 02d262d7229..7b9de6295ff 100644
--- a/apps/sharebymail/templates/altmail.php
+++ b/apps/sharebymail/templates/altmail.php
@@ -31,6 +31,6 @@ p($l->t("Cheers!"));
 print_unescaped("\n");
 ?>
 
--- 
+--
 <?php p($theme->getName() . ' - ' . $theme->getSlogan()); ?>
 <?php print_unescaped("\n".$theme->getBaseUrl());
diff --git a/core/js/sharedialogshareelistview.js b/core/js/sharedialogshareelistview.js
index cca698905c2..775eaa554b0 100644
--- a/core/js/sharedialogshareelistview.js
+++ b/core/js/sharedialogshareelistview.js
@@ -27,22 +27,25 @@
 					'<span class="has-tooltip username" title="{{shareWithTitle}}">{{shareWithDisplayName}}</span>' +
 					'<span class="sharingOptionsGroup">' +
 						'{{#if editPermissionPossible}}' +
+						'{{#unless isFileSharedByMail}}' +
 						'<span class="shareOption">' +
 							'<input id="canEdit-{{cid}}-{{shareWith}}" type="checkbox" name="edit" class="permissions checkbox" {{#if hasEditPermission}}checked="checked"{{/if}} />' +
 							'<label for="canEdit-{{cid}}-{{shareWith}}">{{canEditLabel}}</label>' +
 						'</span>' +
+						'{{/unless}}' +
 						'{{/if}}' +
+						'{{#unless isMailShare}}' +
 						'<a href="#"><span class="icon icon-more"></span></a>' +
 						'<div class="popovermenu bubble hidden menu">' +
 							'<ul>' +
-								'{{#if isResharingAllowed}} {{#if sharePermissionPossible}}' +
+								'{{#if isResharingAllowed}} {{#if sharePermissionPossible}} {{#unless isMailShare}}' +
 								'<li>' +
 									'<span class="shareOption">' +
 										'<input id="canShare-{{cid}}-{{shareWith}}" type="checkbox" name="share" class="permissions checkbox" {{#if hasSharePermission}}checked="checked"{{/if}} data-permissions="{{sharePermission}}" />' +
 										'<label for="canShare-{{cid}}-{{shareWith}}">{{canShareLabel}}</label>' +
 									'</span>' +
 								'</li>' +
-								'{{/if}} {{/if}}' +
+								'{{/unless}} {{/if}} {{/if}}' +
 								'{{#if isFolder}}' +
 									'{{#if createPermissionPossible}}' +
 									'<li>' +
@@ -74,7 +77,9 @@
 								'</li>' +
 							'</ul>' +
 						'</div>' +
-						'</span>' +
+						'{{/unless}}' +
+						'<a href="#" class="unshare"><span class="icon-loading-small hidden"></span><span class="icon icon-delete"></span><span class="hidden-visually">{{unshareLabel}}</span></a>' +
+					'</span>' +
 				'</li>' +
 			'{{/each}}' +
 			'{{#each linkReshares}}' +
@@ -175,7 +180,9 @@
 				shareType: shareType,
 				shareId: this.model.get('shares')[shareIndex].id,
 				modSeed: shareType !== OC.Share.SHARE_TYPE_USER,
-				isRemoteShare: shareType === OC.Share.SHARE_TYPE_REMOTE
+				isRemoteShare: shareType === OC.Share.SHARE_TYPE_REMOTE,
+				isMailShare: shareType === OC.Share.SHARE_TYPE_EMAIL,
+				isFileSharedByMail: shareType === OC.Share.SHARE_TYPE_EMAIL && !this.model.isFolder()
 			});
 		},
 
-- 
GitLab