From ddb0ff346d3d8063f88fdba8749e098a81b92d54 Mon Sep 17 00:00:00 2001 From: Roman Geber Date: Tue, 25 Jun 2013 12:24:14 +0200 Subject: Public upload feature --- core/js/share.js | 43 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) (limited to 'core') diff --git a/core/js/share.js b/core/js/share.js index 36e4babedf9..cb37dd70366 100644 --- a/core/js/share.js +++ b/core/js/share.js @@ -156,6 +156,19 @@ OC.Share={ html += '
'; } if (possiblePermissions & OC.PERMISSION_SHARE) { + // Determine the Allow Public Upload status. + // Used later on to determine if the + // respective checkbox should be checked or + // not. + + var allowPublicUploadStatus = false; + $.each(data.shares, function(key, value) { + if (allowPublicUploadStatus) { + return true; + } + allowPublicUploadStatus = (value.permissions & OC.PERMISSION_CREATE) ? true : false; + }); + html += ''; html += ''; @@ -168,12 +181,16 @@ OC.Share={ html += '
'; html += ''; html += '
'; - html += ''; + html += ''; html += ''; } + html += '
'; html += ''; html += ''; @@ -370,6 +387,7 @@ OC.Share={ $('#expiration').show(); $('#emailPrivateLink #email').show(); $('#emailPrivateLink #emailButton').show(); + $('#allowPublicUploadWrapper').show(); }, hideLink:function() { $('#linkText').hide('blind'); @@ -378,6 +396,7 @@ OC.Share={ $('#linkPass').hide(); $('#emailPrivateLink #email').hide(); $('#emailPrivateLink #emailButton').hide(); + $('#allowPublicUploadWrapper').hide(); }, dirname:function(path) { return path.replace(/\\/g,'/').replace(/\/[^\/]*$/, ''); @@ -543,6 +562,28 @@ $(document).ready(function() { $(this).select(); }); + // Handle the Allow Public Upload Checkbox + $(document).on('click', '#sharingDialogAllowPublicUpload', function() { + + // Gather data + var allowPublicUpload = $(this).is(':checked'); + var itemType = $('#dropdown').data('item-type'); + var itemSource = $('#dropdown').data('item-source'); + var permissions = 0; + + // Calculate permissions + if (allowPublicUpload) { + permissions = OC.PERMISSION_UPDATE + OC.PERMISSION_CREATE + OC.PERMISSION_READ; + } else { + permissions = OC.PERMISSION_READ; + } + + // Update the share information + OC.Share.share(itemType, itemSource, OC.Share.SHARE_TYPE_LINK, '', permissions, function(data) { + return; + }); + }); + $(document).on('click', '#dropdown #showPassword', function() { $('#linkPass').toggle('blind'); if (!$('#showPassword').is(':checked') ) { -- cgit v1.2.3