mirror of
https://github.com/inverse-inc/sogo.git
synced 2026-04-07 22:38:51 +00:00
Monotone-Parent: 38a512204cb4c49fbc144379e8587aaea3394a3a
Monotone-Revision: 62820f08c88e6bd9bf5b0d9c61b83fb3d1a337e8 Monotone-Author: flachapelle@inverse.ca Monotone-Date: 2008-08-25T19:13:18 Monotone-Branch: ca.inverse.sogo
This commit is contained in:
@@ -622,7 +622,7 @@
|
||||
if (![sm validatePermission: SoPerm_AddDocumentsImagesAndFiles
|
||||
onObject: componentAddressBook
|
||||
inContext: context])
|
||||
ex = [contact moveToFolder: componentAddressBook];
|
||||
ex = [contact moveToFolder: componentAddressBook]; // TODO: handle exception
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -227,13 +227,25 @@
|
||||
NSString *objectId, *method, *uri;
|
||||
id <WOActionResults> result;
|
||||
SOGoAppointmentFolder *co;
|
||||
SoSecurityManager *sm;
|
||||
|
||||
co = [self clientObject];
|
||||
objectId = [co globallyUniqueObjectId];
|
||||
if ([objectId length])
|
||||
{
|
||||
method = [NSString stringWithFormat:@"%@/%@.ics/editAsAppointment",
|
||||
[co soURL], objectId];
|
||||
sm = [SoSecurityManager sharedSecurityManager];
|
||||
if (![sm validatePermission: SoPerm_AddDocumentsImagesAndFiles
|
||||
onObject: co
|
||||
inContext: context])
|
||||
{
|
||||
method = [NSString stringWithFormat:@"%@/%@.ics/editAsAppointment",
|
||||
[co soURL], objectId];
|
||||
}
|
||||
else
|
||||
{
|
||||
method = [NSString stringWithFormat: @"%@/Calendar/personal/%@.vcf/editAsAppointment",
|
||||
[self userFolderPath], objectId];
|
||||
}
|
||||
uri = [self completeHrefForMethod: method];
|
||||
result = [self redirectToLocation: uri];
|
||||
}
|
||||
@@ -246,8 +258,7 @@
|
||||
|
||||
- (id <WOActionResults>) saveAction
|
||||
{
|
||||
SOGoAppointmentFolder *thisFolder, *newFolder;
|
||||
SOGoAppointmentFolders *parentFolder;
|
||||
SOGoAppointmentFolder *thisFolder;
|
||||
SOGoAppointmentObject *co;
|
||||
SoSecurityManager *sm;
|
||||
NSException *ex;
|
||||
@@ -268,7 +279,7 @@
|
||||
if (![sm validatePermission: SoPerm_AddDocumentsImagesAndFiles
|
||||
onObject: componentCalendar
|
||||
inContext: context])
|
||||
ex = [co moveToFolder: componentCalendar];
|
||||
ex = [co moveToFolder: componentCalendar]; // TODO: handle exception
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -87,26 +87,23 @@ _intValueFromHex (NSString *hexString)
|
||||
|
||||
- (NSArray *) calendars
|
||||
{
|
||||
NSArray *folders, *roles;
|
||||
NSArray *folders;
|
||||
SOGoAppointmentFolders *co;
|
||||
SOGoAppointmentFolder *folder;
|
||||
NSMutableDictionary *calendar;
|
||||
unsigned int count, max;
|
||||
NSString *folderName, *fDisplayName;
|
||||
NSNumber *isActive;
|
||||
SOGoUser *user;
|
||||
|
||||
if (!calendars)
|
||||
{
|
||||
co = [self clientObject];
|
||||
user = [[self context] activeUser];
|
||||
folders = [co subFolders];
|
||||
max = [folders count];
|
||||
calendars = [[NSMutableArray alloc] initWithCapacity: max];
|
||||
for (count = 0; count < max; count++)
|
||||
{
|
||||
folder = [folders objectAtIndex: count];
|
||||
roles = [user rolesForObject: folder inContext: [self context]];
|
||||
calendar = [NSMutableDictionary dictionary];
|
||||
folderName = [folder nameInContainer];
|
||||
fDisplayName = [folder displayName];
|
||||
@@ -121,8 +118,6 @@ _intValueFromHex (NSString *hexString)
|
||||
[calendar setObject: isActive forKey: @"active"];
|
||||
[calendar setObject: [folder ownerInContext: context]
|
||||
forKey: @"owner"];
|
||||
[calendar setObject: [roles componentsJoinedByString: @","]
|
||||
forKey: @"roles"];
|
||||
[calendars addObject: calendar];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -299,13 +299,25 @@
|
||||
NSString *objectId, *method, *uri;
|
||||
id <WOActionResults> result;
|
||||
SOGoAppointmentFolder *co;
|
||||
SoSecurityManager *sm;
|
||||
|
||||
co = [self clientObject];
|
||||
objectId = [co globallyUniqueObjectId];
|
||||
if ([objectId length] > 0)
|
||||
{
|
||||
method = [NSString stringWithFormat:@"%@/%@.ics/editAsTask",
|
||||
[co soURL], objectId];
|
||||
sm = [SoSecurityManager sharedSecurityManager];
|
||||
if (![sm validatePermission: SoPerm_AddDocumentsImagesAndFiles
|
||||
onObject: co
|
||||
inContext: context])
|
||||
{
|
||||
method = [NSString stringWithFormat:@"%@/%@.ics/editAsTask",
|
||||
[co soURL], objectId];
|
||||
}
|
||||
else
|
||||
{
|
||||
method = [NSString stringWithFormat: @"%@/Calendar/personal/%@.vcf/editAsTask",
|
||||
[self userFolderPath], objectId];
|
||||
}
|
||||
uri = [self completeHrefForMethod: method];
|
||||
result = [self redirectToLocation: uri];
|
||||
}
|
||||
|
||||
@@ -149,12 +149,12 @@
|
||||
actionName = "saveUserRights";
|
||||
};
|
||||
newevent = {
|
||||
protectedBy = "Add Documents, Images, and Files";
|
||||
protectedBy = "<public>";
|
||||
pageName = "UIxAppointmentEditor";
|
||||
actionName = "new";
|
||||
};
|
||||
newtask = {
|
||||
protectedBy = "Add Documents, Images, and Files";
|
||||
protectedBy = "<public>";
|
||||
pageName = "UIxTaskEditor";
|
||||
actionName = "new";
|
||||
};
|
||||
|
||||
@@ -32,7 +32,7 @@ div.colorBox.calendarFolder<var:string value="currentCalendar.folder" />
|
||||
<ul id="calendarList">
|
||||
<var:foreach list="calendars" item="currentCalendar"
|
||||
><li class="denied" var:id="currentCalendar.id"
|
||||
var:owner="currentCalendar.owner" var:roles="currentCalendar.roles" >
|
||||
var:owner="currentCalendar.owner" >
|
||||
<input type="checkbox" class="checkBox"
|
||||
const:disabled="disabled"
|
||||
var:checked="currentCalendar.active" />
|
||||
|
||||
@@ -31,13 +31,6 @@ function newEvent(sender, type) {
|
||||
var hour = sender.readAttribute("hour");
|
||||
var folder = getSelectedFolder();
|
||||
var folderID = folder.readAttribute("id");
|
||||
var roles = folder.readAttribute("roles");
|
||||
if (roles) {
|
||||
roles = roles.split(",")
|
||||
if ($(roles).indexOf("Owner") < 0 &&
|
||||
$(roles).indexOf("PublicModifier") < 0)
|
||||
folderID = "/personal";
|
||||
}
|
||||
var urlstr = ApplicationBaseURL + folderID + "/new" + type;
|
||||
var params = [];
|
||||
if (day)
|
||||
@@ -45,7 +38,7 @@ function newEvent(sender, type) {
|
||||
if (hour)
|
||||
params.push("hm=" + hour);
|
||||
if (params.length > 0)
|
||||
urlstr += "?" + params.join("&"); log("newEvent: " + urlstr);
|
||||
urlstr += "?" + params.join("&");
|
||||
window.open(urlstr, "", "width=490,height=470,resizable=0");
|
||||
|
||||
return false; /* stop following the link */
|
||||
|
||||
Reference in New Issue
Block a user