Search code examples
apexvisualforcelightning

VisualForce Button not returning Selected Ids


I am converting a custom List JS button to support lighting. So, I've made changes to existing class and created a VF page and added that to the list view button. But when I run the functionality nothing seems to happen and debug logs returned Id as 000000.. Pls suggest.

global class AddUserToTeam{
    public Opportunity objOpp;
  
    global AddUserToTeam(ApexPages.StandardSetController stdcontroller) {
        objOpp = (Opportunity)stdController.getRecord();
        system.debug(objOpp );
    }
    public pagereference addTeam(){
          List<Id> opportunityIds = new List<Id>();
          opportunityIds.add(objOpp.Id);
          system.debug('oppid'+ opportunityIds);
          addTeamMember(opportunityIds);
          //return new pagereference(url.getsalesforcebaseurl().toexternalform()+'/'+objOpp.Id);
          return new PageReference('/006/o');
    }
    webservice static boolean addTeamMember(List<Id> opptyIds)
    {
    // some logic to add a user to teams
    }
    
VF

<apex:page standardController="Opportunity" recordSetVar="Opportunities" extensions="AddUserToTeam" action="{!addTeam}"> </apex:page>



[enter image description here][1]


  [1]: https://i.sstatic.net/2V3vp.png

Solution

  • I fixed the issue, check the below code

    global class AddUserToTeam{
        public Opportunity objOpp;
        public String accIds{get;set;}
      
        global AddUserToTeam(ApexPages.StandardSetController stdcontroller) {
            System.debug('Get Selected');
            objOpp = stdcontroller.getSelected();
            accIds = '';  
            for(Opportunity acc : objOpp){
                accIds += acc.Id + ','; 
                System.debug('Opp ID : '+accIds);
            }
            accIds = accIds.removeEnd(','); 
        }
        }
        public pagereference addTeam(){
              List<Id> opportunityIds = new List<Id>();
              opportunityIds.add(accIds );
              system.debug('oppid'+ opportunityIds);
              addTeamMember(opportunityIds);
              return new pagereference(url.getsalesforcebaseurl().toexternalform()+'/'+accIds );
              //return new PageReference('/006/o');
        }
        webservice static boolean addTeamMember(List<Id> opptyIds)
        {
        // some logic to add a user to teams
        }