]> err.no Git - scalable-opengroupware.org/blob - UI/Scheduler/UIxCalMainView.m
git-svn-id: http://svn.opengroupware.org/SOGo/inverse/trunk@1173 d1b88da0-ebda-0310...
[scalable-opengroupware.org] / UI / Scheduler / UIxCalMainView.m
1 /* UIxCalMainView.m - this file is part of SOGo
2  *
3  * Copyright (C) 2006 Inverse groupe conseil
4  *
5  * Author: Wolfgang Sourdeau <wsourdeau@inverse.ca>
6  *
7  * This file is free software; you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation; either version 2, or (at your option)
10  * any later version.
11  *
12  * This file is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program; see the file COPYING.  If not, write to
19  * the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20  * Boston, MA 02111-1307, USA.
21  */
22
23 #import <Foundation/NSArray.h>
24 #import <Foundation/NSCalendarDate.h>
25 #import <Foundation/NSString.h>
26 #import <Foundation/NSTimeZone.h>
27 #import <Foundation/NSUserDefaults.h>
28 #import <Foundation/NSValue.h>
29
30 #import <NGObjWeb/SoSecurityManager.h>
31 #import <NGObjWeb/WOResponse.h>
32
33 #import <SOGo/SOGoPermissions.h>
34 #import <SOGo/SOGoUser.h>
35
36 #import "UIxCalMainView.h"
37
38 #import <Appointments/SOGoAppointmentFolder.h>
39
40 static NSMutableArray *monthMenuItems = nil;
41 static NSMutableArray *yearMenuItems = nil;
42
43 @implementation UIxCalMainView
44
45 - (NSString *) userUTCOffset
46 {
47   NSTimeZone *userTZ;
48
49   userTZ = [[context activeUser] timeZone];
50
51   return [NSString stringWithFormat: @"%d", [userTZ secondsFromGMT]];
52 }
53
54 - (NSArray *) monthMenuItems
55 {
56   unsigned int count;
57  
58   if (!monthMenuItems)
59     {
60       monthMenuItems = [NSMutableArray arrayWithCapacity: 12];
61       
62       for (count = 1; count < 13; count++)
63         [monthMenuItems addObject:
64                           [NSString stringWithFormat: @"%.2d", count]];
65       [monthMenuItems retain];
66     }
67
68   return monthMenuItems;
69 }
70
71 - (void) setMonthMenuItem: (NSString *) aMonthMenuItem
72 {
73   monthMenuItem = aMonthMenuItem;
74 }
75
76 - (NSString *) monthMenuItem
77 {
78   return monthMenuItem;
79 }
80
81 - (NSString *) monthMenuItemLabel
82 {
83   return [self localizedNameForMonthOfYear: [monthMenuItem intValue]];
84 }
85
86 - (NSArray *) yearMenuItems
87 {
88   int count, year;
89  
90   if (!yearMenuItems)
91     {
92       year = [[NSCalendarDate date] yearOfCommonEra];
93       yearMenuItems = [NSMutableArray arrayWithCapacity: 11];
94       for (count = -5; count < 6; count++)
95         [yearMenuItems addObject: [NSNumber numberWithInt: year + count]];
96       [yearMenuItems retain];
97     }
98
99   return yearMenuItems;
100 }
101
102 - (void) setYearMenuItem: (NSNumber *) aYearMenuItem
103 {
104   yearMenuItem = aYearMenuItem;
105 }
106
107 - (NSNumber *) yearMenuItem
108 {
109   return yearMenuItem;
110 }
111
112 - (id) batchDeleteAction
113 {
114   NSArray *ids;
115   SOGoAppointmentFolder *clientObject;
116
117   ids = [[self queryParameterForKey: @"ids"] componentsSeparatedByString: @"/"];
118   if (ids)
119     {
120       clientObject = [self clientObject];
121       [clientObject deleteEntriesWithIds: ids];
122     }
123
124   return self;
125 }
126
127 @end