$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';
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; }
/** * 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"); }