When a view is based on something other than the event record, the UIDs in the .ics file may not be unique because the UIDs are based on the base field, not the event node. For example, I have a view that is a User based view that uses Relationships to find all the scheduled events on the user's calendar. Because the base field is the user's User entity, the $entity_id part of line 204 ($event['uid'] = "calendar.$entity_id.$date_field_name.$date_field_delta@$domain";) is the user's UID, making all the calendar UIDs identical. Consequently, calendar applications like Apple Calendar only import the last item.

Support from Acquia helps fund testing for Drupal Acquia logo

Comments

John Franklin created an issue. See original summary.

John Franklin’s picture

Status: Active » Needs review
FileSize
1.31 KB

Attached patch uses the selected date field's entity instead of the base field's entity.

coredumperror’s picture

Ooo, this should fix another problem that a user was having with UID uniqueness as well! I'll get this patch tested and applied as soon as I'm able.

thedut’s picture

Status: Needs review » Reviewed & tested by the community

Great patch, it works !
And it helps solving CREATED, LAST-MODIFIED, and URL components too.

joseph.olstad’s picture

Status: Reviewed & tested by the community » Fixed

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.