Пользователь сообщества получает первое исключение в строке 0; первая ошибка: INSUFFICIENT_ACCESS_OR_READONLY, null: [] "ошибка в EventRelation - PullRequest
0 голосов
/ 14 января 2020

Мы делимся событиями календаря с пользователем сообщества, используя механизм ниже.

  1. Создан универсальный c аккаунт с именем «Аккаунт доступности для интервью» с типом записи как «Образовательное учреждение».
  2. Предоставил общий доступ к учетной записи пользователям сообщества, создав правила общего доступа с доступом «Чтение / запись» для учетной записи.
  3. Изменяет OWD для «Активность» на «Контролируемый родителем» для внутреннего и внешнего доступа. .
  4. При создании события календаря владелец должен выбрать учетную запись как «Связанную с».

Затем события общего календаря, которые мы показываем пользователю сообщества в компоненте молнии. Затем пользователь сообщества выбирает событие из компонента молнии и успешно обновляет его. В то же время мы пытаемся добавить пользователя сообщества в качестве участника к событию, то есть мы создаем запись в «объекте EventRelation», но получаем «вставка не удалась. Первое исключение в строке 0; Первая ошибка: INSUFFICIENT_ACCESS_OR_READONLY, ошибка NULL: []. Мы реализовали эту логику c в контроллере Apex.

Короче говоря, пользователь сообщества пытается добавить себя в качестве участника в событие, вставляя запись в объект «Event Relation», и он получает недостаточно ошибка доступа к объекту «Event Relation». Но в то же время он может создавать, редактировать и читать записи событий.

Код Apex:

Public static boolean bookInterview(Id eventId){
        try{
            /*Add user as a attendee in EventRelation object*/
            EventRelation eveRelation= new EventRelation();
            eveRelation.EventId=eventId;
            eveRelation.RelationId=Userinfo.getUserId();
            Insert eveRelation; 

            /*Add application related info & contact id on Event object */
            User userDetails=[Select ContactId,Email from User where Id =:Userinfo.getUserId()];
            Id applicationId=[Select Id from Application__c where IsActive__c=true and applicant__c=:userDetails.ContactId order by createddate ASC Limit 1].id;

            Event updateEve=[Select WhoId from Event where id=:eventId];
            updateEve.WhoId=userDetails.ContactId;
            updateEve.WhatId=applicationId;
            updateEve.ApplicantEmailId__c=userDetails.Email;
            updateEve.Application__c=applicationId;
            Update updateEve;
            return true; 
        }
        catch(Exception e){
            throw new AuraHandledException(e.getMessage()); 
        }
    }
...