Monotone-Parent: 0c7a65a7ae59f5d0705e19995f38d41b3d5a91d9

Monotone-Revision: bcdfd009ee4cceab323c313ebc63a74fac6e3e2f

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2007-06-19T18:06:18
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Wolfgang Sourdeau
2007-06-19 18:06:18 +00:00
parent f41adce75b
commit b7510b8899
3 changed files with 68 additions and 4 deletions
+6
View File
@@ -1,5 +1,11 @@
2007-06-19 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* SoObjects/SOGo/SOGoUser.m ([SOGoUser
-setCurrentPassword:newPassword]): new stub method.
([SOGoUser -dateFormatterInContext:context]): new method that
returns an instance of SOGoDateFormatter configured based on the
user defaults.
* UI/Common/UIxPageFrame.m ([UIxPageFrame
-relativePreferencesPath]): new method.
+13 -1
View File
@@ -22,7 +22,7 @@
#ifndef __SOGoUser_H__
#define __SOGoUser_H__
#include <NGObjWeb/SoUser.h>
#import <NGObjWeb/SoUser.h>
/*
SOGoUser
@@ -41,19 +41,29 @@
@class NSUserDefaults;
@class NSTimeZone;
@class WOContext;
@class SOGoDateFormatter;
extern NSString *SOGoWeekStartHideWeekNumbers;
extern NSString *SOGoWeekStartJanuary1;
extern NSString *SOGoWeekStartFirst4DayWeek;
extern NSString *SOGoWeekStartFirstFullWeek;
@interface SOGoUser : SoUser
{
NSString *currentPassword;
NSString *cn;
NSString *language;
NSArray *allEmails;
NSUserDefaults *userDefaults;
NSUserDefaults *userSettings;
NSTimeZone *userTimeZone;
SOGoDateFormatter *dateFormatter;
}
+ (SOGoUser *) userWithLogin: (NSString *) login
roles: (NSArray *) roles;
- (void) setCurrentPassword: (NSString *) newPassword;
- (NSString *) currentPassword;
/* properties */
@@ -68,6 +78,8 @@
- (NSString *) cn;
- (NSURL *) freeBusyURL;
- (SOGoDateFormatter *) dateFormatterInContext: (WOContext *) context;
/* shares and identities */
- (NSString *) primaryIMAP4AccountString;
+49 -3
View File
@@ -29,7 +29,8 @@
#import "AgenorUserDefaults.h"
#import "LDAPUserManager.h"
#import "SOGoContentObject.h"
#import "SOGoDateFormatter.h"
#import "SOGoObject.h"
#import "SOGoPermissions.h"
#import "NSArray+Utilities.h"
@@ -40,6 +41,11 @@ static NSString *fallbackIMAP4Server = nil;
static NSString *defaultLanguage = nil;
static NSURL *AgenorProfileURL = nil;
NSString *SOGoWeekStartHideWeekNumbers = @"HideWeekNumbers";
NSString *SOGoWeekStartJanuary1 = @"January1";
NSString *SOGoWeekStartFirst4DayWeek = @"First4DayWeek";
NSString *SOGoWeekStartFirstFullWeek = @"FirstFullWeek";
@interface NSObject (SOGoRoles)
- (NSArray *) rolesOfUser: (NSString *) uid;
@@ -98,6 +104,8 @@ static NSURL *AgenorProfileURL = nil;
userSettings = nil;
allEmails = nil;
language = nil;
currentPassword = nil;
dateFormatter = nil;
}
return self;
@@ -125,13 +133,25 @@ static NSURL *AgenorProfileURL = nil;
- (void) dealloc
{
[currentPassword release];
[userDefaults release];
[userSettings release];
[allEmails release];
[language release];
[dateFormatter release];
[super dealloc];
}
- (void) setCurrentPassword: (NSString *) newPassword
{
ASSIGN (currentPassword, newPassword);
}
- (NSString *) currentPassword
{
return currentPassword;
}
- (id) _fetchFieldForUser: (NSString *) field
{
NSDictionary *contactInfos;
@@ -232,6 +252,30 @@ static NSURL *AgenorProfileURL = nil;
return nil;
}
- (SOGoDateFormatter *) dateFormatterInContext: (WOContext *) context
{
NSString *format;
NSUserDefaults *ud;
if (!dateFormatter)
{
dateFormatter = [SOGoDateFormatter new];
[dateFormatter setLocale: [context valueForKey: @"locale"]];
ud = [self userDefaults];
format = [ud stringForKey: @"ShortDateFormat"];
if (format)
[dateFormatter setShortDateFormat: format];
format = [ud stringForKey: @"LongDateFormat"];
if (format)
[dateFormatter setLongDateFormat: format];
format = [ud stringForKey: @"TimeFormat"];
if (format)
[dateFormatter setTimeFormat: format];
}
return dateFormatter;
}
/* defaults */
- (NSUserDefaults *) userDefaults
@@ -309,8 +353,10 @@ static NSURL *AgenorProfileURL = nil;
if ([folder isKindOfClass:[NSException class]])
return folder;
[(WOContext *)_ctx setObject:folder ? folder : [NSNull null]
forKey: @"ActiveUserHomeFolder"];
[(WOContext *)_ctx setObject: ((folder)
? folder
: [NSNull null])
forKey: @"ActiveUserHomeFolder"];
return folder;
}