• Carter Mellor
  • NEWBIE
  • 5 Points
  • Member since 2016

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 3
    Questions
  • 3
    Replies
I've added the standard Salesforce Calendar component to a Community page, but none of my community users can see any events.

Calendar

When the page is loaded, it shows a warning icon next to the "My Events" calendar. Hovering over the warning displays the following error:
You no longer have access to the object defined in this calendar. To get access, talk to your Salesforce admin.

"You no longer have access to the object defined in this calendar. To get access, talk to your Salesforce admin."

I'm not sure what the error could be referring to, as my understanding of the "My Events" calendar is it will show any Events they own. I can confirm that the Event records exist, and are owned by the community user, but the warning message makes it sound like it's talking about some other object's level of access.

Any help would be greatly appreciated.
Is there a way to recognise a logged in community user on a force.com site? By recognise, I mean if a visualforce page or apex controller were to call a {!$User.FirstName} variable or something similar.
From what I can see, it looks like the site forces the everyone into the Guest user.
I'm passing a custom class wrapper from an apex controller to a Lightning​ component, then later send it back using JSON.Stringify(theWrapper). But the apex controller can't deserialize the wrapper, giving me the error above. I've narrowed it down to lookup fields somehow getting converted from a string of the id to a whole object while in the lightning component.
Basically, theObject.Lookup__c = '0000000000123'. From the apex controller, it can be read as {"theObject":{"Lookup__c":"0000000000123"}}.
But when passed back from the lightning component, it's read as {"theObject":{"Lookup__c":{"id":"0000000000123", "name":"Lookup record"}}}
I think it's unable to deserialize because it's no longer just a string.

For reference, I'm trying to deserialise like this:
@AuraEnabled
public static String upsertSelectedBooking (String sbwString){
        
    system.debug('sbwString: ' + sbwString);
        
    selectedBookingWrapper sbw = (selectedBookingWrapper)System.JSON.deserialize(sbwString, selectedBookingWrapper.class);

    //The rest
    //...
}

How should I go about handling this?
I've added the standard Salesforce Calendar component to a Community page, but none of my community users can see any events.

Calendar

When the page is loaded, it shows a warning icon next to the "My Events" calendar. Hovering over the warning displays the following error:
You no longer have access to the object defined in this calendar. To get access, talk to your Salesforce admin.

"You no longer have access to the object defined in this calendar. To get access, talk to your Salesforce admin."

I'm not sure what the error could be referring to, as my understanding of the "My Events" calendar is it will show any Events they own. I can confirm that the Event records exist, and are owned by the community user, but the warning message makes it sound like it's talking about some other object's level of access.

Any help would be greatly appreciated.
Is there a way to recognise a logged in community user on a force.com site? By recognise, I mean if a visualforce page or apex controller were to call a {!$User.FirstName} variable or something similar.
From what I can see, it looks like the site forces the everyone into the Guest user.