You need to sign in to do that
Don't have an account?

Getting error in customer community case creation due to this trigger
I am using the following trigger which should look at the case being created, make it a default admin user for the time being (for permissions), look only for WEB based bases to change the user ( which i think isn't working right either) and then add everyone with a checkbox on their contact as a case team member. However I get an error but ONLY when adding a case from our community. What about those users would mess this up?
trigger CaseTeamAddition on Case (after insert) {
if (Trigger.isAfter){
If (Trigger.isInsert){
CaseTeamRole caseTeamRole = [SELECT Id
FROM CaseTeamRole
WHERE Name = 'Case Update Team'
LIMIT 1];
List<Id> accountIdList = new List<Id>();
List<Id> caseIdList = new List<Id>();
For (Case currentCase : Trigger.new){
accountIdList.add(currentCase.AccountId);
caseIdList.add(currentCase.Id);
}
User dbUser = [SELECT Id
FROM User
WHERE Alias = 'dblevins'
LIMIT 1];
List<Case> caseList = [SELECT Id, OwnerId
FROM Case
WHERE Id IN :caseIdList
AND Type = 'Web'];
for (Case curCase : caseList){
curCase.OwnerId = dbUser.Id;
}
update caseList;
List<Contact> contactList = [SELECT Id, AccountId
FROM Contact
WHERE AccountId IN : accountIdList
AND Get_Email_Updates__c = true];
List<CaseTeamMember> caseMembersToInsert = new List<CaseTeamMember>();
For (Case currentCase : Trigger.new){
For (Contact currentContact : contactList){
If (currentContact.AccountId == currentCase.AccountId){
CaseTeamMember newMember = new CaseTeamMember(ParentId = currentCase.Id,
MemberId = currentContact.Id,
TeamRoleId = caseTeamRole.Id);
caseMembersToInsert.add(newMember);
}
}
}
if (caseMembersToInsert.size() > 0){
insert caseMembersToInsert;
}
}
}
The issue could be caused by case assignment rules which were adding case teams on cases. Salesforce does not let customer users add cases teams on cases and in our case when Customer creates a Case --> Assignment Rule Fire --> Matching step has a case team assignment --> Which fails for customer users.
All Answers
This is the error I am getting
CaseTeamAddition: execution of AfterInsert caused by: System.DmlException: Insert failed. First exception on row 0; first error: OP_WITH_INVALID_USER_TYPE_EXCEPTION, Operation not valid for this user type: [] Trigger.CaseTeamAddition: line 51, column 1
The issue could be caused by case assignment rules which were adding case teams on cases. Salesforce does not let customer users add cases teams on cases and in our case when Customer creates a Case --> Assignment Rule Fire --> Matching step has a case team assignment --> Which fails for customer users.