aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCamil Staps2016-08-01 12:17:53 +0200
committerCamil Staps2016-08-01 12:17:53 +0200
commit79fa054c32f9c58c7cc27539755365535f3c0aec (patch)
treef3d309d157a40c5b9c91955a6cb2a95673ecdff3
parentFix lowercase class names (diff)
Error when sending email when invoice is not generated yet
-rw-r--r--classes/Offer.php7
-rw-r--r--include/ajax-email-offer.php9
-rw-r--r--js/businessadmin.js2
3 files changed, 14 insertions, 4 deletions
diff --git a/classes/Offer.php b/classes/Offer.php
index 7d8e8b8..a4d6b7f 100644
--- a/classes/Offer.php
+++ b/classes/Offer.php
@@ -273,11 +273,16 @@ class Offer extends Model{
* @return Mailer The mailer
*/
public function mailer() {
+ $file = $this->getInvoiceFile();
+ if (is_null($file)) {
+ throw new Exception("The invoice for this offer has not been generated yet.");
+ }
+
$mailer = new Mailer($this->pdo);
$mailer->setOffer($this);
$lang = $this->getContact()->language;
- $mailer->addAttachment($this->getInvoiceFile()->getFilenamePath());
+ $mailer->addAttachment($file->getFilenamePath());
$mailer->Subject = Correspondence::__('mail-offer-subject', $lang);
$mailer->Body = Correspondence::__r('mail-offer', $lang, $this);
diff --git a/include/ajax-email-offer.php b/include/ajax-email-offer.php
index c8a09c0..0f3476b 100644
--- a/include/ajax-email-offer.php
+++ b/include/ajax-email-offer.php
@@ -19,8 +19,13 @@
require_once(__DIR__ . '/../login-ajax.php');
-$_offer = new Offer($_pdo, $_REQUEST['id']);
-$_mailer = $_offer->mailer();
+try {
+ $_offer = new Offer($_pdo, $_REQUEST['id']);
+ $_mailer = $_offer->mailer();
+} catch (Exception $e) {
+ http_response_code(500);
+ die($e->getMessage());
+}
function format_email($address) {
if ($address[1] != '') {
diff --git a/js/businessadmin.js b/js/businessadmin.js
index 1d00fa9..ecd132d 100644
--- a/js/businessadmin.js
+++ b/js/businessadmin.js
@@ -159,7 +159,7 @@ function offerEmail(offerId) {
modalBody.html(data);
},
error: function(jqxhr, stat, err) {
- modalBody.html('<div class="alert alert-danger" role="alert">' + stat + ': ' + err + '</div>');
+ modalBody.html('<div class="alert alert-danger" role="alert">' + stat + ': ' + err + '<br/>' + jqxhr.responseText + '</div>');
}
});
}