summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorVincent Petry <pvince81@owncloud.com>2015-10-07 17:50:51 +0200
committerRoeland Jago Douma <rullzer@owncloud.com>2015-10-08 16:39:12 +0200
commit4bf19d4472c5dbaa22c0f365cf6d39bc74b3538a (patch)
tree15a441171c63a3568aa11eda53f6071d4d4532a9 /core
parent33cf1c3c92f6d9b4fcf2375a894e2922b948c6e3 (diff)
downloadnextcloud-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.js10
-rw-r--r--core/js/shareitemmodel.js8
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();
},
/**