Skip to content

Commit 5bff339

Browse files
committed
Don’t throw execptions when saving a line item or adjustment that doesnt exist.
1 parent d9353f0 commit 5bff339

2 files changed

Lines changed: 13 additions & 10 deletions

File tree

src/services/LineItems.php

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -206,14 +206,15 @@ public function saveLineItem(LineItem $lineItem, bool $runValidation = true): bo
206206
{
207207
$isNewLineItem = !$lineItem->id;
208208

209-
if (!$lineItem->id) {
209+
if ($isNewLineItem) {
210210
$lineItemRecord = new LineItemRecord();
211211
} else {
212212
$lineItemRecord = LineItemRecord::findOne($lineItem->id);
213213

214214
if (!$lineItemRecord) {
215-
throw new Exception(Craft::t('commerce', 'No line item exists with the ID “{id}”',
216-
['id' => $lineItem->id]));
215+
Craft::info('Line Item ID:'.$lineItem->id.' does not exist and can not be saved.', __METHOD__);
216+
return false;
217+
217218
}
218219
}
219220

@@ -226,7 +227,7 @@ public function saveLineItem(LineItem $lineItem, bool $runValidation = true): bo
226227
}
227228

228229
if ($runValidation && !$lineItem->validate()) {
229-
Craft::info('Line item not saved due to validation error.', __METHOD__);
230+
Craft::info('Line Item not saved due to validation error(s).', __METHOD__);
230231
return false;
231232
}
232233

src/services/OrderAdjustments.php

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -149,19 +149,21 @@ public function getAllOrderAdjustmentsByOrderId(int $orderId): array
149149
*/
150150
public function saveOrderAdjustment(OrderAdjustment $orderAdjustment, bool $runValidation = true): bool
151151
{
152-
if ($orderAdjustment->id) {
152+
$newAdjustment = !$orderAdjustment->id;
153+
154+
if ($newAdjustment) {
155+
$record = new OrderAdjustmentRecord();
156+
} else {
153157
$record = OrderAdjustmentRecord::findOne($orderAdjustment->id);
154158

155159
if (!$record) {
156-
throw new Exception(Craft::t('commerce', 'No order Adjustment exists with the ID “{id}”',
157-
['id' => $orderAdjustment->id]));
160+
Craft::info('Order Adjustment ID:'.$orderAdjustment->id.' does not exist and can not be saved.', __METHOD__);
161+
return false;
158162
}
159-
} else {
160-
$record = new OrderAdjustmentRecord();
161163
}
162164

163165
if ($runValidation && !$orderAdjustment->validate()) {
164-
Craft::info('Order Adjustment not saved due to validation error.', __METHOD__);
166+
Craft::info('Order Adjustment not saved due to validation error(s).', __METHOD__);
165167
return false;
166168
}
167169

0 commit comments

Comments
 (0)