diff --git a/app/Listeners/CheckoutableListener.php b/app/Listeners/CheckoutableListener.php index 71b131f40c..9d6cd942bd 100644 --- a/app/Listeners/CheckoutableListener.php +++ b/app/Listeners/CheckoutableListener.php @@ -20,6 +20,8 @@ use App\Notifications\CheckoutConsumableNotification; use App\Notifications\CheckoutLicenseNotification; use App\Notifications\CheckoutLicenseSeatNotification; use Illuminate\Support\Facades\Notification; +use Exception; +use Log; class CheckoutableListener { @@ -43,16 +45,20 @@ class CheckoutableListener */ $acceptance = $this->getCheckoutAcceptance($event); - if (! $event->checkedOutTo->locale) { - Notification::locale(Setting::getSettings()->locale)->send( - $this->getNotifiables($event), - $this->getCheckoutNotification($event, $acceptance) - ); - } else { - Notification::send( - $this->getNotifiables($event), - $this->getCheckoutNotification($event, $acceptance) - ); + try { + if (! $event->checkedOutTo->locale) { + Notification::locale(Setting::getSettings()->locale)->send( + $this->getNotifiables($event), + $this->getCheckoutNotification($event, $acceptance) + ); + } else { + Notification::send( + $this->getNotifiables($event), + $this->getCheckoutNotification($event, $acceptance) + ); + } + } catch (Exception $e) { + Log::error("Exception caught during checkout notification: ".$e->getMessage()); } } @@ -83,17 +89,21 @@ class CheckoutableListener } } - // Use default locale - if (! $event->checkedOutTo->locale) { - Notification::locale(Setting::getSettings()->locale)->send( - $this->getNotifiables($event), - $this->getCheckinNotification($event) - ); - } else { - Notification::send( - $this->getNotifiables($event), - $this->getCheckinNotification($event) - ); + try { + // Use default locale + if (! $event->checkedOutTo->locale) { + Notification::locale(Setting::getSettings()->locale)->send( + $this->getNotifiables($event), + $this->getCheckinNotification($event) + ); + } else { + Notification::send( + $this->getNotifiables($event), + $this->getCheckinNotification($event) + ); + } + } catch (Exception $e) { + Log::error("Exception caught during checkin notification: ".$e->getMessage()); } } diff --git a/app/Models/Depreciable.php b/app/Models/Depreciable.php index e22fb65a7f..250894820c 100644 --- a/app/Models/Depreciable.php +++ b/app/Models/Depreciable.php @@ -69,14 +69,14 @@ class Depreciable extends SnipeModel public function getLinearDepreciatedValue() // TODO - for testing it might be nice to have an optional $relative_to param here, defaulted to 'now' { if ($this->purchase_date) { - $months_passed = $this->purchase_date->diff(now())->m; + $months_passed = ($this->purchase_date->diff(now())->m)+($this->purchase_date->diff(now())->y*12); } else { return null; } if ($months_passed >= $this->get_depreciation()->months){ //if there is a floor use it - if($this->get_depreciation()->deprecation_min->isNotEmpty()) { + if(!$this->get_depreciation()->depreciation_min == null) { $current_value = $this->get_depreciation()->depreciation_min;