اذهب إلى المحتوى

السؤال

نشر

السلام عليكم ممكن حل مشكلة لم يتم تخزين بيانات  Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException vendor\laravel\framework\src\Illuminate\Routing\AbstractRouteCollection.php:130 The POST method is not supported for route people/create. Supported methods: GET, HEAD, PUT, PATCH, DELETE.

<?php

namespace App\Http\Controllers;

use App\Models\People;
use Illuminate\Support\Facades\DB;

use App\Models\Specialty;
use App\Models\Staffing;
use App\Models\subSection;
use Illuminate\Http\Request;
use Illuminate\Support\Carbon;

class PeopleController extends Controller
{
    /**
     * Display a listing of the resource.
     */
    public function index()
    {

    }

    /**
     * Show the form for creating a new resource.
     */
    public function create()
    {
$sub_sections = subSection::whereNull('parent_id')->get();
$staffings= Staffing::all();
$specialties= Specialty::all();
              return view('admin.people.create',compact('sub_sections','staffings','specialties'));

    }

    /**
     * Store a newly created resource in storage.
     */
    public function store(Request $request)
    {
      DB::beginTransaction();
        try {
  $person = new People();
          
    $person->name = $request->name;
    $person->N_id = $request->N_id;
    $person->email = $request->email;
    $person->phone = $request->phone;
    $person->country = $request->country;
    $person->city = $request->city;
    $person->street_address = $request->street_address;
    $person->gender = $request->gender;
    $person->marital_status = $request->marital_status;
     if ($request->filled('birth_date')) {
        
        $person->birth_date = Carbon::parse($request->birth_date)->toDateString();
    }
                $person->save();
         

      DB::commit();
            return redirect()->back()->with('success', 'تــمــت إضــافــة مــوظــف بــنــجــاح');
              } 
              catch (\Exception $e) 
              {
            DB::rollback();
    dd($e->getMessage()); // يعرض رسالة الخطأ الحقيقية
        }
    }
    public function show(string $id)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     */
    public function edit(string $id)
    {
        //
    }

    /**
     * Update the specified resource in storage.
     */
    public function update(Request $request, string $id)
    {
        //
    }

    /**
     * Remove the specified resource from storage.
     */
    public function destroy(string $id)
    {
        //
    }
}
<?php

use App\Http\Controllers\BanksController;
use App\Http\Controllers\PeopleController;
use App\Http\Controllers\SpecialtyController;
use App\Http\Controllers\StaffingController;
use App\Http\Controllers\subSectionController;
use Illuminate\Support\Facades\Route;

Route::get('/', function () {
    return view('admin.dashboard');
})->name('home');



Route::resource('staffings', StaffingController::class);
Route::resource('specialties', SpecialtyController::class);
Route::resource('banks',BanksController::class);
Route::resource('subsections',subSectionController::class);
Route::resource('people',PeopleController::class);
@extends('theme.default')

@section('heading')
إضافة موظف جديد
@endsection

@section('content')
<div class="row justify-content-center">
    @if(session('success'))
    <div class="alert alert-success text-center">
        {{ session('success') }}
    </div>
@endif
    <div class="card mb-4 col-md-10">
        <div class="card-header text-right">
            أضف موظف جديد    
        </div>
        <div class="card-body">
<form action="{{ route('people.store') }}" method="POST" enctype="multipart/form-data">                    @csrf

     <div class="card">
                            <div class="card-body">
                                <h4 class="card-title">الـبـيـانـات الـشـخـصـيـة</h4>

                                <!-- <p class="card-title-desc">Fill all information below</p> -->

                                <div class="row mt-3">
                                    <div class="col-sm-4">
                                        <div class="mb-3">
                                            <label for="fullname">اســم الــموظــف *</label>
                                            <input id="fullname" name="name" type="text" class="form-control"
                                                onkeyup="name_validation()" placeholder="اسم الموظف" required
                                                value="{{ old('name') }}"
                                                oninvalid="this.setCustomValidity('الرجاء ادخال اسم الموظف')"
                                                oninput="this.setCustomValidity('')">
                                            <span id="Name_text"></span>
                                        </div>
                                    </div>

                                    <div class="col-sm-4" id="Libyan1">
                                        <div class="mb-3">
                                            <label for="email">الرقــم الوطــني *</label>
                                            <input id="N_id" name="N_id" min="12" max="12"
                                                type="text" onkeyup="N_id_validation()" class="form-control"
                                                placeholder="الرقم الوطني" required
                                              
                                            <span id="text_N_id"></span>
                                        </div>
                                    </div>

                                    <div class="col-sm-4" style="display: none;" id="notLibyan1">
                                        <div class="mb-3">
                                            <label for="email">رقم الإقامة او الجواز لغير الليبين *</label>
                                            <input id="non_citizen_ref_no" name="non_citizen_ref_no"
                                                type="text" class="form-control"
                                                placeholder="رقم الإقامة او الجواز لغير الليبين "
                                                oninvalid="this.setCustomValidity('الرجاء ادخال رقم الإقامة او الجواز لغير الليبين ')"
                                                oninput="this.setCustomValidity('')">
                                            <span id=""></span>
                                        </div>
                                    </div>

                                    <div class="col-sm-4">
                                        <div class="mb-3">
                                            <label for="email">البــريــد الإلـكـترونـي (إختياري) </label>
                                            <input id="email" name="email" type="email" class="form-control"
                                            value="{{ old('email') }}"
                                                placeholder="البريد الالكتروني (إختياري)">
                                            <span id="text"></span>
                                        </div>
                                    </div>


                                    <div class="col-12">
                                        <div class="mb-3">
                                            <label>
                                                <input type="checkbox" id="countryToggle" onchange="notLibyan()">
                                                أجـنـبـي الـجـنـسـيـة
                                            </label>
                                        </div>
                                    </div>

                                    <div class="col-sm-4">
                                        <div class="mb-3">
                                            <label for="email">رقــم الـهـاتـف (إختياري) </label>
                                            <input id="phone" name="phone" type="text" class="form-control"value="{{ old('phone') }}"
                                                placeholder="رقــم الـهـاتـف (إختياري)">
                                            <span id="text"></span>
                                        </div>
                                    </div>

                                    <div class="col-sm-4">
                                        <div class="mb-3">
                                            <label for="email">تاريــخ الـمـيـلاد *</label>
                                            <input id="birthDate" name="birth_date" type="text" class="form-control"
                                                oninput="dateValidation(this)" placeholder="YYYY-MM-DD" required
                                                value="{{ old('birth_date') }}"
                                                oninvalid="this.setCustomValidity('الرجاء إدخال تاريخ الـمـيـلاد بالتنسيق YYYY-MM-DD')"
                                                oninput="this.setCustomValidity('')">
                                            <span id="startD_text"></span>
                                        </div>
                                    </div>

                                    <div class="col-sm-4 mb-3">
                                        <label class="control-label">الـجـنـس</label>
                                        <select name="gender" class="form-control" required
                                         
                                            <option selected disabled>اختيار الجنس</option>
                                            <option value="ذكر" selected>ذكر</option>
                                            <option value="انثي">انثي</option>
                                        </select>
                                    </div>
                                    <div class="col-sm-4 mb-3">
                                        <label class="control-label">الحالة الاجتماعية</label>
                                        <select name="marital_status" class="form-control" required
                                         
                                            <option value="أعزب" selected>أعزب</option>
                                            <option value="متزوج">متزوج</option>
                                            <option value="مطلق">مطلق</option>
                                            <option value="أرمل">أرمل</option>
                                        </select>
                                    </div>

                                    <div class="col-sm-4">
                                        <div class="mb-3">
                                            <label for="email">الـبـلـد *</label>
                                            <input id="country" name="country" require
                                                type="text" class="form-control" value="ليبيا"
                                                placeholder="الـبـلـد" required
                                                oninvalid="this.setCustomValidity('الرجاء ادخال البلد')"
                                                oninput="this.setCustomValidity('')">
                                            <span id=""></span>
                                        </div>
                                    </div>

                                    <div class="col-sm-4">
                                        <div class="mb-3">
                                            <label for="email">الـمـديـنـة *</label>
                                            <input id="city" name="city" require
                                                type="text" class="form-control" value="طرابلس"
                                                placeholder="الـمـديـنـة" required
                                         
                                            <span id=""></span>
                                        </div>
                                    </div>

                                    <div class="col-sm-4">
                                        <div class="mb-3">
                                            <label for="email">الـمـنـطـقـة (إختياري) </label>
                                            <input id="street_address" name="street_address" require
                                                type="text" class="form-control"value="{{ old('street_address') }}"
                                                placeholder="الـمـنـطـقـة">
                                            <span id=""></span>
                                        </div>
                                    </div>


                                    <div class="col-sm-4">
                                        <div class="mb-3">
                                            <label for="email">صـورة الـمـوظـف (إختياري) </label>
                                            <input name="image" type="file" class="form-control">
                                        </div>
                                    </div>
                                </div>
                                <br>
                            </div>
                        </div>


                        <div class="card">
                            <div class="card-body">
                                <h4 class="card-title">الـبـيـانـات الـوظـيـفـيـة</h4>
                                <div class="row mt-3">

                                  <div class="col-sm-4 mb-3">
    <label class="control-label">
        الإدارة * 
        <span><i class="fa fa-caret-down" aria-hidden="true"></i></span>
    </label>
    <br>
    <select name="section_id" style="width: 100%;" class="form-control js-example-basic-single">
        <option value="">اختر الإدارة</option> <!-- placeholder اختياري -->
        @foreach ($sub_sections as $section)
            <option value="{{ $section->id }}">{{ $section->name }}</option>
        @endforeach
    </select>
</div>

                                    <div class="col-sm-4 mb-3">
                                        <label class="control-label">نـوع الـتـوظـيـف</label>
                                        <select name="type" id="select_type" class="form-control" required
                                            oninvalid="this.setCustomValidity('الرجاء اختيار نوع التوظيف')"
                                            oninput="this.setCustomValidity('')">
                                            <option value="عقد">عقد</option>
                                            <option value="تعيين" selected>تعيين</option>
                                            <option value="إعارة">إعارة</option>
                                            <option value="ندب">ندب</option>
                                        </select>
                                    </div>

                                    <div class="col-sm-4">
                                        <div class="mb-3">
                                            <label for="email">رقــم القــرار</label>
                                            <input id="dNumber" name="res_num" type="number" value="{{ old('res_num') }}" placeholder="رقم القرار"
                                                class="form-control">
                                        </div>
                                    </div>

                                    <div class="col-sm-4 mb-3">
                                        <label class="control-label">الـمـلاك الـوظـيـفـي <span><i
                                                    class="fa fa-caret-down" aria-hidden="true"></i></span> </label>
                                        <select name="section_id" style="width: 100%;" class="form-control js-example-basic-single">
        <option value="">اختر الملاك الوظيفي</option> <!-- placeholder اختياري -->
        @foreach ($staffings as $staffing)
            <option value="{{ $staffing->id }}">{{ $staffing->name }}</option>
        @endforeach
    </select>
                                    </div>

                                    <div class="col-sm-4">
                                        <div class="mb-3">
                                            <label for="email">تاريــخ المبــاشرة *</label>
                                            <input id="startDate" name="start_date" type="text" class="form-control"
                                                oninput="dateValidation(this)" placeholder="YYYY-MM-DD"  value="{{ old('start_date') }}"
                                                oninvalid="this.setCustomValidity('الرجاء إدخال تاريخ المباشرة بالتنسيق YYYY-MM-DD')"
                                                oninput="this.setCustomValidity('')">
                                            {{-- <input id="startDate" name="start_date" type="date" class="form-control" oninput="startDate_validation()" placeholder="تاريخ المباشرة" required oninvalid="this.setCustomValidity('الرجاء ادخال تاريخ المباشرة')" oninput="this.setCustomValidity('')"> --}}
                                            <span id="startD_text"></span>
                                        </div>
                                    </div>

                                    <div class="col-sm-4">
                                        <div class="mb-3">
                                            <label for="email">الدرجــة الحــالية</label>
                                            <input id="score" name="degree" type="number" min="1" value="{{ old('degree') }}" 
                                            oninvalid="this.setCustomValidity('الرجاء ادخال الدرجة الوظيفية')"
                                            oninput="this.setCustomValidity('')"
                                                max="15" placeholder="الدرجة الوظيفية" class="form-control">
                                        </div>
                                    </div>

                                    <div class="col-sm-4 mb-3">
                                        <label class="control-label">حـالـة الـمـوظـف</label>
                                        <select name="status" class="form-control" 
                                            oninvalid="this.setCustomValidity('الرجاء تحديد حـالـة الـمـوظـف')"
                                            oninput="this.setCustomValidity('')">
                                            <option value="يعمل" selected>يعمل</option>
                                            <option value="مستقيل">مستقيل</option>
                                            <option value="متقاعد">متقاعد</option>
                                            <option value="منتقل">منتقل</option>
                                            <option value="منقطع">منقطع</option>
                                            <option value="موقوف">موقوف</option>
                                            <option value="مفصول">مفصول</option>
                                        </select>
                                    </div>

                                    <div class="col-sm-4">
                                        <div class="mb-3">
                                            <label for="email">تاريخ الحصول علي الدرجة الحالية (إختياري)</label>
                                            <input id="lastdeal" name="degree_date" value="{{ old('degree_date') }}" oninput="dateValidation(this)"
                                                placeholder="YYYY-MM-DD" type="text" class="form-control">
                                        </div>
                                    </div>

                                    <div class="col-sm-4">
                                        <div class="mb-3">
                                            <label for="email">تاريخ استحقاق العلاوة القادمة (إختياري)</label>
                                            <input name="futureBonus" oninput="dateValidation(this)" value="{{ old('futureBonus') }}"
                                                placeholder="YYYY-MM-DD" type="text" class="form-control">
                                        </div>
                                    </div>

                                    <div class="col-sm-4">
                                        <div class="mb-3">
                                            <label for="email">تاريخ استحقاق الترقية القادمة (إختياري)</label>
                                            <input name="futurepromotion" oninput="dateValidation(this)" value="{{ old('futurepromotion') }}"
                                                placeholder="YYYY-MM-DD" type="text" class="form-control">
                                        </div>
                                    </div>
                                </div>
                                <br>
                            </div>
                        </div>


                        <div class="card" id="showNdb" style="display: none;">
                            <div class="card-body">
                                <h4 class="card-title" id="titlee22">بـيـانـات نـدب/إعـارة الـمـوظـفـ</h4>
                                <!-- <p class="card-title-desc">Fill all information below</p> -->
                                <div class="row mt-3">

                                    <div class="col-sm-4">
                                        <div class="mb-3">
                                            <label for="email">رقــم قـرار الـنـدب/إعـارة</label>
                                            <input id="ndb_transfer_decision" name="ndb_transfer_decision" type="text" placeholder="رقـم  قـرار الـنـدب/إعـارة"
                                                class="form-control" value="{{ old('ndb_transfer_decision') }}"
                                                oninvalid="this.setCustomValidity('الرجاء إدخال رقم  قرار الـنـدب/إعـارة')"
                                                oninput="this.setCustomValidity('')">
                                        </div>
                                    </div>

                                    <div class="col-sm-4">
                                        <div class="mb-3">
                                            <label for="ndb_start">تـاريـخ بـدايـة الـنـدب/إعـارة</label>
                                            <input id="ndb_start" name="ndb_start" oninput="dateValidation(this)"
                                                placeholder="YYYY-MM-DD" type="text" class="form-control" value="{{ old('ndb_start') }}"
                                                oninvalid="this.setCustomValidity('الرجاء إدخال تاريخ بداية الـنـدب/إعـارة')"
                                                oninput="this.setCustomValidity('')">
                                        </div>
                                    </div>

                                    <div class="col-sm-4">
                                        <div class="mb-3">
                                            <label for="ndb_end">تـاريـخ نـهايـة الـنـدب/إعـارة</label>
                                            <input id="ndb_end" name="ndb_end" oninput="dateValidation(this)"
                                                placeholder="YYYY-MM-DD" type="text" class="form-control" value="{{ old('ndb_end') }}"
                                                oninvalid="this.setCustomValidity('الرجاء إدخال تاريخ نهاية الـنـدب/إعـارة')"
                                                oninput="this.setCustomValidity('')">
                                        </div>
                                    </div>

                                    <div class="col-sm-4">
                                        <div class="mb-3">
                                            <label for="dec_source">مـصـدر الـقـرار</label>
                                            <input id="dec_source" name="dec_source" type="text" placeholder="مصدر القرار"
                                                class="form-control" value="{{ old('dec_source') }}"
                                                oninvalid="this.setCustomValidity('الرجاء إدخال مصدر القرار')"
                                                oninput="this.setCustomValidity('')">
                                        </div>
                                    </div>

                                    <div class="col-sm-4">
                                        <div class="mb-3">
                                            <label for="dec_constraints">قـيـود الـقـرار</label>
                                            <input id="dec_constraints" name="dec_constraints" value="{{ old('dec_constraints') }}" type="text" placeholder="قيود القرار"
                                                class="form-control">
                                        </div>
                                    </div>

                                    <div class="col-sm-4">
                                        <div class="mb-3">
                                            <label for="ndb_workplace">مـكـان الـعـمـل الـمـنـتـدب او الـمـعـار مـنـه</label>
                                            <input id="ndb_workplace" name="ndb_workplace" value="{{ old('ndb_workplace') }}" type="text" placeholder="مكان العمل"
                                                class="form-control">
                                        </div>
                                    </div>

                                    <div class="col-sm-4">
                                        <div class="mb-3">
                                            <label for="email">صـورة من القرار (إختياري) </label>
                                            <input name="files[]" type="file" class="form-control" multiple>
                                        </div>
                                    </div>

                                </div>
                                <br>
                            </div>
                        </div>


                        <div class="card">
                            <div class="card-body">
                                <h4 class="card-title">بـيـانـات الـمـؤهـل الـعـلـمـي</h4>
                                <!-- <p class="card-title-desc">Fill all information below</p> -->
                                <div class="row mt-3">
                                    <div class="col-sm-4 mb-3">
                                        <label class="control-label">المؤهــل في القرار</label>
                                        <select name="qualification" class="form-control" required
                                            oninvalid="this.setCustomValidity('الرجاء ادخال المؤهل في القرار')"
                                            oninput="this.setCustomValidity('')">
                                            <option selected disabled>اختيار المؤهــل العلمي</option>
                                            <option value="اعدادي">اعدادي</option>
                                            <option value="ثانوي">ثانوي</option>
                                            <option value="دبلوم متوسط">دبلوم متوسط</option>
                                            <option value="دبلوم عالي">دبلوم عالي</option>
                                            <option value="بكالوريوس" selected>بكالوريوس</option>
                                            <option value="ماجستير">ماجستير</option>
                                            <option value="دكتوراة">دكتوراة</option>
                                        </select>
                                    </div>
                                    <div class="col-sm-4 mb-3">
                                        <label class="control-label">التــخــصص <span><i class="fa fa-caret-down"
                                                    aria-hidden="true"></i></span> </label>
                                        <select name="specialty_id" style="width: 100%;" class="form-control js-example-basic-single"
                                         
                                          
                                            <option value="">اختر التخصص </option> <!-- placeholder اختياري -->
        @foreach ($specialties as $specialtie)
            <option value="{{ $specialtie->id }}">{{ $specialtie->name }}</option>
        @endforeach
                                        </select>
                                    </div>
                                    <div class="col-sm-4">
                                        <div class="mb-3">
                                            <label for="email">تاريــخ الاستــحقاق</label>
                                            <input id="earnDate" name="due" value="{{ old('due') }}" type="text" class="form-control"
                                                oninput="dateValidation(this)" placeholder="YYYY-MM-DD">
                                        </div>
                                    </div>
                                    <div class="col-sm-4">
                                        <div class="mb-3">
                                            <label for="email">التــسلسل</label>
                                            <input id="sequince" name="seq" value="{{ old('seq') }}" type="text" placeholder="التسلسل"
                                                class="form-control">
                                        </div>
                                    </div>
                                </div>
                                <br>
                            </div>
                        </div>

                        <div class="card">
                            <div class="card-body">
                                <h4 class="card-title">الـبـيـانـات الـمـصـرفـيـة</h4>

                                <!-- <p class="card-title-desc">Fill all information below</p> -->

                                <div class="row mt-3">

                                    <div class="col-sm-4 mb-3">
                                        <label class="control-label">المـصـرف <span><i class="fa fa-caret-down"
                                                    aria-hidden="true"></i></span></label>
                                        <select name="bank_id" style="width: 100%;" class="form-control js-example-basic-single"
                                            multiple="multiple"
                                            onchange="if (this.value === 'new') window.location.href = '';"
                                            id="" lang="ar">
                                           
                                            <option value="new">+ اضافة مصرف جديد</option>
                                        </select>
                                    </div>

                                    <div class="col-sm-4">
                                        <div class="mb-3">
                                            <label for="email">فرع المصرف</label>
                                            <input id="branch" name="branch" value="{{ old('branch') }}"  type="text" placeholder="فرع المصرف"
                                                class="form-control">
                                        </div>
                                    </div>

                                    <div class="col-sm-4">
                                        <div class="mb-3">
                                            <label for="email">رقم الحساب</label>
                                            <input id="numericInput" value="{{ old('account_num') }}" oninput="validateInput()" name="account_num"
                                                type="text" placeholder="رقم الحساب" class="form-control">
                                        </div>
                                    </div>

                                </div>

                                <br>

                                <div class="d-flex flex-wrap gap-2">
                                    <button type="submit" onclick="last_validation()" class="btn btn-success waves-effect waves-light">حـفـظ</button>
                                    <!-- <button type="button" class="btn btn-secondary waves-effect waves-light">Cancel</button> -->
                                </div>

                            </div>
                        </div>


                                  


                               
                                  

                                   


                                  

                              


                                   
   
          

            </form>
        </div>
    </div>
</div>
@endsection

@section('script')
    
@endSection
<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class People extends Model
{
     protected $fillable = [
        'name',
        'N_id',
        'non_citizen_ref_no',
        'birth_date',
        // 'country',
        // 'city',
        'street_address',
        'gender',
        'marital_status',
        'email',
        'phone',
        // 'image',
        // 'enabled',
        // 'deleted_at'
    ];
}

 

Recommended Posts

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...