Пример #1
0
 $so->column_fields["hdnGrandTotal"] = $sototal_array[$i];
 $so->column_fields["carrier"] = $carrier_array[$i];
 $so->column_fields["duedate"] = $duedate_array[$i];
 $so->column_fields["bill_street"] = $street_address_array[rand(0, $street_address_count - 1)];
 $so->column_fields["bill_city"] = $city_array[rand(0, $city_array_count - 1)];
 $so->column_fields["bill_state"] = "CA";
 $so->column_fields["bill_code"] = rand(10000, 99999);
 $so->column_fields["bill_country"] = 'USA';
 $so->column_fields["ship_street"] = $account->column_fields["bill_street"];
 $so->column_fields["ship_city"] = $account->column_fields["bill_city"];
 $so->column_fields["ship_state"] = $account->column_fields["bill_state"];
 $so->column_fields["ship_code"] = $account->column_fields["bill_code"];
 $so->column_fields["ship_country"] = $account->column_fields["bill_country"];
 $so->column_fields["currency_id"] = '1';
 $so->column_fields["conversion_rate"] = '1';
 $so->save("SalesOrder");
 $salesorder_ids[] = $so->id;
 $product_key = array_rand($product_ids);
 $productid = $product_ids[$product_key];
 //set the inventory product details in request then just call the saveInventoryProductDetails function
 $_REQUEST['totalProductCount'] = 1;
 $_REQUEST['hdnProductId1'] = $productid;
 $_REQUEST['qty1'] = $qty = 1;
 $_REQUEST['listPrice1'] = $listprice = 1230;
 $_REQUEST['comment1'] = "This is test comment for product of SalesOrder";
 $_REQUEST['deleted1'] = 0;
 $_REQUEST['discount_type1'] = 'amount';
 $_REQUEST['discount_amount1'] = $discount_amount = '200';
 $_REQUEST['taxtype'] = $taxtype = 'individual';
 $_REQUEST['subtotal'] = $subtotal = $qty * $listprice - $discount_amount;
 $_REQUEST['discount_type_final'] = 'amount';
Пример #2
0
 function insertSalesOrder($salesorderinf)
 {
     global $log;
     $log->debug("Entering into function insertSalesOrder()");
     global $adb;
     global $current_user;
     $focus = new SalesOrder();
     foreach ($salesorderinf as $key => $val) {
         $focus->column_fields[$key] = $val;
     }
     $focus->save("SalesOrder");
     //file_put_contents("D:\\abcde.txt",$salesorderinf['duedate']);
     $log->debug("Exit function insertSalesOrder()");
     return $focus->id;
 }
Пример #3
0
/**
 * Create SalesOrder entity
 * 
 * @param array $input_array    input data for salesorder
 */
function create_salesorder($input_array)
{
    require_once 'modules/SalesOrder/SalesOrder.php';
    global $adb, $log;
    $adb->println("Inside customer portal function create_salesorder");
    $adb->println($input_array);
    // Input parameters
    $id = $input_array['id'];
    $sessionid = $input_array['sessionid'];
    $title = $input_array['title'];
    $module = $input_array['module'];
    $salesorderid = $input_array['salesorderid'];
    $product_ids = explode('_', $input_array['product_ids']);
    global $current_user;
    $current_user->id = getPortalUserid();
    if (!validateSession($id, $sessionid)) {
        return null;
    }
    $user_editable_state = 'Created';
    $order = new SalesOrder();
    if ($salesorderid > 0) {
        $order->retrieve_entity_info($salesorderid, 'SalesOrder');
        if (strcmp($user_editable_state, $order->column_fields['sostatus']) != 0) {
            return null;
        }
        $order->mode = 'edit';
        $order->id = $salesorderid;
    } else {
        $account_id = get_account_id_by_contact_id($id);
        $order->column_fields['assigned_user_id'] = $current_user->id;
        $order->column_fields['account_id'] = $account_id;
        $order->column_fields['contact_id'] = $id;
        $order->column_fields['currency_id'] = 1;
        $order->column_fields['sostatus'] = $user_editable_state;
        $shipads = get_table_record_fields_values('vtiger_accountshipads', 'accountaddressid', $account_id);
        $order->column_fields['ship_city'] = $shipads['ship_city'];
        $order->column_fields['ship_street'] = $shipads['ship_street'];
        $order->column_fields['ship_code'] = $shipads['ship_code'];
        $order->column_fields['ship_state'] = $shipads['ship_state'];
        $order->column_fields['ship_country'] = $shipads['ship_country'];
        $order->column_fields['ship_pobox'] = $shipads['ship_pobox'];
        $billads = get_table_record_fields_values('vtiger_accountbillads', 'accountaddressid', $account_id);
        $order->column_fields['bill_city'] = $billads['bill_city'];
        $order->column_fields['bill_street'] = $billads['bill_street'];
        $order->column_fields['bill_code'] = $billads['bill_code'];
        $order->column_fields['bill_state'] = $billads['bill_state'];
        $order->column_fields['bill_country'] = $billads['bill_country'];
        $order->column_fields['bill_pobox'] = $billads['bill_pobox'];
        $_REQUEST['discount_type_final'] = "amount";
        $_REQUEST['discount_amount_final'] = 0;
        $_REQUEST['discount_type_final'] = "amount";
        $_REQUEST['discount_amount_final'] = 0;
        $_REQUEST['taxtype'] = 'group';
        $_REQUEST['shipping_handling_charge'] = 0;
    }
    $order->column_fields['subject'] = $title;
    $i = 1;
    $prices = get_products_prices();
    $total = 0.0;
    foreach ($product_ids as $ix => $current_id) {
        if (!empty($current_id)) {
            $product_info = explode('#', $current_id);
            $product_id = $product_info[0];
            $product_qty = $product_info[1];
            $_REQUEST['hdnProductId' . $i] = $product_id;
            $_REQUEST['qty' . $i] = (int) $product_qty;
            $price = $prices[$product_id];
            $_REQUEST['listPrice' . $i] = $price;
            $_REQUEST['discount_type' . $i] = "amount";
            $_REQUEST['discount_amount' . $i] = $discount;
            $total += $price * $product_qty;
            $i++;
        }
    }
    $_REQUEST['totalProductCount'] = $i - 1;
    $_REQUEST['subtotal'] = $total;
    $_REQUEST['total'] = $total;
    $order->save("SalesOrder");
    if ($order->id > 0) {
        $record_array[0]['new_salesorder']['salesorderid'] = $order->id;
        $adb->println("SalesOrder from Portal is saved with id => " . $order->id);
        return $record_array;
    } else {
        $adb->println("There may be error in saving the salesorder.");
        return null;
    }
    $log->debug("Exiting customerportal function create_salesorder");
}