create new controller and dependency for change statuse and create new permission

This commit is contained in:
2025-09-17 14:47:47 +03:30
parent df83a6bb31
commit c7dc867c2e
2 changed files with 43 additions and 0 deletions

View File

@@ -8,6 +8,7 @@ use App\Exports\V3\AccidentReceipt\DataTableReport;
use App\Facades\File\FileFacade;
use App\Facades\Sms\Sms;
use App\Http\Controllers\Controller;
use App\Http\Requests\V3\AccidentReceipt\ChangeStatusRequest;
use App\Http\Requests\V3\AccidentReceipt\ConfirmPaymentInfoRequest;
use App\Http\Requests\V3\AccidentReceipt\StoreRequest;
use App\Http\Requests\V3\AccidentReceipt\SubmitInvoiceRequest;
@@ -372,4 +373,14 @@ class AccidentReceiptController extends Controller
{
return $this->successResponse(DailyAccidentSettings::query()->where('type', 'accident_type')->get());
}
public function changeStatus(ChangeStatusRequest $request, Accident $accident): JsonResponse
{
$accident->update([
'status' => $request->status_id,
'status_fa' => AccidentStates::name($request->status_id),
]);
return $this->successResponse($accident);
}
}

View File

@@ -0,0 +1,32 @@
<?php
namespace App\Http\Requests\V3\AccidentReceipt;
use App\Enums\AccidentStates;
use Illuminate\Contracts\Validation\ValidationRule;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Support\Facades\Auth;
use Illuminate\Validation\Rule;
class ChangeStatusRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*/
public function authorize(): bool
{
return Auth::user()->hasPermissionTo('change-accident-status');
}
/**
* Get the validation rules that apply to the request.
*
* @return array<string, ValidationRule|array|string>
*/
public function rules(): array
{
return [
'status_id' => 'required',
];
}
}