diff --git a/app/Notifications/CheckinAccessoryNotification.php b/app/Notifications/CheckinAccessoryNotification.php
index f376c26a84..cc721f3ad6 100644
--- a/app/Notifications/CheckinAccessoryNotification.php
+++ b/app/Notifications/CheckinAccessoryNotification.php
@@ -9,6 +9,11 @@ use Illuminate\Bus\Queueable;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Messages\SlackMessage;
use Illuminate\Notifications\Notification;
+use NotificationChannels\GoogleChat\Card;
+use NotificationChannels\GoogleChat\GoogleChatChannel;
+use NotificationChannels\GoogleChat\GoogleChatMessage;
+use NotificationChannels\GoogleChat\Section;
+use NotificationChannels\GoogleChat\Widgets\KeyValue;
use NotificationChannels\MicrosoftTeams\MicrosoftTeamsChannel;
use NotificationChannels\MicrosoftTeams\MicrosoftTeamsMessage;
@@ -38,6 +43,10 @@ class CheckinAccessoryNotification extends Notification
public function via()
{
$notifyBy = [];
+ if (Setting::getSettings()->webhook_selected == 'google'){
+
+ $notifyBy[] = GoogleChatChannel::class;
+ }
if (Setting::getSettings()->webhook_selected == 'microsoft'){
@@ -132,6 +141,33 @@ class CheckinAccessoryNotification extends Notification
->fact(trans('admin/consumables/general.remaining'), $item->numRemaining())
->fact(trans('mail.notes'), $note ?: '');
}
+ public function toGoogleChat()
+ {
+ $item = $this->item;
+ $note = $this->note;
+
+ return GoogleChatMessage::create()
+ ->to($this->settings->webhook_endpoint)
+ ->card(
+ Card::create()
+ ->header(
+ ''.trans('mail.Accessory_Checkin_Notification').'' ?: '',
+ htmlspecialchars_decode($item->present()->name) ?: '',
+ )
+ ->section(
+ Section::create(
+ KeyValue::create(
+ trans('mail.checked_into').': '.$item->location->name ? $item->location->name : '',
+ trans('admin/consumables/general.remaining').': '.$item->numRemaining(),
+ trans('admin/hardware/form.notes').": ".$note ?: '',
+
+ )
+ ->onClick(route('accessories.show', $item->id))
+ )
+ )
+ );
+
+ }
/**
* Get the mail representation of the notification.
diff --git a/app/Notifications/CheckinAssetNotification.php b/app/Notifications/CheckinAssetNotification.php
index d0e34bc87f..71632ca0e0 100644
--- a/app/Notifications/CheckinAssetNotification.php
+++ b/app/Notifications/CheckinAssetNotification.php
@@ -136,7 +136,7 @@ class CheckinAssetNotification extends Notification
KeyValue::create(
trans('mail.checked_into') ?: '',
$item->location->name ? $item->location->name : '',
- trans('admin/hardware/form.status').":".$item->assetstatus->name,
+ trans('admin/hardware/form.status').": ".$item->assetstatus->name,
)
->onClick(route('hardware.show', $item->id))
)
diff --git a/app/Notifications/CheckoutAccessoryNotification.php b/app/Notifications/CheckoutAccessoryNotification.php
index 62fce8e176..868b1ced46 100644
--- a/app/Notifications/CheckoutAccessoryNotification.php
+++ b/app/Notifications/CheckoutAccessoryNotification.php
@@ -9,6 +9,11 @@ use Illuminate\Bus\Queueable;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Messages\SlackMessage;
use Illuminate\Notifications\Notification;
+use NotificationChannels\GoogleChat\Card;
+use NotificationChannels\GoogleChat\GoogleChatChannel;
+use NotificationChannels\GoogleChat\GoogleChatMessage;
+use NotificationChannels\GoogleChat\Section;
+use NotificationChannels\GoogleChat\Widgets\KeyValue;
use NotificationChannels\MicrosoftTeams\MicrosoftTeamsChannel;
use NotificationChannels\MicrosoftTeams\MicrosoftTeamsMessage;
@@ -37,6 +42,10 @@ class CheckoutAccessoryNotification extends Notification
public function via()
{
$notifyBy = [];
+ if (Setting::getSettings()->webhook_selected == 'google'){
+
+ $notifyBy[] = GoogleChatChannel::class;
+ }
if (Setting::getSettings()->webhook_selected == 'microsoft'){
@@ -123,6 +132,34 @@ class CheckoutAccessoryNotification extends Notification
->fact(trans('mail.notes'), $note ?: '');
}
+ public function toGoogleChat()
+ {
+ $target = $this->target;
+ $item = $this->item;
+ $note = $this->note;
+
+ return GoogleChatMessage::create()
+ ->to($this->settings->webhook_endpoint)
+ ->card(
+ Card::create()
+ ->header(
+ ''.trans('mail.Accessory_Checkout_Notification').'' ?: '',
+ htmlspecialchars_decode($item->present()->name) ?: '',
+ )
+ ->section(
+ Section::create(
+ KeyValue::create(
+ trans('mail.assigned_to') ?: '',
+ $target->present()->name ?: '',
+ trans('admin/consumables/general.remaining').": ". $item->numRemaining(),
+ )
+ ->onClick(route('users.show', $target->id))
+ )
+ )
+ );
+
+ }
+
/**
* Get the mail representation of the notification.