Skip to content

Commit 1790363

Browse files
committed
renamed files, add namespace, register listener
1 parent 5e3e904 commit 1790363

File tree

4 files changed

+81
-5
lines changed

4 files changed

+81
-5
lines changed

app/Listeners/TransferrableListener.php renamed to app/Listeners/TransferableListener.php

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
<?php
2-
2+
namespace App\Listeners;
33
use App\Events\AssetsTransferredInBulk;
44
use App\Mail\CheckoutAccessoryMail;
55
use App\Mail\CheckoutAssetMail;
66
use App\Mail\CheckoutComponentMail;
77
use App\Mail\CheckoutConsumableMail;
88
use App\Mail\CheckoutLicenseMail;
9+
use App\Mail\TransferredMail;
910
use App\Models\Accessory;
1011
use App\Models\Asset;
1112
use App\Models\CheckoutAcceptance;
@@ -18,9 +19,10 @@
1819
use Illuminate\Database\Eloquent\Model;
1920
use Illuminate\Support\Facades\Context;
2021
use Illuminate\Support\Facades\Log;
22+
use Illuminate\Support\Facades\Mail;
2123
use Symfony\Component\HttpClient\Exception\ClientException;
2224

23-
class TransferrableListener
25+
class TransferableListener
2426
{
2527
public function subscribe($events)
2628
{
@@ -43,7 +45,7 @@ public function onTransfer($event){
4345
return;
4446
}
4547
if ($shouldSendEmailToUser || $shouldSendEmailToAlertAddress) {
46-
$mailable = new TransferredEmail($event->transferrable, $event->transferedTo, $event->transferedBy, $acceptance, $event->note);
48+
$mailable = new TransferredMail($event->transferrable, $event->transferedTo, $event->transferedBy, $acceptance, $event->transferred_at, $event->expected_checkin, $event->note);
4749
$notifiable = $this->getNotifiableUser($event);
4850
$notifiableHasEmail = $notifiable instanceof User && $notifiable->email;
4951
$shouldSendEmailToUser = $shouldSendEmailToUser && $notifiableHasEmail;
@@ -79,7 +81,7 @@ public function onTransfer($event){
7981
* @param Event $event
8082
* @return mixed
8183
*/
82-
private function getTransferAcceptance(Event $event)
84+
private function getTransferAcceptance($event)
8385
{
8486
$transferredToType = get_class($event->transferredTo);
8587
if ($transferredToType != "App\Models\User") {

app/Mail/TransferredMail.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,9 +21,11 @@ public function __construct(
2121
public Collection $items,
2222
public Model $target,
2323
public User $admin,
24+
public Model $acceptance,
2425
public string $transferred_at,
2526
public string $expected_checkin,
2627
public string $note,
28+
2729
) {
2830
$this->require_acceptance = $this->requireAcceptance();
2931
}
@@ -45,6 +47,8 @@ public function content(): Content
4547
with: [
4648
'introduction' => $this->getIntroduction(),
4749
'requires_acceptance' => $this->requireAcceptance(),
50+
'acceptance_url' => $this->acceptanceUrl(),
51+
'eula' => $this->getEula(),
4852
]
4953
);
5054
}

app/Providers/EventServiceProvider.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
use App\Listeners\CheckoutableListener;
66
use App\Listeners\LogListener;
7+
use App\Listeners\TransferableListener;
78
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
89

910
class EventServiceProvider extends ServiceProvider
@@ -31,5 +32,6 @@ class EventServiceProvider extends ServiceProvider
3132
protected $subscribe = [
3233
LogListener::class,
3334
CheckoutableListener::class,
35+
TransferableListener::class,
3436
];
3537
}
Lines changed: 69 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,69 @@
1-
<?php
1+
<x-mail::message>
2+
3+
<style>
4+
th, td {
5+
vertical-align: top;
6+
}
7+
hr {
8+
display: block;
9+
height: 1px;
10+
border: 0;
11+
border-top: 1px solid #ccc;
12+
margin: 1em 0;
13+
padding: 0;
14+
}
15+
</style>
16+
17+
{{ $introduction }}
18+
19+
@if ($requires_acceptance)
20+
One or more items require acceptance.<br>
21+
**[✔ Click here to review the terms of use and accept the items]({{ $acceptance_url }})**
22+
@endif
23+
24+
<hr>
25+
26+
@if ((isset($expected_checkin)) && ($expected_checkin!=''))
27+
**{{ trans('mail.expecting_checkin_date') }}**: {{ Helper::getFormattedDateObject($expected_checkin, 'date', false) }}
28+
@endif
29+
30+
@if ($note)
31+
**{{ trans('mail.additional_notes') }}**: {{ $note }}
32+
@endif
33+
34+
@if ($eula)
35+
<x-mail::panel>
36+
{{ $eula }}
37+
</x-mail::panel>
38+
@endif
39+
40+
<x-mail::table>
41+
| | |
42+
| ------------- | ------------- |
43+
@foreach($items as $item)
44+
| **Asset Tag** | <a href="{{ route('hardware.show', $item->id) }}">{{ $item->display_name }}</a><br><small>{{trans('mail.serial').': '.$item->serial}}</small> |
45+
@if (isset($item->model?->category))
46+
| **{{ trans('general.category') }}** | {{ $item->model->category->name }} |
47+
@endif
48+
@if (isset($item->manufacturer))
49+
| **{{ trans('general.manufacturer') }}** | {{ $item->manufacturer->name }} |
50+
@endif
51+
@if (isset($item->model))
52+
| **{{ trans('general.asset_model') }}** | {{ $item->model->name }} |
53+
@endif
54+
@if ((isset($asset->model?->model_number)))
55+
| **{{ trans('general.model_no') }}** | {{ $item->model->model_number }} |
56+
@endif
57+
@if (isset($item->assetstatus))
58+
| **{{ trans('general.status') }}** | {{ $item->assetstatus->name }} |
59+
@endif
60+
| <hr> | <hr> |
61+
@endforeach
62+
</x-mail::table>
63+
64+
**{{ trans('general.administrator') }}**: {{ $admin->display_name }}
65+
66+
{{ trans('mail.best_regards') }}<br>
67+
68+
{{ $snipeSettings->site_name }}
69+
</x-mail::message>

0 commit comments

Comments
 (0)