From 817eb2855ed768c5c80f2ce4a338516a4d0d4203 Mon Sep 17 00:00:00 2001 From: Pv Ledoux Date: Mon, 15 Feb 2016 12:08:54 +0100 Subject: [PATCH 1/2] Check if it's a new entry or a new draft This is working in my case to fix #25 but I need your science here. --- core/parcel_types/DefaultParcelType.php | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/parcel_types/DefaultParcelType.php b/core/parcel_types/DefaultParcelType.php index 91157e0..3767c2e 100644 --- a/core/parcel_types/DefaultParcelType.php +++ b/core/parcel_types/DefaultParcelType.php @@ -48,7 +48,9 @@ public function init() 'isNewEntry' => $isNewEntry )); - if($parcelType->validateEntry($entry, $event->params['isNewEntry'])) + $isNew = isset($event->params['isNewEntry']) || isset($event->params['isNewDraft']); + + if($parcelType->validateEntry($entry, $isNew)) { $obj = new Postmaster_TransportModel(array( 'service' => $parcelType->getParcelModel()->service, @@ -199,4 +201,4 @@ public function getEvents() return array(); } -} \ No newline at end of file +} From 505f5a68f0800237442197b6ecbaa11733ed046c Mon Sep 17 00:00:00 2001 From: Pv Ledoux Date: Thu, 10 Mar 2016 11:36:51 +0100 Subject: [PATCH 2/2] Fix cc and bcc properties Craft requires that cc and bcc have a nested array with at least email key, name key is optional (see https://craftcms.com/classreference/models/EmailModel#bcc-detail) --- core/services/CraftService.php | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/core/services/CraftService.php b/core/services/CraftService.php index 081cc6a..b74a7cb 100644 --- a/core/services/CraftService.php +++ b/core/services/CraftService.php @@ -25,8 +25,16 @@ public function getId() public function send(Postmaster_TransportModel $model) { $emailModel = new EmailModel($model->settings->getAttributes()); - $emailModel->cc = explode(',', $model->settings->cc); - $emailModel->bcc = explode(',', $model->settings->bcc); + + $cc = explode(',', $model->settings->cc); + $emailModel->cc = array_map(function($ele){ + return array('email'=> $ele); + }, $cc); + + $bcc = explode(',', $model->settings->bcc); + $emailModel->bcc = array_map(function($ele){ + return array('email'=> $ele); + }, $bcc); $success = $this->craft()->email->sendEmail($emailModel); @@ -50,4 +58,4 @@ public function getSettingsModelClassName() return '\Craft\Postmaster_ServiceSettingsModel'; } -} \ No newline at end of file +}