VirtueMart Forum

VirtueMart Dev/Coding Central: VM1 (old version) => Virtuemart 1.1 Development (Archiv) => Quality & Testing VirtueMart 1.1.x => Topic started by: jasonwmartin on June 26, 2009, 20:57:28 PM

Title: warning could not send a message to - changing order status
Post by: 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.

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>
Title: Re: warning could not send a message to - changing order status
Post by: aravot on June 26, 2009, 21:40:20 PM
Could you please try with VirtueMart 1.1.3 or even better VM 1.1.4RC
Title: Re: warning could not send a message to - changing order status
Post by: aravot on June 28, 2009, 10:36:19 AM
Testing 1.1.4RC without changing any code it works.
Title: Re: warning could not send a message to - changing order status
Post by: jasonwmartin on June 30, 2009, 04:31:27 AM
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?
Title: Re: warning could not send a message to - changing order status
Post by: aravot on June 30, 2009, 04:47:10 AM
It is best to test it in dev environment http://forum.virtuemart.net/index.php?topic=56112.0 no upgrade path from 1.1.4RC to 1.1.4Stable
Title: Re: warning could not send a message to - changing order status
Post by: induc916 on August 06, 2009, 08:36:17 AM
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
Title: Re: warning could not send a message to - changing order status
Post by: Huzaimi on September 04, 2009, 17:59:24 PM
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>
Title: Re: warning could not send a message to - changing order status
Post by: salazar44 on January 02, 2010, 03:18:37 AM
same problem here.