]> err.no Git - scalable-opengroupware.org/commitdiff
Work in progress. Highlighting works as expected, but Sunday is still broken (Note...
authorznek <znek@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Mon, 21 Jun 2004 17:07:58 +0000 (17:07 +0000)
committerznek <znek@d1b88da0-ebda-0310-925b-ed51d893ca5b>
Mon, 21 Jun 2004 17:07:58 +0000 (17:07 +0000)
git-svn-id: http://svn.opengroupware.org/SOGo/trunk@56 d1b88da0-ebda-0310-925b-ed51d893ca5b

ZideStore/UI-X/Common/calendar.css
ZideStore/UI-X/Scheduler/GNUmakefile
ZideStore/UI-X/Scheduler/OGoAppointmentFormatter.h [new file with mode: 0644]
ZideStore/UI-X/Scheduler/OGoAppointmentFormatter.m [new file with mode: 0644]
ZideStore/UI-X/Scheduler/OGoCalMonthView.h
ZideStore/UI-X/Scheduler/OGoCalView.h
ZideStore/UI-X/Scheduler/OGoCalView.m
ZideStore/UI-X/Scheduler/OGoCalWeekOverview.m
ZideStore/UI-X/Scheduler/OGoCalWeekOverview.wox
ZideStore/UI-X/Scheduler/OGoCalWeekView.h

index e2a66ed74817cf534e5c47d0ae13f6adf368bb8d..00724bf41fc0882bcd2ebbd03376c7c5c403486d 100644 (file)
 }
 
 .weekoverview_title_hilite {
+  font-size:        10pt;
+  font-family:      Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif;
+  letter-spacing:   0pt;
+  color:            #000000;
+  background-color: #d2d2cc;
   font-weight:      bold;
 }
 
+.weekoverview_title_hilite a {
+  color:            #0033cc;
+  text-decoration: none;
+}
+
 .weekoverview_title_daylink {
   font-size:        12pt;
   color:            #0033cc;
   font-size:        8pt;
 }
 
+.weekoverview_holidayinfo {
+  font-size:        8pt;
+  font-weight:      bold;
+}
+
 .weekoverview_content {
   color:            #FFFFFF;
   background-color: #e8e8e0;
 }
 
+.weekoverview_content a {
+  color:           #0000FF;
+  font-family:     Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif;
+  letter-spacing:  0pt;
+  text-decoration: none;
+}
+
 .weekoverview_content_hilite {
-  background-color: #f5f5e9;
+  background-color: #fffff0;
 }
 
-.weekoverview_content a {
+.weekoverview_content_hilite a {
   color:           #0000FF;
   font-family:     Arial, Helvetica, Verdana, Geneva, Tahoma, sans-serif;
   letter-spacing:  0pt;
index 1ac7bed9733eacde1a464d79d6d2ddfb62c27392..1e713eb9a590ac440612ee39702060024e3436a6 100644 (file)
@@ -10,6 +10,7 @@ SchedulerUI_PRINCIPAL_CLASS = SchedulerUIProduct
 
 SchedulerUI_OBJC_FILES = \
        SchedulerUIProduct.m    \
+       OGoAppointmentFormatter.m \
        OGoCalView.m            \
        OGoCalWeekView.m        \
        OGoCalMonthView.m       \
diff --git a/ZideStore/UI-X/Scheduler/OGoAppointmentFormatter.h b/ZideStore/UI-X/Scheduler/OGoAppointmentFormatter.h
new file mode 100644 (file)
index 0000000..77f552b
--- /dev/null
@@ -0,0 +1,120 @@
+/*
+  Copyright (C) 2000-2004 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.
+*/
+// $Id$
+
+#ifndef __OGoAppointmentFormatter_H__
+#define __OGoAppointmentFormatter_H__
+
+#import <Foundation/NSFormatter.h>
+
+/*
+  Formatter to format appointment-dicts to readable strings:
+
+  %[(dateFormat)]S
+             - startDate formatted with the dateFormat string
+             - if no dateFormat is defined, the default formats are used
+             - !!! dont forget the ()brakes !!!
+  %[(dateFormat)]E
+             - endDate formatted with the dateFormat string
+             - if no dateFormat is defined, the default formats are used
+             - !!! dont forget the ()brakes !!!
+
+  %[length]T - title with the specified length
+             - if title has more chars than length overLengthString is appended
+             - if no length is defined, no limit is set
+
+  %[max]P    - participants
+             - if more than max participants at appointment
+               moreParticipantsString is appended
+             - if no max defined no limit is set
+
+  %[length]L - location
+             - if location has more chars than length overLengthString is
+               appended
+             - if no length is defined, no limit is set
+
+  Example:
+  format: @"%S - %E, \n%T";
+
+ */
+
+@class NSCalendarDate;
+
+@interface OGoAppointmentFormatter : NSFormatter
+{
+@protected
+  NSString        *formatString;           // default: @"%S - %E, \n%T"
+  
+  NSString        *dateFormat;             // default: @"%H:%M"
+  NSString        *otherDayDateFormat;     // default: @"%H:%M(%m-%d)"
+  NSString        *otherYearDateFormat;    // default: @"%H:%M(%Y-%m-%d)"
+
+  NSString        *toLongString;           // default: @".."
+  NSString        *moreParticipantsString; // default: @"..."
+  NSString        *participantsSeparator;  // default: @", "
+
+  NSCalendarDate  *relationDate;           // if nil, dateFormat used as format
+  // to know whether its the same day, the same year or another year
+
+  BOOL            showFullNames; // try to show full names of participants
+}
+
+//init
+- (id)initWithFormat:(NSString *)_format;
++ (OGoAppointmentFormatter *)formatterWithFormat:(NSString *)_format;
++ (OGoAppointmentFormatter *)formatter;
+
+//accessors
+- (void)setFormat:(NSString *)_format;
+- (NSString *)format;
+
+- (void)setDateFormat:(NSString *)_format;
+- (NSString *)dateFormat;
+
+- (void)setOtherDayDateFormat:(NSString *)_format;
+- (NSString *)otherDayDateFormat;
+
+- (void)setOtherYearDateFormat:(NSString *)_format;
+- (NSString *)otherYearDateFormat;
+
+- (void)setToLongString:(NSString *)_toLong;
+- (NSString *)toLongString;
+
+- (void)setMoreParticipantsString:(NSString *)_more;
+- (NSString *)moreParticipantsString;
+
+- (void)setParticipantsSeparator:(NSString *)_sep;
+- (NSString *)participantsSeparator;
+
+- (void)setRelationDate:(NSCalendarDate *)_relation;
+- (NSCalendarDate *)relationDate;
+
+- (void)setShowFullNames:(BOOL)_flag;
+- (BOOL)showFullNames;
+
+// easy switches
+
+// this resets the date format
+- (void)switchToAMPMTimes:(BOOL)_showAMPM;
+
+@end
+
+#endif
diff --git a/ZideStore/UI-X/Scheduler/OGoAppointmentFormatter.m b/ZideStore/UI-X/Scheduler/OGoAppointmentFormatter.m
new file mode 100644 (file)
index 0000000..4596cf2
--- /dev/null
@@ -0,0 +1,454 @@
+/*
+  Copyright (C) 2000-2004 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.
+*/
+// $Id$
+
+#include "OGoAppointmentFormatter.h"
+#import <Foundation/Foundation.h>
+#import <NGExtensions/NGExtensions.h>
+#import <EOControl/EOControl.h>
+
+@implementation OGoAppointmentFormatter
+
+- (id)init {
+  if ((self = [super init])) {
+    [self setFormat:@"%S - %E, \n%T"];
+    [self setDateFormat:@"%H:%M"];
+    [self setOtherDayDateFormat:@"%H:%M(%m-%d)"];
+    [self setOtherYearDateFormat:@"%H:%M(%Y-%m-%d)"];
+    [self setToLongString:@".."];
+    [self setMoreParticipantsString:@"..."];
+    [self setParticipantsSeparator:@", "];
+    [self setRelationDate:nil];
+    self->showFullNames = NO;
+  }
+  return self;
+}
+
+- (id)initWithFormat:(NSString *)_format {
+  if ((self = [self init])) {
+    [self setFormat:_format];
+  }
+  return self;
+}
+
++ (OGoAppointmentFormatter *)formatterWithFormat:(NSString *)_format {
+  return AUTORELEASE([(OGoAppointmentFormatter *)[OGoAppointmentFormatter alloc]
+                                                 initWithFormat:_format]);
+}
+
++ (OGoAppointmentFormatter *)formatter {
+  return AUTORELEASE([[OGoAppointmentFormatter alloc] init]);
+}
+
+#if !LIB_FOUNDATION_BOEHM_GC
+- (void)dealloc {
+  RELEASE(self->formatString);
+  RELEASE(self->dateFormat);
+  RELEASE(self->otherDayDateFormat);
+  RELEASE(self->otherYearDateFormat);
+  RELEASE(self->toLongString);
+  RELEASE(self->moreParticipantsString);
+  RELEASE(self->participantsSeparator);
+  RELEASE(self->relationDate);
+
+  [super dealloc];
+}
+#endif
+
+// accessors
+
+- (void)setFormat:(NSString *)_format {
+  ASSIGN(self->formatString,_format);
+}
+- (NSString *)format {
+  return self->formatString;
+}
+
+- (void)setDateFormat:(NSString *)_format {
+  ASSIGN(self->dateFormat,_format);
+}
+- (NSString *)dateFormat {
+  return self->dateFormat;
+}
+
+- (void)setOtherDayDateFormat:(NSString *)_format {
+  ASSIGN(self->otherDayDateFormat,_format);
+}
+- (NSString *)otherDayDateFormat {
+  return self->otherDayDateFormat;
+}
+
+- (void)setOtherYearDateFormat:(NSString *)_format {
+  ASSIGN(self->otherYearDateFormat,_format);
+}
+- (NSString *)otherYearDateFormat {
+  return self->otherYearDateFormat;
+}
+
+- (void)setToLongString:(NSString *)_toLong {
+  ASSIGN(self->toLongString,_toLong);
+}
+- (NSString *)toLongString {
+  return self->toLongString;
+}
+
+- (void)setMoreParticipantsString:(NSString *)_more {
+  ASSIGN(self->moreParticipantsString,_more);
+}
+- (NSString *)moreParticipantsString {
+  return self->moreParticipantsString;
+}
+
+- (void)setParticipantsSeparator:(NSString *)_sep {
+  ASSIGN(self->participantsSeparator,_sep);
+}
+- (NSString *)participantsSeparator {
+  return self->participantsSeparator;
+}
+
+- (void)setRelationDate:(NSCalendarDate *)_relation {
+  ASSIGN(self->relationDate,_relation);
+}
+- (NSCalendarDate *)relationDate {
+  return self->relationDate;
+}
+
+- (void)setShowFullNames:(BOOL)_flag {
+  self->showFullNames = _flag;
+}
+- (BOOL)showFullNames {
+  return self->showFullNames;
+}
+
+// easy switching
+- (void)switchToAMPMTimes:(BOOL)_showAMPM {
+  if (_showAMPM) {
+    [self setDateFormat:@"%I:%M %p"];
+    [self setOtherDayDateFormat:@"%I:%M %p(%m-%d)"];
+    [self setOtherYearDateFormat:@"%I:%M %p(%Y-%m-%d)"];
+  }
+  else {
+    [self setDateFormat:@"%H:%M"];
+    [self setOtherDayDateFormat:@"%H:%M(%m-%d)"];
+    [self setOtherYearDateFormat:@"%H:%M(%Y-%m-%d)"];
+  }
+}
+
+// formatting helpers
+
+- (NSString *)formatDate:(NSCalendarDate *)_date
+              withFormat:(NSString *)_format
+{
+  NSString *f;
+  NSCalendarDate *rel;
+
+  rel = self->relationDate;
+  
+  if (_format == nil) {
+    if (rel == nil) {
+      f = self->dateFormat;
+    }
+    else if ([_date isDateOnSameDay:rel]) {
+      f = self->dateFormat;
+    }
+    else if ([_date yearOfCommonEra] == [rel yearOfCommonEra]) {
+      f = self->otherDayDateFormat;
+    }
+    else {
+      f = self->otherYearDateFormat;
+    }
+  }
+  else {
+    f = _format;
+  }
+  return [_date descriptionWithCalendarFormat:f];
+}
+
+- (NSString *)formatStartDateFromApt:(id)_apt
+                          withFormat:(NSString *)_format
+{
+  return [self formatDate:[_apt valueForKey:@"startDate"]
+               withFormat:_format];
+}
+
+- (NSString *)formatEndDateFromApt:(id)_apt
+                        withFormat:(NSString *)_format
+{
+  return [self formatDate:[_apt valueForKey:@"endDate"]
+               withFormat:_format];
+}
+
+- (NSString *)stringForParticipant:(id)_part {
+  id label = nil;
+  
+  if ([[_part valueForKey:@"isTeam"] boolValue]) {
+    if ((label = [_part valueForKey:@"info"]) == nil)
+      label = [_part valueForKey:@"description"];
+  }
+  else if (self->showFullNames) {
+    label = [_part valueForKey:@"firstname"];
+    label = ([label length])
+      ? [label stringByAppendingFormat:@" %@", [_part valueForKey:@"name"]]
+      : [_part valueForKey:@"name"];
+  }
+  else if ([[_part valueForKey:@"isAccount"] boolValue]) {
+    label = [_part valueForKey:@"login"];
+  }
+  else {
+    if ((label = [_part valueForKey:@"name"]) == nil) {
+      if ((label = [_part valueForKey:@"info"]) == nil)
+        label = [_part valueForKey:@"description"];
+    }
+  }
+
+  if (![label isNotNull])
+    label = @"*";
+
+  return label;
+}
+
+- (NSString *)participantsForApt:(id)_apt
+                    withMaxCount:(NSString *)_cnt {
+  NSArray         *p;
+  int             max;
+  int             cnt;
+  NSMutableString *pString;
+
+  pString = [NSMutableString stringWithCapacity:255];
+
+  if (_cnt == nil) {
+    max = -1; // no limit
+  }
+  else {
+    max = [_cnt intValue];
+  }
+
+  p = [_apt valueForKey:@"participants"];
+
+  p = [p sortedArrayUsingKeyOrderArray:
+         [NSArray arrayWithObjects:
+                  [EOSortOrdering sortOrderingWithKey:@"isAccount"
+                                  selector:EOCompareAscending],
+                  [EOSortOrdering sortOrderingWithKey:@"login"
+                                  selector:EOCompareAscending],
+                  nil]];
+
+  max = ((max > [p count]) || (max == -1))
+    ? [p count]
+    : max;
+
+  for (cnt = 0; cnt < max; cnt++) {
+
+    if (cnt != 0)
+      [pString appendString:self->participantsSeparator];
+      
+    [pString appendString:
+             [self stringForParticipant:[p objectAtIndex:cnt]]];
+  }
+
+  if (max < [p count]) {
+    [pString appendString:self->moreParticipantsString];
+  }
+
+  return pString;
+}
+
+- (NSString *)titleForApt:(id)_apt withMaxLength:(NSString *)_length {
+  NSString    *t = nil;
+  int l;
+
+  l = (_length == nil)
+    ? -1
+    : [_length intValue];
+
+  t = [_apt valueForKey:@"title"];
+  if (!t) return @"*";
+
+  if (l > 1) {
+    if ([t length] > l) {
+      t = [t substringToIndex:(l - 2)];
+      t = [t stringByAppendingString:self->toLongString];
+    }
+  }
+  
+  if (l == 0)
+    t = @"*";
+  
+  return t;
+}
+
+- (NSString *)locationForApt:(id)_apt withMaxLength:(NSString *)_length {
+  NSString    *t = nil;
+  int l;
+
+  l = (_length == nil)
+    ? -1
+    : [_length intValue];
+
+  t = [_apt valueForKey:@"location"];
+  if (![t isNotNull] ||
+      [t length] == 0 ||
+      [t isEqualToString:@" "])
+    return @"";
+  
+  if (l > 1) {
+    if ([t length] > l) {
+      t = [t substringToIndex:(l - 2)];
+      t = [t stringByAppendingString:self->toLongString];
+    }
+  }
+  
+  if (l == 0)
+    t = @"";
+  
+  return t;
+}
+
+- (NSString *)resourcesForApt:(id)_apt withMaxLength:(NSString *)_length {
+  NSString    *t = nil;
+  int l;
+
+  l = (_length == nil)
+    ? -1
+    : [_length intValue];
+
+  t = [_apt valueForKey:@"resourceNames"];
+  if (![t isNotNull]  ||
+      [t length] == 0 ||
+      [t isEqualToString:@" "])
+    return @"";
+
+  if (l > 1) {
+    if ([t length] > l) {
+      t = [t substringToIndex:(l - 2)];
+      t = [t stringByAppendingString:self->toLongString];
+    }
+  }
+  
+  if (l == 0)
+    t = @"";
+  
+  return t;
+}
+
+// NSFormatter stuff
+
+- (NSString *)stringForObjectValue:(id)_obj {
+  NSMutableString *newString;
+  int             cnt;
+  int             length;
+  BOOL            replaceMode = NO;
+  NSString        *helper = nil;
+  NSCharacterSet  *digits;
+
+  newString = [NSMutableString stringWithCapacity:255];
+  length    = [self->formatString length];
+  digits    = [NSCharacterSet decimalDigitCharacterSet];
+
+  //  NSLog(@"Formatting with format: %@", self->formatString);
+
+  for (cnt = 0; cnt < length; cnt++) {
+    unichar c;
+    c = [self->formatString characterAtIndex:cnt];
+    //    NSLog(@"Character is: %c mode is: %@", c,
+    //          [NSNumber numberWithBool:replaceMode]);
+    if (replaceMode) {
+      if (c == 'S') {
+        [newString appendString:
+                   [self formatStartDateFromApt:_obj withFormat:helper]];
+        helper = nil;
+        replaceMode = NO;
+      }
+      else if (c == 'E') {
+        [newString appendString:
+                   [self formatEndDateFromApt:_obj withFormat:helper]];
+        helper = nil;
+        replaceMode = NO;
+      }
+      else if (c == 'P') {
+        [newString appendString:
+                   [self participantsForApt:_obj withMaxCount:helper]];
+        helper = nil;
+        replaceMode = NO;
+      }
+      else if (c == 'T') {
+        [newString appendString:
+                   [self titleForApt:_obj withMaxLength:helper]];
+        helper = nil;
+        replaceMode = NO;
+      }
+      else if (c == 'L') {
+        NSString *l;
+
+        l = [self locationForApt:_obj withMaxLength:helper];
+
+        if ([l length] > 0)
+          [newString appendString:l];
+        helper = nil;
+        replaceMode = NO;
+      }
+      else if (c == 'R') {
+        NSString *r;
+
+        r = [self resourcesForApt:_obj withMaxLength:helper];
+
+        if ([r length] > 0)
+          [newString appendString:r];
+        helper = nil;
+        replaceMode = NO;
+      }
+      else if (c == '(') {
+        int     end;
+        NSRange r = NSMakeRange(cnt,length-cnt);
+        
+        r = [self->formatString rangeOfString:@")"
+                 options:0 range:r];
+        
+        end = r.location - 1;
+        r = NSMakeRange(cnt+1, end-cnt-1);
+        
+        helper = [self->formatString substringWithRange:r];
+        cnt = end + 1;
+      }
+      else if ([digits characterIsMember:c]) {
+        helper = (helper == nil)
+          ? [NSString stringWithFormat:@"%c",c]
+          : [NSString stringWithFormat:@"%@%c", helper, c];
+      }
+      else {
+        NSLog(@"UNKNOWN FORMAT CHARACTER '%c'!!",c);
+        replaceMode = NO;
+        helper = nil;
+      }
+    } else {
+      if (c == '%') {
+        replaceMode = YES;
+      }
+      else {
+        [newString appendFormat:@"%c", c];
+      }
+    }
+  }
+  
+  return newString;
+}
+
+@end
index f2c79e582592cbc262b19792180e0f41d223bbb3..59fde93f585f166a82638de27e2d0b5655227420 100644 (file)
@@ -16,7 +16,6 @@
 }
 
 - (NSDictionary *)prevMonthQueryParameters;
-- (NSDictionary *)thisMonthQueryParameters;
 - (NSDictionary *)nextMonthQueryParameters;
 
 @end
index 76984038b1079dca4bb7df9d7a0b3ab35e7f189b..c65246eb4f8e417c0db5991e162ad87eca070ee2 100644 (file)
 
 - (NSArray *)appointments;
 - (id)appointment;
-
+- (BOOL)showFullNames;
+- (BOOL)showAMPMDates;
+- (NSCalendarDate *)referenceDateForFormatter;
+    
 /* URLs */
 
 - (NSString *)appointmentViewURL;
index 9f1b922823a61afb3f466a54515ea72ef05e9c32..ebaeffaf7d8f18783934d65888e19f0a3827f0fa 100644 (file)
   return self->appointment;
 }
 
+- (BOOL)showFullNames {
+    return YES;
+}
+
+- (BOOL)showAMPMDates {
+    return NO;
+}
+
+- (NSCalendarDate *)referenceDateForFormatter {
+    return [self selectedDate];
+}
+
+
 /* URLs */
 
 - (NSString *)appointmentViewURL {
index 2f9ec5f393ff5a3d2bc9f0b315b9a2d778750cff..bcc5abe8f340aecad11e2797922785677dafdc3b 100644 (file)
@@ -32,6 +32,8 @@
 
 #include "common.h"
 #include <Backend/SxAptManager.h>
+#include "OGoAppointmentFormatter.h"
+
 
 @implementation OGoCalWeekOverview
 
     return [self queryParametersBySettingSelectedDate:self->currentDay];
 }
 
+/* style sheet */
+
+- (NSString *)titleStyle {
+    if([self->currentDay isToday])
+        return @"weekoverview_title_hilite";
+    return @"weekoverview_title";
+}
+
+- (NSString *)contentStyle {
+    if([self->currentDay isToday])
+        return @"weekoverview_content_hilite";
+    return @"weekoverview_content";
+}
+
+- (NSDictionary *)aptTypeDict {
+    return nil;
+}
+
+- (NSString *)aptTypeLabel {
+    return @"aptLabel";
+}
+
+- (NSString *)aptTypeIcon {
+    return @"";
+}
+
+- (NSString *)shortTextForApt {
+    OGoAppointmentFormatter *f;
+    
+    f = [OGoAppointmentFormatter formatterWithFormat:
+        @"%S - %E;\n%T;\n%L;\n%5P;\n%50R"];
+    [f setRelationDate:[self referenceDateForFormatter]];
+    [f setShowFullNames:[self showFullNames]];
+    if([self showAMPMDates])
+        [f switchToAMPMTimes:YES];
+
+    return [NSString stringWithFormat:@"%@:\n%@",
+        [self aptTypeLabel],
+        [f stringForObjectValue:self->appointment]];
+}
+
+- (BOOL)hasDayInfo {
+    return YES:
+}
+
+- (BOOL)hasHoldidayInfo {
+}
+
+- (NSArray *)allDayApts {
+}
+
 @end /* OGoCalWeekOverview */
index 39b0dbede334881ab786788aa31ec4ad1adada8a..39753fbdf2a42ff4b7a894614fe96c1b3e98f07c 100644 (file)
@@ -68,7 +68,7 @@
                 <table border='0' cellpadding='0' cellspacing='1'>
                     <tr>
                         <td class="button_auto_env" nowrap="true" valign='middle' align='center'>
-                            <a class="button_auto" href="weekprintviewLink" var:queryDictionary="queryParameters" target="SOGoPrintView">printview</a>
+                            <a class="button_auto" href="weekprintview" var:queryDictionary="queryParameters" target="SOGoPrintView">printview</a>
                         </td>
                         <td class="button_auto_env" nowrap="true" valign='middle' align='center'>
                             <a class="button_auto" href="proposal" var:queryDictionary="queryParameters">proposal</a>
                        const:startDateKey="startDate"
                        const:endDateKey="endDate"
                        const:titleStyle="weekoverview_title"
-                       const:contentStyle="weekoverview_content"
+                       contentStyle="contentStyle"
     >
         <var:week-title>
-            <table cellpadding="0" width="100%" border="0" cellspacing="0"  class="weekoverview_title">
+            <table cellpadding="0"
+                   width="100%"
+                   border="0"
+                   cellspacing="0"
+                   var:class="titleStyle"
+            >
                 <tr>
                     <td align="left" valign="top">
                         <a href="dayoverview"
                 </tr>
             </table>
         </var:week-title>
+        <var:if condition="hasDayInfo">
+            <var:week-info>
+                <var:if condition="hasHolidayInfo">
+                    <var:string value="holidayInfo" const:class="weekoverview_holidayinfo" />
+                </var:if>
+                <var:foreach list="allDayApts" item="appointment">
+                    <a var:href="appointmentViewURL"><var:string value="shortTextForApt" /></a>
+                </var:foreach>
+            </var:week-info>
+        </var:if>
       <var:week>
           <a var:href="appointmentViewURL"><var:string value="appointment.title"/></a>
       </var:week>
index c01f95078ffe422b3ea075c4916653885650ac04..c1fde865c4b2cba32676e53a6d6f5d7e0be2655c 100644 (file)
@@ -12,7 +12,6 @@
 /* Query Parameters */
 
 - (NSDictionary *)prevWeekQueryParameters;
-- (NSDictionary *)thisWeekQueryParameters;
 - (NSDictionary *)nextWeekQueryParameters;
     
 @end