Events 如何使生成的事件显示在被邀请者的活动历史记录中
用户可以选择一组联系人。在这一点上,我们创建一个新的事件,以及标记为被邀请者的每个联系人的EventRelation 这是通过控制器扩展完成的,请参见下面的代码,似乎可以完美地生成所有对象。问题是我不知道为什么该事件没有出现在受邀者的活动历史记录中 我们已为组织启用“共享活动”,日志中未出现任何错误或问题 需要正确设置EventRelation的3个属性,才能使事件显示在每个受邀请者的活动历史记录中 IsInvitee=true-需要让联系人自动接受事件 IsParent=true-需要正确显示在活动历史记录中 IsWhat=false-需要正确显示在活动历史记录中Events 如何使生成的事件显示在被邀请者的活动历史记录中,events,salesforce,apex,Events,Salesforce,Apex,用户可以选择一组联系人。在这一点上,我们创建一个新的事件,以及标记为被邀请者的每个联系人的EventRelation 这是通过控制器扩展完成的,请参见下面的代码,似乎可以完美地生成所有对象。问题是我不知道为什么该事件没有出现在受邀者的活动历史记录中 我们已为组织启用“共享活动”,日志中未出现任何错误或问题 需要正确设置EventRelation的3个属性,才能使事件显示在每个受邀请者的活动历史记录中 IsInvitee=true-需要让联系人自动接受事件 IsParent=true-需要正确显示
public with sharing class CreateEvent_Controller
{
public Event eventNew {get; set;}
public List<Contact> selectedContacts { get; set; }
public CreateEvent_Controller(ApexPages.StandardSetController controller)
{
selectedContacts = [select id, Name from Contact where id IN :((List<Contact>)controller.getSelected())];
eventNew = new Event();
eventNew.OwnerId = UserInfo.getUserId(); //Assigned To
eventNew.GroupEventType = 2;
eventNew.IsAllDayEvent = true;
eventNew.IsGroupEvent = true;
if(selectedContacts.isEmpty() == true)
{
ApexPages.Message noContactsSelected = new ApexPages.Message(ApexPages.Severity.INFO, 'No Contact Records Selected: Press The Cancel Button To Return To The Contacts Page To Select Contacts');
ApexPages.addMessage(noContactsSelected);
}
}
public PageReference SaveEvent()
{
Database.saveresult eventInsertResult = database.insert(eventNew);
if(eventInsertResult.isSuccess())
{
List<EventRelation> contactEventLinks = new List<EventRelation>();
System.debug('JW TEST: Event:'+eventNew.ID);
for(Contact ct: selectedContacts)
{
EventRelation newLink = new EventRelation(EventId=eventNew.ID, RelationId=ct.ID, Status='Accepted', IsInvitee=true);
contactEventLinks.add(newLink);
}
if (contactEventLinks.size() > 0)
{
try
{
insert contactEventLinks;
}
catch (Exception e)
{
delete eventNew;
}
}
}
PageReference pageRef = new PageReference(' HIDDEN FOR DEMO ');
pageRef.setRedirect(true);
return pageRef;
}
}