You need to sign in to do that
Don't have an account?
fiona gentry
Custom Lightning App giving "You dont have access to this record"
Hi Gurus,
Custom Lightning App named "Stack" giving "You dont have access to this record Contact "
Trying to follow steps in https://stackoverflow.com/questions/64129038/how-to-implement-full-search-in-case-type-using-salesforce/64172475#64172475
Here is Org wide defaults of the custom object ERT Case Type data
Here is apex code of stack
Here is Aura component(html part)
Here is Aura component - JS controller part
Please help me in removing this access error
Regards,
Fiona
Custom Lightning App named "Stack" giving "You dont have access to this record Contact "
Trying to follow steps in https://stackoverflow.com/questions/64129038/how-to-implement-full-search-in-case-type-using-salesforce/64172475#64172475
Here is Org wide defaults of the custom object ERT Case Type data
Here is apex code of stack
public class Stack { @AuraEnabled(cacheable=true) public static List<LookupSearchResult> search(String searchTerm, List<String> selectedIds){ if(String.isBlank(searchTerm) || searchTerm.length() < 2){ return null; } String t = '%' + searchTerm + '%'; // decide how you want to search, "starts with", "includes" or what List<ERT_Case_Type_Data__c> records = [SELECT Id, Name, Level_1__c, Level_2__c, Level_3__c FROM ERT_Case_Type_Data__c WHERE Level_1__c LIKE :t OR Level_2__c LIKE :t OR Level_3__c LIKE :t ORDER BY Level_1__c, Level_2__c, Level_3__c LIMIT 20]; /* You could also experiment with SOSL? records = [FIND :('*' + searchTerm + '*') IN ALL FIELDS RETURNING Case_Type_Data__c(Id, Name, Level_1__c, Level_2__c, Level_3__c)][0]; */ List<LookupSearchResult> results = new List<LookupSearchResult>(); for(ERT_Case_Type_Data__c ctd : records){ results.add(new LookupSearchResult(ctd.Id, 'ERT_Case_Type_Data__c', 'standard:case_wrap_up', ctd.Name, String.join(new List<String>{ctd.Level_1__c , ctd.Level_2__c, ctd.Level_3__c}, '; ') )); } return results; } }
Here is Aura component(html part)
<aura:component implements="force:hasRecordId,force:appHostable,flexipage:availableForAllPageTypes,force:lightningQuickAction" access="global" controller="Stack"> <aura:attribute access="global" type="List" name="selection" default="[]"/> <aura:attribute access="global" type="List" name="errors" default="[]"/> <lightning:card title="New Case Type"> <lightning:recordEditForm aura:id="myForm" objectApiName="ERT_Case_Type__c" onsubmit="{!c.onSubmit}" onsuccess="{!c.onSuccess}"> <lightning:messages /> <c:Lookup selection="{!v.selection}" onSearch="{!c.lookupSearch}" onSelection="{!c.useSelected}" errors="{!v.errors}" label="Search" placeholder="Search Case Types Data"/> <lightning:inputField aura:id="Level_1__c" fieldName="Level_1__c" /> <lightning:inputField aura:id="Level_2__c" fieldName="Level_2__c" /> <lightning:inputField aura:id="Level_3__c" fieldName="Level_3__c" /> <lightning:button class="slds-m-top_small" variant="brand" type="submit" name="save" label="Save" /> </lightning:recordEditForm> </lightning:card> </aura:component>
Here is Aura component - JS controller part
({ lookupSearch : function(component, event, helper) { // Get the lookup component that fired the search event const lookupComponent = event.getSource(); const serverSearchAction = component.get('c.search'); lookupComponent.search(serverSearchAction); }, useSelected: function(component, event, helper) { const selection = component.get('v.selection'); const errors = component.get('v.errors'); if (selection.length) { if(errors.length){ // Clear errors, if any component.set('v.errors', []); } let levels = selection[0].subtitle.split('; '); component.find('Level_1__c').set('v.value', levels[0]); component.find('Level_2__c').set('v.value', levels[1]); component.find('Level_3__c').set('v.value', levels[2]); } }, onSubmit: function(component, event, helper) { debugger; event.preventDefault(); // stop the form from submitting var fields = event.getParam('fields'); fields.Case__c = component.get('v.recordId'); // link to "this" Case component.find('myForm').submit(fields); }, onSuccess: function(component, event, helper){ var toastEvent = $A.get("e.force:showToast"); toastEvent.setParams({ "title": "Success!", "message": "Case Type saved OK, refreshing", "type": "success" }); toastEvent.fire(); $A.get('e.force:refreshView').fire(); // reload page } })
Please help me in removing this access error
Regards,
Fiona
Hi Fiona,
Greetings!
As per the error message,I can see that the error is occuring when trying to access the fields/records on the "CONTACT" Object.So,I would suggest you to check,if you have enough level of access on the Contact Object to proceed further.
Kindly mark it as best answer if it helps so that it can help others in the future.
Warm Regards,
Shirisha Pathuri