add static azmayesh fields
This commit is contained in:
@@ -6,6 +6,8 @@ use App\Facades\DataTable\DataTableFacade;
|
|||||||
use App\Http\Controllers\Controller;
|
use App\Http\Controllers\Controller;
|
||||||
use App\Http\Traits\ApiResponse;
|
use App\Http\Traits\ApiResponse;
|
||||||
use App\Models\Azmayesh;
|
use App\Models\Azmayesh;
|
||||||
|
use App\Models\AzmayeshType;
|
||||||
|
use App\Models\Province;
|
||||||
use Illuminate\Http\JsonResponse;
|
use Illuminate\Http\JsonResponse;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
|
|
||||||
@@ -17,7 +19,17 @@ class AzmayeshController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function index(Request $request): JsonResponse
|
public function index(Request $request): JsonResponse
|
||||||
{
|
{
|
||||||
$columns = array('id', 'name');
|
$columns = array(
|
||||||
|
'id',
|
||||||
|
'request_date',
|
||||||
|
'report_date',
|
||||||
|
'request_number',
|
||||||
|
'employer',
|
||||||
|
'contractor',
|
||||||
|
'work_number',
|
||||||
|
'consultant',
|
||||||
|
'applicant',
|
||||||
|
);
|
||||||
|
|
||||||
$allowedFilters = $columns;
|
$allowedFilters = $columns;
|
||||||
$allowedSortings = $columns;
|
$allowedSortings = $columns;
|
||||||
@@ -30,15 +42,36 @@ class AzmayeshController extends Controller
|
|||||||
allowedFilters: $allowedFilters,
|
allowedFilters: $allowedFilters,
|
||||||
allowedSortings: $allowedSortings);
|
allowedSortings: $allowedSortings);
|
||||||
|
|
||||||
return $this->successResponse($data);
|
return response()->json($data);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Store a newly created resource in storage.
|
* Store a newly created resource in storage.
|
||||||
*/
|
*/
|
||||||
public function store(Request $request)
|
public function store(Request $request): JsonResponse
|
||||||
{
|
{
|
||||||
//
|
$azmayeshType = AzmayeshType::query()->find($request->azmayesh_type_id);
|
||||||
|
$province = Province::query()->find($request->province_id);
|
||||||
|
|
||||||
|
Azmayesh::query()->create([
|
||||||
|
'lat' => $request->lat,
|
||||||
|
'lng' => $request->lng,
|
||||||
|
'azmayesh_type_id' => $azmayeshType->id,
|
||||||
|
'azmayesh_type_name' => $azmayeshType->name,
|
||||||
|
'request_date' => $request->lat,
|
||||||
|
'report_date' => $request->lat,
|
||||||
|
'request_number' => $request->lat,
|
||||||
|
'employer' => $request->lat,
|
||||||
|
'contractor' => $request->lat,
|
||||||
|
'work_number' => $request->lat,
|
||||||
|
'project_name' => $request->lat,
|
||||||
|
'consultant' => $request->lat,
|
||||||
|
'applicant' => $request->lat,
|
||||||
|
'province_id' => $province->id,
|
||||||
|
'province_name' => $province->name,
|
||||||
|
]);
|
||||||
|
|
||||||
|
return $this->successResponse();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -52,9 +85,22 @@ class AzmayeshController extends Controller
|
|||||||
/**
|
/**
|
||||||
* Update the specified resource in storage.
|
* Update the specified resource in storage.
|
||||||
*/
|
*/
|
||||||
public function update(Request $request, Azmayesh $azmayesh)
|
public function update(Request $request, Azmayesh $azmayesh): JsonResponse
|
||||||
{
|
{
|
||||||
//
|
$province = Province::query()->find($request->province_id);
|
||||||
|
|
||||||
|
$azmayesh->update([
|
||||||
|
'name' => $request->name,
|
||||||
|
'username' => $request->username,
|
||||||
|
'email' => $request->email,
|
||||||
|
'phone_number' => $request->phone_number,
|
||||||
|
'national_id' => $request->national_id,
|
||||||
|
'position' => $request->position,
|
||||||
|
'province_id' => $province->id,
|
||||||
|
'province_name' => $province->name,
|
||||||
|
]);
|
||||||
|
|
||||||
|
return $this->successResponse();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ class AzmayeshTypeController extends Controller
|
|||||||
|
|
||||||
public function fields(AzmayeshType $azmayeshType): JsonResponse
|
public function fields(AzmayeshType $azmayeshType): JsonResponse
|
||||||
{
|
{
|
||||||
$fields = $azmayeshType->azmayeshFields();
|
$fields = $azmayeshType->azmayeshFields;
|
||||||
|
|
||||||
return $this->successResponse($fields);
|
return $this->successResponse($fields);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,4 +16,9 @@ class Azmayesh extends Model
|
|||||||
{
|
{
|
||||||
return $this->hasMany(AzmayeshSample::class);
|
return $this->hasMany(AzmayeshSample::class);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getRouteKeyName(): string
|
||||||
|
{
|
||||||
|
return 'id';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,4 +8,6 @@ use Illuminate\Database\Eloquent\Model;
|
|||||||
class AzmayeshSample extends Model
|
class AzmayeshSample extends Model
|
||||||
{
|
{
|
||||||
use HasFactory;
|
use HasFactory;
|
||||||
|
|
||||||
|
protected $guarded = [];
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -20,6 +20,6 @@ class AzmayeshType extends Model
|
|||||||
|
|
||||||
public function azmayeshFields(): BelongsToMany
|
public function azmayeshFields(): BelongsToMany
|
||||||
{
|
{
|
||||||
return $this->belongsToMany(AzmayeshField::class);
|
return $this->belongsToMany(AzmayeshField::class,'azmayesh_field_azmayesh_type');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
namespace Database\Factories;
|
namespace Database\Factories;
|
||||||
|
|
||||||
|
use App\Models\AzmayeshType;
|
||||||
|
use App\Models\Province;
|
||||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -17,7 +19,14 @@ class AzmayeshFactory extends Factory
|
|||||||
public function definition(): array
|
public function definition(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
//
|
'azmayesh_type_id' => AzmayeshType::factory(),
|
||||||
|
'azmayesh_type_name' => function (array $attributes) {
|
||||||
|
return AzmayeshType::query()->find($attributes['azmayesh_type_id'])->name;
|
||||||
|
},
|
||||||
|
'province_id' => Province::factory(),
|
||||||
|
'province_name' => function (array $attributes) {
|
||||||
|
return Province::query()->find($attributes['province_id'])->name;
|
||||||
|
},
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,9 @@ class AzmayeshFieldFactory extends Factory
|
|||||||
public function definition(): array
|
public function definition(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
//
|
'name' => $this->faker->name,
|
||||||
|
'unit' => $this->faker->name,
|
||||||
|
'type' => $this->faker->name,
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace Database\Factories;
|
namespace Database\Factories;
|
||||||
|
|
||||||
|
use App\Models\Azmayesh;
|
||||||
use Illuminate\Database\Eloquent\Factories\Factory;
|
use Illuminate\Database\Eloquent\Factories\Factory;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -17,7 +18,11 @@ class AzmayeshSampleFactory extends Factory
|
|||||||
public function definition(): array
|
public function definition(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
//
|
'azmayesh_id' => Azmayesh::factory(),
|
||||||
|
'azmayesh_name' => function (array $attributes) {
|
||||||
|
return Azmayesh::query()->find($attributes['azmayesh_id'])->name;
|
||||||
|
},
|
||||||
|
'data' => json_encode(['test']),
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ class AzmayeshTypeFactory extends Factory
|
|||||||
public function definition(): array
|
public function definition(): array
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
//
|
'name' => $this->faker->name
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -17,8 +17,18 @@ return new class extends Migration
|
|||||||
$table->string('azmayesh_type_name');
|
$table->string('azmayesh_type_name');
|
||||||
$table->string('lat');
|
$table->string('lat');
|
||||||
$table->string('lng');
|
$table->string('lng');
|
||||||
$table->foreignId('province_id')->constrained('provinces');
|
$table->unsignedTinyInteger('province_id');
|
||||||
|
$table->foreign('province_id')->references('id')->on('provinces');
|
||||||
$table->string('province_name');
|
$table->string('province_name');
|
||||||
|
$table->date('request_date');
|
||||||
|
$table->date('report_date');
|
||||||
|
$table->integer('request_number');
|
||||||
|
$table->string('employer');
|
||||||
|
$table->string('contractor');
|
||||||
|
$table->integer('work_number');
|
||||||
|
$table->string('project_name');
|
||||||
|
$table->string('consultant');
|
||||||
|
$table->string('applicant');
|
||||||
$table->timestamps();
|
$table->timestamps();
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,13 +16,41 @@ class AzmayeshSeeder extends Seeder
|
|||||||
DB::table('azmayeshes')->insert([
|
DB::table('azmayeshes')->insert([
|
||||||
[
|
[
|
||||||
'id' => 1,
|
'id' => 1,
|
||||||
'name' => '',
|
'lat' => '13.45',
|
||||||
|
'lng' => '11.85',
|
||||||
|
'azmayesh_type_id' => 1,
|
||||||
|
'azmayesh_type_name' => 'test',
|
||||||
|
'province_id' => 11,
|
||||||
|
'province_name' => 'test',
|
||||||
|
'request_date' => '1403-07-04',
|
||||||
|
'report_date' => '1403-07-05',
|
||||||
|
'request_number' => 0,
|
||||||
|
'employer' => 'test',
|
||||||
|
'contractor' => 'test',
|
||||||
|
'work_number' => 0,
|
||||||
|
'project_name' => 'test',
|
||||||
|
'consultant' => 'test',
|
||||||
|
'applicant' => 'test',
|
||||||
'created_at' => now(),
|
'created_at' => now(),
|
||||||
'updated_at' => now()
|
'updated_at' => now()
|
||||||
],
|
],
|
||||||
[
|
[
|
||||||
'id' => 2,
|
'id' => 2,
|
||||||
'name' => '',
|
'lat' => '13.45',
|
||||||
|
'lng' => '11.85',
|
||||||
|
'azmayesh_type_id' => 1,
|
||||||
|
'azmayesh_type_name' => 'test',
|
||||||
|
'province_id' => 11,
|
||||||
|
'province_name' => 'test',
|
||||||
|
'request_date' => '1403-07-04',
|
||||||
|
'report_date' => '1403-07-05',
|
||||||
|
'request_number' => '0',
|
||||||
|
'employer' => 'test',
|
||||||
|
'contractor' => 'test',
|
||||||
|
'work_number' => '0',
|
||||||
|
'project_name' => 'test',
|
||||||
|
'consultant' => 'test',
|
||||||
|
'applicant' => 'test',
|
||||||
'created_at' => now(),
|
'created_at' => now(),
|
||||||
'updated_at' => now()
|
'updated_at' => now()
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
use App\Http\Controllers\V3\Azmayesh\AzmayeshController;
|
use App\Http\Controllers\V3\Azmayesh\AzmayeshController;
|
||||||
|
use App\Http\Controllers\V3\Azmayesh\AzmayeshTypeController;
|
||||||
use App\Http\Controllers\V3\Harim\DivarkeshiController;
|
use App\Http\Controllers\V3\Harim\DivarkeshiController;
|
||||||
use App\Http\Controllers\V3\ProfileController;
|
use App\Http\Controllers\V3\ProfileController;
|
||||||
use Illuminate\Support\Facades\Route;
|
use Illuminate\Support\Facades\Route;
|
||||||
@@ -34,10 +35,21 @@ Route::prefix('profile')
|
|||||||
Route::post('change_password', 'changePassword')->name('changePassword');
|
Route::post('change_password', 'changePassword')->name('changePassword');
|
||||||
});
|
});
|
||||||
|
|
||||||
Route::prefix('azmayesh')
|
Route::prefix('azmayesh_types')
|
||||||
->name('azmayesh.')
|
->name('azmayesh_types')
|
||||||
|
->controller(AzmayeshTypeController::class)
|
||||||
|
->group(function () {
|
||||||
|
Route::get('/', 'index')->name('index');
|
||||||
|
Route::get('/fields/{azmayeshType}', 'fields')->name('fields');
|
||||||
|
});
|
||||||
|
|
||||||
|
Route::prefix('azmayeshes')
|
||||||
|
->name('azmayeshes.')
|
||||||
->controller(AzmayeshController::class)
|
->controller(AzmayeshController::class)
|
||||||
->group(function () {
|
->group(function () {
|
||||||
Route::get('/', 'index')->name('index');
|
Route::get('/', 'index')->name('index');
|
||||||
Route::get('/fields', 'fields')->name('fields');
|
Route::get('/{azmayesh}', 'show')->name('show');
|
||||||
|
Route::post('/store', 'store')->name('store');
|
||||||
|
Route::post('/update/{azmayesh}', 'update')->name('update');
|
||||||
|
Route::post('/delete/{azmayesh}', 'delete')->name('delete');
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user