Application de gestion des employés ب Laravel 8 Darija الجزء الخامس والأخير
فهاد الجزء الخامس والأخير من Application de gestion des employés ب Laravel 8 Darija غادي نزيدو الصفحات الخاصة بعرض employée و طلبات العطلة السنوية وشهادة العمل.
فالأخير غادي نزيدو Laravel Routes لي غادي يخليونا نتنقلوا ما بين الصفحات ديالنا.
نظرة سريعة بالفيديو
1- إضافة Laravel View edit
دائما فنفس dossier لي هو employes زيد fichier edit.blade.php لي فيه غادي تكون فورم تعديل employée.
الكود ديال الملف هو هذا :
//
@extends('adminlte::page')
@section('title', 'Employes Management System | Update')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="row my-5">
<div class="col-md-6 mx-auto">
@include('layouts.alert')
</div>
</div>
<div class="card my-5">
<div class="card-header bg-white text-center p-3">
<h3 class="text-dark">
Update employe
</h3>
</div>
<div class="card-body">
<form method="POST" class="mt-3" action="{{ route('employes.update',$employe->registration_number) }}" enctype="multipart/form-data">
@csrf
@method('PUT')
<div class="form-group mb-3">
<label for="fullname" class="form-label fw-bold">Full Name</label>
<input type="text" name="fullname" value="{{old("fullname",$employe->fullname)}}" placeholder="Full Name" class="form-control">
</div>
<div class="form-group mb-3">
<label class="form-label fw-bold" for="registration_number">Registration Number</label>
<input type="text" name="registration_number" value="{{old("registration_number",$employe->registration_number)}}" placeholder="Registration Number" class="form-control">
</div>
<div class="form-group mb-3">
<label class="form-label fw-bold" for="depart">Departement</label>
<input type="text" class="form-control" value="{{old("depart",$employe->depart)}}" name="depart" placeholder="Departement">
</div>
<div class="form-group mb-3">
<label class="form-label fw-bold" for="hire_date">Hiring Date</label>
<input type="date" class="form-control" value="{{old("hire_date",$employe->hire_date)}}" placeholder="Hiring Date" name="hire_date">
</div>
<div class="form-group mb-3">
<label class="form-label fw-bold" for="phone">Phone</label>
<input type="text" class="form-control" value="{{old("phone",$employe->phone)}}" placeholder="Phone" name="phone">
</div>
<div class="form-group mb-3">
<label class="form-label fw-bold" for="address">Address</label>
<input type="text" class="form-control" value="{{old("address",$employe->address)}}" placeholder="Address" name="address">
</div>
<div class="form-group mb-3">
<label class="form-label fw-bold" for="city">City</label>
<input type="text" class="form-control" value="{{old("city",$employe->city)}}" placeholder="City" name="city">
</div>
<div class="form-group row mb-0">
<div class="col-md-8">
<button type="submit" class="btn btn-primary">
{{ __('Update') }}
</button>
</div>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
@endsection
2- إضافة Laravel View show
دائما فنفس dossier لي هو employes زيد fichier show.blade.php لي فيه غادي نعرض المعلومات الخاصة ب employée.
الكود ديال الملف هو هذا :
@extends('adminlte::page')
@section('title', 'Employes Management System | '.$employe->fullname)
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card my-5">
<div class="card-header bg-white text-center p-3">
<h3 class="text-dark">
Profile : {{$employe->fullname}}
</h3>
</div>
<div class="card-body">
<div class="form-group row mb-0">
<div class="col-md-12">
<a href="{{route('work.vacation',$employe->registration_number)}}"
class="btn btn-outline-dark">
{{ __('Vacation request') }}
</a>
<a href="{{route('work.certificate',$employe->registration_number)}}"
class="btn btn-outline-danger">
{{ __('Work certificate') }}
</a>
</div>
</div>
<hr>
<div class="form-group mb-3">
<label for="fullname" class="form-label fw-bold">Full Name</label>
<div class="border border-secondary rounded p-2">
{{$employe->fullname}}
</div>
</div>
<div class="form-group mb-3">
<label for="fullname" class="form-label fw-bold">Registration Number</label>
<div class="border border-secondary rounded p-2">
{{$employe->registration_number}}
</div>
</div>
<div class="form-group mb-3">
<label for="fullname" class="form-label fw-bold">Departement</label>
<div class="border border-secondary rounded p-2">
{{$employe->depart}}
</div>
</div>
<div class="form-group mb-3">
<label for="fullname" class="form-label fw-bold">Hired Since</label>
<div class="border border-secondary rounded p-2">
{{$employe->hire_date}}
</div>
</div>
<div class="form-group mb-3">
<label for="fullname" class="form-label fw-bold">Phone</label>
<div class="border border-secondary rounded p-2">
{{$employe->phone}}
</div>
</div>
<div class="form-group mb-3">
<label for="fullname" class="form-label fw-bold">Address</label>
<div class="border border-secondary rounded p-2">
{{$employe->address}}
</div>
</div>
<div class="form-group mb-3">
<label for="fullname" class="form-label fw-bold">City</label>
<div class="border border-secondary rounded p-2">
{{$employe->city}}
</div>
</div>
</div>
</div>
</div>
</div>
</div>
@endsection
3- إضافة Laravel View certificate
دائما فنفس dossier لي هو employes زيد fichier certificate.blade.php لي فيه غادي ن générer شهادة العمل لي كيطلب ل employée.
الكود ديال الملف هو هذا :
@extends('adminlte::page')
@section('title', 'Employes Management System | '.$employe->fullname)
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card my-5">
<div class="card-header bg-white text-center p-3">
<h3 class="text-dark">
Certificate of employment
</h3>
</div>
<div class="card-body">
<p class="lead">
<b>{{$employe->fullname}}</b> :
</p>
<p class="lead">
<b>{{$employe->depart}}</b> departement.
</p>
<p class="lead">
Began on <b>{{$employe->hire_date}}</b>
</p>
<p class="lead">
Requested by <b>{{$employe->fullname}}</b> for whatever legal purpose it may serve.
</p>
<p class="lead">
Issued on <b>{{\Carbon\Carbon::today()->toDateString()}}</b> at <b>{{\Carbon\Carbon::now()->toTimeString()}}</b>
</p>
<p class="m-5">
___________
___________
</p>
<a href="#" id="printPageButton" class="btn btn-sm btn-primary mb-3" onclick="document.getElementById('printPageButton').style.display = 'none';window.print();" class="btn btn-md btn-primary mr-2 mb-2">
<i class="fas fa-print"></i>
</a>
</div>
</div>
</div>
</div>
</div>
@endsection
4- إضافة Laravel View vacation
دائما فنفس dossier لي هو employes زيد fichier vacation.blade.php لي فيه غادي ن générer شهادة العطلة السنوية لي كيطلب ل employée.
الكود ديال الملف هو هذا :
@extends('adminlte::page')
@section('title', 'Employes Management System | '.$employe->fullname)
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-8">
<div class="card my-5">
<div class="card-header bg-white text-center p-3">
<h3 class="text-dark">
Vacation Request
</h3>
</div>
<div class="card-body">
<p class="lead">
<b>{{$employe->fullname}}</b> :
</p>
<p class="lead">
<b>{{$employe->depart}}</b> departement.
</p>
<p class="lead">
Vacation starting from <b>________________</b>
</p>
<p class="lead">
And ends on <b>______________</b>
</p>
<p class="m-5">
___________
___________
</p>
<a href="#" id="printPageButton" class="btn btn-sm btn-primary mb-3" onclick="document.getElementById('printPageButton').style.display = 'none';window.print();" class="btn btn-md btn-primary mr-2 mb-2">
<i class="fas fa-print"></i>
</a>
</div>
</div>
</div>
</div>
</div>
@endsection
5- إضافة Laravel Routes
منبعد غادي تمشي ل dossier routes فل fichier web.php زيد هاد الكود :
<?php
use App\Http\Controllers\EmployesController;
use Illuminate\Support\Facades\Route;
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
return view('welcome');
});
Route::prefix('admin')->middleware('auth')->group(function () {
Route::get('/home', function () {
return view('home');
})->name('home');
Route::resource('employes', 'EmployesController');
Route::get('employes/{id}/certificate', 'EmployesController@getWorkCertificate')
->name('work.certificate');
Route::get('employes/{id}/vacation', 'EmployesController@vacationRequest')
->name('work.vacation');
});