Monotone-Parent: 6b29211b83532bdab288ba2a6d428067b1e81267

Monotone-Revision: f52396704f73dfc96a00df9959e4d9cb043d72fe

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2007-05-30T20:20:02
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Wolfgang Sourdeau
2007-05-30 20:20:02 +00:00
parent b4859d592f
commit e4aae34ab7
3 changed files with 38 additions and 1 deletions

View File

@@ -1,5 +1,9 @@
2007-05-30 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* SoObjects/SOGo/SOGoUser.m ([SOGoUser -fullEmail]): new proxy method.
([SOGoUser -language]): new method that returns the user's
preferred language, or the system's if none has been set yet.
* SoObjects/SOGo/SOGoObject.m ([SOGoObject -davURL]): new method
that returns the full dav url to self.
([SOGoObject -soURL]): same as above but for the so url (Web UI).

View File

@@ -45,6 +45,7 @@
@interface SOGoUser : SoUser
{
NSString *cn;
NSString *language;
NSArray *allEmails;
NSUserDefaults *userDefaults;
NSUserDefaults *userSettings;
@@ -56,6 +57,8 @@
/* properties */
- (NSString *) fullEmail;
- (NSString *) primaryEmail;
- (NSString *) systemEmail;
- (NSArray *) allEmails;
@@ -80,6 +83,7 @@
- (NSUserDefaults *) userDefaults;
- (NSUserDefaults *) userSettings;
- (NSString *) language;
- (NSTimeZone *) timeZone;
- (NSTimeZone *) serverTimeZone;

View File

@@ -35,6 +35,7 @@
static NSTimeZone *serverTimeZone = nil;
static NSString *fallbackIMAP4Server = nil;
static NSString *defaultLanguage = nil;
static NSURL *AgenorProfileURL = nil;
@interface NSObject (SOGoRoles)
@@ -66,7 +67,14 @@ static NSURL *AgenorProfileURL = nil;
AgenorProfileURL = [[NSURL alloc] initWithString: profileURL];
}
if (!fallbackIMAP4Server)
ASSIGN (fallbackIMAP4Server, [ud stringForKey: @"SOGoFallbackIMAP4Server"]);
ASSIGN (fallbackIMAP4Server,
[ud stringForKey: @"SOGoFallbackIMAP4Server"]);
if (!defaultLanguage)
{
ASSIGN (defaultLanguage, [ud stringForKey: @"SOGoDefaultLanguage"]);
if (!defaultLanguage)
ASSIGN (defaultLanguage, @"English");
}
}
+ (SOGoUser *) userWithLogin: (NSString *) newLogin
@@ -87,6 +95,7 @@ static NSURL *AgenorProfileURL = nil;
userDefaults = nil;
userSettings = nil;
allEmails = nil;
language = nil;
}
return self;
@@ -116,6 +125,8 @@ static NSURL *AgenorProfileURL = nil;
{
[userDefaults release];
[userSettings release];
[allEmails release];
[language release];
[super dealloc];
}
@@ -144,6 +155,11 @@ static NSURL *AgenorProfileURL = nil;
/* properties */
- (NSString *) fullEmail
{
return [[LDAPUserManager sharedUserManager] getFullEmailForUID: login];
}
- (NSString *) primaryEmail
{
if (!allEmails)
@@ -249,6 +265,19 @@ static NSURL *AgenorProfileURL = nil;
return userSettings;
}
- (NSString *) language
{
if (!language)
{
language = [[self userDefaults] stringForKey: @"Language"];
if (!language)
language = defaultLanguage;
[language retain];
}
return language;
}
- (NSTimeZone *) timeZone
{
NSString *timeZoneName;