Thursday, January 16, 2014

Assignment Rule Throw VFpages

==============VFPages============
<apex:page controller="leadedit" showHeader="false">
<apex:sectionHeader title="Lead Edit" subtitle="{!lead.name}"/>
  <apex:form >
   <apex:pageBlock title="Lead Edit" mode="edit">
    <apex:pageBlockButtons location="top">
     <apex:commandButton value="Save" action="{!mysave}"/>
     <apex:commandButton value="Save & New" action="{!saveandnew}" />
     <apex:commandButton value="Cancel" action="{!mycancel}"/>
    </apex:pageBlockButtons>
    <!--apex:pageBlockButtons location="bottom">
     <apex:commandButton value="Save" action="{!save}"/>
     <apex:commandButton value="Save & New" action="{!save}" />
     <apex:commandButton value="Cancel" action="{!cancel}"/>
    </apex:pageBlockButtons-->
    <apex:pageBlockSection title="Lead Information" columns="2">
     <apex:inputField value="{!lead.OwnerId}" required="false"/>
     <apex:inputField value="{!lead.Phone}" required="false"/>
     <apex:inputField value="{!lead.FirstName}" required="false"/>
     <apex:inputField value="{!lead.MobilePhone}" required="false"/>
     <apex:inputField value="{!lead.LastName}" required="false"/>
     <apex:inputField value="{!lead.Fax}" required="false"/>
     <apex:inputField value="{!lead.Company}" required="false"/>
     <apex:inputField value="{!lead.Email}" required="false"/>
     <apex:inputField value="{!lead.Title}" required="false"/>
     <apex:inputField value="{!lead.Website}" required="false"/>
     <apex:inputField value="{!lead.LeadSource}" required="false"/>
     <apex:inputField value="{!lead.Status}" required="false"/>
     <apex:inputField value="{!lead.Industry}" required="false"/>
     <apex:inputField value="{!lead.Rating}" required="false"/>
     <apex:inputField value="{!lead.AnnualRevenue}" required="false"/>
     <apex:inputField value="{!lead.NumberOfEmployees}" required="false"/>
    </apex:pageBlockSection> <apex:pageBlockSection title="Address Information" columns="2">
    <apex:inputField value="{!lead.Street}" required="false"/>
    <apex:inputField value="{!lead.City}" required="false"/>
    <apex:inputField value="{!lead.State}" required="false"/>
    <apex:inputField value="{!lead.PostalCode}" required="false"/>
    <apex:inputField value="{!lead.Country}" required="false"/>
    </apex:pageBlockSection> <apex:pageBlockSection title="Additional Information" columns="2">
    <apex:inputField value="{!lead.ProductInterest__c}" required="false"/>
    <apex:inputField value="{!lead.CurrentGenerators__c}" required="false"/>
    <apex:inputField value="{!lead.SICCode__c}" required="false"/>
    <apex:inputField value="{!lead.Primary__c}" required="false"/>
    <apex:inputField value="{!lead.NumberofLocations__c}" required="false"/>
    </apex:pageBlockSection>
    <apex:pageBlockSection title="Description Information" columns="1">
    <apex:inputField value="{!lead.Description}" required="false"/>
   </apex:pageBlockSection>
   <apex:pageBlockSection title="Optional">
    <apex:pageBlockSectionItem >
       <apex:inputCheckbox value="{!lead}" >Assign using active assignment rule
         <apex:actionSupport action="{!Action}" event="Onclick"/>
       </apex:inputCheckbox>
    </apex:pageBlockSectionItem>
    </apex:pageBlockSection>
   <apex:detail relatedList="true"/>
  </apex:pageBlock>
 </apex:form>
</apex:page>
==========Controller============
public class leadedit {

    public PageReference Action() {
        AssignmentRule AR = new AssignmentRule();
AR = [select id from AssignmentRule where SobjectType = 'lead' and Active = true limit 1];
Database.DMLOptions dmlOpts = new Database.DMLOptions();
dmlOpts.assignmentRuleHeader.assignmentRuleId= AR.id;
 //lead lead=new lead(Status = 'Open - Not Contacted') ;
lead.setOptions(dmlOpts);
        return null;
    }


    public PageReference cancel() {
        return null;
    }


    public PageReference save() {
        return null;
    }


    public leadedit() {
       lead = new lead(Status = 'Open - Not Contacted');

    }

public lead lead{set;get;}
    public leadedit(ApexPages.StandardController controller) {
    //lead = new lead(Status = 'Open - Not Contacted');
    }
public pageReference mycancel(){
return null;
//page.leadlist;
}
public pageReference mysave(){


insert lead;
return null;
//page.leadlist;
}
public pageReference saveandnew(){
insert lead;
return null;
//page.leadedit;
}
}

No comments:

Post a Comment