fix(calendar(js)): conditional display of edit and delete buttons

This commit is contained in:
Francis Lachapelle committed 2022-08-15 15:31:19 -04:00
1 parent 3f7fef0788
commit 16459c7b3d
11 files changed
+57 -40

No files matched your search

+4 -2
View File
@@ -672,7 +672,8 @@
* @apiSuccess (Success 200) {String} endDate End date (ISO8601)
* @apiSuccess (Success 200) {String} localizedEndDate Formatted end date
* @apiSuccess (Success 200) {String} [localizedEndTime] Formatted end time
* @apiSuccess (Success 200) {Number} isReadOnly 1 if event is read-only
* @apiSuccess (Success 200) {Number} isEditable 1 if event can be edited by the active user
* @apiSuccess (Success 200) {Number} isErasable 1 if event can be deleted by the active user
* @apiSuccess (Success 200) {Number} userHasRSVP 1 if owner is invited
* @apiSuccess (Success 200) {Number} [reply] 0 if needs-action, 1 if accepted, 2 if declined, 3 if tentative, 4 if delegated
* @apiSuccess (Success 200) {Object[]} [attachUrls] Attached URLs
@@ -826,7 +827,8 @@
[componentCalendar nameInContainer], @"pid",
[componentCalendar displayName], @"calendar",
[NSNumber numberWithBool: isAllDay], @"isAllDay",
[NSNumber numberWithBool: [self isReadOnly]], @"isReadOnly",
[NSNumber numberWithBool: [self isEditable]], @"isEditable",
[NSNumber numberWithBool: [self isErasable]], @"isErasable",
[NSNumber numberWithBool: [self userHasRSVP]], @"userHasRSVP",
[eventStartDate iso8601DateString], @"startDate",
[eventEndDate iso8601DateString], @"endDate",
+3 -2
View File
@@ -1,6 +1,6 @@
/* UIxComponentEditor.h - this file is part of SOGo
*
* Copyright (C) 2006-2015 Inverse inc.
* Copyright (C) 2006-2022 Inverse inc.
*
* This file is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@ -33,7 +33,8 @@
SOGoAppointmentFolder *componentCalendar;
}
- (BOOL) isReadOnly;
- (BOOL) isEditable;
- (BOOL) isErasable;
- (BOOL) userHasRSVP;
- (NSNumber *) reply;
- (BOOL) isChildOccurrence;
+13 -2
View File
@@ -837,10 +837,21 @@ static NSArray *reminderValues = nil;
return rc;
}
- (BOOL) isReadOnly
- (BOOL) isEditable
{
return [self getEventRWType] != componentReadableWritable;
return [self getEventRWType] == componentReadableWritable;
}
- (BOOL) isErasable
{
NSString *owner, *userLogin;
userLogin = [[context activeUser] login];
owner = [componentCalendar ownerInContext: context];
return ([owner isEqualToString: userLogin] || [[componentCalendar aclsForUser: userLogin] containsObject: SOGoRole_ObjectEraser]);
}
//
//- (NSString *) emailAlarmsEnabled
//{
+4 -2
View File
@@ -431,7 +431,8 @@
* @apiSuccess (Success 200) {String} localizedDueTime Formatted due time
* @apiSuccess (Success 200) {String} localizedCompletedDate Formatted completed date
* @apiSuccess (Success 200) {String} localizedCompletedTime Formatted completed time
* @apiSuccess (Success 200) {Number} isReadOnly 1 if task is read-only
* @apiSuccess (Success 200) {Number} isEditable 1 if task can be edited by the active user
* @apiSuccess (Success 200) {Number} isErasable 1 if task can be deleted by the active user
* @apiSuccess (Success 200) {Object[]} [attachUrls] Attached URLs
* @apiSuccess (Success 200) {String} attachUrls.value URL
*
@@ -561,7 +562,8 @@
data = [NSMutableDictionary dictionaryWithObjectsAndKeys:
[componentCalendar nameInContainer], @"pid",
[componentCalendar displayName], @"calendar",
[NSNumber numberWithBool: [self isReadOnly]], @"isReadOnly",
[NSNumber numberWithBool: [self isEditable]], @"isEditable",
[NSNumber numberWithBool: [self isErasable]], @"isErasable",
[self alarm], @"alarm",
nil];