• Kamesh Singh
  • NEWBIE
  • 5 Points
  • Member since 2016

  • Chatter
    Feed
  • 0
    Best Answers
  • 0
    Likes Received
  • 0
    Likes Given
  • 2
    Questions
  • 8
    Replies
Hi All.

I have a Custom Close Case Button in my customer community and below is the code.
../{!Case.Id}/s?retURL=%2F{!Case.Id}&cas7=CLOSED

This code was working till last week before Winter'21 release but after that its failing and below errors we are getting.

This is the url its redirecting to:

https://InstanceName/CommunityName/servlet/servlet.ExternalRedirect?url=..%2F5002f000007yOnM%2Fs%3FretURL%3D%252F5002f000007yOnM%26cas7%3DCLOSED 

Error on Page.
You have sent us an Illegal URL or an improperly formatted request.
../5002f000007yOnM/s?retURL=%2F5002f000007yOnM&cas7=CLOSED


Can anyone please help on this?
Hi All,

In the Live Agent - Pre Chat Form I have a requirement where i need to create a text field where customers can enter the existign case Number and once they will start chat and if agents will accept that chat, agent can see that case number and redirected to that Case details page.

If anyone has implemented this, please help me out on this. We are struggling on this.

Any help apperciated.

Thanks,
Kamesh
Hello All,

I have Picklist Field A with 16 values and picklist field B with 2 values(Mail/Email). Few values in Picklist A should have both email and mail so that user can select one. Few should have only one either mail/Email.  This is in lightning.

Please let me know the ways to do it.

Thank you for your help.
 
Hi everyone,

I created an Apex code in my sandbox (following this link (https://help.salesforce.com/articleView?id=hvs_cadences_auto_remove_targets_process_apex.htm&type=5) and this link (https://help.salesforce.com/articleView?id=changesets_outbound_components_select.htm&type=5)) but cannot get it to upload to my Production Org. Anyone know why it says I am not authorized to do so?

User-added image
Any help is much appreciated!!
Hi, 
I have created the following components for this step:

BoatSearchForm.cmp
<aura:component controller="BoatSearchForm" implements="force:appHostable,flexipage:availableForAllPageTypes"  access="global" >
    <aura:handler name="init" value="{!this}" action="{!c.doInit}"/>
    <aura:attribute name="searchOptions" type='String[]' default='All'/>
    <aura:attribute name='searchOptionToIdMap' type='Map' default="{All:''}" />
    <aura:attribute name='showNewButton' type='Boolean' default='false'/>

    <lightning:layout horizontalAlign="center"   >

       <lightning:layoutItem class="slds-grid_vertical-align-center" > 

           <lightning:select aura:id='typeSelect' name='selectItem' onchange=''>
             <aura:iteration items='{!v.searchOptions}' var='option'>
                 <option value='{!option}' text='{!option}'></option>
             </aura:iteration>
         </lightning:select>
       </lightning:layoutItem>

       <lightning:layoutItem class="slds-grid_vertical-align-center" > 
         <lightning:button label="Search" variant="brand"  />
         <aura:if isTrue='{!v.showNewButton}'>
            <lightning:button variant='neutral' label='New' onclick='{!c.createBoat}'/>
        </aura:if>
       </lightning:layoutItem>

    </lightning:layout>

</aura:component>

BoatSearchController.js
({
     doInit: function(component) 
    {
       console.log('inside do init '); 
        debugger;
       var action=component.get('c.getSearchOptions');
        action.setcallback(this,function(response)
         {
             debugger;
             var state = response.getState();
             if (state === "SUCCESS")
             {
                 debugger;
                 console.log('inside success state');
                 component.set('v.searchOptionToIdMap',response.getReturnValue());
                 var custs = [];
                 var conts = response.getReturnValue();
                 for(var key in conts)
                 {
                    console.log('populated list');
                     custs.push({value:conts[key], key:key});
                 }
                 component.set("v.searchOptions", custs);
             }
             
         }); 
    }, 
     createBoat: function (component) 
     {
            console.log('inside controller');
            var createRecordEvent = $A.get('e.force:createRecord');
            if (createRecordEvent) 
            {
                    var typeName = component.find('typeSelect').get('v.value');
                    var typeMap = component.get('v.searchOptionToIdMap');
                    var typeId = null;
                    if (typeName && typeMap && typeMap[typeName]) 
                    {
                            typeId = typeMap[typeName];
                    }
                    createRecordEvent.setParams({
                        'entityApiName': 'Boat__c',
                        'defaultFieldValues': {
                            'BoatType__c': typeId
                        }
                    });
                    createRecordEvent.fire();
            }
       }
})
BoatSearchHelper.js
({
    renderNewButton: function (component) {
    var createRecordEvent = $A.get('e.force:createRecord');
    if (createRecordEvent) {
        component.set('v.showNewButton', true);
    }
}})

Apex Controller:
public with sharing class BoatSearchForm
{
        @AuraEnabled
        public static Map<String, String> getSearchOptions() 
        {
                List<BoatType__c> boatTypes = [SELECT Id, Name FROM BoatType__c LIMIT 400];
                Map<String, String> returnMap = new Map<String, String>();
                if(!boatTypes.isEmpty())
                {
                        for(BoatType__c bt: boatTypes)
                        {
                            returnMap.put(bt.Name, bt.Id);
                        }
                }
                return returnMap;
        }
}
FriendswithBoat.app
<aura:application extends="force:slds">
    <lightning:layout >
                 
                 <lightning:card title="Find a Boat" class="slds-m-top_10px" >
                          <c:BoatSearchForm />
                 </lightning:card>

    </lightning:layout>
</aura:application>

Whenever I try to load my app I get this error:
User-added image

Something is wrong with my component. I am not able to identify it. Can anyone help me with this?
Hello,

I started this new superbadge yesterday and I am wondering if there is an issue with step 7: Set up reporting for sales managers in Lightning Experience.

I believed to have done everything right () report was created, added to Account, Dashboard was created. But I received the following error: 
   
ERROR: The Opportunities Pipeline report must: 
        1. Display data for all time, 
        2. Show opportunities by stage, 
        3. Contain a funnel chart, 
        4. Provide the information required by the dashboard.
I am trying to understand it, but the requirements and point 4 in the error message makes it a little unspecific (I can dismiss error 1,2,3 easily)... What information do they want to show on the Dashboard? I created all 3 charts but I guess I am not displaying the correct metrics...    
  • September 06, 2017
  • Like
  • 0
I wrote AccountsSelector class but I still can't pass the challange.
Where could I be wrong?
Code:

public with sharing class AccountsSelector extends fflib_SObjectSelector{
    
   public List<Schema.SObjectField> getSObjectFieldList() {
        return new List<Schema.SObjectField> {
            Account.Id,
            Account.Description,
            Account.Name,
            Account.AnnualRevenue };
    }
    
    List<Account> selectById(Set<ID> idSet) {
      return (List<Account>) selectSObjectsById(idSet);
    }

     public Schema.SObjectType getSObjectType() {
        return Account.sObjectType;
    }

}
 
Hi All,

I receive the following error when attempting to check the challenge for Apply Unit of Work

Challenge Not yet complete... here's what's wrong: 
The 'challangeComplete' method in the 'UnitOfWorkTest' class has not successfully passed all tests. Ensure that you run the tests and it passes successfully before attempting this challenge again.

However, when I run my code in Developer Console, my test passes.  Any ideas on the problem?  Here is the code:

@isTest
public class UnitOfWorkTest {
    @isTest static void challengeComplete(){
        fflib_SObjectUnitOfWork uow = new fflib_SObjectUnitOfWork(
            new Schema.SObjectType[]{
                Account.SObjectType,
                Contact.SObjectType,
                Note.SObjectType
            }
        );
        
        for (Integer i=0 ; i<100 ; i++) {
            Account a = new Account(Name= 'Test' + i);
            uow.registerNew(a);
            
            for (Integer j=0 ; j<5 ; j++) {
                Contact c = new Contact(LastName = 'Test'+i + ' ' +j);
                uow.registerNew(c, Contact.AccountId, a);
                
                Note n = new Note(Body='Test '+i + '' + j, Title='Test'+i+j);
                uow.registerRelationship(n, Note.ParentId, a);
                uow.registerNew(n, Note.ParentId, a);
            }
        }

        uow.commitWork();
 
        fflib_SObjectUnitOfWork uow2 = new fflib_SObjectUnitOfWork(
            new Schema.SObjectType[]{
                Account.SObjectType,
                Contact.SObjectType,
                Note.SObjectType
            }
        );        
        for (Account a : [SELECT Id, Name, (SELECT Id, LastName FROM Contacts), (SELECT Id, ParentId, Title, Body FROM Notes) FROM Account]) {
            a.Name = 'Test';
            uow2.registerDirty(a);
            
            Integer i = 0;
            for (Contact c : a.Contacts) {
                c.LastName = 'Test';
                uow2.registerDirty(c);
                
                a.Notes[i].Body='Test';
                uow2.registerDirty(a.Notes[i]);
                i++;
            }
        }        
        
        test.startTest();
        uow2.commitWork();
        test.stopTest();
        
        System.assertEquals(100, [Select Id from Account].size());
        System.assertEquals(500, [Select Id from Contact].size());
        System.assertEquals(500, [Select Id from Note].size());
    }
}
I am beginner :  Not able to solve Trailhead challange for-Developer Beginner :Process Automation-Automate Basic Business Processes with Process Builder
"
Create a process to update child record when the parent is updated.
You've been given a requirement to keep Contact addresses in sync with the Account they belong to. Use Process Builder to create a new process that updates all child Contact addresses when the address of the Account record is updated. This process:
Can have any name.
Must be activated.
Must update Contact mailing address fields (Street, City, State, Post Code, Country) when the parent Account shipping address field values are updated.
NOTE: You may have to deactivate the validation rule for the Contacts object (created from a previous challenge) in order to complete this challenge."

 What I had tried 
Deleted validation rule on contact  from previous challange.
 Using Process builder created new Process with below details
Object: Account
Criteria:'Update Address' with condidtion

Field: selected shipping street, city, state,postalcode and country
Operator: Ischanged
Type: boolean
value: true

Condition:
Any condition met (OR)

 For Immediate action
Action name: Mailing address change
Records: Account.contacts
Criteria for Updating Records:No criteria—just update the records!

Set new field values for the records you update:

Field: selected Mailing street, city, state,postalcode and country
Type: Reference
value:  selected shipping street, city, state,postalcode and country

 after this saved and activated. So Once I check challange got below error:
"Challenge Not yet complete... here's what's wrong:
An update to an account record failed to update the mailing address fields of all child contact records. Make sure that the process is correct and that it is activated."

So Please help.