New Zenner
- Join Date:
- Sep 2008
- Posts:
- 22
- Plugin Contributions:
- 0
Return Authorization Module (RMA)
Glad that you were able to use all my rough code and ideas and turn them into useful code for others to use.
I noticed a problem,
when it is set to allow logged-in users only it works fine.
When not logged in it will not show the order_id or customer_id in the email, and no customer_id in the success page.
Now in my case I take phone orders and I don't add that customer to zen cart. But if a phone customer wants to return
an item I send them to the RMA form. Of course they don't have a customer number.
So I changed the following line in tpl_returns_default.php
'<div id="returnRMA">' . TEXT_SUCCESS_RMA_ID . $rma_number . '</div>'
To:
'<div id="returnRMA">' . TEXT_SUCCESS_RMA_ID; $order_number = $_GET['order_id']; echo $order_number . TEXT_SUCCESS_DASH . $cID . TEXT_SUCCESS_DASH . date('mdY') . '</div>'
And added:
<?php echo '<input type="hidden" name="cID" value="'.$cID.'">'; ?>
Just under this line:
<?php echo '<input type="hidden" name="rma_number" value="'.$rma_number.'">'; ?>
In: header_php.php I added
// Prepare extra-info details
// Admin email returned after submission
$extra_info = email_collect_extra_info($name, $email_address, $customer_name, $customer_email, $telephone);
// Prepare Text-only portion of message
$text_message = OFFICE_FROM . "\t" . $name . "\n<br />" .
OFFICE_EMAIL . "\t" . $email_address . "\n<br />" .
"Phone Number:" . "\t" .$telephone . "\n<br />" .
"Address:" . "\t" . $address . "\n<br />" .
"City:" . "\t" . $city . "\n<br />" .
"State:" . "\t" . $state . "\n<br />" .
"Post Code:" . "\t" . $postcode . "\n<br />" .
"Country:" . "\t" . $country . "\n<br />" .
"Order Number:" . "\t" . $order_number . "\n<br />" .
"Customer ID:" . "\t" . $cID . "\n<br />" .
"Total Value:" . "\t" . $value . "\n<br />" .
"Number of Items:" . "\t" . $item_number . "\n<br />" .
"Item(s) Name:" . "\t" . $item_name . "\n<br />" .
"Action Requested:" . "\t" . $action . "\n\n<br />" .
[B][I] "RMA Number:" . "\t" . $order_number . "-". $cID . "-". date('mdY') . "\n<br />" . [/I][/B]
'------------------------------------------------------<br />' .
"\n\n<br />Reason:". "\n\n<br />" .
"" . $reason . "\n\n<br />" .
'------------------------------------------------------<br />' .
"" . "\n<br />" .
// Stop admin email
// Begin customer email returned after submission
$extra_info['TEXT'];
$email_text = sprintf(EMAIL_GREET_NONE, $name );
$email_text .= "\n <br />";
$email_text .= EMAIL_WELCOME;
$email_text .= "\n\n" . "Request Date:" . "\t" . date('m/d/Y') . "<br />" ;
$email_text .= "\n" . "Customer ID:" . "\t" . $cID . "\n<br />";
$email_text .= "\n" . "Invoice Number:" . "\t" . $order_number . "<br />" ;
$email_text .= "\n" . "Item(s)You Are Returning:" ."\n (as you entered it)" . "\t" . $item_name . "\n\n<br />";
[B][I] $email_text .= "\n" . "RMA Number:" . "\t" . $order_number . "-". $cID . "-". date('mdY') . "\n<br />";[/I][/B]
$email_text .= "\n\n" . EMAIL_TEXT . "<br />";
$email_text .= "\n" . EMAIL_CONTACT . "<br />";
$email_text .= "\n" . EMAIL_WARNING. "\n<br />";
At the bottom of header_php.php
I removed this line
$rma_number = $order_number . TEXT_SUCCESS_DASH . $cID . TEXT_SUCCESS_DASH . $rma_request_date;
and added this line in it's place
$rma_number = $order_number . TEXT_SUCCESS_DASH . $rma_request_date;
it is just my idea of a work around, maybe you have something better?
Now when not logged in, the rma looks like this (2 dashes in center, missing customer_id)
Your RMA# is: 2425--04292013 and has the order_id in the email.