News:

Looking for documentation? Take a look on our wiki

Main Menu

warning could not send a message to - changing order status

Started by jasonwmartin, June 26, 2009, 20:57:28 PM

Previous topic - Next topic

jasonwmartin

Description:
"Warning: Could not send a message to" when changing order status and checking to notify customer.

VirtueMart Version:
1.1.2

Joomla/Mambo Version:
Joomla 1.5.5

Steps to replicate:
Go to Orders -> List Orders -> click and order # to open -> change Order Status on right and check box to Notify Customer then click update.  Error above appears in upper left.

Proposed fix(es):
Guessing... this issue is caused by the configuration of VirtueMart User Registration Type as No Account Creation.  This may cause user info for orders to go into table USER_INFO rather than ORDER_USER_INFO.

For sure... orders for our customer on site below were going into USER_INFO table.  In the file PS_ORDER.PHP the line:

$q = "SELECT first_name,last_name,user_email,order_status_name FROM #__{vm}_order_user_info,#__{vm}_orders,#__{vm}_order_status ";

was joining the table ORDER_USER_INFO for field USER_EMAIL field which there were no records.

Original Lines of code ===>>>:

$q = "SELECT first_name,last_name,user_email,order_status_name FROM #__{vm}_order_user_info,#__{vm}_orders,#__{vm}_order_status ";
$q .= "WHERE #__{vm}_orders.order_id = '".$db->getEscaped($d["order_id"])."' ";
$q .= "AND #__{vm}_orders.user_id = #__{vm}_order_user_info.user_id ";
$q .= "AND #__{vm}_orders.order_id = #__{vm}_order_user_info.order_id ";
$q .= "AND order_status = order_status_code ";

<<<===

changed to ===>>>:

$q = "SELECT first_name,last_name,user_email,order_status_name FROM #__{vm}_user_info,#__{vm}_orders,#__{vm}_order_status ";
$q .= "WHERE #__{vm}_orders.order_id = '".$db->getEscaped($d["order_id"])."' ";
$q .= "AND #__{vm}_orders.user_id = #__{vm}_user_info.user_id ";
$q .= "AND order_status = order_status_code ";

<<<===

Bugtracker task #:
???

System info:
<will post later>



jasonwmartin

Will take some time to test.  The site with the issue is a live site taking web orders daily.  Will need to backup the current site and restore to a lab environment.

Not sure we would want our client to run a live site using a release candidate though even if it does work.  How long as 1.1.4RC been out and is it stable?


induc916

I"m having the same issues. I have joomla 1.5.3 virtu - 1.1.3 and php 5.

i have phpmail and send mail and smtp tried still doesn't work. I changed the code above and it still doesn't work. I have no account registration in vm setup.

When registering in joomla and what not get email.  when placing order and or updating order nothing. Please please help me I need to get this site live.

I also have my store info setup so email is in there.

http://www.prodigyuniforms.com

Huzaimi

Hello
I have the same problem..
I have done changing the code but still the email cant be sent. What the problem ?
VirtueMart Version:
1.1.2 updated to 1.1.3

Joomla/Mambo Version:
Joomla 1.5.9



Quote from: jasonwmartin on June 26, 2009, 20:57:28 PM
Description:
"Warning: Could not send a message to" when changing order status and checking to notify customer.


Steps to replicate:
Go to Orders -> List Orders -> click and order # to open -> change Order Status on right and check box to Notify Customer then click update.  Error above appears in upper left.

Proposed fix(es):
Guessing... this issue is caused by the configuration of VirtueMart User Registration Type as No Account Creation.  This may cause user info for orders to go into table USER_INFO rather than ORDER_USER_INFO.

For sure... orders for our customer on site below were going into USER_INFO table.  In the file PS_ORDER.PHP the line:

$q = "SELECT first_name,last_name,user_email,order_status_name FROM #__{vm}_order_user_info,#__{vm}_orders,#__{vm}_order_status ";

was joining the table ORDER_USER_INFO for field USER_EMAIL field which there were no records.

Original Lines of code ===>>>:

$q = "SELECT first_name,last_name,user_email,order_status_name FROM #__{vm}_order_user_info,#__{vm}_orders,#__{vm}_order_status ";
$q .= "WHERE #__{vm}_orders.order_id = '".$db->getEscaped($d["order_id"])."' ";
$q .= "AND #__{vm}_orders.user_id = #__{vm}_order_user_info.user_id ";
$q .= "AND #__{vm}_orders.order_id = #__{vm}_order_user_info.order_id ";
$q .= "AND order_status = order_status_code ";

<<<===

changed to ===>>>:

$q = "SELECT first_name,last_name,user_email,order_status_name FROM #__{vm}_user_info,#__{vm}_orders,#__{vm}_order_status ";
$q .= "WHERE #__{vm}_orders.order_id = '".$db->getEscaped($d["order_id"])."' ";
$q .= "AND #__{vm}_orders.user_id = #__{vm}_user_info.user_id ";
$q .= "AND order_status = order_status_code ";

<<<===

Bugtracker task #:
???

System info:
<will post later>