Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

doing

Archived
  • Posts

    36
  • Joined

  • Last visited

Everything posted by doing

  1. Hi again, just to let you know - I am alive and well ;-))) This forum kicks you out of the posting notification function if you have not been here for a couple of days (weeks?) and I haven't - I am terribly busy :( / :) @CatDadRick - I love cat's ;) this is why I will come back to your question als soon as possible ! Sebastian
  2. @ Tom Hmmm - I am sorry if this does not work for you. You can test it out on my Demo Shop (German) if you click on the www button below - it works 100% there. I posted a corrected returns_track.php on page 16 of this thread: http://www.oscommerce.com/forums/index.php?sho...ic=61077&st=150 So give this one a try ... OR (better) have a look for the changes to your file with a program like WinMerge to compare the codes. Basicly - it is again changing the form button in returns_track.php to an osC Button using the tep function. The problem using the form button is that it is not passing the osCsid which you need. My code change is asking for the osCsid - this is the code again: // redirect to confirmation header('Location: return_product.php?osCsid='.$_GET['osCsid'].'&action=sent&rma_value='. $rma_value . '&return_id=' . $ticket_id); exit(); osCsid='.$_GET['osCsid']. - this is where the code is asking for the correct session id (osCsid). I've checked your site again an it is NOT working the way it should :( If you post your return_product.php code I'll have a look at it ... Sebastian
  3. @ Tom I just had a short test on your site ... it looks like you are still using the form button instead of the tep function in file return_product.php. I've posted a change to an osC Button using tep a while ago but I did not check if was added to the current version 2.3. Backup your file ! Have a look for the following code in return_product.php <td colspan="2" class="main" valign="top" nowrap align="center"><input type=submit value=Request Returns Number></td> and replace it with this one <td colspan="2" align="right"><?php echo tep_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE, 'NONSSL'); ?></td> Make shure you have my // redirect to confirmation code built in (few postings ago) an give it a try ... Sebastian
  4. This is a sollution to the anoying 're-login' after posting a RMA on the return_product.php page to get your RMA Nr ... First Step - Backup your file ! Second Step - open up your retun_product.php file and look for the following lines: // redirect to confirmation tep_redirect(tep_href_link(FILENAME_RETURN . '?action=sent&rma_value='. $rma_value . '&return_id=' . $ticket_id)); should be at lines 208 / 209 in the current RMA system v2.3 Change this code to the following : // redirect to confirmation header('Location: return_product.php?osCsid='.$_GET['osCsid'].'&action=sent&rma_value='. $rma_value . '&return_id=' . $ticket_id); exit(); Third Step - save your file and test it. I've tested it on my System and it works fine. :) @Cathy This is simple but very nice change to the RMA System. ATTENTION: It may cause happy users of the upcoming RMA v 2.3b in the near future :D @ kkkqqq Did you try my code change to solve your problem with the listed product models ? There was no reply within the last days :( Sebastian
  5. @kkkqqq It's simple - I've just tested it Open up /admin/includes/classes/order.php and look for the following line: $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 . "'"); should be at line 84 ... change it to the following code: $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 . "' order by products_model"); That should be it - it works on my system :) Sebastian
  6. @kkkqqq Did I get you right - you would like to sort the items on your invoice by model nr. ? This is not a RMA question :) It should be something like 'order by products_model' within the sql query collecting the order details from the table 'oders_products' ... I don't have the correct file and line in mind but I will have a look at it. @cathy Thanks again for your work on this contribution and for the credit :) Sebastian
  7. 100% correct ;) - this would be the best way to end with these ALTER TABLE changes ... This would be the correct INSERT for 'returned_products' table # # Table structure for table `returned_products` # DROP TABLE IF EXISTS returned_products; CREATE TABLE returned_products ( returns_id int(11) NOT NULL auto_increment, customers_id int(11) NOT NULL default '0', rma_value varchar(15) NOT NULL default '0', order_id int(11) NOT NULL default '0', customers_name varchar(64) NOT NULL default '', customers_acct varchar(32) default NULL, customers_company varchar(32) default NULL, customers_street_address varchar(64) NOT NULL default '', customers_suburb varchar(32) default NULL, customers_city varchar(32) NOT NULL default '', customers_postcode varchar(10) NOT NULL default '', customers_state varchar(32) default NULL, customers_country varchar(32) NOT NULL default '', customers_telephone varchar(32) NOT NULL default '', customers_fax varchar(32) NOT NULL default '', customers_email_address varchar(96) NOT NULL default '', customers_address_format_id int(5) NOT NULL default '0', delivery_name varchar(64) NOT NULL default '', delivery_company varchar(32) default NULL, delivery_street_address varchar(64) NOT NULL default '', delivery_suburb varchar(32) default NULL, delivery_city varchar(32) NOT NULL default '', delivery_postcode varchar(10) NOT NULL default '', delivery_state varchar(32) default NULL, delivery_country varchar(32) NOT NULL default '', delivery_address_format_id int(5) NOT NULL default '0', billing_name varchar(64) NOT NULL default '', billing_acct varchar(32) default NULL, billing_company varchar(32) default NULL, billing_street_address varchar(64) NOT NULL default '', billing_suburb varchar(32) default NULL, billing_city varchar(32) NOT NULL default '', billing_postcode varchar(10) NOT NULL default '', billing_state varchar(32) default NULL, billing_country varchar(32) NOT NULL default '', billing_address_format_id int(5) NOT NULL default '0', payment_method varchar(64) NOT NULL default '', cc_type varchar(20) default NULL, cc_owner varchar(64) default NULL, cc_number varchar(32) default NULL, cc_expires varchar(4) default NULL, cvvnumber char(3) default NULL, last_modified datetime default NULL, date_purchased datetime default NULL, returns_status int(5) NOT NULL default '0', returns_date_finished datetime NOT NULL default '0000-00-00 00:00:00', comments text, currency char(3) default NULL, currency_value decimal(14,6) default NULL, account_name varchar(32) NOT NULL default '', account_number varchar(20) default NULL, po_number varchar(12) default NULL, date_finished datetime NOT NULL default '0000-00-00 00:00:00', returns_reason tinyint(5) unsigned default '0', PRIMARY KEY (returns_id) ) TYPE=MyISAM; And again AFTER these changes you MUST EDIT your returns.php - corrections are four postings above ... look for and apply the following changes to returns.php. @cathy - if you put this in the next version it should be save :) Sebastian
  8. I forgot this one which is NOT in any install text's but needed to correct the values of date_finished (00-00-00 00:00:00) posted above: ALTER TABLE returned_products CHANGE date_finished date_finished DATETIME DEFAULT "0000-00-00 00:00:00"; There are two corrections for this table - sorry Sebastian
  9. In the sql file coming with the package(2.2b-2.2f), there is the following definition for table 'returned_products' in your database There are ERRORS in ! and The ADDED line in the install text is trying to correct this error : BUT even in this correction coming with the install text, there is an ERROR ! The correct entry is : Just watch for the date format - it can't be 00-00-00 ... it MUST be 0000-00-00 (2004-07-11). This is the reason why you should ALSO correct the returns.php - corrections : 1.) Open up catalog/admin/returns.php 2.) Search for if ($HTTP_POST_VARS['complete'] == 'on') { $notify_comments = ''; tep_db_query("UPDATE " . TABLE_RETURNS . " set returns_date_finished = '1' where returns_id = '" . $oID . "'"); $order_update = true; $return_complete = true; at line 150 in the original file Change this to the following code if ($HTTP_POST_VARS['complete'] == 'on') { $notify_comments = ''; tep_db_query("UPDATE " . TABLE_RETURNS . " set returns_date_finished = now(), date_finished = now() where returns_id = '" . $oID . "'"); $order_update = true; $return_complete = true; } these lines will store the actual DateTime in the DB - you simply CAN'T write a '1' in a DateTime field ! 3.) Search for if ($return_complete['returns_date_finished'] == '1') { within the same file (returns.php) - at line 266 Change this to the following code if ($return_complete['returns_date_finished'] != '0000-00-00 00:00:00') { This correction is now looking for an entry which is NOT 0000-00-00 00:00:00 in the DateTime field. Sebastian P.S. What about calling it 2.3 in near future ? - just instead of z :)
  10. @cathy ... I AM sorry - you still have this SQL bug in 2.2f :huh: The corrected SQL line is 8 postings ago - it should read: Sebastian
  11. The page now known as 'RMA page after clicking return on account_history_info' is return_product.php :) I am using 2.2b with german language files created. I based all my mod's on this version and posted the changes I made (exept some design changes). I did not try 2.2e so I can't really say what's going on in your system - sorry. There should be no problems running the RMA system in the root directory if your shop is installed there and configure.php files are ok with their path's Sebastian
  12. @kkkqqq You are right - RMA / ccGV is NOT installed on my demo shop. I've got both of them installed on my testsystem (local server). As I like contributions which work the way they are supposed to work I am testing my system to find out if there are any bugs left (better me than any customer). There will be a major update to my demo shop within the next weeks. This update will include a combination of Multi Store WITH B2B suite, RMA, ccgV AND Master Products ... checking this and correcting takes time :) Here are some screenshots: 1.) RMA page after clicking return on account_history_info 2.) admin page of an open RMA (part1) 3.) admin admin page of an open RMA (part2) 4.) admin page showing a closed (finished) RMA 5.) admin overview Sebastian
  13. Additional: If you would like to finish (close) a RMA you should got back to page 15 of this thread - all changes I posted there (Posted: Jun 25 2004, 12:57 PM) are working with the correct entries in this DateTime field ...
  14. Aha - now I know what the error is (and where it came from): Have a look at the install instructions - there is ONE step missing. Install instructions in 2.2b read like the following: This part is missing in the install instructions of Version 2.2e but is VERY important! AND even there is a BUG in - the correct sql line should read: A DateTime field has to have the correct DEFAUT value - it CAN'T BE 00-00-00 00:00:00 - it HAS to be 0000-00-00 00:00:00 This is the reason for your error case - my code correction is looking for an entry in this field - if it does not match - there is your error ... Hope everything is fine now Sebastian P.S. Cathy - If you do another update - please not this and put it in the install instructions. My modifications will ONLY work with this sql line !
  15. Hi again David, my very first suggestion would be - try the returns.php which came with the 2.2e package Cathy made (thanks again Cathy for updating again and again). Just to make shure that it is not my modifications causing your error. I would love to post my returns.php file but I think it is useless because of my heavy modified admin area :( Sebastian
  16. David : This can't be your whole returns.php file ... if it is - it can not work - there are about 235 lines missing in the code !!! Compare your returns.php file with the one in the RMA package (2.2e) ... Or search - in the code you posted - for <tr><t which is the last line - REMOVE '<tr><t' AND insert this code which is missing : <tr><td><?php include ("comment_bar_return.html"); ?></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" width=25%><b><? echo ENTRY_STATUS; ?></b></td><td width=65% class=main><?php echo tep_draw_pull_down_menu('status', $orders_statuses, $order->info['orders_status']); ?></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <tr> <td class="main" width=25% valign=top><b><?php echo ENTRY_PAYMENT_METHOD; ?></b></td><td width=65% class=main><? echo tep_draw_pull_down_menu('department', $support_departments); ?></td> </tr> <tr> <td class=main width=25% valign=top><b><? echo TEXT_CUSTOM_PREF_METHOD; ?></b></td><td width=65% class=main><b><? echo $order->info['department']; ?></b></td> </tr> <tr> <td class="main" width=25% valign=top><b><?php echo ENTRY_PAYMENT_REFERENCE; ?></b></td><td width=65% class=main><? echo tep_draw_input_field('refund_reference', $order->info['payment_reference']); ?></td> </tr> <? $price_new = $order->info['refund_amount']; ?> <tr> <td class="main" width=25%><b><? echo ENTRY_PAYMENT_AMOUNT; ?></b></td><td width=65% class=main><? echo tep_draw_input_field('refund_amount', $price_new ); ?></td> </tr> <tr> <td class="main" width=25%><b><? echo ENTRY_PAYMENT_DATE; ?></b></td><td width=65% class=main><? echo tep_draw_input_field('refund_date', tep_date_short($order->info['refund_date'])); ?></td> </tr> <? $restock_query = tep_db_query("SELECT configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'DEFAULT_RESTOCK_VALUE'"); $restock = tep_db_fetch_array($restock_query); $tax = $restock['configuration_value']; $work_out_charge = ((tep_add_tax($order->info['refund_amount'],$order->products['tax']) / 100) * $tax); echo '<input type=hidden name=add_tax value=' . $order->products['tax'] . '>'; ?> <tr> <td class="main" width=25%><b><? echo ENTRY_RESTOCK_CHARGE; ?></b></td><td width=65% class=main><?php echo tep_draw_checkbox_field('restock_charge', '', true); ?> (<?echo $currencies->format($work_out_charge); ?>)</td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <tr> <td class="main" width=25%><b><? echo SUCCESS_RETURNED_GIFT; ?></b></td><td width=65% class=main><?php echo tep_draw_checkbox_field('gv_refund', '', false); ?></td> </tr> <tr> <td class=main valign=top><b><? echo TEXT_GIFT_COMMENT; ?></b></td><td class="main"><?php echo tep_draw_textarea_field('gv_comments', 'soft', '60', '5'); ?></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <tr> <td class="main"><b><?php echo ENTRY_NOTIFY_CUSTOMER; ?></b> <?php echo tep_draw_checkbox_field('notify', '', false); ?></td> <td class="main"><b><?php echo ENTRY_NOTIFY_COMMENTS; ?></b> <?php echo tep_draw_checkbox_field('notify_comments', '', false); ?></td> </tr> <tr> <td class="main"><b><? echo TEXT_COMPLETE_RETURN; ?></b> <?php echo tep_draw_checkbox_field('complete', '', false); ?></td> <td class="main"><b><? echo TEXT_BACK_TO_STOCK; ?></b> <?php echo tep_draw_checkbox_field('restock_products', '', false); ?></td> </tr> </table></td> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <tr> <td valign="top" align=right><?php echo tep_image_submit('button_update.gif', IMAGE_UPDATE); ?></td> </TR> </tr> </table></td> </form></tr> <tr> <td colspan="2" align="right"><?php echo '<a href="' . tep_href_link(FILENAME_RETURNS_INVOICE, 'oID=' . $HTTP_GET_VARS['oID']) . '" TARGET="_blank">' . tep_image_button('button_invoice.gif', IMAGE_ORDERS_INVOICE) . '</a> <a href="' . tep_href_link(FILENAME_RETURNS, 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('returns', FILENAME_RETURNS, '', 'get'); ?> <td class="smallText" align="right"><?php echo HEADING_TITLE_SEARCH . ' ' . tep_draw_input_field('cID', '', 'size="15"') . tep_draw_hidden_field('action', 'edit'); ?></td> </form></tr> <tr><?php echo tep_draw_form('status', FILENAME_RETURNS, '', 'get'); ?> <td class="smallText" align="right"><?php echo HEADING_TITLE_STATUS . ' ' . tep_draw_pull_down_menu('status', array_merge(array(array('id' => '', 'text' => 'All returns')), $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"> <tr class="dataTableHeadingRow"> <?php // ADDED BY BURT ?> <td class="dataTableHeadingContent" align="center">RMA #</td> <?php // END BURT ?> <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 ($HTTP_GET_VARS['cID']) { $cID = tep_db_prepare_input($HTTP_GET_VARS['cID']); // NEW "IF ELSEIF ELSE" ADDED BY BURT SO REPLACE THE OLD ONE WITH THIS $orders_query_raw = "select o.returns_id, o.customers_name, o.rma_value, o.payment_method, o.date_purchased, o.last_modified, o.currency, o.currency_value, s.return_reason_name, op.final_price, o.returns_date_finished from " . TABLE_RETURNS . " o left join " . TABLE_RETURNS_PRODUCTS_DATA . " op on (o.returns_id = op.returns_id), " . TABLE_RETURN_REASONS . " s where o.returns_reason = s.return_reason_id and s.language_id = '" . $languages_id . "' and o.rma_value = '" . $cID . "' order by o.returns_id DESC"; } elseif ($HTTP_GET_VARS['status']) { $status = tep_db_prepare_input($HTTP_GET_VARS['status']); $orders_query_raw = "select o.returns_id, o.customers_name, o.rma_value, o.payment_method, o.date_purchased, o.last_modified, o.currency, o.currency_value, s.return_reason_name, op.final_price, o.returns_date_finished from " . TABLE_RETURNS . " o left join " . TABLE_RETURNS_PRODUCTS_DATA . " op on (o.returns_id = op.returns_id), " . TABLE_RETURN_REASONS . " s where o.returns_reason = s.return_reason_id and s.language_id = '" . $languages_id . "' and o.returns_status = '" . $status . "' order by o.returns_id DESC"; } else { $orders_query_raw = "select o.returns_id, o.customers_name, o.rma_value, o.payment_method, o.date_purchased, o.last_modified, o.currency, o.currency_value, s.return_reason_name, op.final_price, o.returns_date_finished from " . TABLE_RETURNS . " o left join " . TABLE_RETURNS_PRODUCTS_DATA . " op on (o.returns_id = op.returns_id), " . TABLE_RETURN_REASONS . " s where o.returns_reason = s.return_reason_id and s.language_id = '" . $languages_id . "' order by o.returns_id DESC"; } // END BURT $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 (((!$HTTP_GET_VARS['oID']) || ($HTTP_GET_VARS['oID'] == $orders['returns_id'])) && (!$oInfo)) { $oInfo = new objectInfo($orders); } if ( (is_object($oInfo)) && ($orders['returns_id'] == $oInfo->returns_id) ) { echo ' <tr class="dataTableRowSelected">' . "\n"; } else { echo ' <tr class="dataTableRow" onmouseover="this.className=\'dataTableRowOver\';this.style.cursor=\'hand\'" onmouseout="this.className=\'dataTableRow\'" onclick="document.location.href=\'' . tep_href_link(FILENAME_RETURNS, tep_get_all_get_params(array('oID')) . 'oID=' . $orders['returns_id']) . '\'">' . "\n"; } ?> <?php // ADDED BY BURT ?> <td class="dataTableContent" align="center"><b><?php echo $orders['rma_value']; ?></b></a> <?php // END BURT ?> <td class="dataTableContent"><?php echo '<a href="' . tep_href_link(FILENAME_RETURNS, tep_get_all_get_params(array('oID', 'action')) . 'oID=' . $orders['returns_id'] . '&action=edit') . '">' . tep_image(DIR_WS_ICONS . 'preview.gif', ICON_PREVIEW) . ' ' . $orders['customers_name'] . '</a>'; ?></td> <td class="dataTableContent" align="right"><?php echo $currencies->format($orders['final_price']); ?></td> <td class="dataTableContent" align="center"><?php echo tep_datetime_short($orders['date_purchased']); ?></td> <td class="dataTableContent" align="right"><?php echo $orders['return_reason_name']; ?></td> <td class="dataTableContent" align="right"><?php if ( (is_object($oInfo)) && ($orders['returtns_id'] == $oInfo->returns_id) ) { echo tep_image(DIR_WS_IMAGES . 'icon_arrow_right.gif', ''); } else { echo '<a href="' . tep_href_link(FILENAME_RETURNS, tep_get_all_get_params(array('oID')) . 'oID=' . $orders['returns_id']) . '">' . tep_image(DIR_WS_IMAGES . 'icon_info.gif', IMAGE_ICON_INFO) . '</a>'; } ?> </td> </tr> <?php } ?> <tr> <td colspan="6"><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 ($HTTP_GET_VARS['action']) { case 'delete': $heading[] = array('text' => '<b>' . TEXT_INFO_HEADING_DELETE_ORDER . '</b>'); $contents = array('form' => tep_draw_form('orders', FILENAME_RETURNS, tep_get_all_get_params(array('oID', 'action')) . 'oID=' . $oInfo->returns_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_RETURNS, tep_get_all_get_params(array('oID', 'action')) . 'oID=' . $oInfo->returns_id) . '">' . tep_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>'); break; default: if (is_object($oInfo)) { $heading[] = array('text' => '<b>[' . $oInfo->returns_id . '] ' . tep_datetime_short($oInfo->date_purchased) . '</b>'); $contents[] = array('align' => 'center', 'text' => '<a href="' . tep_href_link(FILENAME_RETURNS, tep_get_all_get_params(array('oID', 'action')) . 'oID=' . $oInfo->returns_id . '&action=edit') . '">' . tep_image_button('button_edit.gif', IMAGE_EDIT) . '</a> <a href="' . tep_href_link(FILENAME_RETURNS, tep_get_all_get_params(array('oID', 'action')) . 'oID=' . $oInfo->returns_id . '&action=delete') . '">' . tep_image_button('button_delete.gif', IMAGE_DELETE) . '</a>'); $contents[] = array('align' => 'center', 'text' => '<a href="' . tep_href_link(FILENAME_RETURNS_INVOICE, 'oID=' . $oInfo->returns_id) . '" TARGET="_blank">' . tep_image_button('button_invoice.gif', IMAGE_ORDERS_INVOICE) . // Begin IceTheNet Repair Packing Slip Mod // If you really need a packing slip then you can modify admin/packingslip.php // and add IMAGE_ORDER_PACKINGSLIP to application_top_refund.php /* '</a> <a href="' . tep_href_link(FILENAME_RETURNS_PACKINGSLIP, 'oID=' . $oInfo->returns_id) . '" TARGET="_blank">' . tep_image_button('button_packingslip.gif', IMAGE_ORDERS_PACKINGSLIP) . */ //End IceTheNet Fix Packing Slip Mod '</a>'); // don?t forget this very important $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 . ' ' . tep_date_short($oInfo->returns_date_finished)); } 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'); ?> Now you should have a working returns.php. The more simple way is to copy the file from the 2.2e package over your file. NOTE : There are no ccGV modifications made in the code - you NEED to do the mod's if you want RMA to work with ccGV ... but this should be the next step after it is working. Sebastian
  17. Hi David, one question before getting into details - was your returns.php file working BEFORE you did the GV changes I posted ? It sounds like there is an error within your code if you even can't see the comment bar on the retuns.php page when you edit a return. The checkbox to complete a return is comming up later in the code - so we need to figure out what is going wrong. It might help if you post (or PM) your returns.php code ... Sebastian
  18. I was shocked when I had a look at the 'manual' with all 99 steps for a complete installation on a system with modifications in. But it is not that hard to do ... If you've got a backup of your files (your existing setup) and you use a program like WinMerge for doing the changes on your files (or to find out what is different) it should work out fine. Take a closer look at these 99 steps - most of them are just copying NEW files into your system - the rest of them (changes) is documented in a really good way (look for: // ICW CREDIT CLASS Gift Voucher Addition). It took me about 2-3 hours to figure out everything ... and your're welcome with questions ;-) Sebastian P.S. I've got RMA2.2e (or f?) and ccGV 5.10 installed and both of them runnig 100% with 'downloads disabled' - the only problem left is if you enable downloads in the admin area. Hope Strider will answer on my posting but this problem may only be present if you've got B2B suite installed too ... :rolleyes:
  19. What about editing the file for the next release and comment out the ccGV blocks like this: Step 4.) /* //additional query for ccGV System $gv_name_query = tep_db_query("select customers_firstname, customers_lastname from " . TABLE_CUSTOMERS . " where customers_email_address = '" . $refund_amount['customers_email_address'] . "'"); $gv_name = tep_db_fetch_array($gv_name_query); $firstname = $gv_name['customers_firstname']; $lastname = $gv_name['customers_lastname']; $customer = $refund_amount['customers_id']; */ Step 5.) $gv_query=tep_db_query("insert into gv_tracking (gv_number, date_created, customer_id_sent, sent_firstname, sent_surname, emailed_to, gv_amount) values ('".$id1."', NOW(),'" . $customer . "','Sent by','Admin','" . $address . "','" . $refund . "')"); /* //update the coupon table of ccGV System $gv_insert_query = tep_db_query ("insert into " . TABLE_COUPONS . " (coupon_code, coupon_type, coupon_amount, date_created) values ('" . $id1 . "', 'G', '" . $refund . "', now())"); $insert_id = tep_db_insert_id($insert_query); //update the coupon email track table of the ccgv system $gv_insert_query = tep_db_query("insert into " . TABLE_COUPON_EMAIL_TRACK . " (coupon_id, customer_id_sent, sent_firstname, sent_lastname, emailed_to, date_sent) values ('" . $insert_id . "','" . $customer . "','" . $firstname . "','" . $lastname . "','" . $address . "', now() )"); */ Then the file should be OK without ccGV installed. All other changes in the code are entries to table gv_tracking of the RMA system. Sebastian
  20. Cathy : If you don't have ccGV installed you will have errors because the code now does additional entries to two of ccGV's tables (coupon and coupon_email_tack). So this mod will NOT work without ccGV !! Martin : Since I am operating my shop without any options but with master products (and assigned slaves as options to the master) I don't have any problem in returning a single 'option' (slave) out of the whole order. Sebastian
  21. Hi again Cathy, if you've got time - please test it - it is working out fine on my system ... :) Sebastian
  22. I noticed that there is the possibility to send a gift voucher to the customer sending in a return. By checking the 'refunded by gift voucher' box there is a voucher sent to the customer and an entry made in the table gv_tracking which came with the RMA System. But there is no way or admin page to find out what happend to these vouchers sent. If you got RMA 2.2b (with my fixes) or 2.2e (hope so but did not try it) AND ccgv 5.10 working on your System you may try this AFTER backing up your admin/retuns.php file: 1.) Open up returns.php and search for ?require(DIR_WS_CLASSES . 'currencies.php'); ?$currencies = new currencies(); ?include(DIR_WS_LANGUAGES . $language . '/' . 'returns.php'); ?$orders_statuses = array(); ?$orders_status_array = array(); ?$orders_status_query = tep_db_query("select returns_status_id, returns_status_name from " . TABLE_RETURNS_STATUS . " where language_id = '" . $languages_id . "'"); ?while ($orders_status = tep_db_fetch_array($orders_status_query)) { ? ?$orders_statuses[] = array('id' => $orders_status['returns_status_id'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'text' => $orders_status['returns_status_name']); ? ?$orders_status_array[$orders_status['returns_status_id']] = $orders_status['returns_status_name']; ?} it's right at the top - after it insert this code : ?//language query ?$languages = tep_get_languages(); ?$languages_array = array(); ?$languages_selected = DEFAULT_LANGUAGE; ?for ($i = 0, $n = sizeof($languages); $i < $n; $i++) { ? ?$languages_array[] = array('id' => $languages[$i]['code'], ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 'text' => $languages[$i]['name']); ? ?if ($languages[$i]['directory'] == $language) { ? ? ?$languages_selected = $languages[$i]['code']; ? ?} ?} 2.) search for : ? ? ? ? ?$payment_method_query = tep_db_query("SELECT refund_method_name FROM " . TABLE_REFUND_METHOD . " where refund_method_id = '" . $HTTP_POST_VARS['department'] . "'"); and replace it with : ? ? ? ? ?$payment_method_query = tep_db_query("SELECT refund_method_name FROM " . TABLE_REFUND_METHOD . " where refund_method_id = '" . $HTTP_POST_VARS['department'] . "' and language_id = '" . $languages_id . "'"); 3.) search for : ? ? ?if ($HTTP_POST_VARS['gv_refund'] == 'on') { ? ? ? ? ?include('includes/languages/english/gv_mail.php'); ? ? ? ? ?$refund_amount_query = tep_db_query("select r.refund_payment_value, m.customers_email_address, m.customers_name FROM " . TABLE_RETURN_PAYMENTS . " r, " . TABLE_RETURNS . " m where m.returns_id = r.returns_id and r.returns_id = '" . $oID . "'"); and replace it with : ? ? ?if ($HTTP_POST_VARS['gv_refund'] == 'on' && $HTTP_POST_VARS['complete'] == 'on') { include(DIR_WS_LANGUAGES . $language . '/' . 'gv_mail.php'); $refund_amount_query = tep_db_query("select r.refund_payment_value, m.customers_email_address, m.customers_name, m.customers_id FROM " . TABLE_RETURN_PAYMENTS . " r, " . TABLE_RETURNS . " m where m.returns_id = r.returns_id and r.returns_id = '" . $oID . "'"); 4.) search for : ? ? ?$address = $refund_amount['customers_email_address']; and in the next line, insert this code : ? ?//additional query for ccGV System ? ? ? $gv_name_query = tep_db_query("select customers_firstname, customers_lastname from " . TABLE_CUSTOMERS . " where customers_email_address = '" . $refund_amount['customers_email_address'] . "'"); ? ?$gv_name = tep_db_fetch_array($gv_name_query); ? ? ?$firstname = $gv_name['customers_firstname']; ? ?$lastname = $gv_name['customers_lastname']; ? ?$customer = $refund_amount['customers_id']; 5.) search for: ? ? ? ? ?$gv_query=tep_db_query("insert into gv_tracking (gv_number, date_created, customer_id_sent, sent_firstname, sent_surname, emailed_to, gv_amount) values ('".$id1."', NOW(),'0','Sent by','Admin','".$address."','".$refund."')"); and replace it with : ? ?$gv_query=tep_db_query("insert into gv_tracking (gv_number, date_created, customer_id_sent, sent_firstname, sent_surname, emailed_to, gv_amount) values ('".$id1."', NOW(),'" . $customer . "','Sent by','Admin','" . $address . "','" . $refund . "')"); ? ?//update the coupon table of ccGV System ? $gv_insert_query = tep_db_query ("insert into " . TABLE_COUPONS . " (coupon_code, coupon_type, coupon_amount, date_created) values ('" . $id1 . "', 'G', '" . $refund . "', now())"); ? $insert_id = tep_db_insert_id($insert_query); ? ?//update the coupon email track table of the ccgv system ? $gv_insert_query = tep_db_query("insert into " . TABLE_COUPON_EMAIL_TRACK . " (coupon_id, customer_id_sent, sent_firstname, sent_lastname, emailed_to, date_sent) values ('" . $insert_id . "','" . $customer . "','" . $firstname . "','" . $lastname . "','" . $address . "', now() )"); finished ... :) What is happening ? There will be additional entries in ccgv's tables coupon and coupon_email_tack WHEN finishing an RMA (complete this return checkbox enabled) AND doing this refund with a voucher (refunded by gift voucher checkbox enabled). You will have this voucher sent by the RMA System on your CCGV adminscreen if you surf to ccgv's gv_sent.php page and there will be some data about this voucher ... if it was used (and by which ip adress - gv routines) or not ;-) Sebastian
  23. I did not have time to go on with die gv part of the RMA system, cathy - but I will post any news as soon as I've got them ;-) I had a quick look into my version of retuns_track.php but I can't reproduce the error you quoted - lines 145 - 147 should read <?php } ?> if you are using my version of the complete file. On a clean new installation everything works fine with this code. Keep on posting ... Sebastian P.S. You are right - version 2.2c IS buggy - all my fixes are based on your 2.2b rollout ! :)
  24. Did you check if there is a filename like 'FILENAME_REFUND' defined in includes/filenames.php ? I wonder because on my system the refund text a customer can click on in file account_history_info.php is calling FILENAME_RETURN :huh: This is how it is defined: define('FILENAME_RETURN', 'return_product.php'); Sebastian
  25. Hi again, I am sorry if my posted returns_track.php is not working on your system. I am using a heavy modified installation and you can't just use my whole file :( But a tried to do my very best an here's the code of the whole file which should work - BACKUP your existing returns_track.php and give this one a try : <?php /* $id author Puddled Internet - http://www.puddled.co.uk email [email protected] modified by sebastian krupp [email protected] osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2002 osCommerce Released under the GNU General Public License */ require('includes/application_top.php'); if (!tep_session_is_registered('customer_id')) { $navigation->set_snapshot(); tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL')); } if (!$HTTP_GET_VARS['action']){ $HTTP_GET_VARS['action'] = 'returns_track'; } if ($HTTP_GET_VARS['action']) { switch ($HTTP_GET_VARS['action']) { case 'returns_show': // first carry out a query on the database to see if there are any matching tickets $database_returns_query = tep_db_query("SELECT returns_id FROM " . TABLE_RETURNS . " where customers_id = '" . $customer_id . "' and rma_value = '" . $HTTP_POST_VARS['rma'] . "' or rma_value = '" . $HTTP_GET_VARS['rma'] . "'"); if (!tep_db_num_rows($database_returns_query)) { tep_redirect(tep_href_link('returns_track.php?error=yes')); } else { $returns_query = tep_db_fetch_array($database_returns_query); $returns_id = $returns_query['returns_id']; $returned_products_query = tep_db_query("SELECT * FROM " . TABLE_RETURNS_PRODUCTS_DATA . " op, " . TABLE_RETURNS . " o where o.returns_id = op.returns_id and op.returns_id = '" . $returns_id . "'"); $returned_products = tep_db_fetch_array($returned_products_query); require(DIR_WS_CLASSES . 'order.php'); $order = new order($returned_products['order_id']); } break; } } require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_RETURN); require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_RETURNS_TRACK); $breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_RETURN, '', 'NONSSL')); ?> <!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> <base href="<?php echo (getenv('HTTPS') == 'on' ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>"> <link rel="stylesheet" type="text/css" href="stylesheet.css"> </head> <body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0"> <!-- header //--> <?php require(DIR_WS_INCLUDES . 'header.php'); ?> <!-- header_eof //--> <!-- body //--> <table border="0" width="100%" cellspacing="3" cellpadding="3"> <tr> <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2"> <!-- 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="0"> <tr> <td width="100%"><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td class="pageHeading"><?php echo HEADING_TITLE; ?></td> <td align="right"> </td> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <?php if ($HTTP_GET_VARS['action'] == 'returns_show') { ?> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <?php include(DIR_WS_MODULES . 'returns_track.php'); ?> </table></td> </tr> <?php } else { ?> <tr> <td width="100%" valign="top"> <table border="0" width="100%" cellspacing="0" cellpadding="2"> <form name="track" method="post" action=" <?php echo tep_href_link(FILENAME_RETURNS_TRACK, 'action=returns_show', 'SSL'); ?>"> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="5" class="infoBox"> <?php if (isset($error)=='yes') { ?> <tr class="infoBoxContents"> <td colspan="3" class="main"><div align="justify"><?php echo TEXT_TRACK_DETAILS_1; ?></div></td> <tr> <tr> <td colspan="3" class="main" width="100%"><?php echo tep_draw_separator('pixel_trans.gif', '1', '10'); ?></td> </tr> <?php } ?> <tr class="infoBoxContents" align="left"> <td colspan="3" class="main"><?php echo TEXT_TRACK_DETAILS_2; ?></td> </tr> <tr class="infoBoxContents"> <td width="100%" colspan="3" class="main"> </td> </tr> <tr class="infoBoxContents"> <td width="50%" height="30" align="right" class="main"><?php echo TEXT_YOUR_RMA_NUMBER; ?> </td> <td width="50%" height="30" align="left" class="main" colspan="2"><font color="CC0000"><input type="text" name="rma" value="" size="20"></font></td> </tr> <tr class="infoBoxContents"> <td width="100%" colspan="3" class="main"> </td> </tr> </table></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td width="100%" align="right"><?php echo tep_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE, 'SSL'); ?></td> </tr> </table></td> </tr> </form> </table></td> </tr> <? } ?> </table></td> <!-- body_text_eof //--> <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2"> <!-- right_navigation //--> <?php require(DIR_WS_INCLUDES . 'column_right.php'); ?> <!-- right_navigation_eof //--> </table></td> </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'); ?> It looks fine on a basic osCom installation which I just did ... Sebastian P.S. even this file will bring you back to the login page IF you type in a NOT existing RMA number - but if you log in again (system is counterchecking) you will have the correct message on screen stating that there is NO RMA with this number. IF yout type in a existing RMA number - you will see your RMA on screen. So you should get a RMA number first to test it !
×
×
  • Create New...