Skip to content

Commit

Permalink
add mail class for unaccepted assets reminders
Browse files Browse the repository at this point in the history
Godmartinz committed Dec 5, 2024

Verified

This commit was created on GitHub.com and signed with GitHub’s verified signature.
1 parent a137e31 commit 52b051e
Showing 2 changed files with 70 additions and 2 deletions.
5 changes: 3 additions & 2 deletions app/Console/Commands/SendAcceptanceReminder.php
Original file line number Diff line number Diff line change
@@ -2,6 +2,7 @@

namespace App\Console\Commands;

use App\Mail\UnacceptedAssetReminderMail;
use App\Models\Asset;
use App\Models\CheckoutAcceptance;
use App\Models\Setting;
@@ -78,12 +79,12 @@ public function handle()
if (!$unacceptedAsset['acceptance']->assignedTo->locale) {
Notification::locale(Setting::getSettings()->locale)->send(
$unacceptedAsset['acceptance']->assignedTo,
new UnacceptedAssetReminderNotification($unacceptedAsset['assetItem'], $count)
new UnacceptedAssetReminderMail($unacceptedAsset['assetItem'], $count)
);
} else {
Notification::send(
$unacceptedAsset['acceptance']->assignedTo,
new UnacceptedAssetReminderNotification($unacceptedAsset, $item_count)
new UnacceptedAssetReminderMail($unacceptedAsset, $item_count)
);
}
$count++;
67 changes: 67 additions & 0 deletions app/Mail/UnacceptedAssetReminderMail.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
<?php

namespace App\Mail;

use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Mail\Mailable;
use Illuminate\Mail\Mailables\Address;
use Illuminate\Mail\Mailables\Content;
use Illuminate\Mail\Mailables\Envelope;
use Illuminate\Queue\SerializesModels;

class UnacceptedAssetReminderMail extends Mailable
{
use Queueable, SerializesModels;

/**
* Create a new message instance.
*/
public function __construct($checkout_info, $count)
{
$this->count = $count;
$this->target = $checkout_info['acceptance']->assignedTo;
$this->acceptance = $checkout_info['acceptance'];
}

/**
* Get the message envelope.
*/
public function envelope(): Envelope
{
$from = new Address(config('mail.from.address'), config('mail.from.name'));

return new Envelope(
from: $from,
subject: trans('mail.unaccepted_asset_reminder'),
);
}

/**
* Get the message content definition.
*/
public function content(): Content
{
$accept_url = route('account.accept');

return new Content(
markdown: 'notifications.markdown.asset-reminder',
with: [
'count' => $this->count,
'assigned_to' => $this->target->present()->fullName,
'link' => route('account.accept'),
'accept_url' => $accept_url,
]
);
}

/**
* Get the attachments for the message.
*
* @return array<int, \Illuminate\Mail\Mailables\Attachment>
*/
public function attachments(): array
{
return [];
}
}

0 comments on commit 52b051e

Please sign in to comment.