Fix refresh of drafts folder when saving a draft

This commit is contained in:
Francis Lachapelle
2019-01-21 16:24:07 -05:00
parent ca9f83ec1f
commit 9a8415c095
7 changed files with 25 additions and 10 deletions
+1
View File
@@ -7,6 +7,7 @@ Enhancements
Bug fixes
- [web] fixed all-day event dates with different timezone
- [web] fixed display of Bcc header (#4642)
- [web] fixed refresh of drafts folder when saving a draft
- [core] ignore transparent events in time conflict validation (#4539)
- [core] fixed yearly recurrence calculator when starting from previous year
+8 -1
View File
@@ -874,6 +874,7 @@ static NSString *userAgent = nil;
NSDictionary *h;
NSMutableArray *addresses;
NGImap4Envelope *sourceEnvelope;
SOGoUserDefaults *ud;
id priority, receipt;
[sourceMail fetchCoreInfos];
@@ -917,10 +918,12 @@ static NSString *userAgent = nil;
if ([receipt isNotEmpty] && [receipt isKindOfClass: [NSString class]])
[info setObject: (NSString*)receipt forKey: @"Disposition-Notification-To"];
[self setHeaders: info];
ud = [[context activeUser] userDefaults];
[self setHeaders: info];
[self setText: [sourceMail contentForEditing]];
[self setIMAP4ID: [[sourceMail nameInContainer] intValue]];
[self setIsHTML: [[ud mailComposeMessageType] isEqualToString: @"html"]];
}
//
@@ -934,6 +937,7 @@ static NSString *userAgent = nil;
NSMutableArray *addresses;
NSMutableDictionary *info;
NGImap4Envelope *sourceEnvelope;
SOGoUserDefaults *ud;
fromSentMailbox = [[sourceMail container] isKindOfClass: [SOGoSentFolder class]];
[sourceMail fetchCoreInfos];
@@ -955,8 +959,11 @@ static NSString *userAgent = nil;
if ([addresses count])
[info setObject: [addresses objectAtIndex: 0] forKey: @"from"];
ud = [[context activeUser] userDefaults];
[self setText: [sourceMail contentForReply]];
[self setHeaders: info];
[self setIsHTML: [[ud mailComposeMessageType] isEqualToString: @"html"]];
[self setSourceURL: [sourceMail imap4URLString]];
[self setSourceFlag: @"Answered"];
[self setSourceIMAP4ID: [[sourceMail nameInContainer] intValue]];
+5 -3
View File
@@ -106,6 +106,7 @@
NSDictionary *data;
NSString *accountName, *mailboxName, *messageName;
SOGoDraftsFolder *drafts;
SOGoUserDefaults *ud;
id mailTo;
BOOL save;
@@ -139,10 +140,11 @@
signature = [[self clientObject] signature];
if ([signature length])
{
nl = ([[[[context activeUser] userDefaults] mailComposeMessageType] isEqualToString: @"html"] ? @"<br/>" : @"\n");
ud = [[context activeUser] userDefaults];
[newDraftMessage setIsHTML: [[ud mailComposeMessageType] isEqualToString: @"html"]];
nl = ([newDraftMessage isHTML] ? @"<br/>" : @"\n");
[newDraftMessage
setText: [NSString stringWithFormat: @"%@%@-- %@%@", nl, nl, nl, signature]];
[newDraftMessage setText: [NSString stringWithFormat: @"%@%@-- %@%@", nl, nl, nl, signature]];
save = YES;
}
if (save)
+3 -1
View File
@@ -756,6 +756,7 @@ static NSArray *infoKeys = nil;
co = [self clientObject];
[co fetchInfo];
[self loadInfo: [co headers]];
[self setIsHTML: [co isHTML]];
[self setText: [co text]];
[self setSourceUID: [co IMAP4ID]];
[self setSourceFolder: [co sourceFolder]];
@@ -793,7 +794,7 @@ static NSArray *infoKeys = nil;
SOGoDraftObject *co;
co = [self clientObject];
[self setIsHTML: [self isHTML]];
[co setIsHTML: isHTML];
result = [self _saveRequestInfo];
if (!result)
@@ -805,6 +806,7 @@ static NSArray *infoKeys = nil;
{
// Save new UID to plist
[self setSourceUID: [co IMAP4ID]];
[co setIsHTML: isHTML];
[co storeInfo];
// Prepare response
@@ -434,9 +434,11 @@
}
}
Mailbox.$log.debug('Loading UIDs ' + uids.join(' '));
futureHeadersData = Mailbox.$$resource.post(this.id, 'headers', {uids: uids});
this.$unwrapHeaders(futureHeadersData);
if (uids.length) {
Mailbox.$log.debug('Loading UIDs ' + uids.join(' '));
futureHeadersData = Mailbox.$$resource.post(this.id, 'headers', {uids: uids});
this.$unwrapHeaders(futureHeadersData);
}
}
}
return loaded;
@@ -171,10 +171,11 @@
index = this.$mailbox.uidsMap[oldUID];
this.$mailbox.uidsMap[uid] = index;
delete this.$mailbox.uidsMap[oldUID];
this.$mailbox.$messages[index].uid = this.uid;
// Update messages list of mailbox
_.forEach(['from', 'to', 'subject'], function(attr) {
_this.$mailbox.$messages[index][attr] = _this[attr];
_this.$mailbox.$messages[index][attr] = _this.editable[attr];
});
}
}
@@ -128,7 +128,7 @@
// },
onSuccessItem: function(item, response, status, headers) {
vm.message.$setUID(response.uid);
vm.message.$reload({asDraft: false});
vm.message.$reload();
item.inlineUrl = response.lastAttachmentAttrs[0].url;
//console.debug(item); console.debug('success = ' + JSON.stringify(response, undefined, 2));
},