$xtpl->assign('encoded_contact_popup_request_data', $encoded_contact_popup_request_data);
$popup_request_data = array('call_back_function' => 'set_return_product', 'form_name' => 'EditView', 'field_to_name_array' => array('id' => 'product_id', 'name' => 'product_name', 'account_id' => 'account_id', 'account_name' => 'account_name', 'contact_id' => 'contact_id', 'contact_name' => 'contact_name', 'number' => 'number'));
$encoded_contact_popup_request_data = $json->encode($popup_request_data);
$xtpl->assign('encoded_products_popup_request_data', $encoded_contact_popup_request_data);
///
/// Assign the template variables
///
if (isset($_REQUEST['product_id']) && !empty($_REQUEST['product_id'])) {
    $product = new Products();
    $product->retrieve($_REQUEST['product_id']);
    $ClientRequest = new ClientRequest();
    $ClientRequest->retrieve($product->clientrequest_id);
    if (isset($ClientRequest->product_id) && !empty($ClientRequest->product_id)) {
        $focus->product_id = $ClientRequest->product_id;
        $focus->name = $ClientRequest->name;
        $focus->number = 'PTR' . $focus->generate_number('number', $focus->table_name);
        $focus->clientrequest_id = $ClientRequest->id;
        $focus->deadline = $ClientRequest->due_date;
        $focus->quantity = $ClientRequest->quantity;
        //TO DO: add sub_status
        //$focus->status = $ClientRequest->status;
        $focus->period = $ClientRequest->periodic;
        $focus->samples = $ClientRequest->samples;
        $focus->file = $ClientRequest->files;
        $focus->note = $ClientRequest->special_requirements;
        $focus->description = $ClientRequest->description;
        $focus->operation_description = $ClientRequest->operation_description;
        //To Do: add operations : temp done.
        //Transport
        //Pack
        $focus->save($GLOBALS['check_notify']);
 * Portions created by SugarCRM are Copyright (C) 2004-2006 SugarCRM, Inc.;
 * All Rights Reserved.
 * Contributor(s): ______________________________________.
 */
require_once 'modules/Estimates/Estimates.php';
require_once 'modules/EstimateComponents/EstimateComponents.php';
require_once 'modules/ClientRequest/ClientRequest.php';
require_once 'modules/ProductStatus/ProductStatus.php';
require_once 'include/formbase.php';
$Estimates = new Estimates();
if (isset($_REQUEST['clientrequest_id']) && !empty($_REQUEST['clientrequest_id'])) {
    $ClientRequest = new ClientRequest();
    $ClientRequest->retrieve($_REQUEST['clientrequest_id']);
    $Estimates->product_id = $ClientRequest->product_id;
    $Estimates->name = $ClientRequest->name;
    $Estimates->number = 'PTR' . $Estimates->generate_number('number', $Estimates->table_name);
    $Estimates->clientrequest_id = $ClientRequest->id;
    $Estimates->deadline = $ClientRequest->due_date;
    $Estimates->quantity = $ClientRequest->quantity;
    $Estimates->status = $ClientRequest->status;
    $Estimates->period = $ClientRequest->periodic;
    $Estimates->samples = $ClientRequest->samples;
    $Estimates->file = $ClientRequest->files;
    $Estimates->note = $ClientRequest->special_requirements;
    $Estimates->description = $ClientRequest->description;
    $Estimates->operation_description = $ClientRequest->operation_description;
    //To Do: add operations
    //Transport
    //Pack
    $Estimates->save($GLOBALS['check_notify']);
    $Components = new EstimateComponents();