mirror of
https://git.meshkee.com/cssd/cssd-back.git
synced 2026-10-13 19:11:06 +03:30
remove the validation for cycle number in store label and add an eloquent event for updating cycle number when cycle is saved.
This commit is contained in:
@@ -0,0 +1,40 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Events;
|
||||||
|
|
||||||
|
use App\Models\Cycle;
|
||||||
|
use Illuminate\Broadcasting\Channel;
|
||||||
|
use Illuminate\Broadcasting\InteractsWithSockets;
|
||||||
|
use Illuminate\Broadcasting\PresenceChannel;
|
||||||
|
use Illuminate\Broadcasting\PrivateChannel;
|
||||||
|
use Illuminate\Contracts\Broadcasting\ShouldBroadcast;
|
||||||
|
use Illuminate\Foundation\Events\Dispatchable;
|
||||||
|
use Illuminate\Queue\SerializesModels;
|
||||||
|
|
||||||
|
class CycleSaved
|
||||||
|
{
|
||||||
|
use Dispatchable, InteractsWithSockets, SerializesModels;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create a new event instance.
|
||||||
|
*/
|
||||||
|
|
||||||
|
public Cycle $cycle;
|
||||||
|
|
||||||
|
public function __construct(Cycle $cycle)
|
||||||
|
{
|
||||||
|
$this->cycle = $cycle;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the channels the event should broadcast on.
|
||||||
|
*
|
||||||
|
* @return array<int, \Illuminate\Broadcasting\Channel>
|
||||||
|
*/
|
||||||
|
public function broadcastOn(): array
|
||||||
|
{
|
||||||
|
return [
|
||||||
|
// new PrivateChannel('channel-name'),
|
||||||
|
];
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -26,7 +26,7 @@ class StoreLabelRequest extends FormRequest
|
|||||||
'sterile_date' => 'required|date',
|
'sterile_date' => 'required|date',
|
||||||
'expire_date' => 'required|date',
|
'expire_date' => 'required|date',
|
||||||
'sterilizer_id' => 'required',
|
'sterilizer_id' => 'required',
|
||||||
'cycle_number' => 'required|exists:cycles,cycle_number',
|
'cycle_number' => 'required',
|
||||||
'lot_number' => 'required',
|
'lot_number' => 'required',
|
||||||
'package_id' => 'required|exists:packages,id',
|
'package_id' => 'required|exists:packages,id',
|
||||||
];
|
];
|
||||||
@@ -39,7 +39,7 @@ class StoreLabelRequest extends FormRequest
|
|||||||
'sterile_date' => 'required',
|
'sterile_date' => 'required',
|
||||||
'expire_date' => 'required',
|
'expire_date' => 'required',
|
||||||
'sterilizer_id' => 'required',
|
'sterilizer_id' => 'required',
|
||||||
'cycle_number' => 'required|exists:cycles,cycle_number',
|
'cycle_number' => 'required',
|
||||||
'lot_number' => 'required',
|
'lot_number' => 'required',
|
||||||
'package_id' => 'required|exists:packages,id',
|
'package_id' => 'required|exists:packages,id',
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -0,0 +1,29 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Listeners;
|
||||||
|
|
||||||
|
use App\Events\CycleSaved;
|
||||||
|
use Illuminate\Contracts\Queue\ShouldQueue;
|
||||||
|
use Illuminate\Queue\InteractsWithQueue;
|
||||||
|
|
||||||
|
class UpdateLabelsCycleNumber
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Create the event listener.
|
||||||
|
*/
|
||||||
|
public function __construct()
|
||||||
|
{
|
||||||
|
//
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handle the event.
|
||||||
|
*/
|
||||||
|
public function handle(CycleSaved $event): void
|
||||||
|
{
|
||||||
|
$cycle = $event->cycle;
|
||||||
|
$cycleNumber = $cycle->cycle_number;
|
||||||
|
|
||||||
|
$cycle->labels()->update(['cycle_number' => $cycleNumber]);
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace App\Models;
|
namespace App\Models;
|
||||||
|
|
||||||
|
use App\Events\CycleSaved;
|
||||||
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
use Illuminate\Database\Eloquent\Factories\HasFactory;
|
||||||
use Illuminate\Database\Eloquent\Model;
|
use Illuminate\Database\Eloquent\Model;
|
||||||
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
||||||
@@ -14,6 +15,17 @@ class Cycle extends Model
|
|||||||
'date', 'user_id', 'cycle_number', 'sterilizer_id', 'note', 'verified', 'unique_id'
|
'date', 'user_id', 'cycle_number', 'sterilizer_id', 'note', 'verified', 'unique_id'
|
||||||
];
|
];
|
||||||
|
|
||||||
|
protected static function booted()
|
||||||
|
{
|
||||||
|
static::created(function ($cycle) {
|
||||||
|
event(new CycleSaved($cycle));
|
||||||
|
});
|
||||||
|
|
||||||
|
static::updated(function ($cycle) {
|
||||||
|
event(new CycleSaved($cycle));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
public function user(): BelongsTo
|
public function user(): BelongsTo
|
||||||
{
|
{
|
||||||
return $this->belongsTo(User::class);
|
return $this->belongsTo(User::class);
|
||||||
|
|||||||
@@ -18,6 +18,9 @@ class EventServiceProvider extends ServiceProvider
|
|||||||
Registered::class => [
|
Registered::class => [
|
||||||
SendEmailVerificationNotification::class,
|
SendEmailVerificationNotification::class,
|
||||||
],
|
],
|
||||||
|
\App\Events\CycleSaved::class => [
|
||||||
|
\App\Listeners\UpdateLabelsCycleNumber::class,
|
||||||
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user