From caec4f8333dd7a91a6ba421c8aece00c5a85e0d7 Mon Sep 17 00:00:00 2001 From: Wolfgang Sourdeau Date: Tue, 19 Jun 2007 17:55:53 +0000 Subject: [PATCH] Monotone-Parent: e55b054800d7d89a5aad8e5477bfe9625f49efa5 Monotone-Revision: 4f0272f926f26c8a39d7b00154a9b6dd2d17a27a Monotone-Author: wsourdeau@inverse.ca Monotone-Date: 2007-06-19T17:55:53 Monotone-Branch: ca.inverse.sogo --- ChangeLog | 2 + UI/Scheduler/UIxAppointmentView.h | 40 ---- UI/Scheduler/UIxAppointmentView.m | 292 ------------------------------ 3 files changed, 2 insertions(+), 332 deletions(-) delete mode 100644 UI/Scheduler/UIxAppointmentView.h delete mode 100644 UI/Scheduler/UIxAppointmentView.m diff --git a/ChangeLog b/ChangeLog index a5a669680..6019f4a8c 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,7 @@ 2007-06-19 Wolfgang Sourdeau + * UI/Scheduler/UIxAppointmentView.[hm]: removed unused module. + * SoObjects/SOGo/WOContext+Agenor.[hm]: removed unused module. 2007-06-14 Wolfgang Sourdeau diff --git a/UI/Scheduler/UIxAppointmentView.h b/UI/Scheduler/UIxAppointmentView.h deleted file mode 100644 index 86a85fe28..000000000 --- a/UI/Scheduler/UIxAppointmentView.h +++ /dev/null @@ -1,40 +0,0 @@ -// $Id: UIxAppointmentView.h 1045 2007-04-11 20:13:07Z wolfgang $ - -#ifndef __SOGo_UIxAppointmentView_H__ -#define __SOGo_UIxAppointmentView_H__ - -#include - -@class NSCalendarDate; -@class iCalEvent; -@class iCalPerson; -@class SOGoDateFormatter; - -@interface UIxAppointmentView : UIxComponent -{ - iCalEvent* appointment; - iCalPerson* attendee; - SOGoDateFormatter *dateFormatter; - id item; -} - -- (iCalEvent *) appointment; - -/* permissions */ -- (BOOL) canAccessApt; -- (BOOL) canEditApt; - -- (SOGoDateFormatter *) dateFormatter; -- (NSCalendarDate *) startTime; -- (NSCalendarDate *) endTime; - -- (NSString *) attributesTabLink; -- (NSString *) participantsTabLink; - -- (NSString *) completeHrefForMethod: (NSString *) _method - withParameter: (NSString *) _param - forKey: (NSString *) _key; - -@end - -#endif /* __SOGo_UIxAppointmentView_H__ */ diff --git a/UI/Scheduler/UIxAppointmentView.m b/UI/Scheduler/UIxAppointmentView.m deleted file mode 100644 index 4814f7140..000000000 --- a/UI/Scheduler/UIxAppointmentView.m +++ /dev/null @@ -1,292 +0,0 @@ -/* - 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. -*/ - -#import "UIxAppointmentView.h" -#import -#import -#import -#import -#import -#import "UIxComponent+Scheduler.h" -#import "common.h" - -@interface UIxAppointmentView (PrivateAPI) -- (BOOL)isAttendeeActiveUser; -@end - -@implementation UIxAppointmentView - -- (void)dealloc { - [appointment release]; - [attendee release]; - [dateFormatter release]; - [item release]; - [super dealloc]; -} - -/* accessors */ - -- (NSString *)tabSelection { - NSString *selection; - - selection = [self queryParameterForKey:@"tab"]; - if (selection == nil) - selection = @"attributes"; - return selection; -} - -- (void)setAttendee:(id)_attendee { - ASSIGN(attendee, _attendee); -} -- (id)attendee { - return attendee; -} - -- (BOOL)isAttendeeActiveUser { - NSString *email, *attEmail; - - email = [[[self context] activeUser] primaryEmail]; - attendee = [self attendee]; - attEmail = [attendee rfc822Email]; - - return [email isEqualToString: attEmail]; -} - -- (BOOL)showAcceptButton { - return [[self attendee] participationStatus] != iCalPersonPartStatAccepted; -} -- (BOOL)showRejectButton { - return [[self attendee] participationStatus] != iCalPersonPartStatDeclined; -} -- (NSString *)attendeeStatusColspan { - return [self isAttendeeActiveUser] ? @"1" : @"2"; -} - -- (void)setItem:(id)_item { - ASSIGN(item, _item); -} -- (id)item { - return item; -} - -- (SOGoDateFormatter *)dateFormatter { - if (dateFormatter == nil) { - dateFormatter = - [[SOGoDateFormatter alloc] initWithLocale:[self locale]]; - [dateFormatter setFullWeekdayNameAndDetails]; - } - return dateFormatter; -} - -- (NSCalendarDate *)startTime { - NSCalendarDate *date; - NSTimeZone *timeZone; - - timeZone = [[context activeUser] timeZone]; - date = [[self appointment] startDate]; - [date setTimeZone: timeZone]; - - return date; -} - -- (NSCalendarDate *)endTime { - NSCalendarDate *date; - NSTimeZone *timeZone; - - timeZone = [[context activeUser] timeZone]; - date = [[self appointment] endDate]; - [date setTimeZone: timeZone]; - - return date; -} - -- (NSString *)resourcesAsString { - NSArray *resources, *cns; - - resources = [[self appointment] resources]; - cns = [resources valueForKey:@"cnForDisplay"]; - return [cns componentsJoinedByString:@"
"]; -} - -- (NSString *) categoriesAsString -{ - NSEnumerator *categories; - NSArray *rawCategories; - NSMutableArray *l10nCategories; - NSString *currentCategory, *l10nCategory; - - rawCategories - = [[appointment categories] componentsSeparatedByString: @","]; - l10nCategories = [NSMutableArray arrayWithCapacity: [rawCategories count]]; - categories = [rawCategories objectEnumerator]; - currentCategory = [categories nextObject]; - while (currentCategory) - { - l10nCategory - = [self labelForKey: [currentCategory stringByTrimmingSpaces]]; - if (l10nCategory) - [l10nCategories addObject: l10nCategory]; - currentCategory = [categories nextObject]; - } - - return [l10nCategories componentsJoinedByString: @", "]; -} - -// appointment.organizer.cnForDisplay -- (NSString *) eventOrganizer -{ - CardElement *organizer; - - organizer = [[self appointment] uniqueChildWithTag: @"organizer"]; - - return [organizer value: 0 ofAttribute: @"cn"]; -} - -- (NSString *) priorityLabelKey -{ - return [NSString stringWithFormat: @"prio_%@", [appointment priority]]; -} - -/* backend */ - -- (iCalEvent *) appointment -{ - SOGoAppointmentObject *clientObject; - - if (!appointment) - { - clientObject = [self clientObject]; - appointment = (iCalEvent *) [clientObject component: NO]; - [appointment retain]; - } - - return appointment; -} - -/* hrefs */ - -- (NSString *)attributesTabLink { - return [self completeHrefForMethod:[self ownMethodName] - withParameter:@"attributes" - forKey:@"tab"]; -} - -- (NSString *)participantsTabLink { - return [self completeHrefForMethod:[self ownMethodName] - withParameter:@"participants" - forKey:@"tab"]; -} - -- (NSString *)debugTabLink { - return [self completeHrefForMethod:[self ownMethodName] - withParameter:@"debug" - forKey:@"tab"]; -} - -- (NSString *)completeHrefForMethod:(NSString *)_method - withParameter:(NSString *)_param - forKey:(NSString *)_key -{ - NSString *href; - - [self setQueryParameter:_param forKey:_key]; - href = [self completeHrefForMethod:[self ownMethodName]]; - [self setQueryParameter:nil forKey:_key]; - return href; -} - - -/* access */ - -- (BOOL)isMyApt { - NSString *email; - iCalPerson *organizer; - - email = [[[self context] activeUser] primaryEmail]; - organizer = [[self appointment] organizer]; - if (!organizer) return YES; // assume this is correct to do, right? - return [[organizer rfc822Email] isEqualToString:email]; -} - -- (BOOL)canAccessApt { - NSString *email; - NSArray *partMails; - - if ([self isMyApt]) - return YES; - - /* not my apt - can access if it's public */ - if ([[[self appointment] accessClass] isEqualToString: @"PUBLIC"]) - return YES; - - /* can access it if I'm invited :-) */ - email = [[[self context] activeUser] primaryEmail]; - partMails = [[[self appointment] participants] valueForKey:@"rfc822Email"]; - return [partMails containsObject:email]; -} - -- (BOOL)canEditApt { - return [self isMyApt]; -} - - -/* action */ - -- (id)defaultAction { - if ([self appointment] == nil) { - return [NSException exceptionWithHTTPStatus:404 /* Not Found */ - reason:@"could not locate appointment"]; - } - - return self; -} - -- (BOOL)isDeletableClientObject { - return [[self clientObject] respondsToSelector:@selector(delete)]; -} - -- (id)deleteAction { - NSException *ex; - id url; - - if ([self appointment] == nil) { - return [NSException exceptionWithHTTPStatus:404 /* Not Found */ - reason:@"could not locate appointment"]; - } - - if (![self isDeletableClientObject]) { - /* return 400 == Bad Request */ - return [NSException exceptionWithHTTPStatus:400 - reason:@"method cannot be invoked on " - @"the specified object"]; - } - - if ((ex = [[self clientObject] delete]) != nil) { - // TODO: improve error handling - [self debugWithFormat:@"failed to delete: %@", ex]; - return ex; - } - - url = [[[self clientObject] container] baseURLInContext:[self context]]; - return [self redirectToLocation:url]; -} - -@end /* UIxAppointmentView */