diff --git a/Documentation/SOGoInstallationGuide.asciidoc b/Documentation/SOGoInstallationGuide.asciidoc index 253b89e8e..0b2f94f21 100644 --- a/Documentation/SOGoInstallationGuide.asciidoc +++ b/Documentation/SOGoInstallationGuide.asciidoc @@ -1479,8 +1479,10 @@ case, SOGo will consider the returned entry to be a resource. which a resource can be part of at any point in time. If this is set to `0`, or if the attribute is missing, it means no -limit. If set to `-1`, no limit is imposed but the resource will -be marked as busy the first time it is booked. +limit and the resource will always be marked as free. If set to `-1`, +no limit is imposed but the resource will be marked as busy the first +time it is booked. If greater than 0, the resource will get marked as +busy once it reaches the value. |DomainFieldName (optional) |If set, SOGo will use the value of that field as the domain associated diff --git a/UI/MainUI/SOGoUserHomePage.m b/UI/MainUI/SOGoUserHomePage.m index feb757835..2a8415d70 100644 --- a/UI/MainUI/SOGoUserHomePage.m +++ b/UI/MainUI/SOGoUserHomePage.m @@ -103,7 +103,7 @@ maxBookings = [user numberOfSimultaneousBookings]; isResource = [user isResource]; - // Don't fetch freebusy information if the user is of type 'resource' and has unlimited bookings + // Fetch freebusy information if the user is NOT a resource or if multiplebookings isn't unlimited if (!isResource || maxBookings != 0) { for (recordCount = 0; recordCount < recordMax; recordCount++) @@ -167,10 +167,10 @@ endInterval += (delta/60/15); // Update bit string representation - // If the user is a resource, keep the sum of overlapping events + // If the user is a resource with restristed amount of bookings, keep the sum of overlapping events for (count = startInterval; count < endInterval; count++) { - *(items + count) = isResource ? *(items + count) + 1 : 1; + *(items + count) = (isResource && maxBookings > 0) ? *(items + count) + 1 : 1; } } }