create new column for database and improve the controller
This commit is contained in:
@@ -13,11 +13,8 @@ use App\Models\City;
|
|||||||
use App\Models\Province;
|
use App\Models\Province;
|
||||||
use App\Models\RahdariPoint;
|
use App\Models\RahdariPoint;
|
||||||
use App\Models\RahdariPointHistory;
|
use App\Models\RahdariPointHistory;
|
||||||
use Hekmatinasser\Verta\Facades\Verta;
|
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use Illuminate\Http\JsonResponse;
|
use Illuminate\Http\JsonResponse;
|
||||||
use Illuminate\Support\Facades\Auth;
|
|
||||||
use Illuminate\Support\Facades\DB;
|
|
||||||
|
|
||||||
|
|
||||||
class RoadMaintenanceStationController extends Controller
|
class RoadMaintenanceStationController extends Controller
|
||||||
@@ -83,15 +80,15 @@ class RoadMaintenanceStationController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function store(StoreRequest $request): JsonResponse
|
public function store(StoreRequest $request): JsonResponse
|
||||||
{
|
{
|
||||||
$provinceName = Province::query()->find($request->province_id)->name_fa;
|
$province = Province::query()->find($request->province_id);
|
||||||
|
|
||||||
$cityName = City::query()->find($request->city_id)->name_fa;
|
$city = City::query()->find($request->city_id);
|
||||||
|
|
||||||
$station = RahdariPoint::query()->create([
|
$station = RahdariPoint::query()->create([
|
||||||
'province_id' => $request->province_id,
|
'province_id' => $province->id,
|
||||||
'province_name' => $provinceName,
|
'province_name' => $province->name_fa,
|
||||||
'city_id' => $request->city_id,
|
'city_id' => $city->id,
|
||||||
'city_name' => $cityName,
|
'city_name' => $city->name_fa,
|
||||||
'name' => $request->name,
|
'name' => $request->name,
|
||||||
'status' => $request->status,
|
'status' => $request->status,
|
||||||
'type' => $request->type,
|
'type' => $request->type,
|
||||||
@@ -144,9 +141,18 @@ class RoadMaintenanceStationController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function update(UpdateRequest $request, RahdariPoint $rahdariPoint): JsonResponse
|
public function update(UpdateRequest $request, RahdariPoint $rahdariPoint): JsonResponse
|
||||||
{
|
{
|
||||||
|
$province = Province::query()->find($request->province_id);
|
||||||
|
|
||||||
|
$city = City::query()->find($request->city_id);
|
||||||
|
|
||||||
RahdariPointHistory::query()->create([
|
RahdariPointHistory::query()->create([
|
||||||
'user_id' => $request->user()->id,
|
'user_id' => $request->user()->id,
|
||||||
'point_id' => $rahdariPoint->id,
|
'point_id' => $rahdariPoint->id,
|
||||||
|
'previous_province_id' => $province->id,
|
||||||
|
'previous_province_name' => $province->name_fa,
|
||||||
|
'previous_city_id' => $city->id,
|
||||||
|
'previous_city_name' => $city->name_fa,
|
||||||
|
'previous_name' => $rahdariPoint->name,
|
||||||
'previous_status' => $rahdariPoint->status,
|
'previous_status' => $rahdariPoint->status,
|
||||||
'previous_type' => $rahdariPoint->type,
|
'previous_type' => $rahdariPoint->type,
|
||||||
'previous_team_num' => $rahdariPoint->team_num,
|
'previous_team_num' => $rahdariPoint->team_num,
|
||||||
@@ -165,21 +171,26 @@ class RoadMaintenanceStationController extends Controller
|
|||||||
]);
|
]);
|
||||||
|
|
||||||
$rahdariPoint->update([
|
$rahdariPoint->update([
|
||||||
'status' => $request->input('status', $rahdariPoint->status),
|
'province_id' => $province->id,
|
||||||
'type' => $request->input('type', $rahdariPoint->type),
|
'province_name' => $province->name_fa,
|
||||||
|
'city_id' => $city->id,
|
||||||
|
'city_name' => $city->name_fa,
|
||||||
|
'name' => $request->input('name'),
|
||||||
|
'status' => $request->input('status'),
|
||||||
|
'type' => $request->input('type',),
|
||||||
'type_fa' => RoadMaintenanceStationTypes::name($request->type) ?? $rahdariPoint->type_fa,
|
'type_fa' => RoadMaintenanceStationTypes::name($request->type) ?? $rahdariPoint->type_fa,
|
||||||
'team_num' => $request->input('team_num', $rahdariPoint->team_num),
|
'team_num' => $request->input('team_num'),
|
||||||
'staff_num' => $request->input('staff_num', $rahdariPoint->staff_num),
|
'staff_num' => $request->input('staff_num'),
|
||||||
'phone' => $request->input('phone', $rahdariPoint->phone),
|
'phone' => $request->input('phone'),
|
||||||
'responsible_name' => $request->input('responsible_name', $rahdariPoint->responsible_name),
|
'responsible_name' => $request->input('responsible_name'),
|
||||||
'responsible_mobile' => $request->input('responsible_mobile', $rahdariPoint->responsible_mobile),
|
'responsible_mobile' => $request->input('responsible_mobile'),
|
||||||
'successor_name' => $request->input('successor_name', $rahdariPoint->successor_name),
|
'successor_name' => $request->input('successor_name'),
|
||||||
'successor_mobile' => $request->input('successor_mobile', $rahdariPoint->successor_mobile),
|
'successor_mobile' => $request->input('successor_mobile'),
|
||||||
'machines_light' => $request->input('machines_light', $rahdariPoint->machines_light),
|
'machines_light' => $request->input('machines_light'),
|
||||||
'machines_sheavy' => $request->input('machines_sheavy', $rahdariPoint->machines_sheavy),
|
'machines_sheavy' => $request->input('machines_sheavy'),
|
||||||
'machines_heavy' => $request->input('machines_heavy', $rahdariPoint->machines_heavy),
|
'machines_heavy' => $request->input('machines_heavy'),
|
||||||
'lat' => $request->input('lat', $rahdariPoint->lat),
|
'lat' => $request->input('lat'),
|
||||||
'lng' => $request->input('lng', $rahdariPoint->lng),
|
'lng' => $request->input('lng'),
|
||||||
'lat_from' => $request->lat_from,
|
'lat_from' => $request->lat_from,
|
||||||
'lng_from' => $request->lng_from,
|
'lng_from' => $request->lng_from,
|
||||||
'geometry' => $request->geometry,
|
'geometry' => $request->geometry,
|
||||||
@@ -200,7 +211,6 @@ class RoadMaintenanceStationController extends Controller
|
|||||||
foreach ($uploadFields as $index => $field) {
|
foreach ($uploadFields as $index => $field) {
|
||||||
if ($request->hasFile($field)) {
|
if ($request->hasFile($field)) {
|
||||||
$existingFile = $rahdariPoint->files->get($index);
|
$existingFile = $rahdariPoint->files->get($index);
|
||||||
|
|
||||||
$path = FileFacade::save($request->$field, "road_stations/{$rahdariPoint->id}");
|
$path = FileFacade::save($request->$field, "road_stations/{$rahdariPoint->id}");
|
||||||
|
|
||||||
if ($existingFile) {
|
if ($existingFile) {
|
||||||
|
|||||||
@@ -22,6 +22,9 @@ class UpdateRequest extends FormRequest
|
|||||||
public function rules(): array
|
public function rules(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
|
'province_id' => 'required|exists:provinces,id',
|
||||||
|
'city_id' => 'required|exists:cities,id',
|
||||||
|
'name' => 'required|string|max:255',
|
||||||
'status' => 'integer|in:0,1',
|
'status' => 'integer|in:0,1',
|
||||||
'type' => 'integer|in:1,2,3',
|
'type' => 'integer|in:1,2,3',
|
||||||
'team_num' => 'numeric',
|
'team_num' => 'numeric',
|
||||||
|
|||||||
@@ -0,0 +1,40 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
return new class extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*/
|
||||||
|
public function up(): void
|
||||||
|
{
|
||||||
|
Schema::table('rahdari_point_histories', function (Blueprint $table) {
|
||||||
|
$table->after('user_id', function (Blueprint $table) {
|
||||||
|
$table->unsignedSmallInteger('previous_province_id')->nullable();
|
||||||
|
$table->string('previous_province_name')->nullable();
|
||||||
|
$table->unsignedSmallInteger('previous_city_id')->nullable();
|
||||||
|
$table->string('previous_city_name')->nullable();
|
||||||
|
$table->string('previous_name')->nullable();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*/
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
Schema::table('rahdari_point_histories', function (Blueprint $table) {
|
||||||
|
$table->dropColumn([
|
||||||
|
'previous_province_id',
|
||||||
|
'previous_province_name',
|
||||||
|
'previous_city_id',
|
||||||
|
'previous_city_name',
|
||||||
|
'previous_name',
|
||||||
|
]);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
||||||
Reference in New Issue
Block a user