]> err.no Git - scalable-opengroupware.org/blobdiff - ZideStore/UI-X/Scheduler/OGoCalView.m
Work in progress - pushed everything from query strings to query parameter dictionari...
[scalable-opengroupware.org] / ZideStore / UI-X / Scheduler / OGoCalView.m
index d08551c6e9270d2ce8e3e074501ca110659a5f70..1928ac0e7d6367d9e4fbb8ffb43c0a535bfd511b 100644 (file)
@@ -69,7 +69,8 @@
 }
 
 - (NSString *)dateNavigationURLWithNewStartDate:(NSCalendarDate *)_newDate {
-  return [NSString stringWithFormat:@"%@?startDate=%@",
+#warning !! REMOVE ME!!
+    return [NSString stringWithFormat:@"%@?startDate=%@",
                     [self ownMethodName], 
                     [self dateStringForDate:_newDate]];
 }
                         queryString:nil];
 }
 
+/* date */
+
+- (NSCalendarDate *)selectedDate {
+    NSString *s;
+    
+    s = [self queryParameterForKey:@"day"];
+    if(s) {
+        return [self dateForDateString:s];
+    }
+    return [NSCalendarDate date];
+}
+
 /* fetching */
 
 - (NSCalendarDate *)startDate {
-  return [NSCalendarDate date];
+  return [self selectedDate];
 }
 - (NSCalendarDate *)endDate {
-  return [[NSCalendarDate date] tomorrow];
+  return [[self startDate] tomorrow];
 }
 
 - (NSArray *)fetchGIDs {
   return self->appointments;
 }
 
+
+/* date selection & conversion */
+
+
+- (NSDictionary *)queryParametersBySettingSelectedDate:(NSCalendarDate *)_date {
+    NSMutableDictionary *qp;
+    
+    qp = [[self queryParameters] mutableCopy];
+    [self setSelectedDateQueryParameter:_date inDictionary:qp];
+    return [qp autorelease];
+}
+
+- (void)setSelectedDateQueryParameter:(NSCalendarDate *)_newDate
+        inDictionary:(NSMutableDictionary *)_qp;
+{
+    if(_newDate != nil)
+        [_qp setObject:[self dateStringForDate:_newDate]
+             forKey:@"day"];
+    else
+        [_qp removeObjectForKey:@"day"];
+}
+
 - (NSString *)dateStringForDate:(NSCalendarDate *)_date {
   return [_date descriptionWithCalendarFormat:@"%Y%m%d"];
 }
 - (NSCalendarDate *)dateForDateString:(NSString *)_dateString {
   return [NSCalendarDate dateWithString:_dateString calendarFormat:@"%Y%m%d"];
 }
-  
-- (NSString *)completedLinkForView:(NSString *)_view {
-    NSString *dateString;
-    
-    dateString = [[[self context] request] formValueForKey:@"startDate"];
-    if(dateString)
-        return [_view stringByAppendingFormat:@"?startDate=%@", dateString];
-    return _view;
-}
-
 
 @end /* OGoCalView */