sogo/UI/Contacts/UIxContactsSelectionView.m
dev-unix.inverse.qc.ca f18c764ffa see ChangeLog
Monotone-Revision: 9054022ef1ca8aeba6e34842d27d9b94ce002b89

Monotone-Author: dev-unix.inverse.qc.ca
Monotone-Date: 2006-06-15T19:34:10
Monotone-Branch: ca.inverse.sogo
2006-06-15 19:34:10 +00:00

116 lines
2.7 KiB
Objective-C

/*
Copyright (C) 2004-2005 SKYRIX Software AG
This file is part of OpenGroupware.org.
OGo is free software; you can redistribute it and/or modify it under
the terms of the GNU Lesser General Public License as published by the
Free Software Foundation; either version 2, or (at your option) any
later version.
OGo is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
License for more details.
You should have received a copy of the GNU Lesser General Public
License along with OGo; see the file COPYING. If not, write to the
Free Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA.
*/
#include "UIxContactsListViewBase.h"
#include <SOGoUI/SOGoJSStringFormatter.h>
@interface UIxContactsSelectionView : UIxContactsListViewBase
{
NSString *callback;
}
- (NSString *)_getCN;
- (NSString *)getCN;
- (NSString *)getSN;
- (NSString *)getMail;
- (NSString *)getUID;
@end
#include "common.h"
#include <SOGo/AgenorUserManager.h>
@implementation UIxContactsSelectionView
static SOGoJSStringFormatter *jsFormatter = nil;
+ (void)initialize {
static BOOL didInit = NO;
if(didInit)
return;
didInit = YES;
jsFormatter = [SOGoJSStringFormatter sharedFormatter];
}
- (void)dealloc {
[self->callback release];
[super dealloc];
}
- (NSString *)callback {
if(!self->callback) {
WORequest *r = [[self context] request];
self->callback = [[r formValueForKey:@"callback"] retain];
}
return self->callback;
}
- (NSString *)_getCN {
return [self->contact valueForKey:@"cn"];
}
- (NSString *)getCN {
return [jsFormatter stringByEscapingQuotesInString:[self _getCN]];
}
- (NSString *)getSN {
NSString *sn = [self->contact valueForKey:@"sn"];
return [jsFormatter stringByEscapingQuotesInString:sn];
}
- (NSString *)getMail {
return [self->contact valueForKey:@"mail"];
}
- (NSString *)getUID {
return [[AgenorUserManager sharedUserManager] getUIDForEmail:[self getMail]];
}
- (NSString *)jsOnClickCode {
/* callback parameters: (type, cn, dn, email, uid, sn) */
/* changed to : type, email, uid, sn, cn, dn */
static NSString *jsCode = \
@"javascript:opener.window.%@('', '%@', '%@', '%@', '%@', '');";
return [NSString stringWithFormat:jsCode,
[self callback],
[self getMail],
[self getUID],
[self getSN],
[self getCN]];
// return [NSString stringWithFormat:jsCode,
// [self callback],
// [self getCN],
// [self getMail],
// [self getUID],
// [self getSN]];
}
@end /* UIxContactsInlineListView */