diff options
author | Vincent Petry <pvince81@owncloud.com> | 2015-10-07 17:50:51 +0200 |
---|---|---|
committer | Roeland Jago Douma <rullzer@owncloud.com> | 2015-10-08 16:39:12 +0200 |
commit | 4bf19d4472c5dbaa22c0f365cf6d39bc74b3538a (patch) | |
tree | 15a441171c63a3568aa11eda53f6071d4d4532a9 /core | |
parent | 33cf1c3c92f6d9b4fcf2375a894e2922b948c6e3 (diff) | |
download | nextcloud-server-4bf19d4472c5dbaa22c0f365cf6d39bc74b3538a.tar.gz nextcloud-server-4bf19d4472c5dbaa22c0f365cf6d39bc74b3538a.zip |
Fix share email sending feedback
Redisplay email address after failure
Diffstat (limited to 'core')
-rw-r--r-- | core/js/sharedialoglinkshareview.js | 10 | ||||
-rw-r--r-- | core/js/shareitemmodel.js | 8 |
2 files changed, 15 insertions, 3 deletions
diff --git a/core/js/sharedialoglinkshareview.js b/core/js/sharedialoglinkshareview.js index 792062f0e16..1bbd10d5724 100644 --- a/core/js/sharedialoglinkshareview.js +++ b/core/js/sharedialoglinkshareview.js @@ -194,13 +194,19 @@ $emailField.prop('disabled', true); $emailButton.prop('disabled', true); $emailField.val(t('core', 'Sending ...')); - this.model.sendEmailPrivateLink(email).then(function() { + this.model.sendEmailPrivateLink(email).done(function() { $emailField.css('font-weight', 'bold').val(t('core','Email sent')); setTimeout(function() { - $emailField.css('font-weight', 'normal').val(''); + $emailField.val(''); + $emailField.css('font-weight', 'normal'); $emailField.prop('disabled', false); $emailButton.prop('disabled', false); }, 2000); + }).fail(function() { + $emailField.val(email); + $emailField.css('font-weight', 'normal'); + $emailField.prop('disabled', false); + $emailButton.prop('disabled', false); }); } return false; diff --git a/core/js/shareitemmodel.js b/core/js/shareitemmodel.js index 328d291b778..1cf116f08f9 100644 --- a/core/js/shareitemmodel.js +++ b/core/js/shareitemmodel.js @@ -522,11 +522,12 @@ * @param {string} recipientEmail recipient email address */ sendEmailPrivateLink: function(recipientEmail) { + var deferred = $.Deferred(); var itemType = this.get('itemType'); var itemSource = this.get('itemSource'); var linkShare = this.get('linkShare'); - return $.post( + $.post( OC.generateUrl('core/ajax/share.php'), { action: 'email', toaddress: recipientEmail, @@ -540,8 +541,13 @@ if (!result || result.status !== 'success') { // FIXME: a model should not show dialogs OC.dialogs.alert(result.data.message, t('core', 'Error while sending notification')); + deferred.reject(); + } else { + deferred.resolve(); } }); + + return deferred.promise(); }, /** |