From f5faa608145ccb70ed89b0d29e9b8adad17d2f0b Mon Sep 17 00:00:00 2001 From: Alexandre Cloutier Date: Mon, 10 Mar 2014 10:33:27 -0400 Subject: [PATCH] Added missing functions getClient and IsSieveServerConnected and the changes that comes with it --- UI/PreferencesUI/UIxPreferences.h | 4 ++++ UI/PreferencesUI/UIxPreferences.m | 37 +++++++++++++++++++++---------- 2 files changed, 29 insertions(+), 12 deletions(-) diff --git a/UI/PreferencesUI/UIxPreferences.h b/UI/PreferencesUI/UIxPreferences.h index 3040e67ae..69dd4c075 100644 --- a/UI/PreferencesUI/UIxPreferences.h +++ b/UI/PreferencesUI/UIxPreferences.h @@ -22,6 +22,7 @@ #define UIXPREFERENCES_H #import +#import @class NSString; @@ -32,6 +33,7 @@ { id item; SOGoUser *user; + NGSieveClient *client; // Calendar categories NSString *category; @@ -58,6 +60,8 @@ } - (NSString *) userLongDateFormat; +- (BOOL) isSieveServerAvailable; +- (id) getClient; @end diff --git a/UI/PreferencesUI/UIxPreferences.m b/UI/PreferencesUI/UIxPreferences.m index 09afe22a3..a383b9edc 100644 --- a/UI/PreferencesUI/UIxPreferences.m +++ b/UI/PreferencesUI/UIxPreferences.m @@ -114,6 +114,8 @@ static NSArray *reminderValues = nil; if ((self = [super init])) { item = nil; + client = [self getClient]; + #warning user should be the owner rather than the activeUser ASSIGN (user, [context activeUser]); ASSIGN (today, [NSCalendarDate date]); @@ -174,6 +176,7 @@ static NSArray *reminderValues = nil; [contactsCategories release]; [forwardOptions release]; [daysOfWeek release]; + [client release]; [super dealloc]; } @@ -840,26 +843,15 @@ static NSArray *reminderValues = nil; - (NSString *) sieveCapabilities { -#warning sieve caps should be deduced from the server static NSArray *capabilities = nil; - SOGoMailAccounts *folder; - SOGoMailAccount *account; - SOGoSieveManager *manager; - NGSieveClient *client; if (!capabilities) { - folder = [[self clientObject] mailAccountsFolder: @"Mail" - inContext: context]; - account = [folder lookupName: @"0" inContext: context acquire: NO]; - manager = [SOGoSieveManager sieveManagerForUser: [context activeUser]]; - client = [manager clientForAccount: account]; - if (client) capabilities = [client capabilities]; else capabilities = [NSArray array]; - [capabilities retain]; + [capabilities retain]; } return [capabilities jsonRepresentation]; @@ -1137,6 +1129,27 @@ static NSArray *reminderValues = nil; } } +- (id) getClient{ + SOGoMailAccount *account; + SOGoMailAccounts *folder; + SOGoSieveManager *manager; + NGSieveClient *realClient; + + folder = [[self clientObject] mailAccountsFolder: @"Mail" inContext: context]; + account = [folder lookupName: @"0" inContext: context acquire: NO]; + manager = [SOGoSieveManager sieveManagerForUser: [context activeUser]]; + realClient = [manager clientForAccount: account]; + + return realClient; +} + +- (BOOL) isSieveServerAvailable { + return (([client isConnected]) + ? true + : false); +} + + - (id ) defaultAction { id results;