From b27595888ae11c921edc383f6d880f646bacd367 Mon Sep 17 00:00:00 2001
From: Ramiro Aparicio <rapariciog@gmail.com>
Date: Mon, 21 Oct 2013 16:14:23 +0200
Subject: [PATCH] fix notify user, and made js more resiliant to changes

---
 core/ajax/share.php |  2 +-
 core/js/share.js    | 21 ++++++++++-----------
 2 files changed, 11 insertions(+), 12 deletions(-)

diff --git a/core/ajax/share.php b/core/ajax/share.php
index dbad8f2e97..77529c620d 100644
--- a/core/ajax/share.php
+++ b/core/ajax/share.php
@@ -83,7 +83,7 @@ if (isset($_POST['action']) && isset($_POST['itemType']) && isset($_POST['itemSo
 				($return) ? OC_JSON::success() : OC_JSON::error();
 			}
 			break;
-	case 'informRecipients':
+		case 'informRecipients':
 
 			$l = OC_L10N::get('core');
 
diff --git a/core/js/share.js b/core/js/share.js
index 6ec15f01c1..1e61360f8a 100644
--- a/core/js/share.js
+++ b/core/js/share.js
@@ -540,13 +540,13 @@ $(document).ready(function() {
 	});
 
 	$(document).on('click', '#dropdown .unshare', function() {
-		var li = $(this).parent();
+		var $li = $(this).closest('li');
 		var itemType = $('#dropdown').data('item-type');
 		var itemSource = $('#dropdown').data('item-source');
-		var shareType = $(li).data('share-type');
-		var shareWith = $(li).data('share-with');
+		var shareType = $li.data('share-type');
+		var shareWith = $li.data('share-with');
 		OC.Share.unshare(itemType, itemSource, shareType, shareWith, function() {
-			$(li).remove();
+			$li.remove();
 			var index = OC.Share.itemShares[shareType].indexOf(shareWith);
 			OC.Share.itemShares[shareType].splice(index, 1);
 			OC.Share.updateIcon(itemType, itemSource);
@@ -558,8 +558,8 @@ $(document).ready(function() {
 	});
 
 	$(document).on('change', '#dropdown .permissions', function() {
+		var li = $(this).closest('li');
 		if ($(this).attr('name') == 'edit') {
-			var li = $(this).parent().parent();
 			var checkboxes = $('.permissions', li);
 			var checked = $(this).is(':checked');
 			// Check/uncheck Create, Update, and Delete checkboxes if Edit is checked/unck
@@ -567,7 +567,6 @@ $(document).ready(function() {
 			$(checkboxes).filter('input[name="update"]').attr('checked', checked);
 			$(checkboxes).filter('input[name="delete"]').attr('checked', checked);
 		} else {
-			var li = $(this).parent().parent().parent();
 			var checkboxes = $('.permissions', li);
 			// Uncheck Edit if Create, Update, and Delete are not checked
 			if (!$(this).is(':checked')
@@ -590,8 +589,8 @@ $(document).ready(function() {
 		});
 		OC.Share.setPermissions($('#dropdown').data('item-type'),
 			$('#dropdown').data('item-source'),
-			$(li).data('share-type'),
-			$(li).data('share-with'),
+			li.data('share-type'),
+			li.data('share-with'),
 			permissions);
 	});
 
@@ -745,7 +744,7 @@ $(document).ready(function() {
 	});
 
 	$(document).on('click', '#dropdown input[name=mailNotification]', function() {
-		var li = $(this).parent();
+		var $li = $(this).closest('li');
 		var itemType = $('#dropdown').data('item-type');
 		var itemSource = $('#dropdown').data('item-source');
 		var action = '';
@@ -755,8 +754,8 @@ $(document).ready(function() {
 			action = 'informRecipientsDisabled';
 		}
 
-		var shareType = $(li).data('share-type');
-		var shareWith = $(li).data('share-with');
+		var shareType = $li.data('share-type');
+		var shareWith = $li.data('share-with');
 
 		$.post(OC.filePath('core', 'ajax', 'share.php'), {action: action, recipient: shareWith, shareType: shareType, itemSource: itemSource, itemType: itemType}, function(result) {
 			if (result.status !== 'success') {
-- 
GitLab