From 6ec79f77924b7c9afb1967c4db415a66129cc313 Mon Sep 17 00:00:00 2001 From: Alexandre Cloutier Date: Mon, 15 Sep 2014 10:31:51 -0400 Subject: [PATCH] bugfix with threads collapsing for a nested folder --- UI/MailerUI/UIxMailActions.m | 16 +++++++++------- UI/WebServerResources/MailerUI.js | 3 ++- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/UI/MailerUI/UIxMailActions.m b/UI/MailerUI/UIxMailActions.m index 691a75f26..f3b84e7b0 100644 --- a/UI/MailerUI/UIxMailActions.m +++ b/UI/MailerUI/UIxMailActions.m @@ -149,20 +149,22 @@ - (void) collapseAction: (BOOL) isCollapsing { SOGoMailObject *co; - NSMutableDictionary *moduleSettings, *threadsCollapsed; + WORequest *request; + NSMutableDictionary *moduleSettings, *threadsCollapsed, *content; NSMutableArray *mailboxThreadsCollapsed; - NSString *msguid, *currentMailbox, *currentAccount, *keyForMsgUIDs; + NSString *msguid, *keyForMsgUIDs; SOGoUserSettings *us; + request = [context request]; + content = [[request contentAsString] objectFromJSONString]; + keyForMsgUIDs = [content objectForKey:@"currentMailbox"]; + msguid = [content objectForKey:@"msguid"]; + co = [self clientObject]; us = [[context activeUser] userSettings]; if (!(moduleSettings = [us objectForKey: @"Mail"])) [us setObject:[NSMutableDictionary dictionnary] forKey: @"Mail"]; - msguid = [co nameInContainer]; - currentMailbox = [[co container] nameInContainer]; - currentAccount = [[[co container] container] nameInContainer]; - keyForMsgUIDs = [NSString stringWithFormat:@"/%@/%@", currentAccount, currentMailbox]; - + if (isCollapsing) { // Check if the module threadsCollapsed is created in the userSettings diff --git a/UI/WebServerResources/MailerUI.js b/UI/WebServerResources/MailerUI.js index 77beba90f..7a5e592f0 100644 --- a/UI/WebServerResources/MailerUI.js +++ b/UI/WebServerResources/MailerUI.js @@ -253,8 +253,9 @@ function mailListToggleMessageThread(row, cell) { var mailbox = Mailer.currentMailbox; var url = ApplicationBaseURL + encodeURI(mailbox) + "/" + msguid + "/" + action; var callbackData = { "currentMailbox": Mailer.currentMailbox, "msguid": msguid, "action": action}; + var content = {"currentMailbox": Mailer.currentMailbox, "msguid": msguid}; - triggerAjaxRequest(url, mailListToggleMessageCollapseCallback, callbackData); + triggerAjaxRequest(url, mailListToggleMessageCollapseCallback, callbackData, Object.toJSON(content)); } function mailListToggleMessageCollapseCallback(http) {