Skip to main content

CloneQuote Component

Zuora

CloneQuote Component

The CloneQuote component displays the CloneQuote landing page. Use the component to customize the quote cloning process.

The CloneQuote component consists of:

  • CloneQuote.component: The Visualforce UI component
  • CloneQuoteComponentOptions.class: The Apex class that stores the configuration options specified by the developer and used by the controller to render the component
  • CloneQuoteComponentOptions.ICloneQuotePlugin: The plugin to set the default options for cloning

The CloneQuote component is available as of the Version 7.3 of Zuora Quotes.

Take the following considerations in regards to cloning the products associated with a quote:

  • Cloning New Subscription quotes: If you want to clone the products when cloning a New Subscription quote, you must ensure that the products associated with the quote are maintained in the current version of the product catalog.
  • Cloning Amendment/Renewal quotes: You cannot clone the products associated with an Amendment or Renewal quote. 

CloneQuote Component Attributes 

The CloneQuote component accepts the following attribute.

Attribute Type Required? Description
cloneQuoteOptions zqu.CloneQuoteComponentOptions Required The configuration options required for cloning a quote

CloneQuoteComponentOptions Class 

The CloneQuote component has the CloneQuoteComponentOptions class that provides the following property options.

Property Type Required? Description
nextPageUrl String Optional The URL that the user should be redirected to when it clicks Next
originalQuoteId String Required The Id of the quote to be cloned
shouldCloneProducts Boolean Optional The initial default value for the Clone Quote Products checkbox

Component Plugin

The CloneQuote component supports the following plugin.

ICloneQuotePlugin

Use the ICloneQuotePlugin to set the default configuration options when cloning quotes.

The plugin interface is defined as:

global CloneQuoteComponentOptions.ICloneQuotePlugin

The plugin contains the following interface methods: 

void populateCloneQuoteConfiguration(zqu.CloneQuoteComponentOptions)

Integration Sample Code 

The following code snippet uses the ICloneQuotePlugin to set the default options for cloning.

//This plugin can be used to default the CloneQuoteComponentOptions
global class customCloneQuoteComponentOptions implements 
    zqu.CloneQuoteComponentOptions.ICloneQuotePlugin {
    global void populateCloneQuoteConfiguration
        (zqu.CloneQuoteComponentOptions options) {
        options.shouldCloneProducts = true;
        options.nextPageUrl = '/apex/nextPageUrl';
    }
}
 
public class customClass {
    public void initializeCloneQuoteComponentOptions() {
        //The constructor for the options will call the plugin 
        // and default the values
        zqu.CloneQuoteComponentOptions options = 
            new zqu.CloneQuoteComponentOptions();  ​​​
    }
}