mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-05-26 13:55:23 +00:00
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:
@@ -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.
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user