ldc-boutique-cnc-sable/app/Traits/Models/HasStatus.php
2026-10-27 09:58:12 +01:00

32 lines
736 B
PHP

<?php
declare(strict_types=1);
namespace App\Traits\Models;
use Illuminate\Contracts\Session\Session;
/** @mixin \Illuminate\Database\Eloquent\Model */
trait HasStatus
{
public function setStatus(bool $value): void
{
$this->setAttribute('status', $value);
}
public function toggleStatus(): void
{
$status = boolval($this->getAttribute('status'));
$this->setAttribute('status', ! $status);
}
protected static function makeStatusSense(self $model): void
{
if ($model->isDirty('status')) {
$session = resolve(Session::class);
$session->flash('info', \trans(
'crud.messages.publish_status_saved'
));
}
}
}