diff options
author | Camil Staps | 2016-08-01 12:17:53 +0200 |
---|---|---|
committer | Camil Staps | 2016-08-01 12:17:53 +0200 |
commit | 79fa054c32f9c58c7cc27539755365535f3c0aec (patch) | |
tree | f3d309d157a40c5b9c91955a6cb2a95673ecdff3 | |
parent | Fix lowercase class names (diff) |
Error when sending email when invoice is not generated yet
-rw-r--r-- | classes/Offer.php | 7 | ||||
-rw-r--r-- | include/ajax-email-offer.php | 9 | ||||
-rw-r--r-- | js/businessadmin.js | 2 |
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>'); } }); } |