Initial mail editor

This commit is contained in:
Francis Lachapelle
2015-06-11 15:42:32 -04:00
parent 74177e4d04
commit fb63689573
13 changed files with 533 additions and 268 deletions
+18 -1
View File
@@ -51,6 +51,8 @@
#import <SOGo/SOGoUserManager.h>
#import <SOGoUI/UIxComponent.h>
#import <Mailer/SOGoMailObject.h>
#import <Mailer/SOGoDraftObject.h>
#import <Mailer/SOGoDraftsFolder.h>
#import <Mailer/SOGoMailAccount.h>
#import <Mailer/SOGoMailFolder.h>
#import <MailPartViewers/UIxMailRenderingContext.h> // cyclic
@@ -275,12 +277,13 @@ static NSString *mailETag = nil;
data = [NSMutableDictionary dictionaryWithObjectsAndKeys:
[self formattedDate], @"date",
[self messageSubject], @"subject",
[self attachmentAttrs], @"attachmentAttrs",
[self shouldAskReceipt], @"shouldAskReceipt",
[NSNumber numberWithBool: [self mailIsDraft]], @"isDraft",
[[self generateResponse] contentAsString], @"content",
nil];
if ([self messageSubject])
[data setObject: [self messageSubject] forKey: @"subject"];
if ((addresses = [addressFormatter dictionariesForArray: [co fromEnvelopeAddresses]]))
[data setObject: addresses forKey: @"from"];
if ((addresses = [addressFormatter dictionariesForArray: [co toEnvelopeAddresses]]))
@@ -292,6 +295,20 @@ static NSString *mailETag = nil;
if ((addresses = [addressFormatter dictionariesForArray: [co replyToEnvelopeAddresses]]))
[data setObject: addresses forKey: @"reply-to"];
if ([self mailIsDraft])
{
SOGoMailAccount *account;
SOGoDraftsFolder *folder;
SOGoDraftObject *newMail;
account = [co mailAccountFolder];
folder = [account draftsFolderInContext: context];
newMail = [folder newDraft];
[newMail fetchMailForEditing: co];
[newMail storeInfo];
[data setObject: [newMail nameInContainer] forKey: @"draftId"];
}
response = [self responseWithStatus: 200
andString: [data jsonRepresentation]];