Jump to content
Guest

RMA Returns error for 2.2 MS2

Recommended Posts

Guest

Still no option in admin section to create RMA returns from the admin section though.

 

The schedule return link on the customers order page takes me to returns.php and does nothing else

Edited by jans

Share this post


Link to post
Share on other sites
Guest

To create returns you need to edit the order in orders.php. Next to the item info will be the link, also when i click on the link, the product info doesnt get carried over?

 

Danny

Share this post


Link to post
Share on other sites
Guest

If I send a customer a RMA pending message the RMA gets inaccesible in the RMA admin section and I get no update possibility anymore, now I can not alter the status of the RMA

Share this post


Link to post
Share on other sites
Guest
Still no option in admin section to create RMA returns from the admin section though.

 

The schedule return link on the customers order page takes me to returns.php and does nothing else

 

 

strike the underlined text please, I've found the link and dumb enough I have said so in this post.

 

Link does not work though, gets me back to the returns.php;

 

"admin/returns.php?order_id=2&products_id="

 

but seems to miss the products_id as you can see above.

Share this post


Link to post
Share on other sites
Guest

Thats my problem to the product is not being carried over....

Share this post


Link to post
Share on other sites

Please verify after:

for ($i=0, $n=sizeof($order->products); $i<$n; $i++) {

 

You have:

    //BEGIN RMA MODULE
   $returns_check_query = tep_db_query("SELECT r.rma_value, rp.products_id FROM " . TABLE_RETURNS . " r, " . TABLE_RETURNS_PRODUCTS_DATA . " rp where r.returns_id = rp.returns_id and r.order_id = '" . $oID . "' and rp.products_id = '" . $order->products[$i]['id'] . "' ");
if (!tep_db_num_rows($returns_check_query)){

if ($order->products[$i]['return'] != '1') {
$return_link = '<a href="' . tep_href_link(FILENAME_RETURN, 'order_id=' . $oID . '&products_id=' . ($order->products[$i]['id']), 'NONSSL') . '"><u>' . '<font color="818180">Schedule Return</font>' .'</a></u>';
}
// Don't show Return link if order is still pending or processing
// You can change this or comment it out as best fits your store configuration
if (($orders_status == '1') OR ($orders_status == '2') ) {
 $return_link = '';
}
} else {
$returns = tep_db_fetch_array($returns_check_query);
$return_link = '<a href=' . tep_href_link(FILENAME_RETURNS, 'cID=' . $returns['rma_value']) . '><font color=red><b><i>Returns</b></i></font></a>';
}
//END RMA MODULE

 

then the following code should be something simular:

 

echo ' <tr class="dataTableRow">' . "\n" .

' <td class="dataTableContent" valign="top" align="right">' . $order->products[$i]['qty'] . ' x</td>' . "\n" .

 

 

You should now be able to click to return an item in admin and the product id should be carried into the rma. I wonder if you being in another language effects this Jan?


Most Valuable OsCommerce Contributions:

Also Purchased (AP) Preselection (cuts this resource hogging query down to nothing) -- Contribution 3294

FedEx Automated Labels -- Contribution 2244

RMA Returns system -- Contribution 1136

Sort Products By Dropdown -- Contribution 4312

Ultimate SEO URLs -- Contribution 2823

Credit Class & Gift Voucher -- Contribution 282

Cross-Sell -- Contribution 5347

Share this post


Link to post
Share on other sites
Guest
Please verify after:

for ($i=0, $n=sizeof($order->products); $i<$n; $i++) {

 

You have:

 ? ?//BEGIN RMA MODULE
? ?$returns_check_query = tep_db_query("SELECT r.rma_value, rp.products_id FROM " . TABLE_RETURNS . " r, " . TABLE_RETURNS_PRODUCTS_DATA . " rp where r.returns_id = rp.returns_id and r.order_id = '" . $oID . "' and rp.products_id = '" . $order->products[$i]['id'] . "' ");
if (!tep_db_num_rows($returns_check_query)){

if ($order->products[$i]['return'] != '1') {
$return_link = '<a href="' . tep_href_link(FILENAME_RETURN, 'order_id=' . $oID . '&products_id=' . ($order->products[$i]['id']), 'NONSSL') . '"><u>' . '<font color="818180">Schedule Return</font>' .'</a></u>';
}
// Don't show Return link if order is still pending or processing
// You can change this or comment it out as best fits your store configuration
if (($orders_status == '1') OR ($orders_status == '2') ) {
?$return_link = '';
}
} else {
$returns = tep_db_fetch_array($returns_check_query);
$return_link = '<a href=' . tep_href_link(FILENAME_RETURNS, 'cID=' . $returns['rma_value']) . '><font color=red><b><i>Returns</b></i></font></a>';
}
//END RMA MODULE

 

then the following code should be something simular:

 

      echo '          <tr class="dataTableRow">' . "\n" .

          '            <td class="dataTableContent" valign="top" align="right">' . $order->products[$i]['qty'] . ' x</td>' . "\n" .

You should now be able to click to return an item in admin and the product id should be carried into the rma. I wonder if you being in another language effects this Jan?

 

 

First of all, your code is wrong, you talk about "if ($order->products[$i]['return'] != '1') {

$return_link = '<a href="' . tep_href_link(FILENAME_RETURN, 'order" where it should be "if ($order->products[$i]['return'] != '1') {

$return_link = '<a href="' . tep_href_link(FILENAME_RETURNS, 'order"

 

Notice the S after RETURN, it should be RETURNS because the file that's been called is named RETURNS.PHP.

 

Okay, now that is straightened out, No it is not a question of language, I always configure in English first and then in my native language and German to be sure it workes as intended to.

 

The link takes me back to this "mysite-and-shopmap/admin/returns.php?order_id=2&products_id="

Share this post


Link to post
Share on other sites
Guest

PS,

 

When I hover over the "schedule return" link the product_ID is not shown either so I guess it cant find the ID somehow.Perhaps another look in the database query string from your side would be advisible ?

Share this post


Link to post
Share on other sites
First of all, your code is wrong, you talk about "if ($order->products[$i]['return'] != '1') {

$return_link = '<a href="' . tep_href_link(FILENAME_RETURN, 'order" where it should be "if ($order->products[$i]['return'] != '1') {

$return_link = '<a href="' . tep_href_link(FILENAME_RETURNS, 'order"

 

Notice the S after RETURN, it should be RETURNS because the file that's been called is named RETURNS.PHP.

 

Okay, now that is straightened out, No it is not a question of language, I always configure in English first and then in my native language and German to be sure it workes as intended to.

 

The link takes me back to this  "mysite-and-shopmap/admin/returns.php?order_id=2&products_id="

 

FILENAME_RETURN AND FILENAME_RETURNS are two different files. So that is correct Jan.

define('FILENAME_RETURNS', 'returns.php');

define('FILENAME_RETURN', 'return_product.php');


Most Valuable OsCommerce Contributions:

Also Purchased (AP) Preselection (cuts this resource hogging query down to nothing) -- Contribution 3294

FedEx Automated Labels -- Contribution 2244

RMA Returns system -- Contribution 1136

Sort Products By Dropdown -- Contribution 4312

Ultimate SEO URLs -- Contribution 2823

Credit Class & Gift Voucher -- Contribution 282

Cross-Sell -- Contribution 5347

Share this post


Link to post
Share on other sites
PS,

 

When I hover over the "schedule return" link the product_ID is not shown either so I guess it cant find the ID somehow.Perhaps another look in the database query string from your side would be advisible ?

 

 

Hi Jan, is this a new install of the contrib or an upgrade? This new install just borrows the product_id grabbing string from the one used to pull up the returns link next to a product after it was returned.

 

    $returns_check_query = tep_db_query("SELECT r.rma_value, rp.products_id FROM " . TABLE_RETURNS . " r, " . TABLE_RETURNS_PRODUCTS_DATA . " rp where r.returns_id = rp.returns_id and r.order_id = '" . $oID . "' and rp.products_id = '" . $order->products[$i]['id'] . "' ");

 

Grabs the product ID so if the previous version's link next to the product for an already scheduled return did not work then this will not work. Something is wrong with your code or you've altered something is all I can tell you. Try installing the old version and see if that returns product link works for you, if it doesn't work either then you've done something to your code elsewhere that is causing your problem, not the contrib.


Most Valuable OsCommerce Contributions:

Also Purchased (AP) Preselection (cuts this resource hogging query down to nothing) -- Contribution 3294

FedEx Automated Labels -- Contribution 2244

RMA Returns system -- Contribution 1136

Sort Products By Dropdown -- Contribution 4312

Ultimate SEO URLs -- Contribution 2823

Credit Class & Gift Voucher -- Contribution 282

Cross-Sell -- Contribution 5347

Share this post


Link to post
Share on other sites
Hi Jan, is this a new install of the contrib or an upgrade? This new install just works like the string from the one used to pull up the returns link next to a product after it was returned.

 

RETURNS PRODUCT ID GRAB CODE

 ? ?$returns_check_query = tep_db_query("SELECT r.rma_value, rp.products_id FROM " . TABLE_RETURNS . " r, " . TABLE_RETURNS_PRODUCTS_DATA . " rp where r.returns_id = rp.returns_id and r.order_id = '" . $oID . "' and rp.products_id = '" . $order->products[$i]['id'] . "' ");

 

SCHEDULE RETURN PRODUCT ID GRAB CODE

$return_link = '<a href="' . tep_href_link(FILENAME_RETURN, 'order_id=' . $oID . '&products_id=' . ($order->products[$i]['id']), 'NONSSL') . '"><u>' . '<font color="818180">Schedule Return</font>' .'</a></u>';

As you can see the new code grabs the product ID the same as the old returns code with

$order->products[$i]['id']

So if the previous version's link next to the product for an already scheduled return did not work then this will not work. Try installing the old version and see if that returns product link works for you, if it doesn't work either then you've done something to your code elsewhere that is causing your problem, not the contrib. If it does work then carefully work through the install directions with the one change mentioned about 10 posts back and see if maybe you missed or altered something.

Edited by homewetbar

Most Valuable OsCommerce Contributions:

Also Purchased (AP) Preselection (cuts this resource hogging query down to nothing) -- Contribution 3294

FedEx Automated Labels -- Contribution 2244

RMA Returns system -- Contribution 1136

Sort Products By Dropdown -- Contribution 4312

Ultimate SEO URLs -- Contribution 2823

Credit Class & Gift Voucher -- Contribution 282

Cross-Sell -- Contribution 5347

Share this post


Link to post
Share on other sites

Hi There,

 

I have installed the latest version (2.5) and everything is working well. I have one question in regards to the calculation of the refund amount. I know that it is basically the sale price multiplied by the tax amount. I have installed this contribution:

 

http://www.oscommerce.com/community/contributions,689

 

I need the RMA contribution to work with this module and calculate the correct refund amount but I don't know how to do that.

 

For Example:

 

Customer Discount is 10%

Sale Price: $350.00

Tax is 8.25%

 

Thus the calculation would be: $350 less 10% discount, multiplied by 8.25% = $340.99

 

But if one does a refund, the would be given $350 * 8.25% = $378.88

 

Therefore the calculation is incorrect.

 

Please help,

 

Thanks,

StrictlyPC

Share this post


Link to post
Share on other sites

Hi guys.

I?m wandering if there any way to add possibility to change the amount of days since purchase for CREATE RMA button availability. Because it IS a pain to reply every time to the customer that we late for return! It takes to find his order, check the date, reply, and decline RMA.

Would it be so easy to create possibility disable RMA link in certain amount of days?

Sorry, I?m not a programmer, but if it is hard to do, maybe this feature should appear in the next release?

Anyway, I?ll be waiting for answer.

 

Thx!

Share this post


Link to post
Share on other sites

 

 

I am having the same problem with my product id's not being registered in my admin.... has anyone found a fix to this?? I have gone over the install 3 times, everything but this is working fine and my code is exactly what is listed in the notes. any ideas??

 

Thanks so much!

Share this post


Link to post
Share on other sites

Hi, I have not found any reference to this so I think maybe I am going blind (or daft).

 

In the instructions for catalog/account_history_info.php it says:

 

for ($i=0, $n=sizeof($order->products); $i<$n; $i++) {

 

Further below is another line:

 

if (sizeof($order->info['tax_groups']) > 1) {

 

I have looked and looked and also tried the search function and I cannot find

 

if (sizeof($order->info['tax_groups']) > 1) {

 

Could someone please tell me where this is!

 

Thanks

Robr

Share this post


Link to post
Share on other sites

OK, panic over, I am daft!!!

This was removed during an earlier change to the shop. I removed it!

 

Robr

Share this post


Link to post
Share on other sites
I am having the same problem with my product id's not being registered in my admin....?  has anyone found a fix to this??? I have gone over the install 3 times, everything but this is working fine and my code is exactly what is listed in the notes.?  any ideas??

 

Thanks so much!

 

 

Ashleylr,

 

I downloaded a fresh osCommerce install and tried installing using the admin/orders.php code I supplied in the contribution instructions just to check since multiple people seem to be having a problem with this. It worked perfectly, so you and the others that are having this problem must have modified your admin files somehow I would think. The code that pulls the product id $order->products[$i]['id'] is also used in the catalog/account_history_info.php so if it works there so the customer can create a return it should work in admin the same as I borrowed much of the code from the link in catalog/account_history_info.php to create a return item link to create the admin link.

 

I would suggest you download the base osCommerce install and compare files to see if there is a place you changed your orders.php from the original somewhere that is causing the problem.

Edited by homewetbar

Most Valuable OsCommerce Contributions:

Also Purchased (AP) Preselection (cuts this resource hogging query down to nothing) -- Contribution 3294

FedEx Automated Labels -- Contribution 2244

RMA Returns system -- Contribution 1136

Sort Products By Dropdown -- Contribution 4312

Ultimate SEO URLs -- Contribution 2823

Credit Class & Gift Voucher -- Contribution 282

Cross-Sell -- Contribution 5347

Share this post


Link to post
Share on other sites
Ashleylr,

 

I downloaded a fresh osCommerce install and tried installing using the admin/orders.php code I supplied in the contribution instructions just to check since multiple people seem to be having a problem with this. It worked perfectly, so you and the others that are having this problem must have modified your admin files somehow I would think.  The code that pulls the product id $order->products[$i]['id'] is also used in the catalog/account_history_info.php so if it works there so the customer can create a return it should work in admin the same as I borrowed much of the code from the link in catalog/account_history_info.php to create a return item link  to create the admin link.

 

I would suggest you download the base osCommerce install and compare files to see if there is a place you changed your orders.php from the original somewhere that is causing the problem.

 

 

 

I did what you suggested and only found changes that were for other contributions (adding the CVV capture form and the order edit contribution). I have copied my orders.php file below in case anyone can see what is going on here....

 

<?php
/*
 $Id: orders.php,v 1.112 2003/06/29 22:50:52 hpdl Exp $

 osCommerce, Open Source E-Commerce Solutions
 http://www.oscommerce.com

 Copyright (c) 2003 osCommerce

 Released under the GNU General Public License
*/

 require('includes/application_top.php');

 require(DIR_WS_CLASSES . 'currencies.php');
 $currencies = new currencies();

 $orders_statuses = array();
 $orders_status_array = array();
 $orders_status_query = tep_db_query("select orders_status_id, orders_status_name from " . TABLE_ORDERS_STATUS . " where language_id = '" . (int)$languages_id . "'");
 while ($orders_status = tep_db_fetch_array($orders_status_query)) {
   $orders_statuses[] = array('id' => $orders_status['orders_status_id'],
                              'text' => $orders_status['orders_status_name']);
   $orders_status_array[$orders_status['orders_status_id']] = $orders_status['orders_status_name'];
 }

 $action = (isset($HTTP_GET_VARS['action']) ? $HTTP_GET_VARS['action'] : '');

 if (tep_not_null($action)) {
   switch ($action) {
     case 'update_order':
       $oID = tep_db_prepare_input($HTTP_GET_VARS['oID']);
       $status = tep_db_prepare_input($HTTP_POST_VARS['status']);
       $comments = tep_db_prepare_input($HTTP_POST_VARS['comments']);

       $order_updated = false;
       $check_status_query = tep_db_query("select customers_name, customers_email_address, orders_status, date_purchased from " . TABLE_ORDERS . " where orders_id = '" . (int)$oID . "'");
       $check_status = tep_db_fetch_array($check_status_query);

       if ( ($check_status['orders_status'] != $status) || tep_not_null($comments)) {
         tep_db_query("update " . TABLE_ORDERS . " set orders_status = '" . tep_db_input($status) . "', last_modified = now() where orders_id = '" . (int)$oID . "'");

         $customer_notified = '0';
         if (isset($HTTP_POST_VARS['notify']) && ($HTTP_POST_VARS['notify'] == 'on')) {
           $notify_comments = '';
           if (isset($HTTP_POST_VARS['notify_comments']) && ($HTTP_POST_VARS['notify_comments'] == 'on')) {
             $notify_comments = sprintf(EMAIL_TEXT_COMMENTS_UPDATE, $comments) . "\n\n";
           }

           $email = STORE_NAME . "\n" . EMAIL_SEPARATOR . "\n" . EMAIL_TEXT_ORDER_NUMBER . ' ' . $oID . "\n" . EMAIL_TEXT_INVOICE_URL . ' ' . tep_catalog_href_link(FILENAME_CATALOG_ACCOUNT_HISTORY_INFO, 'order_id=' . $oID, 'SSL') . "\n" . EMAIL_TEXT_DATE_ORDERED . ' ' . tep_date_long($check_status['date_purchased']) . "\n\n" . $notify_comments . sprintf(EMAIL_TEXT_STATUS_UPDATE, $orders_status_array[$status]);

           tep_mail($check_status['customers_name'], $check_status['customers_email_address'], EMAIL_TEXT_SUBJECT, $email, STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS);

           $customer_notified = '1';
         }

         tep_db_query("insert into " . TABLE_ORDERS_STATUS_HISTORY . " (orders_id, orders_status_id, date_added, customer_notified, comments) values ('" . (int)$oID . "', '" . tep_db_input($status) . "', now(), '" . tep_db_input($customer_notified) . "', '" . tep_db_input($comments)  . "')");

         $order_updated = true;
       }

       if ($order_updated == true) {
        $messageStack->add_session(SUCCESS_ORDER_UPDATED, 'success');
       } else {
         $messageStack->add_session(WARNING_ORDER_NOT_UPDATED, 'warning');
       }

       tep_redirect(tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('action')) . 'action=edit'));
       break;
     case 'deleteconfirm':
       $oID = tep_db_prepare_input($HTTP_GET_VARS['oID']);

       tep_remove_order($oID, $HTTP_POST_VARS['restock']);

       tep_redirect(tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID', 'action'))));
       break;


// begin cvv contribution
   case 'deletecvv':
     $oID = tep_db_prepare_input($HTTP_GET_VARS['oID']);
     $cvvnumber = tep_db_prepare_input ($HTTP_POST_VARS['cvvnumber']);

     tep_db_query("update " . TABLE_ORDERS . " set cvvnumber  = null " . tep_db_input($cvvnumber) . " where orders_id = '" . tep_db_input($oID) . "'");
     $order_updated = true;

     if ($order_updated) {
      $messageStack->add_session(SUCCESS_ORDER_UPDATED, 'success');
     } else {
       $messageStack->add_session(WARNING_ORDER_NOT_UPDATED, 'warning');
     }

     tep_redirect(tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('action')) . 'action=edit'));
     break;



   }
 }

 if (($action == 'edit') && isset($HTTP_GET_VARS['oID'])) {
   $oID = tep_db_prepare_input($HTTP_GET_VARS['oID']);

   $orders_query = tep_db_query("select orders_id from " . TABLE_ORDERS . " where orders_id = '" . (int)$oID . "'");
   $order_exists = true;
   if (!tep_db_num_rows($orders_query)) {
     $order_exists = false;
     $messageStack->add(sprintf(ERROR_ORDER_DOES_NOT_EXIST, $oID), 'error');
   }
 }

 include(DIR_WS_CLASSES . 'order.php');
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html <?php echo HTML_PARAMS; ?>>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">
<title><?php echo TITLE; ?></title>
<link rel="stylesheet" type="text/css" href="includes/stylesheet.css">
<script language="javascript" src="includes/general.js"></script>
</head>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF">
<!-- header //-->
<?php
 require(DIR_WS_INCLUDES . 'header.php');
?>
<!-- header_eof //-->

<!-- body //-->
<table border="0" width="100%" cellspacing="2" cellpadding="2">
 <tr>
   <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="1" cellpadding="1" class="columnLeft">
<!-- left_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>
<!-- left_navigation_eof //-->
   </table></td>
<!-- body_text //-->
   <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
<?php
 if (($action == 'edit') && ($order_exists == true)) {
   $order = new order($oID);
?>
     <tr>
       <td width="100%"><table border="0" width="100%" cellspacing="0" cellpadding="0">
         <tr>
           <td class="pageHeading"><?php echo HEADING_TITLE; ?></td>
           <td class="pageHeading" align="right"><?php echo tep_draw_separator('pixel_trans.gif', 1, HEADING_IMAGE_HEIGHT); ?></td>
           <td class="pageHeading" align="right"><?php echo '<a href="' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('action'))) . '">' . tep_image_button('button_back.gif', IMAGE_BACK) . '</a>'; ?></td>
         </tr>
       </table></td>
     </tr>
     <tr>
       <td><table width="100%" border="0" cellspacing="0" cellpadding="2">
         <tr>
           <td colspan="3"><?php echo tep_draw_separator(); ?></td>
         </tr>
         <tr>
           <td valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="2">
             <tr>
               <td class="main" valign="top"><b><?php echo ENTRY_CUSTOMER; ?></b></td>
               <td class="main"><?php echo tep_address_format($order->customer['format_id'], $order->customer, 1, '', '<br>'); ?></td>
             </tr>
             <tr>
               <td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '5'); ?></td>
             </tr>
             <tr>
               <td class="main"><b><?php echo ENTRY_TELEPHONE_NUMBER; ?></b></td>
               <td class="main"><?php echo $order->customer['telephone']; ?></td>
             </tr>
             <tr>
               <td class="main"><b><?php echo ENTRY_EMAIL_ADDRESS; ?></b></td>
               <td class="main"><?php echo '<a href="mailto:' . $order->customer['email_address'] . '"><u>' . $order->customer['email_address'] . '</u></a>'; ?></td>
             </tr>
           </table></td>
           <td valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="2">
             <tr>
               <td class="main" valign="top"><b><?php echo ENTRY_SHIPPING_ADDRESS; ?></b></td>
               <td class="main"><?php echo tep_address_format($order->delivery['format_id'], $order->delivery, 1, '', '<br>'); ?></td>
             </tr>
           </table></td>
           <td valign="top"><table width="100%" border="0" cellspacing="0" cellpadding="2">
             <tr>
               <td class="main" valign="top"><b><?php echo ENTRY_BILLING_ADDRESS; ?></b></td>
               <td class="main"><?php echo tep_address_format($order->billing['format_id'], $order->billing, 1, '', '<br>'); ?></td>
             </tr>
           </table></td>
         </tr>
       </table></td>
     </tr>
     <tr>
       <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
     </tr>
     <tr>
       <td><table border="0" cellspacing="0" cellpadding="2">
         <tr>
           <td class="main"><b><?php echo ENTRY_PAYMENT_METHOD; ?></b></td>
           <td class="main"><?php echo $order->info['payment_method']; ?></td>
         </tr>
<?php
// begin cvv contribution
     if (tep_not_null($order->info['cc_type']) || tep_not_null($order->info['cc_owner']) || tep_not_null($order->info['cc_number']) || tep_not_null($order->info['cvvnumber']))  {
// end cvv contribution
?>
         <tr>
           <td colspan="2"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
         </tr>
         <tr>
           <td class="main"><?php echo ENTRY_CREDIT_CARD_TYPE; ?></td>
           <td class="main"><?php echo $order->info['cc_type']; ?></td>
         </tr>
         <tr>
           <td class="main"><?php echo ENTRY_CREDIT_CARD_OWNER; ?></td>
           <td class="main"><?php echo $order->info['cc_owner']; ?></td>
         </tr>
         <tr>
           <td class="main"><?php echo ENTRY_CREDIT_CARD_NUMBER; ?></td>
           <td class="main"><?php echo $order->info['cc_number']; ?></td>
         </tr>
         <tr>
           <td class="main"><?php echo ENTRY_CREDIT_CARD_EXPIRES; ?></td>
           <td class="main"><?php echo $order->info['cc_expires']; ?></td>
         </tr>

<?php // begin cvv contribution ?>
         <tr>
           <td class="main"><?php echo ENTRY_CREDIT_CARD_CVVNUMBER; ?></td>
           <td class="main"><?php echo $order->info['cvvnumber']; ?></td>
                       <td colspan="2"> <?php echo '<a href="' . tep_href_link(FILENAME_ORDERS, 'oID=' . $HTTP_GET_VARS['oID'] . '&action=deletecvv') . '">' . tep_image_button('button_removecvv.gif', RemoveCVV) . ' </a>';?></td>
         </tr>
<?php // end cvv contribution ?>



<?php
   }
?>
       </table></td>
     </tr>
     <tr>
       <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
     </tr>
     <tr>
       <td><table border="0" width="100%" cellspacing="0" cellpadding="2">
         <tr class="dataTableHeadingRow">
           <td class="dataTableHeadingContent" colspan="2"><?php echo TABLE_HEADING_PRODUCTS; ?></td>
           <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_PRODUCTS_MODEL; ?></td>
           <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_TAX; ?></td>
           <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_PRICE_EXCLUDING_TAX; ?></td>
           <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_PRICE_INCLUDING_TAX; ?></td>
           <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_TOTAL_EXCLUDING_TAX; ?></td>
           <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_TOTAL_INCLUDING_TAX; ?></td>
         </tr>
<?php
   for ($i=0, $n=sizeof($order->products); $i<$n; $i++) {



//BEGIN RMA MODULE
  	 $returns_check_query = tep_db_query("SELECT r.rma_value, rp.products_id FROM " . TABLE_RETURNS . " r, " . TABLE_RETURNS_PRODUCTS_DATA . " rp where r.returns_id = rp.returns_id and r.order_id = '" . $oID . "' and rp.products_id = '" . $order->products[$i]['id'] . "' ");
if (!tep_db_num_rows($returns_check_query)){

if ($order->products[$i]['return'] != '1') {
$return_link = '<a href="' . tep_href_link(FILENAME_RETURN, 'order_id=' . $oID . '&products_id=' . ($order->products[$i]['id']), 'NONSSL') . '"><u>' . '<font color="818180">Schedule Return</font>' .'</a></u>';
}
// Don't show Return link if order is still pending or processing
// You can change this or comment it out as best fits your store configuration
if (($orders_status == '1') OR ($orders_status == '2') ) {
 $return_link = '';
}
} else {
$returns = tep_db_fetch_array($returns_check_query);
$return_link = '<a href=' . tep_href_link(FILENAME_RETURNS, 'cID=' . $returns['rma_value']) . '><font color=red><b><i>Returns</b></i></font></a>';
}
//END RMA MODULE



     echo '          <tr class="dataTableRow">' . "\n" .
          '            <td class="dataTableContent" valign="top" align="right">' . $order->products[$i]['qty'] . ' x</td>' . "\n" .
          '            
<td class="dataTableContent" valign="top">' . $order->products[$i]['name'] . '  ' . $return_link;



     if (isset($order->products[$i]['attributes']) && (sizeof($order->products[$i]['attributes']) > 0)) {
       for ($j = 0, $k = sizeof($order->products[$i]['attributes']); $j < $k; $j++) {
         echo '<br><nobr><small> <i> - ' . $order->products[$i]['attributes'][$j]['option'] . ': ' . $order->products[$i]['attributes'][$j]['value'];
         if ($order->products[$i]['attributes'][$j]['price'] != '0') echo ' (' . $order->products[$i]['attributes'][$j]['prefix'] . $currencies->format($order->products[$i]['attributes'][$j]['price'] * $order->products[$i]['qty'], true, $order->info['currency'], $order->info['currency_value']) . ')';
         echo '</i></small></nobr>';
       }
     }

     echo '            </td>' . "\n" .
          '            <td class="dataTableContent" valign="top">' . $order->products[$i]['model'] . '</td>' . "\n" .
          '            <td class="dataTableContent" align="right" valign="top">' . tep_display_tax_value($order->products[$i]['tax']) . '%</td>' . "\n" .
          '            <td class="dataTableContent" align="right" valign="top"><b>' . $currencies->format($order->products[$i]['final_price'], true, $order->info['currency'], $order->info['currency_value']) . '</b></td>' . "\n" .
          '            <td class="dataTableContent" align="right" valign="top"><b>' . $currencies->format(tep_add_tax($order->products[$i]['final_price'], $order->products[$i]['tax']), true, $order->info['currency'], $order->info['currency_value']) . '</b></td>' . "\n" .
          '            <td class="dataTableContent" align="right" valign="top"><b>' . $currencies->format($order->products[$i]['final_price'] * $order->products[$i]['qty'], true, $order->info['currency'], $order->info['currency_value']) . '</b></td>' . "\n" .
          '            <td class="dataTableContent" align="right" valign="top"><b>' . $currencies->format(tep_add_tax($order->products[$i]['final_price'], $order->products[$i]['tax']) * $order->products[$i]['qty'], true, $order->info['currency'], $order->info['currency_value']) . '</b></td>' . "\n";
     echo '          </tr>' . "\n";
   }
?>
         <tr>
           <td align="right" colspan="8"><table border="0" cellspacing="0" cellpadding="2">
<?php
   for ($i = 0, $n = sizeof($order->totals); $i < $n; $i++) {
     echo '              <tr>' . "\n" .
          '                <td align="right" class="smallText">' . $order->totals[$i]['title'] . '</td>' . "\n" .
          '                <td align="right" class="smallText">' . $order->totals[$i]['text'] . '</td>' . "\n" .
          '              </tr>' . "\n";
   }
?>
           </table></td>
         </tr>
       </table></td>
     </tr>
     <tr>
       <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
     </tr>
     <tr>
       <td class="main"><table border="1" cellspacing="0" cellpadding="5">
         <tr>
           <td class="smallText" align="center"><b><?php echo TABLE_HEADING_DATE_ADDED; ?></b></td>
           <td class="smallText" align="center"><b><?php echo TABLE_HEADING_CUSTOMER_NOTIFIED; ?></b></td>
           <td class="smallText" align="center"><b><?php echo TABLE_HEADING_STATUS; ?></b></td>
           <td class="smallText" align="center"><b><?php echo TABLE_HEADING_COMMENTS; ?></b></td>
         </tr>
<?php
   $orders_history_query = tep_db_query("select orders_status_id, date_added, customer_notified, comments from " . TABLE_ORDERS_STATUS_HISTORY . " where orders_id = '" . tep_db_input($oID) . "' order by date_added");
   if (tep_db_num_rows($orders_history_query)) {
     while ($orders_history = tep_db_fetch_array($orders_history_query)) {
       echo '          <tr>' . "\n" .
            '            <td class="smallText" align="center">' . tep_datetime_short($orders_history['date_added']) . '</td>' . "\n" .
            '            <td class="smallText" align="center">';
       if ($orders_history['customer_notified'] == '1') {
         echo tep_image(DIR_WS_ICONS . 'tick.gif', ICON_TICK) . "</td>\n";
       } else {
         echo tep_image(DIR_WS_ICONS . 'cross.gif', ICON_CROSS) . "</td>\n";
       }
       echo '            <td class="smallText">' . $orders_status_array[$orders_history['orders_status_id']] . '</td>' . "\n" .
            '            <td class="smallText">' . nl2br(tep_db_output($orders_history['comments'])) . ' </td>' . "\n" .
            '          </tr>' . "\n";
     }
   } else {
       echo '          <tr>' . "\n" .
            '            <td class="smallText" colspan="5">' . TEXT_NO_ORDER_HISTORY . '</td>' . "\n" .
            '          </tr>' . "\n";
   }
?>
       </table></td>
     </tr>
     <tr>
       <td class="main"><br><b><?php echo TABLE_HEADING_COMMENTS; ?></b></td>
     </tr>
     <tr>
       <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '5'); ?></td>
     </tr>
     <tr><?php echo tep_draw_form('status', FILENAME_ORDERS, tep_get_all_get_params(array('action')) . 'action=update_order'); ?>
       <td class="main"><?php echo tep_draw_textarea_field('comments', 'soft', '60', '5'); ?></td>
     </tr>
     <tr>
       <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
     </tr>
     <tr>
       <td><table border="0" cellspacing="0" cellpadding="2">
         <tr>
           <td><table border="0" cellspacing="0" cellpadding="2">
             <tr>
               <td class="main"><b><?php echo ENTRY_STATUS; ?></b> <?php echo tep_draw_pull_down_menu('status', $orders_statuses, $order->info['orders_status']); ?></td>
             </tr>
             <tr>
               <td class="main"><b><?php echo ENTRY_NOTIFY_CUSTOMER; ?></b> <?php echo tep_draw_checkbox_field('notify', '', true); ?></td>
               <td class="main"><b><?php echo ENTRY_NOTIFY_COMMENTS; ?></b> <?php echo tep_draw_checkbox_field('notify_comments', '', true); ?></td>
             </tr>
           </table></td>
           <td valign="top"><?php echo tep_image_submit('button_update.gif', IMAGE_UPDATE); ?></td>
         </tr>
       </table></td>
     </form></tr>
     <tr>
<td colspan="2" align="right"><?php echo '<a href="' . tep_href_link(FILENAME_ORDERS_EDIT, 'oID=' . $HTTP_GET_VARS['oID']) . '">' . tep_image_button('button_edit.gif', IMAGE_EDIT) . '</a> <a href="' . tep_href_link(FILENAME_ORDERS_INVOICE, 'oID=' . $HTTP_GET_VARS['oID']) . '" TARGET="_blank">' . tep_image_button('button_invoice.gif', IMAGE_ORDERS_INVOICE) . '</a> <a href="' . tep_href_link(FILENAME_ORDERS_PACKINGSLIP, 'oID=' . $HTTP_GET_VARS['oID']) . '" TARGET="_blank">' . tep_image_button('button_packingslip.gif', IMAGE_ORDERS_PACKINGSLIP) . '</a> <a href="' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('action'))) . '">' . tep_image_button('button_back.gif', IMAGE_BACK) . '</a> '; ?></td>
     </tr>
<?php
 } else {
?>
     <tr>
       <td width="100%"><table border="0" width="100%" cellspacing="0" cellpadding="0">
         <tr>
           <td class="pageHeading"><?php echo HEADING_TITLE; ?></td>
           <td class="pageHeading" align="right"><?php echo tep_draw_separator('pixel_trans.gif', 1, HEADING_IMAGE_HEIGHT); ?></td>
           <td align="right"><table border="0" width="100%" cellspacing="0" cellpadding="0">
             <tr><?php echo tep_draw_form('orders', FILENAME_ORDERS, '', 'get'); ?>
               <td class="smallText" align="right"><?php echo HEADING_TITLE_SEARCH . ' ' . tep_draw_input_field('oID', '', 'size="12"') . tep_draw_hidden_field('action', 'edit'); ?></td>
             </form></tr>
             <tr><?php echo tep_draw_form('status', FILENAME_ORDERS, '', 'get'); ?>
               <td class="smallText" align="right"><?php echo HEADING_TITLE_STATUS . ' ' . tep_draw_pull_down_menu('status', array_merge(array(array('id' => '', 'text' => TEXT_ALL_ORDERS)), $orders_statuses), '', 'onChange="this.form.submit();"'); ?></td>
             </form></tr>            
           </table></td>
         </tr>
       </table></td>
     </tr>
     <tr>
       <td><table border="0" width="100%" cellspacing="0" cellpadding="0">
         <tr>
           <td valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2">
             <tr class="dataTableHeadingRow">
               <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_CUSTOMERS; ?></td>
               <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ORDER_TOTAL; ?></td>
               <td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_DATE_PURCHASED; ?></td>
               <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_STATUS; ?></td>
               <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ACTION; ?> </td>
             </tr>
<?php
   if (isset($HTTP_GET_VARS['cID'])) {
     $cID = tep_db_prepare_input($HTTP_GET_VARS['cID']);
     $orders_query_raw = "select o.orders_id, o.customers_name, o.customers_id, o.payment_method, o.date_purchased, o.last_modified, o.currency, o.currency_value, s.orders_status_name, ot.text as order_total from " . TABLE_ORDERS . " o left join " . TABLE_ORDERS_TOTAL . " ot on (o.orders_id = ot.orders_id), " . TABLE_ORDERS_STATUS . " s where o.customers_id = '" . (int)$cID . "' and o.orders_status = s.orders_status_id and s.language_id = '" . (int)$languages_id . "' and ot.class = 'ot_total' order by orders_id DESC";
   } elseif (isset($HTTP_GET_VARS['status'])) {
     $status = tep_db_prepare_input($HTTP_GET_VARS['status']);
     $orders_query_raw = "select o.orders_id, o.customers_name, o.payment_method, o.date_purchased, o.last_modified, o.currency, o.currency_value, s.orders_status_name, ot.text as order_total from " . TABLE_ORDERS . " o left join " . TABLE_ORDERS_TOTAL . " ot on (o.orders_id = ot.orders_id), " . TABLE_ORDERS_STATUS . " s where o.orders_status = s.orders_status_id and s.language_id = '" . (int)$languages_id . "' and s.orders_status_id = '" . (int)$status . "' and ot.class = 'ot_total' order by o.orders_id DESC";
   } else {
     $orders_query_raw = "select o.orders_id, o.customers_name, o.payment_method, o.date_purchased, o.last_modified, o.currency, o.currency_value, s.orders_status_name, ot.text as order_total from " . TABLE_ORDERS . " o left join " . TABLE_ORDERS_TOTAL . " ot on (o.orders_id = ot.orders_id), " . TABLE_ORDERS_STATUS . " s where o.orders_status = s.orders_status_id and s.language_id = '" . (int)$languages_id . "' and ot.class = 'ot_total' order by o.orders_id DESC";
   }
   $orders_split = new splitPageResults($HTTP_GET_VARS['page'], MAX_DISPLAY_SEARCH_RESULTS, $orders_query_raw, $orders_query_numrows);
   $orders_query = tep_db_query($orders_query_raw);
   while ($orders = tep_db_fetch_array($orders_query)) {
   if ((!isset($HTTP_GET_VARS['oID']) || (isset($HTTP_GET_VARS['oID']) && ($HTTP_GET_VARS['oID'] == $orders['orders_id']))) && !isset($oInfo)) {
       $oInfo = new objectInfo($orders);
     }

     if (isset($oInfo) && is_object($oInfo) && ($orders['orders_id'] == $oInfo->orders_id)) {
       echo '              <tr id="defaultSelected" class="dataTableRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID', 'action')) . 'oID=' . $oInfo->orders_id . '&action=edit') . '\'">' . "\n";
     } else {
       echo '              <tr class="dataTableRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID')) . 'oID=' . $orders['orders_id']) . '\'">' . "\n";
     }
?>
               <td class="dataTableContent"><?php echo '<a href="' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID', 'action')) . 'oID=' . $orders['orders_id'] . '&action=edit') . '">' . tep_image(DIR_WS_ICONS . 'preview.gif', ICON_PREVIEW) . '</a> ' . $orders['customers_name']; ?></td>
               <td class="dataTableContent" align="right"><?php echo strip_tags($orders['order_total']); ?></td>
               <td class="dataTableContent" align="center"><?php echo tep_datetime_short($orders['date_purchased']); ?></td>
               <td class="dataTableContent" align="right"><?php echo $orders['orders_status_name']; ?></td>
               <td class="dataTableContent" align="right"><?php if (isset($oInfo) && is_object($oInfo) && ($orders['orders_id'] == $oInfo->orders_id)) { echo tep_image(DIR_WS_IMAGES . 'icon_arrow_right.gif', ''); } else { echo '<a href="' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID')) . 'oID=' . $orders['orders_id']) . '">' . tep_image(DIR_WS_IMAGES . 'icon_info.gif', IMAGE_ICON_INFO) . '</a>'; } ?> </td>
             </tr>
<?php
   }
?>
             <tr>
               <td colspan="5"><table border="0" width="100%" cellspacing="0" cellpadding="2">
                 <tr>
                   <td class="smallText" valign="top"><?php echo $orders_split->display_count($orders_query_numrows, MAX_DISPLAY_SEARCH_RESULTS, $HTTP_GET_VARS['page'], TEXT_DISPLAY_NUMBER_OF_ORDERS); ?></td>
                   <td class="smallText" align="right"><?php echo $orders_split->display_links($orders_query_numrows, MAX_DISPLAY_SEARCH_RESULTS, MAX_DISPLAY_PAGE_LINKS, $HTTP_GET_VARS['page'], tep_get_all_get_params(array('page', 'oID', 'action'))); ?></td>
                 </tr>
               </table></td>
             </tr>
           </table></td>
<?php
 $heading = array();
 $contents = array();

 switch ($action) {
   case 'delete':
     $heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_DELETE_ORDER . '</b>');

     $contents = array('form' => tep_draw_form('orders', FILENAME_ORDERS, tep_get_all_get_params(array('oID', 'action')) . 'oID=' . $oInfo->orders_id . '&action=deleteconfirm'));
     $contents[] = array('text' => TEXT_INFO_DELETE_INTRO . '<br><br><b>' . $cInfo->customers_firstname . ' ' . $cInfo->customers_lastname . '</b>');
     $contents[] = array('text' => '<br>' . tep_draw_checkbox_field('restock') . ' ' . TEXT_INFO_RESTOCK_PRODUCT_QUANTITY);
     $contents[] = array('align' => 'center', 'text' => '<br>' . tep_image_submit('button_delete.gif', IMAGE_DELETE) . ' <a href="' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID', 'action')) . 'oID=' . $oInfo->orders_id) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>');
     break;
   default:
     if (isset($oInfo) && is_object($oInfo)) {
       $heading[] = array('text' => '<b>[' . $oInfo->orders_id . ']  ' . tep_datetime_short($oInfo->date_purchased) . '</b>');

$contents[] = array('align' => 'center', 'text' => '<a href="' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID', 'action')) . 'oID=' . $oInfo->orders_id . '&action=edit') . '">' . tep_image_button('button_details.gif', IMAGE_DETAILS) . '</a> <a href="' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID', 'action')) . 'oID=' . $oInfo->orders_id . '&action=delete') . '">' . tep_image_button('button_delete.gif', IMAGE_DELETE) . '</a>');
$contents[] = array('align' => 'center', 'text' => '<a href="' . tep_href_link(FILENAME_ORDERS_INVOICE, 'oID=' . $oInfo->orders_id) . '" TARGET="_blank">' . tep_image_button('button_invoice.gif', IMAGE_ORDERS_INVOICE) . '</a> <a href="' . tep_href_link(FILENAME_ORDERS_PACKINGSLIP, 'oID=' . $oInfo->orders_id) . '" TARGET="_blank">' . tep_image_button('button_packingslip.gif', IMAGE_ORDERS_PACKINGSLIP) . '</a> <a href="' . tep_href_link(FILENAME_ORDERS_EDIT, 'oID=' . $oInfo->orders_id) . '">' . tep_image_button('button_edit.gif', IMAGE_EDIT) . '</a>');
$contents[] = array('text' => '<br>' . TEXT_DATE_ORDER_CREATED . ' ' . tep_date_short($oInfo->date_purchased));


       if (tep_not_null($oInfo->last_modified)) $contents[] = array('text' => TEXT_DATE_ORDER_LAST_MODIFIED . ' ' . tep_date_short($oInfo->last_modified));
       $contents[] = array('text' => '<br>' . TEXT_INFO_PAYMENT_METHOD . ' '  . $oInfo->payment_method);


     }
     break;
 }

 if ( (tep_not_null($heading)) && (tep_not_null($contents)) ) {
   echo '            <td width="25%" valign="top">' . "\n";

   $box = new box;
   echo $box->infoBox($heading, $contents);

   echo '            </td>' . "\n";
 }
?>
         </tr>
       </table></td>
     </tr>
<?php
 }
?>
   </table></td>
<!-- body_text_eof //-->
 </tr>
</table>
<!-- body_eof //-->

<!-- footer //-->
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
<!-- footer_eof //-->
<br>
</body>
</html>
<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

 

 

Thanks!

Share this post


Link to post
Share on other sites
I did what you suggested and only found changes that were for other contributions (adding the CVV capture form and the order edit contribution).  I have copied my orders.php file below in case anyone can see what is going on here....

 

Ok a few simple of things to try and see if these work.

 

1. If you have an order with one item already returned and one not is it distinguising between the two? Is there a red returns link for the returned one and a grey Schedule Return link for the one that has not been returned yet?

 

2. Try installing the code for the admin/orders.php in a clean install copy of the admin/orders.php and upload that in place of your current orders.php, let me know if that works.

 

3. Try changing this part of the rma code:

if ($order->products[$i]['return'] != '1') {
$return_link = '<a href="' . tep_href_link(FILENAME_RETURN, 'order_id=' . $oID . '&products_id=' . ($order->products[$i]['id']), 'NONSSL') . '"><u>' . '<font color="818180">Schedule Return</font>' .'</a></u>';

 

TO:

if ($order->products[$i]['return'] != '1') {
$return_link = '<a href="' . tep_href_link(FILENAME_RETURN, 'order_id=' . $oID . '&products_id=' . ($order->products[$i]['id'])) . '"><u>' . '<font color="818180">Schedule Return</font>' .'</a></u>';

 

Notice all I did was remove the NONSSL, a long shot but maybe that is causing a problem?

 

Let me know on these and we'll go from there.


Most Valuable OsCommerce Contributions:

Also Purchased (AP) Preselection (cuts this resource hogging query down to nothing) -- Contribution 3294

FedEx Automated Labels -- Contribution 2244

RMA Returns system -- Contribution 1136

Sort Products By Dropdown -- Contribution 4312

Ultimate SEO URLs -- Contribution 2823

Credit Class & Gift Voucher -- Contribution 282

Cross-Sell -- Contribution 5347

Share this post


Link to post
Share on other sites
Ok a few simple of things to try and see if these work.

 

1. If you have an order with one item already returned and one not is it distinguising between the two? Is there a red returns link for the returned one and a grey Schedule Return link for the one that has not been returned yet?

 

2. Try installing the code for the admin/orders.php in a clean install copy of the  admin/orders.php and upload that in place of your current orders.php, let me know if that works.

 

3. Try changing this part of the rma code:

if ($order->products[$i]['return'] != '1') {
$return_link = '<a href="' . tep_href_link(FILENAME_RETURN, 'order_id=' . $oID . '&products_id=' . ($order->products[$i]['id']), 'NONSSL') . '"><u>' . '<font color="818180">Schedule Return</font>' .'</a></u>';

 

TO:

if ($order->products[$i]['return'] != '1') {
$return_link = '<a href="' . tep_href_link(FILENAME_RETURN, 'order_id=' . $oID . '&products_id=' . ($order->products[$i]['id'])) . '"><u>' . '<font color="818180">Schedule Return</font>' .'</a></u>';

 

Notice all I did was remove the NONSSL, a long shot but maybe that is causing a problem?

 

Let me know on these and we'll go from there.

 

 

 

 

I tried the "nonssl" fix and that did not work. However I did find one thing, when a customer returns something through the catalog it is not showing up on the admin side as you mentioned with a red returns link, all the items say "schedule a return"..... where would I fix that?

Share this post


Link to post
Share on other sites
I tried the "nonssl" fix and that did not work.  However I did find one thing, when a customer returns something through the catalog it is not showing up on the admin side as you mentioned with a red returns link, all the items say "schedule a return".....  where would I fix that?

 

Thank you for your input Ashleylr, its much easier to fix something when people provide input and clues instead of freaking and just saying its broke fix it.... :thumbsup:

 

This new step should fix all of your problems. Let me know how it works:

 

9) admin/includes/classes/order.php

 

FIND:

 

$orders_products_query = tep_db_query("select orders_products_id, products_name, products_model, products_price, products_tax, products_quantity, final_price from " . TABLE_ORDERS_PRODUCTS . " where orders_id = '" . (int)$order_id . "'");

 

REPLACE WITH:

 

$orders_products_query = tep_db_query("select orders_products_id, products_name, products_model, products_price, products_tax, products_quantity, final_price, products_returned, products_id from " . TABLE_ORDERS_PRODUCTS . " where orders_id = '" . (int)$order_id . "'");

 

 

AFTER:

'name' => $orders_products['products_name'],

 

ADD:

'id' => $orders_products['products_id'],

'return' => $orders_products['products_returned'],


Most Valuable OsCommerce Contributions:

Also Purchased (AP) Preselection (cuts this resource hogging query down to nothing) -- Contribution 3294

FedEx Automated Labels -- Contribution 2244

RMA Returns system -- Contribution 1136

Sort Products By Dropdown -- Contribution 4312

Ultimate SEO URLs -- Contribution 2823

Credit Class & Gift Voucher -- Contribution 282

Cross-Sell -- Contribution 5347

Share this post


Link to post
Share on other sites
Thank you for your input Ashleylr, its much easier to fix something when people provide input and clues instead of freaking and just saying its broke fix it.... :thumbsup:

 

This new step should fix all of your problems. Let me know how it works:

 

9) admin/includes/classes/order.php

 

FIND:

 

      $orders_products_query = tep_db_query("select orders_products_id, products_name, products_model, products_price, products_tax, products_quantity, final_price from " . TABLE_ORDERS_PRODUCTS . " where orders_id = '" . (int)$order_id . "'");

 

REPLACE WITH:

 

      $orders_products_query = tep_db_query("select orders_products_id, products_name, products_model, products_price, products_tax, products_quantity, final_price, products_returned, products_id from " . TABLE_ORDERS_PRODUCTS . " where orders_id = '" . (int)$order_id . "'");

AFTER:

      'name' => $orders_products['products_name'],

 

ADD:

      'id' => $orders_products['products_id'],

      'return' => $orders_products['products_returned'],

 

 

 

 

You rock!!!!!!!!!!! :) that did the trick! Thanks for your help and time in figuring this out!

 

 

although I am still not able to get the RMA number to show up on the confirmation screen return_product.php- it just says "Your RMA Number is:" and then is blank. any ideas there? I have a fresh copy of return_product.php running....

Share this post


Link to post
Share on other sites
You rock!!!!!!!!!!!  :)    that did the trick!  Thanks for your help and time in figuring this out! 

although I am still not able to get the RMA number to show up on the confirmation screen return_product.php-  it just says "Your RMA Number is:" and then is blank.  any ideas there?  I have a fresh copy of return_product.php running....

 

Humm,

 

You've got me there, you said it was the catalog side. I looked at the file and I could see any reason as to why it would not work if your emails and such have the correct rma # in them the only thing I could think is maybe the rma # is blending into your background color as it is different colored than the "Your RMA Number is:" text. Just a guess, otherwise I wouldn't know why it isn't working.


Most Valuable OsCommerce Contributions:

Also Purchased (AP) Preselection (cuts this resource hogging query down to nothing) -- Contribution 3294

FedEx Automated Labels -- Contribution 2244

RMA Returns system -- Contribution 1136

Sort Products By Dropdown -- Contribution 4312

Ultimate SEO URLs -- Contribution 2823

Credit Class & Gift Voucher -- Contribution 282

Cross-Sell -- Contribution 5347

Share this post


Link to post
Share on other sites

I've added an addition in the contributions addressing that product id problem.

 

RMA System 2.5c

 

--- Fixes ---

This update fixes the problem people were having with the product id not being transfered in the admin when trying to schedule a return.

 

 

--- TO DO LIST ---

Here are a list of features that would invaluable but I lack the time and knowledge to make them happen right now, maybe someone else can provide these features with a future update?

 

* Make RMA system able to handle the return of an entire order with multiple items

* Make RMA system able to handle return of one item and then maybe another of the same product if multiple qtys of the item were purchased; currently you can only request a return on an item once even if you ordered 6 of the same thing and only returned 3 the first time.


Most Valuable OsCommerce Contributions:

Also Purchased (AP) Preselection (cuts this resource hogging query down to nothing) -- Contribution 3294

FedEx Automated Labels -- Contribution 2244

RMA Returns system -- Contribution 1136

Sort Products By Dropdown -- Contribution 4312

Ultimate SEO URLs -- Contribution 2823

Credit Class & Gift Voucher -- Contribution 282

Cross-Sell -- Contribution 5347

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×