Merge pull request #35 from witelgroup/feature/ChangeStatusController

Feature/change status controller
This commit is contained in:
Amir Ghasempoor
2025-09-17 14:52:51 +03:30
committed by GitHub
3 changed files with 44 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',
];
}
}

View File

@@ -292,6 +292,7 @@ Route::prefix('receipts')
Route::get('/check_payment_status/{accident}', 'checkPaymentStatus')->name('checkPaymentStatus');
Route::get('/generate_police_document/{accident}', 'generatePoliceDocument')->name('generatePoliceDocument');
Route::get('/send_sms_again/{accident}', 'sendSmsAgain')->name('sendSmsAgain');
Route::post('change_status/{accident}', 'changeStatus')->name('changeStatus');
});
Route::prefix('receipt_reports')