Compare commits

..

4 Commits

Author SHA1 Message Date
e0fe321cb7 Merge branch 'main' of http://bibgit.com/dharmaraj/New-OMIS into omis_dharma 2024-04-10 15:22:33 +05:45
3267e212f7 module updated 2024-04-10 15:21:30 +05:45
b5c603ceec employee crud 2024-04-10 15:15:24 +05:45
d92366b1f4 employee setup 2024-04-10 11:40:07 +05:45
84 changed files with 1817 additions and 2004 deletions

View File

@ -3,18 +3,25 @@
namespace Modules\Employee\Http\Controllers; namespace Modules\Employee\Http\Controllers;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Models\Role;
use Carbon\Carbon;
use Illuminate\Http\RedirectResponse; use Illuminate\Http\RedirectResponse;
use Illuminate\Http\Request; use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use Modules\Employee\Repositories\EmployeeInterface; use Modules\Employee\Repositories\EmployeeInterface;
use Modules\User\Repositories\UserInterface;
class EmployeeController extends Controller class EmployeeController extends Controller
{ {
private EmployeeInterface $employeeRepository; private $employeeRepository;
private $userRepository;
public function __construct(EmployeeInterface $employeeRepository) public function __construct(EmployeeInterface $employeeRepository, UserInterface $userRepository)
{ {
$this->employeeRepository = $employeeRepository; $this->employeeRepository = $employeeRepository;
$this->userRepository = $userRepository;
} }
/** /**
* Display a listing of the resource. * Display a listing of the resource.
@ -22,6 +29,8 @@ class EmployeeController extends Controller
public function index() public function index()
{ {
$data['employees'] = $this->employeeRepository->findAll(); $data['employees'] = $this->employeeRepository->findAll();
$data['roleLists'] = Role::pluck('name', 'id');
// dd($data['employees']->toArray());
return view('employee::index', $data); return view('employee::index', $data);
} }
@ -31,6 +40,11 @@ class EmployeeController extends Controller
public function create() public function create()
{ {
$data['title'] = 'Create Employee'; $data['title'] = 'Create Employee';
$data['departmentList'] = [];
$data['designationList'] = [];
$data['genderList'] = [];
$data['nationalityList'] = [];
return view('employee::create', $data); return view('employee::create', $data);
} }
@ -39,22 +53,20 @@ class EmployeeController extends Controller
*/ */
public function store(Request $request) public function store(Request $request)
{ {
$inputData = $request->only(['first_name', 'last_name']); $inputData = $request->all();
// try { try {
if ($request->hasFile('profile_pic')) { if ($request->hasFile('profile_pic')) {
$fileName = time() . '_' . $request->profile_pic->getClientOriginalName(); $fileName = time() . '_' . $request->profile_pic->getClientOriginalName();
$filePath = $request->file('profile_pic')->storeAs('uploads', $fileName, 'public'); $filePath = $request->file('profile_pic')->storeAs('uploads', $fileName, 'public');
$inputData['profile_picture'] = time() . '_' . $request->profile_pic->getClientOriginalName(); $inputData['profile_picture'] = time() . '_' . $request->profile_pic->getClientOriginalName();
// $fileModel->file_path = '/storage/' . $filePath; }
// $fileModel->save();
$this->employeeRepository->create($inputData);
toastr()->success('Employee Created Succesfully');
} catch (\Throwable $th) {
toastr()->error($th->getMessage());
} }
$this->employeeRepository->create($inputData);
toastr()->success('Employee Created Succesfully');
// } catch (\Throwable $th) {
// toastr()->error($th->getMessage());
// }
return redirect()->route('employee.index'); return redirect()->route('employee.index');
} }
@ -63,8 +75,8 @@ class EmployeeController extends Controller
*/ */
public function show($id) public function show($id)
{ {
$data['employee'] = $this->employeeRepository->getEmployeeById($id);
return view('employee::show'); return view('employee::show', $data);
} }
/** /**
@ -82,20 +94,20 @@ class EmployeeController extends Controller
*/ */
public function update(Request $request, $id): RedirectResponse public function update(Request $request, $id): RedirectResponse
{ {
$inputData = $request->only(['first_name', 'last_name']); $inputData = $request->except(['_method', '_token']);
// try { try {
if ($request->hasFile('profile_pic')) { if ($request->hasFile('profile_pic')) {
$fileName = time() . '_' . $request->profile_pic->getClientOriginalName(); $fileName = time() . '_' . $request->profile_pic->getClientOriginalName();
$filePath = $request->file('profile_pic')->storeAs('uploads', $fileName, 'public'); $filePath = $request->file('profile_pic')->storeAs('uploads', $fileName, 'public');
$inputData['profile_picture'] = time() . '_' . $request->profile_pic->getClientOriginalName(); $inputData['profile_picture'] = time() . '_' . $request->profile_pic->getClientOriginalName();
}
$this->employeeRepository->update($id, $inputData);
toastr()->success('Employee Created Succesfully');
} catch (\Throwable $th) {
toastr()->error($th->getMessage());
} }
$this->employeeRepository->update($id, $inputData);
toastr()->success('Employee Created Succesfully');
// } catch (\Throwable $th) {
// toastr()->error($th->getMessage());
// }
return redirect()->route('employee.index'); return redirect()->route('employee.index');
} }
@ -104,6 +116,41 @@ class EmployeeController extends Controller
*/ */
public function destroy($id) public function destroy($id)
{ {
// try {
$employeeModel = $this->employeeRepository->getEmployeeById($id);
$employeeModel->user->roles()->detach();
$employeeModel->user->delete();
$employeeModel->delete();
toastr()->success('Employee Delete Succesfully');
} catch (\Throwable $th) {
toastr()->error($th->getMessage());
}
return redirect()->route('employee.index');
} }
public function assignRole(Request $request)
{
try {
$employeeModel = $this->employeeRepository->getEmployeeByEmail($request->email);
$inputData = [
'name' => $employeeModel->first_name . ' ' . $employeeModel->last_name,
'email' => $request->email,
'password' => Hash::make('password'),
'email_verified_at' => Carbon::now(),
];
$userModel = $this->userRepository->create($inputData, [$request->role_id]);
$employeeModel->users_id = $userModel->id;
$employeeModel->save();
toastr()->success('Role Assigned Succesfully');
} catch (\Throwable $th) {
toastr()->error($th->getMessage());
}
return redirect()->route('employee.index');
}
} }

View File

@ -2,6 +2,7 @@
namespace Modules\Employee\Models; namespace Modules\Employee\Models;
use App\Models\User;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
class Employee extends Model class Employee extends Model
@ -10,4 +11,8 @@ class Employee extends Model
protected $primaryKey = 'id'; protected $primaryKey = 'id';
protected $guarded = []; protected $guarded = [];
public function user()
{
return $this->belongsTo(User::class, 'users_id');
}
} }

View File

@ -6,6 +6,7 @@ interface EmployeeInterface
{ {
public function findAll(); public function findAll();
public function getEmployeeById($employeeId); public function getEmployeeById($employeeId);
public function getEmployeeByEmail($email);
public function delete($employeeId); public function delete($employeeId);
public function create($EmployeeDetails); public function create($EmployeeDetails);
public function update($employeeId, array $newDetails); public function update($employeeId, array $newDetails);

View File

@ -8,7 +8,7 @@ class EmployeeRepository implements EmployeeInterface
{ {
public function findAll() public function findAll()
{ {
return Employee::get(); return Employee::with('user.roles')->paginate(20);
} }
public function getEmployeeById($employeeId) public function getEmployeeById($employeeId)
@ -16,6 +16,11 @@ class EmployeeRepository implements EmployeeInterface
return Employee::findOrFail($employeeId); return Employee::findOrFail($employeeId);
} }
public function getEmployeeByEmail($email)
{
return Employee::where('email', $email)->first();
}
public function delete($employeeId) public function delete($employeeId)
{ {
Employee::destroy($employeeId); Employee::destroy($employeeId);
@ -23,7 +28,6 @@ class EmployeeRepository implements EmployeeInterface
public function create($employeeDetails) public function create($employeeDetails)
{ {
// dd($employeeDetails);
return Employee::create($employeeDetails); return Employee::create($employeeDetails);
} }

View File

@ -17,36 +17,23 @@ return new class extends Migration
$table->string('middle_name')->nullable(); $table->string('middle_name')->nullable();
$table->string('last_name')->nullable(); $table->string('last_name')->nullable();
$table->string('email')->nullable(); $table->string('email')->nullable();
$table->unsignedBigInteger('genders_id')->nullable();
$table->date('nepali_dob')->nullable(); $table->date('nepali_dob')->nullable();
$table->date('dob')->nullable(); $table->date('dob')->nullable();
$table->unsignedBigInteger('nationalities_id')->nullable();
$table->text('about_me')->nullable();
$table->string('signature')->nullable(); $table->string('signature')->nullable();
$table->string('father_name')->nullable(); $table->string('father_name')->nullable();
$table->string('mother_name')->nullable();
$table->string('grand_father_name')->nullable();
$table->string('grand_mother_name')->nullable();
$table->string('spouse')->nullable();
$table->string('contact')->nullable(); $table->string('contact')->nullable();
$table->string('alt_contact')->nullable();
$table->string('profile_picture')->nullable(); $table->string('profile_picture')->nullable();
$table->unsignedBigInteger('genders_id')->nullable();
$table->unsignedBigInteger('nationalities_id')->nullable();
$table->unsignedBigInteger('users_id')->nullable(); $table->unsignedBigInteger('users_id')->nullable();
$table->text('skills')->nullable(); $table->integer('is_user_assigned')->nullable()->default(10);
$table->text('experience')->nullable(); $table->unsignedBigInteger('organization_id')->nullable();
$table->unsignedBigInteger('department_id')->nullable();
$table->unsignedBigInteger('designation_id')->nullable();
$table->text('permanent_address')->nullable(); $table->text('permanent_address')->nullable();
$table->unsignedBigInteger('permanent_city')->nullable();
$table->text('temporary_address')->nullable(); $table->text('temporary_address')->nullable();
$table->unsignedBigInteger('temporary_city')->nullable(); $table->string('status')->nullable()->default(11);
$table->text('old_system_address')->nullable();
$table->text('education')->nullable();
$table->unsignedBigInteger('castes_id')->nullable();
$table->unsignedBigInteger('ethnicities_id')->nullable();
$table->unsignedBigInteger('dags_id')->nullable();
$table->string('status')->nullable();
$table->string('remarks')->nullable(); $table->string('remarks')->nullable();
$table->unsignedBigInteger('createdby')->nullable();
$table->unsignedBigInteger('updatedby')->nullable();
$table->timestamps(); $table->timestamps();
}); });
} }

View File

@ -45,8 +45,28 @@
<div class="team-cover"> <img src="assets/images/small/img-9.jpg" alt="" class="img-fluid"> <div class="team-cover"> <img src="assets/images/small/img-9.jpg" alt="" class="img-fluid">
</div> </div>
<div class="card-body p-4"> <div class="card-body p-4">
<div class="ribbon-two ribbon-two-success"><span>Active</span></div> @if ($employee->user)
<div class="ribbon-two ribbon-two-success">
<span>{{ optional($employee->user)->getRoleNames()->first() }}</span>
</div>
@endif
<div class="row align-items-center team-row"> <div class="row align-items-center team-row">
<div class="col team-settings">
<div class="row">
<div class="col">
</div>
<div class="col dropdown text-end"> <a href="javascript:void(0);" data-bs-toggle="dropdown"
aria-expanded="false" class=""> <i class="ri-more-fill fs-17"></i> </a>
<ul class="dropdown-menu dropdown-menu-end" style="">
<li><a class="dropdown-item remove-item-btn" href="javascript:void(0);"
data-link="{{ route('employee.destroy', $employee->id) }}"
data-id="{{ $employee->id }}"><i
class="ri-delete-bin-5-line text-muted me-2 align-bottom"></i>Delete</a></li>
</ul>
</div>
</div>
</div>
<div class="col-lg-4 col"> <div class="col-lg-4 col">
<div class="team-profile-img"> <div class="team-profile-img">
<div class="avatar-lg img-thumbnail rounded-circle flex-shrink-0"><img <div class="avatar-lg img-thumbnail rounded-circle flex-shrink-0"><img
@ -82,6 +102,7 @@
</li> </li>
<li class="list-inline-item avatar-xs"> <li class="list-inline-item avatar-xs">
<a href="javascript:void(0);" data-bs-toggle="modal" data-bs-target="#assignRoleModal" <a href="javascript:void(0);" data-bs-toggle="modal" data-bs-target="#assignRoleModal"
data-email="{{ $employee->email }}"
class="avatar-title bg-primary-subtle text-primary fs-15 rounded"> class="avatar-title bg-primary-subtle text-primary fs-15 rounded">
<i class="ri-user-add-line"></i> <i class="ri-user-add-line"></i>
</a> </a>
@ -100,6 +121,13 @@
</div> </div>
@endforeach @endforeach
<div class="d-flex justify-content-end align-self-end">
<div class="mt-2 p-2">
{{ $employees->links() }}
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
@ -117,29 +145,31 @@
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button> <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<form action="{{ route('leave.store') }}" class="needs-validation" novalidate method="post"> {{ html()->form('POST')->route('employee.assignRole')->class(['needs-validation'])->attributes(['novalidate'])->open() }}
<div class="row gy-2"> <div class="row gy-2">
<div class="col-lg-12"> <div class="col-lg-12">
{{ html()->label('Username')->class('form-label') }} {{ html()->label('Email')->class('form-label') }}
{{ html()->text('username')->class('form-control')->placeholder('Enter Username')->required() }} {{ html()->email('email')->class('form-control email-field')->placeholder('Enter Email')->isReadonly(true)->required() }}
</div>
<div class="col-lg-12">
{{ html()->label('Role')->class('form-label') }}
{{ html()->select('role_id', [])->class('form-select')->placeholder('Select Role')->required() }}
</div>
</div> </div>
<div class="mt-4 text-end"> <div class="col-lg-12">
<button type="submit" class="btn btn-success w-sm">Save</button> {{ html()->label('Role')->class('form-label') }}
{{ html()->select('role_id', $roleLists)->class('form-select')->placeholder('Select Role')->required() }}
</div> </div>
</form> </div>
<div class="mt-4 text-end">
<button type="submit" class="btn btn-success w-sm">Save</button>
</div>
{{ html()->form()->close() }}
</div> </div>
</div> </div>
</div> </div>
</div> </div>
<div class="modal fade" id="changePasswordModal" tabindex="-1" aria-labelledby="changePasswordLabel" aria-modal="true"> <div class="modal fade" id="changePasswordModal" tabindex="-1" aria-labelledby="changePasswordLabel"
aria-modal="true">
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header model-primary"> <div class="modal-header model-primary">
@ -170,3 +200,16 @@
</div> </div>
</div> </div>
@endsection @endsection
@push('js')
<script>
$(document).ready(function() {
$('#assignRoleModal').on('shown.bs.modal', function(e) {
// do something...
var email = $(e.relatedTarget).data('email');
$('.email-field').val(email)
console.log(email);
})
})
</script>
@endpush

View File

@ -1,144 +1,121 @@
<div class="row"> <div class="row">
<div class="col-lg-12"> <div class="col-lg-12">
<div class="card"> <div class="card">
<div class="card-header card-primary"> {{-- <div class="card-header card-primary">
<h4 class="card-title mb-0">Personal Details</h4> <h4 class="card-title mb-0">Personal Details</h4>
</div> </div> --}}
<div class="card-body row gy-4"> <div class="card-body">
<div class="row gy-1">
<p class="text-primary">Personal Details</p>
<hr>
<div class="col-md-4">
{{ html()->label('First name')->class('form-label') }}
{{ html()->text('first_name')->class('form-control')->placeholder('Enter First Name')->required() }}
</div>
<div class="col-md-4"> <div class="col-md-4">
{{ html()->label('First name')->class('form-label') }} {{ html()->label('Middle name')->class('form-label') }}
{{ html()->text('first_name')->class('form-control')->placeholder('Enter First Name')->required() }} {{ html()->text('middle_name')->class('form-control')->placeholder('Enter Middle Name') }}
</div> </div>
<div class="col-md-4"> <div class="col-md-4">
{{ html()->label('Middle name')->class('form-label') }} {{ html()->label('Last name')->class('form-label') }}
{{ html()->text('middle_name')->class('form-control')->placeholder('Enter Middle Name') }} {{ html()->text('last_name')->class('form-control')->placeholder('Enter Last Name')->required() }}
</div> {{ html()->div('Please enter last name')->class('invalid-feedback') }}
</div>
<div class="col-md-4"> <div class="col-md-4">
{{ html()->label('Last name')->class('form-label') }} {{ html()->label('Gender')->class('form-label') }}
{{ html()->text('last_name')->class('form-control')->placeholder('Enter Last Name')->required() }} {{ html()->select('genders_id', [1 => 'male', 2 => 'female'])->class('form-select')->placeholder('Select Gender') }}
{{ html()->div('Please enter last name')->class('invalid-feedback') }} </div>
</div>
<div class="col-md-4"> <div class="col-md-4">
{{ html()->label('Gender')->class('form-label') }} {{ html()->label('Date of Birth')->class('form-label') }}
{{ html()->select('gender', ['male', 'female'])->class('form-select')->placeholder('Select Gender') }} {{ html()->date('dob')->class('form-control')->placeholder('Choose Date of Birth')->required() }}
</div> {{ html()->div('Please choose dob')->class('invalid-feedback') }}
<div class="col-md-4"> </div>
{{ html()->label('Date of Birth')->class('form-label') }}
{{ html()->date('dob')->class('form-control')->placeholder('Choose Date of Birth')->required() }} <div class="col-md-4">
{{ html()->div('Please choose dob')->class('invalid-feedback') }} {{ html()->label('Nationality')->class('form-label') }}
{{ html()->select('nationalities_id', [1 => 'Nepal', 2 => 'Other'])->class('form-control')->placeholder('Select Nationality') }}
</div>
<div class="col-md-4">
{{ html()->label('Email')->class('form-label') }}
{{ html()->email('email')->class('form-control')->placeholder('Enter Email')->required() }}
{{ html()->div('Please enter email')->class('invalid-feedback') }}
</div>
<div class="col-md-4">
{{ html()->label('Phone Number')->class('form-label') }}
{{ html()->text('contact')->class('form-control')->placeholder('Enter Phone Number') }}
</div>
<div class="col-md-4">
{{ html()->label('Upload Profile Pic')->class('form-label') }}
{{ html()->file('profile_pic')->class('form-control') }}
</div>
</div> </div>
<div class="col-md-4"> <div class="row gy-1 mt-1">
{{ html()->label('Nationality')->class('form-label') }} <p class="text-primary">Address Details</p>
{{ html()->select('nationality', ['Nepal', 'Other'])->class('form-control')->placeholder('Select Nationality') }} <hr>
{{-- <div class="col-md-4">
{{ html()->label('Municipality')->class('form-label') }}
{{ html()->select('municipality_id', [])->class('form-select')->placeholder('Select Municipality') }}
</div>
<div class="col-md-4">
{{ html()->label('Ward')->class('form-label') }}
{{ html()->text('ward')->class('form-control')->placeholder('Enter Ward no') }}
</div> --}}
<div class="col-md-4">
{{ html()->label('Permanent Address')->class('form-label') }}
{{ html()->text('permanent_address')->class('form-control')->placeholder('Enter Permanent Address') }}
</div>
<div class="col-md-4">
{{ html()->label('Temporary Address')->class('form-label') }}
{{ html()->text('temporary_address')->class('form-control')->placeholder('Enter Temporary Address') }}
</div>
</div> </div>
<div class="col-md-4"> <div class="row gy-1 mt-1">
{{ html()->label('Email')->class('form-label') }} <p class="text-primary">Organization Details</p>
{{ html()->email('email')->class('form-control')->placeholder('Enter Email')->required() }} <hr>
{{ html()->div('Please enter email')->class('invalid-feedback') }} <div class="col-md-4">
{{ html()->label('Department')->class('form-label') }}
{{ html()->select('department_id', ['Nepal'])->class('form-select')->placeholder('Select Department') }}
</div>
<div class="col-md-4">
{{ html()->label('Designation')->class('form-label') }}
{{ html()->select('designation_id', ['Nepal'])->class('form-select')->placeholder('Select Designation') }}
</div>
{{-- <div class="col-md-4">
{{ html()->label('Join Date')->class('form-label') }}
{{ html()->date('join_date')->class('form-control')->placeholder('Choose Join Date') }}
</div> --}}
<div class="col-md-8">
{{ html()->label('Remarks')->class('form-label') }}
{{ html()->textarea('remarks')->class('form-control')->placeholder('Enter Remarks') }}
</div>
</div> </div>
<div class="col-md-4">
{{ html()->label('Phone Number')->class('form-label') }}
{{ html()->text('phone')->class('form-control')->placeholder('Enter Phone Number') }}
</div>
<div class="col-md-4">
{{ html()->label('Upload Profile Pic')->class('form-label') }}
{{ html()->file('profile_pic')->class('form-control') }}
</div>
</div> </div>
<!-- end card body --> <!-- end card body -->
</div> </div>
<!-- end card --> <!-- end card -->
<div class="card">
<div class="card-header card-primary">
<h5 class="card-title mb-0">Address Detail</h5>
</div>
<div class="card-body row gy-2">
{{-- <div class="col-md-4">
{{ html()->label('Country')->class('form-label') }}
{{ html()->select('country_id', ['Nepal'])->class('form-select')->placeholder('Select Country') }}
</div> --}}
<div class="col-md-4">
{{ html()->label('State')->class('form-label') }}
{{ html()->select('state_id', ['Nepal'])->class('form-select')->placeholder('Select State') }}
</div>
<div class="col-md-4">
{{ html()->label('District name')->class('form-label') }}
{{ html()->select('district_id', [])->class('form-select')->placeholder('Select District') }}
</div>
<div class="col-md-4">
{{ html()->label('City')->class('form-label') }}
{{ html()->text('last_name')->class('form-control')->placeholder('Enter City Name') }}
</div>
<div class="col-md-4">
{{ html()->label('municipality')->class('form-label') }}
{{ html()->select('municipality_id', [])->class('form-select')->placeholder('Select Municipality') }}
</div>
<div class="col-md-4">
{{ html()->label('Ward')->class('form-label') }}
{{ html()->text('ward')->class('form-control')->placeholder('Enter Ward no') }}
</div>
<div class="col-md-4">
{{ html()->label('Permanent Address')->class('form-label') }}
{{ html()->text('perm_address')->class('form-control')->placeholder('Enter Permanent Address') }}
</div>
<div class="col-md-4">
{{ html()->label('Temporary Address')->class('form-label') }}
{{ html()->text('temp_address')->class('form-control')->placeholder('Enter Temporary Address') }}
</div>
</div>
</div>
<div class="card">
<div class="card-header card-primary">
<h5 class="card-title mb-0">Organization Detail</h5>
</div>
<div class="card-body row gy-2">
<div class="col-md-4">
{{ html()->label('Department')->class('form-label') }}
{{ html()->select('department_id', ['Nepal'])->class('form-select')->placeholder('Select Department') }}
</div>
<div class="col-md-4">
{{ html()->label('Designation')->class('form-label') }}
{{ html()->select('designation_id', ['Nepal'])->class('form-select')->placeholder('Select Designation') }}
</div>
<div class="col-md-4">
{{ html()->label('Join Date')->class('form-label') }}
{{ html()->date('join_date')->class('form-control')->placeholder('Choose Join Date') }}
</div>
<div class="col-md-8">
{{ html()->label('Remarks')->class('form-label') }}
{{ html()->textarea('remark')->class('form-control')->placeholder('Enter Remarks') }}
</div>
</div>
</div>
<!-- end card -->
<div class="mb-4 text-end"> <div class="mb-4 text-end">
<button type="submit" class="btn btn-success w-sm">Save</button> <button type="submit" class="btn btn-success w-sm">Save</button>
</div> </div>

View File

@ -0,0 +1,128 @@
<div class="row">
<div class="col-lg-12">
<div class="card">
<div class="card-header card-primary">
<h4 class="card-title mb-0">Personal Details</h4>
</div>
<div class="card-body row gy-4">
<div class="col-md-4">
{{ html()->label('First name')->class('form-label') }}
{{ html()->text('first_name')->class('form-control')->placeholder('Enter First Name')->required() }}
</div>
<div class="col-md-4">
{{ html()->label('Middle name')->class('form-label') }}
{{ html()->text('middle_name')->class('form-control')->placeholder('Enter Middle Name') }}
</div>
<div class="col-md-4">
{{ html()->label('Last name')->class('form-label') }}
{{ html()->text('last_name')->class('form-control')->placeholder('Enter Last Name')->required() }}
{{ html()->div('Please enter last name')->class('invalid-feedback') }}
</div>
<div class="col-md-4">
{{ html()->label('Gender')->class('form-label') }}
{{ html()->select('gender', ['male', 'female'])->class('form-select')->placeholder('Select Gender') }}
</div>
<div class="col-md-4">
{{ html()->label('Date of Birth')->class('form-label') }}
{{ html()->date('dob')->class('form-control')->placeholder('Choose Date of Birth')->required() }}
{{ html()->div('Please choose dob')->class('invalid-feedback') }}
</div>
<div class="col-md-4">
{{ html()->label('Nationality')->class('form-label') }}
{{ html()->select('nationality', ['Nepal', 'Other'])->class('form-control')->placeholder('Select Nationality') }}
</div>
<div class="col-md-4">
{{ html()->label('Email')->class('form-label') }}
{{ html()->email('email')->class('form-control')->placeholder('Enter Email')->required() }}
{{ html()->div('Please enter email')->class('invalid-feedback') }}
</div>
<div class="col-md-4">
{{ html()->label('Phone Number')->class('form-label') }}
{{ html()->text('phone')->class('form-control')->placeholder('Enter Phone Number') }}
</div>
<div class="col-md-4">
{{ html()->label('Upload Profile Pic')->class('form-label') }}
{{ html()->file('profile_pic')->class('form-control') }}
</div>
</div>
<!-- end card body -->
</div>
<!-- end card -->
<div class="card">
<div class="card-header card-primary">
<h5 class="card-title mb-0">Address Detail</h5>
</div>
<div class="card-body row gy-2">
<div class="col-md-4">
{{ html()->label('Municipality')->class('form-label') }}
{{ html()->select('municipality_id', [])->class('form-select')->placeholder('Select Municipality') }}
</div>
<div class="col-md-4">
{{ html()->label('Ward')->class('form-label') }}
{{ html()->text('ward')->class('form-control')->placeholder('Enter Ward no') }}
</div>
<div class="col-md-4">
{{ html()->label('Permanent Address')->class('form-label') }}
{{ html()->text('perm_address')->class('form-control')->placeholder('Enter Permanent Address') }}
</div>
<div class="col-md-4">
{{ html()->label('Temporary Address')->class('form-label') }}
{{ html()->text('temp_address')->class('form-control')->placeholder('Enter Temporary Address') }}
</div>
</div>
</div>
<div class="card">
<div class="card-header card-primary">
<h5 class="card-title mb-0">Organization Detail</h5>
</div>
<div class="card-body row gy-2">
<div class="col-md-4">
{{ html()->label('Department')->class('form-label') }}
{{ html()->select('department_id', ['Nepal'])->class('form-select')->placeholder('Select Department') }}
</div>
<div class="col-md-4">
{{ html()->label('Designation')->class('form-label') }}
{{ html()->select('designation_id', ['Nepal'])->class('form-select')->placeholder('Select Designation') }}
</div>
<div class="col-md-4">
{{ html()->label('Join Date')->class('form-label') }}
{{ html()->date('join_date')->class('form-control')->placeholder('Choose Join Date') }}
</div>
<div class="col-md-8">
{{ html()->label('Remarks')->class('form-label') }}
{{ html()->textarea('remark')->class('form-control')->placeholder('Enter Remarks') }}
</div>
</div>
</div>
<!-- end card -->
<div class="mb-4 text-end">
<button type="submit" class="btn btn-success w-sm">Save</button>
</div>
</div>
</div>

View File

@ -12,8 +12,12 @@ use Modules\Employee\Http\Controllers\EmployeeController;
| routes are loaded by the RouteServiceProvider within a group which | routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great! | contains the "web" middleware group. Now create something great!
| |
*/ */
Route::group([], function () { Route::group(['middleware' => 'auth'], function () {
Route::post('assignRole', [EmployeeController::class, 'assignRole'])->name('employee.assignRole');
Route::resource('employee', EmployeeController::class)->names('employee'); Route::resource('employee', EmployeeController::class)->names('employee');
Route::group(['prefix' => 'employee'], function () {
});
}); });

View File

@ -24,7 +24,8 @@ class UserRepository implements UserInterface
public function create(array $userDetails, array $role) public function create(array $userDetails, array $role)
{ {
$user = User::create($userDetails); $user = User::create($userDetails);
return $user->roles()->attach($role); $user->roles()->attach($role);
return $user;
} }
public function update($userId, array $newDetails) public function update($userId, array $newDetails)

View File

@ -362,8 +362,9 @@ class OMIS
`updatedby` INT(11) `updatedby` INT(11)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;
"); ");
DB::statement("CREATE TABLE IF NOT EXISTS `tbl_proviences` (
`provience_id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, DB::statement("CREATE TABLE IF NOT EXISTS `tbl_provinces` (
`province_id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`countries_id` INT(11) NULL, `countries_id` INT(11) NULL,
`title` VARCHAR(255), `title` VARCHAR(255),
`alias` VARCHAR(255), `alias` VARCHAR(255),
@ -380,7 +381,7 @@ class OMIS
DB::statement("CREATE TABLE IF NOT EXISTS `tbl_districts` ( DB::statement("CREATE TABLE IF NOT EXISTS `tbl_districts` (
`district_id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, `district_id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`proviences_id` INT(11), `provinces_id` INT(11),
`title` VARCHAR(255), `title` VARCHAR(255),
`alias` VARCHAR(255), `alias` VARCHAR(255),
`description` TEXT, `description` TEXT,
@ -727,8 +728,8 @@ class OMIS
// if (!(DB::table('countries')->first())) { // if (!(DB::table('countries')->first())) {
// DB::statement("INSERT INTO `tbl_countries` (`title`,`alias`,`status`) VALUES ('Nepal','nepal', '1');"); // DB::statement("INSERT INTO `tbl_countries` (`title`,`alias`,`status`) VALUES ('Nepal','nepal', '1');");
// } // }
// if (!(DB::table('proviences')->first())) { // if (!(DB::table('provinces')->first())) {
// DB::statement("INSERT INTO `tbl_proviences` (`title`,`alias`,`status`) VALUES ('Bagmati','bagmati', '1');"); // DB::statement("INSERT INTO `tbl_provinces` (`title`,`alias`,`status`) VALUES ('Bagmati','bagmati', '1');");
// } // }
// if (!(DB::table('roles')->first())) { // if (!(DB::table('roles')->first())) {

View File

@ -18,15 +18,15 @@
} }
public function index(Request $request) public function index(Request $request)
{ {
createActivityLog(CitiesController::class, 'index', ' Cities index'); // createActivityLog(CitiesController::class, 'index', ' Cities index');
$data = Cities::where('status','<>',-1)->orderBy('display_order')->get(); $data = Cities::where('status','<>',-1)->orderBy('display_order')->get();
return view("crud.generated.cities.index", compact('data')); return view("crud.generated.cities.index", compact('data'));
} }
public function create(Request $request) public function create(Request $request)
{ {
createActivityLog(CitiesController::class, 'create', ' Cities create'); // createActivityLog(CitiesController::class, 'create', ' Cities create');
$TableData = Cities::where('status','<>',-1)->orderBy('display_order')->get(); $TableData = Cities::where('status','<>',-1)->orderBy('display_order')->get();
$editable=false; $editable=false;
return view("crud.generated.cities.edit",compact('TableData','editable')); return view("crud.generated.cities.edit",compact('TableData','editable'));
@ -34,7 +34,7 @@
public function store(Request $request) public function store(Request $request)
{ {
createActivityLog(CitiesController::class, 'store', ' Cities store'); // createActivityLog(CitiesController::class, 'store', ' Cities store');
$validator = Validator::make($request->all(), [ $validator = Validator::make($request->all(), [
//ADD REQUIRED FIELDS FOR VALIDATION //ADD REQUIRED FIELDS FOR VALIDATION
]); ]);
@ -54,7 +54,7 @@
}); });
array_walk_recursive($requestData, function (&$value) { array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL'), '', $value); $value = str_replace(env('APP_URL'), '', $value);
}); });
DB::beginTransaction(); DB::beginTransaction();
try { try {
$operationNumber = getOperationNumber(); $operationNumber = getOperationNumber();
@ -71,22 +71,22 @@
} }
return redirect()->route('cities.index')->with('success','The Cities created Successfully.'); return redirect()->route('cities.index')->with('success','The Cities created Successfully.');
} }
public function sort(Request $request) public function sort(Request $request)
{ {
$idOrder = $request->input('id_order'); $idOrder = $request->input('id_order');
foreach ($idOrder as $index => $id) { foreach ($idOrder as $index => $id) {
$companyArticle = Cities::find($id); $companyArticle = Cities::find($id);
$companyArticle->display_order = $index + 1; $companyArticle->display_order = $index + 1;
$companyArticle->save(); $companyArticle->save();
} }
return response()->json(['status' => true, 'content' => 'The articles sorted successfully.'], 200); return response()->json(['status' => true, 'content' => 'The articles sorted successfully.'], 200);
} }
public function updatealias(Request $request) public function updatealias(Request $request)
{ {
$articleId = $request->input('articleId'); $articleId = $request->input('articleId');
$newAlias = $request->input('newAlias'); $newAlias = $request->input('newAlias');
$companyArticle = Cities::find($articleId); $companyArticle = Cities::find($articleId);
@ -97,22 +97,22 @@
$companyArticle->save(); $companyArticle->save();
return response()->json(['status' => true, 'content' => 'Alias updated successfully.'], 200); return response()->json(['status' => true, 'content' => 'Alias updated successfully.'], 200);
} }
public function show(Request $request, $id) public function show(Request $request, $id)
{ {
createActivityLog(CitiesController::class, 'show', ' Cities show'); // createActivityLog(CitiesController::class, 'show', ' Cities show');
$data = Cities::findOrFail($id); $data = Cities::findOrFail($id);
return view("crud.generated.cities.show", compact('data')); return view("crud.generated.cities.show", compact('data'));
} }
public function edit(Request $request, $id) public function edit(Request $request, $id)
{ {
createActivityLog(CitiesController::class, 'edit', ' Cities edit'); // createActivityLog(CitiesController::class, 'edit', ' Cities edit');
$TableData = Cities::where('status','<>',-1)->orderBy('display_order')->get(); $TableData = Cities::where('status','<>',-1)->orderBy('display_order')->get();
$data = Cities::findOrFail($id); $data = Cities::findOrFail($id);
$editable=true; $editable=true;
@ -122,7 +122,7 @@
public function update(Request $request, $id) public function update(Request $request, $id)
{ {
createActivityLog(CitiesController::class, 'update', ' Cities update'); // createActivityLog(CitiesController::class, 'update', ' Cities update');
$validator = Validator::make($request->all(), [ $validator = Validator::make($request->all(), [
//ADD VALIDATION FOR REQIRED FIELDS //ADD VALIDATION FOR REQIRED FIELDS
]); ]);
@ -159,7 +159,7 @@
public function destroy(Request $request,$id) public function destroy(Request $request,$id)
{ {
createActivityLog(CitiesController::class, 'destroy', ' Cities destroy'); // createActivityLog(CitiesController::class, 'destroy', ' Cities destroy');
DB::beginTransaction(); DB::beginTransaction();
try { try {
$OperationNumber = getOperationNumber(); $OperationNumber = getOperationNumber();
@ -175,7 +175,7 @@
} }
public function toggle(Request $request,$id) public function toggle(Request $request,$id)
{ {
createActivityLog(CitiesController::class, 'destroy', ' Cities destroy'); // createActivityLog(CitiesController::class, 'destroy', ' Cities destroy');
$data = Cities::findOrFail($id); $data = Cities::findOrFail($id);
$requestData=['status'=>($data->status==1)?0:1]; $requestData=['status'=>($data->status==1)?0:1];
DB::beginTransaction(); DB::beginTransaction();
@ -193,7 +193,7 @@
} }
public function clone(Request $request,$id) public function clone(Request $request,$id)
{ {
createActivityLog(CitiesController::class, 'clone', ' Cities clone'); // createActivityLog(CitiesController::class, 'clone', ' Cities clone');
$data = Cities::findOrFail($id); $data = Cities::findOrFail($id);
unset($data['updatedby']); unset($data['updatedby']);
unset($data['createdby']); unset($data['createdby']);
@ -211,8 +211,7 @@
DB::commit(); DB::commit();
return response()->json(['status'=>true,'message'=>'The Cities Clonned Successfully.'],200); return response()->json(['status'=>true,'message'=>'The Cities Clonned Successfully.'],200);
} }
} }

View File

@ -18,24 +18,21 @@
} }
public function index(Request $request) public function index(Request $request)
{ {
createActivityLog(CompaniesController::class, 'index', ' Companies index'); $data = Companies::where('status','<>',-1)->orderBy('display_order')->get();
$data = Companies::where('status','<>',-1)->orderBy('display_order')->get();
return view("crud.generated.companies.index", compact('data')); return view("crud.generated.companies.index", compact('data'));
} }
public function create(Request $request) public function create(Request $request)
{ {
createActivityLog(CompaniesController::class, 'create', ' Companies create'); $TableData = Companies::where('status','<>',-1)->orderBy('display_order')->get();
$TableData = Companies::where('status','<>',-1)->orderBy('display_order')->get();
$editable=false; $editable=false;
return view("crud.generated.companies.edit",compact('TableData','editable')); return view("crud.generated.companies.edit",compact('TableData','editable'));
} }
public function store(Request $request) public function store(Request $request)
{ {
createActivityLog(CompaniesController::class, 'store', ' Companies store'); $validator = Validator::make($request->all(), [
$validator = Validator::make($request->all(), [
//ADD REQUIRED FIELDS FOR VALIDATION //ADD REQUIRED FIELDS FOR VALIDATION
]); ]);
@ -54,7 +51,7 @@
}); });
array_walk_recursive($requestData, function (&$value) { array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL'), '', $value); $value = str_replace(env('APP_URL'), '', $value);
}); });
DB::beginTransaction(); DB::beginTransaction();
try { try {
$operationNumber = getOperationNumber(); $operationNumber = getOperationNumber();
@ -71,22 +68,22 @@
} }
return redirect()->route('companies.index')->with('success','The Companies created Successfully.'); return redirect()->route('companies.index')->with('success','The Companies created Successfully.');
} }
public function sort(Request $request) public function sort(Request $request)
{ {
$idOrder = $request->input('id_order'); $idOrder = $request->input('id_order');
foreach ($idOrder as $index => $id) { foreach ($idOrder as $index => $id) {
$companyArticle = Companies::find($id); $companyArticle = Companies::find($id);
$companyArticle->display_order = $index + 1; $companyArticle->display_order = $index + 1;
$companyArticle->save(); $companyArticle->save();
} }
return response()->json(['status' => true, 'content' => 'The articles sorted successfully.'], 200); return response()->json(['status' => true, 'content' => 'The articles sorted successfully.'], 200);
} }
public function updatealias(Request $request) public function updatealias(Request $request)
{ {
$articleId = $request->input('articleId'); $articleId = $request->input('articleId');
$newAlias = $request->input('newAlias'); $newAlias = $request->input('newAlias');
$companyArticle = Companies::find($articleId); $companyArticle = Companies::find($articleId);
@ -97,23 +94,21 @@
$companyArticle->save(); $companyArticle->save();
return response()->json(['status' => true, 'content' => 'Alias updated successfully.'], 200); return response()->json(['status' => true, 'content' => 'Alias updated successfully.'], 200);
} }
public function show(Request $request, $id) public function show(Request $request, $id)
{ {
createActivityLog(CompaniesController::class, 'show', ' Companies show'); $data = Companies::findOrFail($id);
$data = Companies::findOrFail($id);
return view("crud.generated.companies.show", compact('data')); return view("crud.generated.companies.show", compact('data'));
} }
public function edit(Request $request, $id) public function edit(Request $request, $id)
{ {
createActivityLog(CompaniesController::class, 'edit', ' Companies edit'); $TableData = Companies::where('status','<>',-1)->orderBy('display_order')->get();
$TableData = Companies::where('status','<>',-1)->orderBy('display_order')->get();
$data = Companies::findOrFail($id); $data = Companies::findOrFail($id);
$editable=true; $editable=true;
return view("crud.generated.companies.edit", compact('data','TableData','editable')); return view("crud.generated.companies.edit", compact('data','TableData','editable'));
@ -122,8 +117,7 @@
public function update(Request $request, $id) public function update(Request $request, $id)
{ {
createActivityLog(CompaniesController::class, 'update', ' Companies update'); $validator = Validator::make($request->all(), [
$validator = Validator::make($request->all(), [
//ADD VALIDATION FOR REQIRED FIELDS //ADD VALIDATION FOR REQIRED FIELDS
]); ]);
@ -159,8 +153,7 @@
public function destroy(Request $request,$id) public function destroy(Request $request,$id)
{ {
createActivityLog(CompaniesController::class, 'destroy', ' Companies destroy'); DB::beginTransaction();
DB::beginTransaction();
try { try {
$OperationNumber = getOperationNumber(); $OperationNumber = getOperationNumber();
$this->modelService->destroy($OperationNumber, $OperationNumber, $id); $this->modelService->destroy($OperationNumber, $OperationNumber, $id);
@ -175,8 +168,7 @@
} }
public function toggle(Request $request,$id) public function toggle(Request $request,$id)
{ {
createActivityLog(CompaniesController::class, 'destroy', ' Companies destroy'); $data = Companies::findOrFail($id);
$data = Companies::findOrFail($id);
$requestData=['status'=>($data->status==1)?0:1]; $requestData=['status'=>($data->status==1)?0:1];
DB::beginTransaction(); DB::beginTransaction();
try { try {
@ -193,8 +185,7 @@
} }
public function clone(Request $request,$id) public function clone(Request $request,$id)
{ {
createActivityLog(CompaniesController::class, 'clone', ' Companies clone'); $data = Companies::findOrFail($id);
$data = Companies::findOrFail($id);
unset($data['updatedby']); unset($data['updatedby']);
unset($data['createdby']); unset($data['createdby']);
$requestData=$data->toArray(); $requestData=$data->toArray();
@ -211,8 +202,7 @@
DB::commit(); DB::commit();
return response()->json(['status'=>true,'message'=>'The Companies Clonned Successfully.'],200); return response()->json(['status'=>true,'message'=>'The Companies Clonned Successfully.'],200);
} }
} }

View File

@ -28,9 +28,8 @@ class CountriesController extends Controller
public function create(Request $request) public function create(Request $request)
{ {
// createActivityLog(CountriesController::class, 'create', ' Country create'); // createActivityLog(CountriesController::class, 'create', ' Country create');
$TableData = Country::where('status', '<>', -1)->orderBy('display_order')->get();
$editable = false; $editable = false;
return view("crud.generated.countries.edit", compact('TableData', 'editable')); return view("crud.generated.countries.edit", compact('editable'));
} }
public function store(Request $request) public function store(Request $request)

View File

@ -18,15 +18,15 @@
} }
public function index(Request $request) public function index(Request $request)
{ {
createActivityLog(DepartmentsController::class, 'index', ' Departments index');
$data = Departments::where('status','<>',-1)->orderBy('display_order')->get(); $data = Departments::where('status','<>',-1)->orderBy('display_order')->get();
return view("crud.generated.departments.index", compact('data')); return view("crud.generated.departments.index", compact('data'));
} }
public function create(Request $request) public function create(Request $request)
{ {
createActivityLog(DepartmentsController::class, 'create', ' Departments create');
$TableData = Departments::where('status','<>',-1)->orderBy('display_order')->get(); $TableData = Departments::where('status','<>',-1)->orderBy('display_order')->get();
$editable=false; $editable=false;
return view("crud.generated.departments.edit",compact('TableData','editable')); return view("crud.generated.departments.edit",compact('TableData','editable'));
@ -34,7 +34,7 @@
public function store(Request $request) public function store(Request $request)
{ {
createActivityLog(DepartmentsController::class, 'store', ' Departments store');
$validator = Validator::make($request->all(), [ $validator = Validator::make($request->all(), [
//ADD REQUIRED FIELDS FOR VALIDATION //ADD REQUIRED FIELDS FOR VALIDATION
]); ]);
@ -54,7 +54,7 @@
}); });
array_walk_recursive($requestData, function (&$value) { array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL'), '', $value); $value = str_replace(env('APP_URL'), '', $value);
}); });
DB::beginTransaction(); DB::beginTransaction();
try { try {
$operationNumber = getOperationNumber(); $operationNumber = getOperationNumber();
@ -69,24 +69,24 @@
if ($request->ajax()) { if ($request->ajax()) {
return response()->json(['status' => true, 'message' => 'The Departments Created Successfully.'], 200); return response()->json(['status' => true, 'message' => 'The Departments Created Successfully.'], 200);
} }
return redirect()->route('departments.index')->with('success','The Departments created Successfully.'); return redirect()->route('department.index')->with('success','The Departments created Successfully.');
} }
public function sort(Request $request) public function sort(Request $request)
{ {
$idOrder = $request->input('id_order'); $idOrder = $request->input('id_order');
foreach ($idOrder as $index => $id) { foreach ($idOrder as $index => $id) {
$companyArticle = Departments::find($id); $companyArticle = Departments::find($id);
$companyArticle->display_order = $index + 1; $companyArticle->display_order = $index + 1;
$companyArticle->save(); $companyArticle->save();
} }
return response()->json(['status' => true, 'content' => 'The articles sorted successfully.'], 200); return response()->json(['status' => true, 'content' => 'The articles sorted successfully.'], 200);
} }
public function updatealias(Request $request) public function updatealias(Request $request)
{ {
$articleId = $request->input('articleId'); $articleId = $request->input('articleId');
$newAlias = $request->input('newAlias'); $newAlias = $request->input('newAlias');
$companyArticle = Departments::find($articleId); $companyArticle = Departments::find($articleId);
@ -97,22 +97,22 @@
$companyArticle->save(); $companyArticle->save();
return response()->json(['status' => true, 'content' => 'Alias updated successfully.'], 200); return response()->json(['status' => true, 'content' => 'Alias updated successfully.'], 200);
} }
public function show(Request $request, $id) public function show(Request $request, $id)
{ {
createActivityLog(DepartmentsController::class, 'show', ' Departments show');
$data = Departments::findOrFail($id);
$data = Departments::findOrFail($id);
return view("crud.generated.departments.show", compact('data')); return view("crud.generated.departments.show", compact('data'));
} }
public function edit(Request $request, $id) public function edit(Request $request, $id)
{ {
createActivityLog(DepartmentsController::class, 'edit', ' Departments edit');
$TableData = Departments::where('status','<>',-1)->orderBy('display_order')->get(); $TableData = Departments::where('status','<>',-1)->orderBy('display_order')->get();
$data = Departments::findOrFail($id); $data = Departments::findOrFail($id);
$editable=true; $editable=true;
@ -122,7 +122,7 @@
public function update(Request $request, $id) public function update(Request $request, $id)
{ {
createActivityLog(DepartmentsController::class, 'update', ' Departments update');
$validator = Validator::make($request->all(), [ $validator = Validator::make($request->all(), [
//ADD VALIDATION FOR REQIRED FIELDS //ADD VALIDATION FOR REQIRED FIELDS
]); ]);
@ -159,7 +159,7 @@
public function destroy(Request $request,$id) public function destroy(Request $request,$id)
{ {
createActivityLog(DepartmentsController::class, 'destroy', ' Departments destroy');
DB::beginTransaction(); DB::beginTransaction();
try { try {
$OperationNumber = getOperationNumber(); $OperationNumber = getOperationNumber();
@ -175,7 +175,7 @@
} }
public function toggle(Request $request,$id) public function toggle(Request $request,$id)
{ {
createActivityLog(DepartmentsController::class, 'destroy', ' Departments destroy');
$data = Departments::findOrFail($id); $data = Departments::findOrFail($id);
$requestData=['status'=>($data->status==1)?0:1]; $requestData=['status'=>($data->status==1)?0:1];
DB::beginTransaction(); DB::beginTransaction();
@ -193,7 +193,7 @@
} }
public function clone(Request $request,$id) public function clone(Request $request,$id)
{ {
createActivityLog(DepartmentsController::class, 'clone', ' Departments clone');
$data = Departments::findOrFail($id); $data = Departments::findOrFail($id);
unset($data['updatedby']); unset($data['updatedby']);
unset($data['createdby']); unset($data['createdby']);
@ -211,8 +211,7 @@
DB::commit(); DB::commit();
return response()->json(['status'=>true,'message'=>'The Departments Clonned Successfully.'],200); return response()->json(['status'=>true,'message'=>'The Departments Clonned Successfully.'],200);
} }
} }

View File

@ -18,15 +18,13 @@
} }
public function index(Request $request) public function index(Request $request)
{ {
createActivityLog(DesignationsController::class, 'index', ' Designations index');
$data = Designations::where('status','<>',-1)->orderBy('display_order')->get(); $data = Designations::where('status','<>',-1)->orderBy('display_order')->get();
return view("crud.generated.designations.index", compact('data')); return view("crud.generated.designations.index", compact('data'));
} }
public function create(Request $request) public function create(Request $request)
{ {
createActivityLog(DesignationsController::class, 'create', ' Designations create');
$TableData = Designations::where('status','<>',-1)->orderBy('display_order')->get(); $TableData = Designations::where('status','<>',-1)->orderBy('display_order')->get();
$editable=false; $editable=false;
return view("crud.generated.designations.edit",compact('TableData','editable')); return view("crud.generated.designations.edit",compact('TableData','editable'));
@ -34,7 +32,6 @@
public function store(Request $request) public function store(Request $request)
{ {
createActivityLog(DesignationsController::class, 'store', ' Designations store');
$validator = Validator::make($request->all(), [ $validator = Validator::make($request->all(), [
//ADD REQUIRED FIELDS FOR VALIDATION //ADD REQUIRED FIELDS FOR VALIDATION
]); ]);
@ -54,7 +51,7 @@
}); });
array_walk_recursive($requestData, function (&$value) { array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL'), '', $value); $value = str_replace(env('APP_URL'), '', $value);
}); });
DB::beginTransaction(); DB::beginTransaction();
try { try {
$operationNumber = getOperationNumber(); $operationNumber = getOperationNumber();
@ -69,24 +66,24 @@
if ($request->ajax()) { if ($request->ajax()) {
return response()->json(['status' => true, 'message' => 'The Designations Created Successfully.'], 200); return response()->json(['status' => true, 'message' => 'The Designations Created Successfully.'], 200);
} }
return redirect()->route('designations.index')->with('success','The Designations created Successfully.'); return redirect()->route('designation.index')->with('success','The Designations created Successfully.');
} }
public function sort(Request $request) public function sort(Request $request)
{ {
$idOrder = $request->input('id_order'); $idOrder = $request->input('id_order');
foreach ($idOrder as $index => $id) { foreach ($idOrder as $index => $id) {
$companyArticle = Designations::find($id); $companyArticle = Designations::find($id);
$companyArticle->display_order = $index + 1; $companyArticle->display_order = $index + 1;
$companyArticle->save(); $companyArticle->save();
} }
return response()->json(['status' => true, 'content' => 'The articles sorted successfully.'], 200); return response()->json(['status' => true, 'content' => 'The articles sorted successfully.'], 200);
} }
public function updatealias(Request $request) public function updatealias(Request $request)
{ {
$articleId = $request->input('articleId'); $articleId = $request->input('articleId');
$newAlias = $request->input('newAlias'); $newAlias = $request->input('newAlias');
$companyArticle = Designations::find($articleId); $companyArticle = Designations::find($articleId);
@ -97,22 +94,20 @@
$companyArticle->save(); $companyArticle->save();
return response()->json(['status' => true, 'content' => 'Alias updated successfully.'], 200); return response()->json(['status' => true, 'content' => 'Alias updated successfully.'], 200);
} }
public function show(Request $request, $id) public function show(Request $request, $id)
{ {
createActivityLog(DesignationsController::class, 'show', ' Designations show');
$data = Designations::findOrFail($id); $data = Designations::findOrFail($id);
return view("crud.generated.designations.show", compact('data')); return view("crud.generated.designations.show", compact('data'));
} }
public function edit(Request $request, $id) public function edit(Request $request, $id)
{ {
createActivityLog(DesignationsController::class, 'edit', ' Designations edit');
$TableData = Designations::where('status','<>',-1)->orderBy('display_order')->get(); $TableData = Designations::where('status','<>',-1)->orderBy('display_order')->get();
$data = Designations::findOrFail($id); $data = Designations::findOrFail($id);
$editable=true; $editable=true;
@ -122,7 +117,6 @@
public function update(Request $request, $id) public function update(Request $request, $id)
{ {
createActivityLog(DesignationsController::class, 'update', ' Designations update');
$validator = Validator::make($request->all(), [ $validator = Validator::make($request->all(), [
//ADD VALIDATION FOR REQIRED FIELDS //ADD VALIDATION FOR REQIRED FIELDS
]); ]);
@ -159,7 +153,6 @@
public function destroy(Request $request,$id) public function destroy(Request $request,$id)
{ {
createActivityLog(DesignationsController::class, 'destroy', ' Designations destroy');
DB::beginTransaction(); DB::beginTransaction();
try { try {
$OperationNumber = getOperationNumber(); $OperationNumber = getOperationNumber();
@ -175,7 +168,6 @@
} }
public function toggle(Request $request,$id) public function toggle(Request $request,$id)
{ {
createActivityLog(DesignationsController::class, 'destroy', ' Designations destroy');
$data = Designations::findOrFail($id); $data = Designations::findOrFail($id);
$requestData=['status'=>($data->status==1)?0:1]; $requestData=['status'=>($data->status==1)?0:1];
DB::beginTransaction(); DB::beginTransaction();
@ -193,7 +185,6 @@
} }
public function clone(Request $request,$id) public function clone(Request $request,$id)
{ {
createActivityLog(DesignationsController::class, 'clone', ' Designations clone');
$data = Designations::findOrFail($id); $data = Designations::findOrFail($id);
unset($data['updatedby']); unset($data['updatedby']);
unset($data['createdby']); unset($data['createdby']);
@ -211,8 +202,7 @@
DB::commit(); DB::commit();
return response()->json(['status'=>true,'message'=>'The Designations Clonned Successfully.'],200); return response()->json(['status'=>true,'message'=>'The Designations Clonned Successfully.'],200);
} }
} }

View File

@ -18,15 +18,15 @@
} }
public function index(Request $request) public function index(Request $request)
{ {
createActivityLog(DistrictsController::class, 'index', ' Districts index'); // createActivityLog(DistrictsController::class, 'index', ' Districts index');
$data = Districts::where('status','<>',-1)->orderBy('display_order')->get(); $data = Districts::where('status','<>',-1)->orderBy('display_order')->get();
return view("crud.generated.districts.index", compact('data')); return view("crud.generated.districts.index", compact('data'));
} }
public function create(Request $request) public function create(Request $request)
{ {
createActivityLog(DistrictsController::class, 'create', ' Districts create'); // createActivityLog(DistrictsController::class, 'create', ' Districts create');
$TableData = Districts::where('status','<>',-1)->orderBy('display_order')->get(); $TableData = Districts::where('status','<>',-1)->orderBy('display_order')->get();
$editable=false; $editable=false;
return view("crud.generated.districts.edit",compact('TableData','editable')); return view("crud.generated.districts.edit",compact('TableData','editable'));
@ -34,7 +34,7 @@
public function store(Request $request) public function store(Request $request)
{ {
createActivityLog(DistrictsController::class, 'store', ' Districts store'); // createActivityLog(DistrictsController::class, 'store', ' Districts store');
$validator = Validator::make($request->all(), [ $validator = Validator::make($request->all(), [
//ADD REQUIRED FIELDS FOR VALIDATION //ADD REQUIRED FIELDS FOR VALIDATION
]); ]);
@ -54,7 +54,7 @@
}); });
array_walk_recursive($requestData, function (&$value) { array_walk_recursive($requestData, function (&$value) {
$value = str_replace(env('APP_URL'), '', $value); $value = str_replace(env('APP_URL'), '', $value);
}); });
DB::beginTransaction(); DB::beginTransaction();
try { try {
$operationNumber = getOperationNumber(); $operationNumber = getOperationNumber();
@ -71,22 +71,22 @@
} }
return redirect()->route('districts.index')->with('success','The Districts created Successfully.'); return redirect()->route('districts.index')->with('success','The Districts created Successfully.');
} }
public function sort(Request $request) public function sort(Request $request)
{ {
$idOrder = $request->input('id_order'); $idOrder = $request->input('id_order');
foreach ($idOrder as $index => $id) { foreach ($idOrder as $index => $id) {
$companyArticle = Districts::find($id); $companyArticle = Districts::find($id);
$companyArticle->display_order = $index + 1; $companyArticle->display_order = $index + 1;
$companyArticle->save(); $companyArticle->save();
} }
return response()->json(['status' => true, 'content' => 'The articles sorted successfully.'], 200); return response()->json(['status' => true, 'content' => 'The articles sorted successfully.'], 200);
} }
public function updatealias(Request $request) public function updatealias(Request $request)
{ {
$articleId = $request->input('articleId'); $articleId = $request->input('articleId');
$newAlias = $request->input('newAlias'); $newAlias = $request->input('newAlias');
$companyArticle = Districts::find($articleId); $companyArticle = Districts::find($articleId);
@ -97,22 +97,22 @@
$companyArticle->save(); $companyArticle->save();
return response()->json(['status' => true, 'content' => 'Alias updated successfully.'], 200); return response()->json(['status' => true, 'content' => 'Alias updated successfully.'], 200);
} }
public function show(Request $request, $id) public function show(Request $request, $id)
{ {
createActivityLog(DistrictsController::class, 'show', ' Districts show'); // createActivityLog(DistrictsController::class, 'show', ' Districts show');
$data = Districts::findOrFail($id); $data = Districts::findOrFail($id);
return view("crud.generated.districts.show", compact('data')); return view("crud.generated.districts.show", compact('data'));
} }
public function edit(Request $request, $id) public function edit(Request $request, $id)
{ {
createActivityLog(DistrictsController::class, 'edit', ' Districts edit'); // createActivityLog(DistrictsController::class, 'edit', ' Districts edit');
$TableData = Districts::where('status','<>',-1)->orderBy('display_order')->get(); $TableData = Districts::where('status','<>',-1)->orderBy('display_order')->get();
$data = Districts::findOrFail($id); $data = Districts::findOrFail($id);
$editable=true; $editable=true;
@ -122,7 +122,7 @@
public function update(Request $request, $id) public function update(Request $request, $id)
{ {
createActivityLog(DistrictsController::class, 'update', ' Districts update'); // createActivityLog(DistrictsController::class, 'update', ' Districts update');
$validator = Validator::make($request->all(), [ $validator = Validator::make($request->all(), [
//ADD VALIDATION FOR REQIRED FIELDS //ADD VALIDATION FOR REQIRED FIELDS
]); ]);
@ -159,7 +159,7 @@
public function destroy(Request $request,$id) public function destroy(Request $request,$id)
{ {
createActivityLog(DistrictsController::class, 'destroy', ' Districts destroy'); // createActivityLog(DistrictsController::class, 'destroy', ' Districts destroy');
DB::beginTransaction(); DB::beginTransaction();
try { try {
$OperationNumber = getOperationNumber(); $OperationNumber = getOperationNumber();
@ -175,7 +175,7 @@
} }
public function toggle(Request $request,$id) public function toggle(Request $request,$id)
{ {
createActivityLog(DistrictsController::class, 'destroy', ' Districts destroy'); // createActivityLog(DistrictsController::class, 'destroy', ' Districts destroy');
$data = Districts::findOrFail($id); $data = Districts::findOrFail($id);
$requestData=['status'=>($data->status==1)?0:1]; $requestData=['status'=>($data->status==1)?0:1];
DB::beginTransaction(); DB::beginTransaction();
@ -193,7 +193,7 @@
} }
public function clone(Request $request,$id) public function clone(Request $request,$id)
{ {
createActivityLog(DistrictsController::class, 'clone', ' Districts clone'); // createActivityLog(DistrictsController::class, 'clone', ' Districts clone');
$data = Districts::findOrFail($id); $data = Districts::findOrFail($id);
unset($data['updatedby']); unset($data['updatedby']);
unset($data['createdby']); unset($data['createdby']);
@ -211,8 +211,7 @@
DB::commit(); DB::commit();
return response()->json(['status'=>true,'message'=>'The Districts Clonned Successfully.'],200); return response()->json(['status'=>true,'message'=>'The Districts Clonned Successfully.'],200);
} }
} }

View File

@ -18,23 +18,25 @@
} }
public function index(Request $request) public function index(Request $request)
{ {
createActivityLog(ProvinceController::class, 'index', ' Province index'); // createActivityLog(ProvinceController::class, 'index', ' Province index');
$data = Province::where('status','<>',-1)->orderBy('display_order')->get(); $data = Province::where('status','<>',-1)->orderBy('display_order')->get();
return view("crud.generated.province.index", compact('data')); return view("crud.generated.provinces.index", compact('data'));
} }
public function create(Request $request) public function create(Request $request)
{ {
createActivityLog(ProvinceController::class, 'create', ' Province create'); // createActivityLog(ProvinceController::class, 'create', ' Province create');
$TableData = Province::where('status','<>',-1)->orderBy('display_order')->get();
$editable=false; $editable=false;
return view("crud.generated.province.edit",compact('TableData','editable'));
return view("crud.generated.provinces.edit",compact('editable'));
} }
public function store(Request $request) public function store(Request $request)
{ {
createActivityLog(ProvinceController::class, 'store', ' Province store'); // createActivityLog(ProvinceController::class, 'store', ' Province store');
$validator = Validator::make($request->all(), [ $validator = Validator::make($request->all(), [
//ADD REQUIRED FIELDS FOR VALIDATION //ADD REQUIRED FIELDS FOR VALIDATION
]); ]);
@ -69,7 +71,7 @@
if ($request->ajax()) { if ($request->ajax()) {
return response()->json(['status' => true, 'message' => 'The Province Created Successfully.'], 200); return response()->json(['status' => true, 'message' => 'The Province Created Successfully.'], 200);
} }
return redirect()->route('province.index')->with('success','The Province created Successfully.'); return redirect()->route('provinces.index')->with('success','The Province created Successfully.');
} }
public function sort(Request $request) public function sort(Request $request)
@ -103,26 +105,26 @@
public function show(Request $request, $id) public function show(Request $request, $id)
{ {
createActivityLog(ProvinceController::class, 'show', ' Province show'); // createActivityLog(ProvinceController::class, 'show', ' Province show');
$data = Province::findOrFail($id); $data = Province::findOrFail($id);
return view("crud.generated.province.show", compact('data')); return view("crud.generated.provinces.show", compact('data'));
} }
public function edit(Request $request, $id) public function edit(Request $request, $id)
{ {
createActivityLog(ProvinceController::class, 'edit', ' Province edit'); // createActivityLog(ProvinceController::class, 'edit', ' Province edit');
$TableData = Province::where('status','<>',-1)->orderBy('display_order')->get(); $TableData = Province::where('status','<>',-1)->orderBy('display_order')->get();
$data = Province::findOrFail($id); $data = Province::findOrFail($id);
$editable=true; $editable=true;
return view("crud.generated.province.edit", compact('data','TableData','editable')); return view("crud.generated.provinces.edit", compact('data','TableData','editable'));
} }
public function update(Request $request, $id) public function update(Request $request, $id)
{ {
createActivityLog(ProvinceController::class, 'update', ' Province update'); // createActivityLog(ProvinceController::class, 'update', ' Province update');
$validator = Validator::make($request->all(), [ $validator = Validator::make($request->all(), [
//ADD VALIDATION FOR REQIRED FIELDS //ADD VALIDATION FOR REQIRED FIELDS
]); ]);
@ -153,13 +155,12 @@
if ($request->ajax()) { if ($request->ajax()) {
return response()->json(['status' => true, 'message' => 'The Province updated Successfully.'], 200); return response()->json(['status' => true, 'message' => 'The Province updated Successfully.'], 200);
} }
// return redirect()->route('province.index')->with('success','The Province updated Successfully.');
return redirect()->back()->with('success', 'The Province updated successfully.'); return redirect()->back()->with('success', 'The Province updated successfully.');
} }
public function destroy(Request $request,$id) public function destroy(Request $request,$id)
{ {
createActivityLog(ProvinceController::class, 'destroy', ' Province destroy'); // createActivityLog(ProvinceController::class, 'destroy', ' Province destroy');
DB::beginTransaction(); DB::beginTransaction();
try { try {
$OperationNumber = getOperationNumber(); $OperationNumber = getOperationNumber();
@ -175,7 +176,7 @@
} }
public function toggle(Request $request,$id) public function toggle(Request $request,$id)
{ {
createActivityLog(ProvinceController::class, 'destroy', ' Province destroy'); // createActivityLog(ProvinceController::class, 'destroy', ' Province destroy');
$data = Province::findOrFail($id); $data = Province::findOrFail($id);
$requestData=['status'=>($data->status==1)?0:1]; $requestData=['status'=>($data->status==1)?0:1];
DB::beginTransaction(); DB::beginTransaction();
@ -193,7 +194,7 @@
} }
public function clone(Request $request,$id) public function clone(Request $request,$id)
{ {
createActivityLog(ProvinceController::class, 'clone', ' Province clone'); // createActivityLog(ProvinceController::class, 'clone', ' Province clone');
$data = Province::findOrFail($id); $data = Province::findOrFail($id);
unset($data['updatedby']); unset($data['updatedby']);
unset($data['createdby']); unset($data['createdby']);
@ -212,6 +213,4 @@
return response()->json(['status'=>true,'message'=>'The Province Clonned Successfully.'],200); return response()->json(['status'=>true,'message'=>'The Province Clonned Successfully.'],200);
} }
} }

16
app/Models/Cities.php Normal file
View File

@ -0,0 +1,16 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Cities extends Model
{
use HasFactory;
protected $table = 'tbl_citites';
protected $primaryKey = 'city_id';
protected $guarded = [];
}

17
app/Models/Companies.php Normal file
View File

@ -0,0 +1,17 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Companies extends Model
{
use HasFactory;
protected $table = 'tbl_companies';
protected $primaryKey = 'company_id';
protected $guarded = [];
}

View File

@ -0,0 +1,16 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Departments extends Model
{
use HasFactory;
protected $table = 'tbl_departments';
protected $primaryKey = 'department_id';
protected $guarded = [];
}

View File

@ -0,0 +1,16 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Designations extends Model
{
use HasFactory;
protected $table = 'tbl_designations';
protected $primaryKey = 'designation_id';
protected $guarded = [];
}

View File

@ -1,37 +0,0 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class District extends Model
{
use HasFactory;
protected $fillable = [
'district_name',
'country_id',
'province_id',
'status',
];
public static function getDistricts()
{
return self::select('id', 'district_name')->where('status', 'Active')->get();
}
public static function getDistrictsByProvinceId($province_id)
{
return self::select('id', 'district_name')->where('status', 'Active')->where('state_id',$province_id)->get();
}
public static function getPermDistrictsByProvinceId($province_id)
{
return self::select('id', 'district_name')->where('status', 'Active')->where('state_id',$province_id)->get();
}
public static function getTempDistrictsByProvinceId($province_id)
{
return self::select('id', 'district_name')->where('status', 'Active')->where('state_id',$province_id)->get();
}
}

20
app/Models/Districts.php Normal file
View File

@ -0,0 +1,20 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
class Districts extends Model
{
use HasFactory;
protected $table = 'tbl_districts';
protected $primaryKey = 'district_id';
protected $fillable = [
'district_name',
'countries_id',
'provinces_id',
'status',
];
}

View File

@ -8,6 +8,9 @@ use Illuminate\Database\Eloquent\Model;
class Province extends Model class Province extends Model
{ {
use HasFactory; use HasFactory;
protected $table = 'tbl_provinces';
protected $primaryKey = 'province_id';
protected $fillable = [ protected $fillable = [
'province_name', 'province_name',
'country_id', 'country_id',
@ -17,14 +20,4 @@ class Province extends Model
{ {
return $this->belongsTo(Country::class); return $this->belongsTo(Country::class);
} }
public static function getProvinces()
{
return self::select('id','province_name')->where('status','Active')->get();
}
public static function getProvincesByCountryId($country_id)
{
return self::select('id','province_name')->where('status','Active')->where('country_id',$country_id)->get();
}
} }

View File

@ -7,6 +7,7 @@ use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable; use Illuminate\Notifications\Notifiable;
use Laravel\Sanctum\HasApiTokens; use Laravel\Sanctum\HasApiTokens;
use Modules\Employee\Models\Employee;
use Spatie\Permission\Traits\HasRoles; use Spatie\Permission\Traits\HasRoles;
class User extends Authenticatable class User extends Authenticatable
@ -45,7 +46,8 @@ class User extends Authenticatable
'email_verified_at' => 'datetime', 'email_verified_at' => 'datetime',
]; ];
// public function employee(){ public function employee()
// return $this->belongsTo(Employee::class,'employee_id'); {
// } return $this->hasOne(Employee::class, 'users_id');
}
} }

View File

@ -2,6 +2,7 @@
namespace App\Providers; namespace App\Providers;
use Illuminate\Pagination\Paginator;
use Illuminate\Support\ServiceProvider; use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider class AppServiceProvider extends ServiceProvider
@ -20,5 +21,7 @@ class AppServiceProvider extends ServiceProvider
public function boot(): void public function boot(): void
{ {
// //
Paginator::useBootstrap();
} }
} }

View File

@ -0,0 +1,33 @@
<?php
namespace Modules\Department\Repositories;
use Modules\Department\Models\Department;
class DepartmentService
{
public function findAll()
{
return Department::paginate(20);
}
public function getDepartmentById($DepartmentId)
{
return Department::findOrFail($DepartmentId);
}
public function delete($DepartmentId)
{
Department::destroy($DepartmentId);
}
public function create($DepartmentDetails)
{
return Department::create($DepartmentDetails);
}
public function update($DepartmentId, array $newDetails)
{
return Department::whereId($DepartmentId)->update($newDetails);
}
}

View File

@ -1,54 +1,54 @@
$('body').on('click', '.remove-item-btn', function (e) { $('body').on('click', '.remove-item-btn', function (e) {
e.preventDefault(); e.preventDefault();
let url = $(this).data('href'); let url = $(this).data('link');
let id = $(this).data('id'); let id = $(this).data('id');
Swal.fire({ Swal.fire({
title: 'Are you sure?', title: 'Are you sure?',
text: "You won't be able to revert this!", text: "You won't be able to revert this!",
icon: 'warning', icon: 'warning',
showCancelButton: true, showCancelButton: true,
confirmButtonColor: '#3085d6', confirmButtonColor: '#3085d6',
cancelButtonColor: '#d33', cancelButtonColor: '#d33',
confirmButtonText: 'Yes, delete it!' confirmButtonText: 'Yes, delete it!'
}).then((result) => { }).then((result) => {
if (result.isConfirmed) { if (result.isConfirmed) {
$.ajax({ $.ajax({
url: url, url: url,
type: 'DELETE', type: 'DELETE',
headers: { headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}, },
data: { data: {
id: id id: id
}, },
success: function (response) { success: function (response) {
location.reload(); location.reload();
}, },
error: function (xhr, status, error) { error: function (xhr, status, error) {
console.error(xhr.responseText); console.error(xhr.responseText);
}
});
} }
}); });
}
});
}); });
//initialize ckeditor //initialize ckeditor
document.querySelectorAll('.ckeditor-classic').forEach(editor => { document.querySelectorAll('.ckeditor-classic').forEach(editor => {
console.log(editor); console.log(editor);
ClassicEditor ClassicEditor
.create(editor) .create(editor)
.catch(error => { .catch(error => {
console.error(error); console.error(error);
}); });
}); });
$('.date-picker').nepaliDatePicker({ $('.date-picker').nepaliDatePicker({
// dateFormat: '%D, %M %d, %y', // dateFormat: '%D, %M %d, %y',
dateFormat: '%y-%m-%d', dateFormat: '%y-%m-%d',
closeOnDateSelect: true, closeOnDateSelect: true,
}); });
// initialize filepond // initialize filepond
@ -57,77 +57,77 @@ console.log(inputElement);
FilePond.registerPlugin(FilePondPluginImagePreview); FilePond.registerPlugin(FilePondPluginImagePreview);
const pond = FilePond.create(inputElement); const pond = FilePond.create(inputElement);
FilePond.setOptions({ FilePond.setOptions({
server: { server: {
process: "/filepond/upload", process: "/filepond/upload",
revert: '/delete', revert: '/delete',
headers: { headers: {
'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').getAttribute('content'), 'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').getAttribute('content'),
}, },
} }
}); });
//ajax form submit //ajax form submit
document.addEventListener('DOMContentLoaded', function () { document.addEventListener('DOMContentLoaded', function () {
let form = document.getElementById('storeUpdateForm'); let form = document.getElementById('storeUpdateForm');
let action = form.getAttribute('action'); let action = form.getAttribute('action');
let method = form.getAttribute('method'); let method = form.getAttribute('method');
toastr.options = { toastr.options = {
'closeButton': true, 'closeButton': true,
'debug': false, 'debug': false,
'newestOnTop': true, 'newestOnTop': true,
'progressBar': true, 'progressBar': true,
'positionClass': 'toast-top-right', 'positionClass': 'toast-top-right',
'preventDuplicates': true, 'preventDuplicates': true,
'showDuration': '1000', 'showDuration': '1000',
'hideDuration': '1000', 'hideDuration': '1000',
'timeOut': '5000', 'timeOut': '5000',
'extendedTimeOut': '1000', 'extendedTimeOut': '1000',
'showEasing': 'swing', 'showEasing': 'swing',
'hideEasing': 'linear', 'hideEasing': 'linear',
'showMethod': 'fadeIn', 'showMethod': 'fadeIn',
'hideMethod': 'fadeOut', 'hideMethod': 'fadeOut',
} }
form.addEventListener('submit', function (e) { form.addEventListener('submit', function (e) {
e.preventDefault(); e.preventDefault();
let formData = new FormData(form); let formData = new FormData(form);
fetch(action, { fetch(action, {
method: method, method: method,
body: formData, body: formData,
headers: { headers: {
'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').getAttribute('content') 'X-CSRF-TOKEN': document.querySelector('meta[name="csrf-token"]').getAttribute('content')
}
})
.then(response => {
if (response.ok) {
response.json().then(data => {
toastr['success'](data.message);
})
} else {
response.json().then(data => {
if (data.errors) {
for (const [key, message] of Object.entries(data.errors)) {
let errorDiv = document.createElement('div');
errorDiv.innerHTML = `<span class="text-danger">${message}</span>`;
document.getElementById(key).parentNode.appendChild(errorDiv);
}
} }
}) })
.then(response => {
if (response.ok) {
response.json().then(data => {
toastr['success'](data.message);
})
} else {
response.json().then(data => {
if (data.errors) {
for (const [key, message] of Object.entries(data.errors)) {
let errorDiv = document.createElement('div');
errorDiv.innerHTML = `<span class="text-danger">${message}</span>`;
document.getElementById(key).parentNode.appendChild(errorDiv);
}
}
})
.catch(error => {
console.error('Error parsing JSON:', error);
});
}
})
.catch(error => { .catch(error => {
console.error('Error parsing JSON:', error); console.error('Error during fetch:', error);
}); });
} });
})
.catch(error => {
console.error('Error during fetch:', error);
});
});
}); });

View File

@ -1,35 +0,0 @@
@extends('layouts.app')
@section('content')
<!-- start page title -->
<div class="row">
<div class="col-12">
<div class="page-title-box d-sm-flex align-items-center justify-content-between">
<h4 class="mb-sm-0">Add Country</h4>
<div class="page-title-right">
<ol class="breadcrumb m-0">
<li class="breadcrumb-item"><a href="javascript: void(0);">Dashboards</a></li>
<li class="breadcrumb-item active">Add Country</li>
</ol>
</div>
</div>
</div>
</div>
<!-- end page title -->
<form action="{{ route('countries.store') }}" id="storeCustomForm" method="POST">
@csrf
<div class='card'>
<div class='card-body'>
<div class="row">
<div class="col-lg-12">{{ createText('title', 'title', 'Title') }}</div>
<div class="col-lg-12 pb-2">{{ createTextarea('description', 'description ckeditor-classic', 'Description') }}
</div>
<div class="col-lg-12 pb-2">{{ createPlainTextArea('remarks', 'remarks ', 'Remarks') }}</div>
</div>
</div>
</div>
<div class="col-md-12">
<?php createButton('btn-primary btn-store', '', 'Submit'); ?>
<?php createButton('btn-danger btn-cancel', '', 'Cancel', route('countries.index')); ?>
</div>
</form>
@endsection

View File

@ -1,40 +1,50 @@
@extends('layouts.app') @extends('layouts.app')
@section('content') @section('content')
<!-- start page title --> <div class="page-content">
<div class="row"> <div class="container-fluid">
<div class="col-12">
<div class="page-title-box d-sm-flex align-items-center justify-content-between"> <!-- start page title -->
<h4 class="mb-sm-0">Edit Country </h4> @include('layouts.partials.breadcrumb', ['title' => 'Country'])
<div class="page-title-right">
<ol class="breadcrumb m-0"> <!-- end page title -->
<li class="breadcrumb-item"><a href="javascript: void(0);">Dashboards</a></li>
<li class="breadcrumb-item active">Edit Country </li> <form action="{{ $editable ? route('countries.update', [$data->country_id]) : route('countries.store') }}"
</ol> id="updateCustomForm" method="POST">
@csrf
<input type=hidden name='country_id' value='{{ $editable ? $data->country_id : '' }}' />
<div class='card'>
<div class='card-body'>
<div class="row">
<div class="col-lg-12">
{{ createText('title', 'title', 'Title', '', $editable ? $data->title : '') }}
</div>
{{-- <div class="col-lg-12 pb-4">
{{ createTextarea('description', 'description ckeditor-classic', 'Description', $editable ? $data->description : '') }}
</div> --}}
<div class="border border-dashed"></div>
<div class="col-lg-12 pb-2">
{{ createPlainTextArea('remarks', '', 'Remarks', $editable ? $data->remarks : '') }}
</div>
</div>
</div>
<div class="card-footer">
<div class="col-md-12">
<?php createButton('btn-primary btn-update', '', 'Submit'); ?>
<?php createButton('btn-danger btn-cancel', '', 'Cancel', route('countries.index')); ?>
</div>
</div>
</div> </div>
</div> </form>
</div> </div>
</div> </div>
<!-- end page title -->
<form action="{{ route('countries.update', [$data->country_id]) }}" id="updateCustomForm" method="POST">
@csrf <input type=hidden name='country_id' value='{{ $data->country_id }}' />
<div class='card'>
<div class='card-body'>
<div class="row">
<div class="col-lg-12">{{ createText('title', 'title', 'Title', '', $data->title) }}</div>
<div class="col-lg-12 pb-4">
{{ createTextarea('description', 'description ckeditor-classic', 'Description', $data->description) }}</div>
<div class="border border-dashed"></div>
<div class="col-lg-12 pb-2">{{ createPlainTextArea('remarks', '', 'Remarks', $data->remarks) }}</div>
</div>
</div>
<div class="card-footer">
<div class="col-md-12"><?php createButton('btn-primary btn-update', '', 'Update'); ?>
<?php createButton('btn-danger btn-cancel', '', 'Cancel', route('countries.index')); ?>
</div>
</div>
</div>
</form>
@endsection @endsection

View File

@ -1,115 +1,92 @@
@extends('layouts.app') @extends('layouts.app')
@section('content') @section('content')
<div class="row"> <div class="page-content">
<div class="col-lg-4"> <div class="container-fluid">
<form action="{{ route('countries.store') }}" id="storeCustomForm" method="POST">
@csrf
<div class='card'>
<div class="card-header">
<h2 class="card-title mb-0">Add Country</h2>
</div>
<div class='card-body'>
<div class="row">
<div class="col-lg-12">{{ createText('title', 'title', 'Title') }}</div>
<div class="border border-dashed"></div>
<div class="col-lg-12 pb-3">{{ createTextarea('description', 'description ', 'Description') }}</div>
<div class="border border-dashed"></div>
<div class="col-lg-12 pb-2">{{ createPlainTextArea('remarks', 'remarks ', 'Remarks') }}</div>
</div>
</div>
<div class="card-footer"> <!-- start page title -->
<div class="col-md-12"> @include('layouts.partials.breadcrumb', ['title' => 'Country'])
<?php createButton('btn-primary btn-store', '', 'Submit'); ?>
<?php createButton('btn-danger btn-cancel', '', 'Cancel', route('countries.index')); ?> <!-- end page title -->
<div class="row">
<div class="col-lg-12">
<div class="card">
<div class="card-header align-items-center d-flex">
<h5 class="card-title flex-grow-1 mb-0">Country Lists</h5>
<div class="flex-shrink-0">
<a href="{{ route('countries.create') }}" class="btn btn-success waves-effect waves-light"><i
class="ri-add-fill me-1 align-bottom"></i> Create Country</a>
</div>
</div>
<div class="card-body">
<table class="dataTable table" id="tbl_countries" data-url="{{ route('countries.sort') }}">
<thead class="table-light">
<tr>
<th class="tb-col text-uppercase"><span class="overline-title">{{ label('Sn.') }}</span></th>
<th class="tb-col text-uppercase"><span class="overline-title">{{ label('title') }}</span></th>
<th class="tb-col text-uppercase"><span class="overline-title">{{ label('alias') }}</span></th>
<th class="tb-col text-uppercase" data-sortable="false"><span
class="overline-title">{{ label('Action') }}</span>
</th>
</tr>
</thead>
<tbody>
@foreach ($data as $index => $item)
<tr data-id="{{ $item->country_id }}" data-display_order="{{ $item->display_order }}"
class="draggable-row <?php echo $item->status == 0 ? 'bg-light bg-danger' : ''; ?>">
<td class="tb-col">{{ $index + 1 }}</td>
<td class="tb-col">{{ $item->title }}</td>
<td class="tb-col">
<div class="alias-wrapper" data-id="{{ $item->country_id }}">
<span class="alias">{{ $item->alias }}</span>
<input type="text" class="alias-input d-none" value="{{ $item->alias }}"
id="alias_{{ $item->country_id }}" />
</div>
<span class="badge badge-soft-primary change-alias-badge">change alias</span>
</td>
<td class="tb-col">
<div class="dropdown d-inline-block">
<button class="btn btn-soft-secondary btn-sm dropdown" type="button" data-bs-toggle="dropdown"
aria-expanded="false">
<i class="ri-more-fill align-middle"></i>
</button>
<ul class="dropdown-menu dropdown-menu-end">
<li><a href="{{ route('countries.show', [$item->country_id]) }}" class="dropdown-item"><i
class="ri-eye-fill text-muted me-2 align-bottom"></i> {{ label('View') }}</a></li>
<li><a href="{{ route('countries.edit', [$item->country_id]) }}"
class="dropdown-item edit-item-btn"><i
class="ri-pencil-fill text-muted me-2 align-bottom"></i> {{ label('Edit') }}</a></li>
<li>
<a href="{{ route('countries.toggle', [$item->country_id]) }}"
class="dropdown-item toggle-item-btn" onclick="confirmToggle(this.href)">
<i class="ri-article-fill text-muted me-2 align-bottom"></i>
{{ $item->status == 1 ? label('Unpublish') : label('Publish') }}
</a>
</li>
<li>
<a href="{{ route('countries.destroy', [$item->country_id]) }}"
class="dropdown-item remove-item-btn" onclick="confirmDelete(this.href)">
<i class="ri-delete-bin-fill text-muted me-2 align-bottom"></i> {{ label('Delete') }}
</a>
</li>
</ul>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div> </div>
</div> </div>
</div> </div>
</form>
</div>
<div class="col-lg-8">
<div class="card">
<div class="card-header d-flex justify-content-between align-items-center">
<h2 class="card-title mb-0">{{ label('Countries List') }}</h2>
</div>
<div class="card-body">
<table class="dataTable table" id="tbl_countries" data-url="{{ route('countries.sort') }}">
<thead class="table-light">
<tr>
<th class="tb-col text-uppercase"><span class="overline-title">{{ label('Sn.') }}</span></th>
<th class="tb-col text-uppercase"><span class="overline-title">{{ label('title') }}</span></th>
<th class="tb-col text-uppercase"><span class="overline-title">{{ label('alias') }}</span></th>
<th class="tb-col text-uppercase" data-sortable="false"><span
class="overline-title">{{ label('Action') }}</span>
</th>
</tr>
</thead>
<tbody>
@php
$i = 1;
@endphp
@foreach ($data as $item)
<tr data-id="{{ $item->country_id }}" data-display_order="{{ $item->display_order }}"
class="draggable-row <?php echo $item->status == 0 ? 'bg-light bg-danger' : ''; ?>">
<td class="tb-col">{{ $i++ }}</td>
<td class="tb-col">{{ $item->title }}</td>
<td class="tb-col">
<div class="alias-wrapper" data-id="{{ $item->country_id }}">
<span class="alias">{{ $item->alias }}</span>
<input type="text" class="alias-input d-none" value="{{ $item->alias }}"
id="alias_{{ $item->country_id }}" />
</div>
<span class="badge badge-soft-primary change-alias-badge">change alias</span>
</td>
<td class="tb-col">
<div class="dropdown d-inline-block">
<button class="btn btn-soft-secondary btn-sm dropdown" type="button" data-bs-toggle="dropdown"
aria-expanded="false">
<i class="ri-more-fill align-middle"></i>
</button>
<ul class="dropdown-menu dropdown-menu-end">
<li><a href="{{ route('countries.show', [$item->country_id]) }}" class="dropdown-item"><i
class="ri-eye-fill text-muted me-2 align-bottom"></i> {{ label('View') }}</a></li>
<li><a href="{{ route('countries.edit', [$item->country_id]) }}"
class="dropdown-item edit-item-btn"><i
class="ri-pencil-fill text-muted me-2 align-bottom"></i> {{ label('Edit') }}</a></li>
<li>
<a href="{{ route('countries.toggle', [$item->country_id]) }}"
class="dropdown-item toggle-item-btn" onclick="confirmToggle(this.href)">
<i class="ri-article-fill text-muted me-2 align-bottom"></i>
{{ $item->status == 1 ? label('Unpublish') : label('Publish') }}
</a>
</li>
<li>
<a href="{{ route('countries.destroy', [$item->country_id]) }}"
class="dropdown-item remove-item-btn" onclick="confirmDelete(this.href)">
<i class="ri-delete-bin-fill text-muted me-2 align-bottom"></i> {{ label('Delete') }}
</a>
</li>
</ul>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div> </div>
</div> </div>
</div> </div>
@endsection @endsection
@push('css')
<link rel="stylesheet" href="https://cdn.datatables.net/1.13.5/css/dataTables.bootstrap4.min.css">
<link rel="stylesheet" href="https://cdn.datatables.net/rowreorder/1.4.0/css/rowReorder.dataTables.min.css">
@endpush
@push('js') @push('js')
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/pdfmake.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/vfs_fonts.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://cdn.datatables.net/1.13.5/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/buttons/2.4.1/js/buttons.html5.min.js"></script>
<script src="https://cdn.datatables.net/rowreorder/1.4.0/js/dataTables.rowReorder.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<script> <script>
$(document).ready(function(e) { $(document).ready(function(e) {
$('.change-alias-badge').on('click', function() { $('.change-alias-badge').on('click', function() {

View File

@ -1,37 +1,52 @@
@extends('layouts.app') @extends('layouts.app')
@section('content') @section('content')
<div class='card'> <div class="page-content">
<div class='card-header d-flex justify-content-between align-items-center'> <div class="container-fluid">
<h2><?php echo label('View Details'); ?></h2>
<?php createButton('btn-primary btn-cancel', '', 'Back to List', route('countries.index')); ?>
</div> <!-- start page title -->
<div class='card-body'> @include('layouts.partials.breadcrumb', ['title' => 'Employee'])
<!-- end page title -->
<div class="page-content">
<div class="container-fluid">
<p><b>Title :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->title }}</span></p> <!-- start page title -->
<p><b>Alias :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->alias }}</span></p> @include('layouts.partials.breadcrumb', ['title' => 'Employee'])
<p><b>Description :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->description }}</span></p>
<p><b>Display Order :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->display_order }}</span></p> <!-- end page title -->
<p><b>Status :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span <div class='card'>
class="{{ $data->status == 1 ? 'text-success' : 'text-danger' }}">{{ $data->status == 1 ? 'Active' : 'Inactive' }}</span> <div class='card-header d-flex justify-content-between align-items-center'>
</p> <h2><?php echo label('View Detail'); ?></h2>
<p><b>Remarks :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->remarks }}</span></p> <?php createButton('btn-primary btn-cancel', '', 'Back to List', route('countries.index')); ?>
<p><b>Createdby :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->createdby }}</span></p>
<p><b>Updatedby :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->updatedby }}</span></p> </div>
<div class="d-flex justify-content-between"> <div class='card-body'>
<div> <p><b>Title :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->title }}</span></p>
<p><b>Created On :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->created_at }}</span></p> <p><b>Alias :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->alias }}</span></p>
<p><b>Created By :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->createdBy }}</span></p> <p><b>Description :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->description }}</span></p>
</div> <p><b>Display Order :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->display_order }}</span></p>
<div> <p><b>Status :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span
<p><b>Updated On :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->updated_at }}</span></p> class="{{ $data->status == 1 ? 'text-success' : 'text-danger' }}">{{ $data->status == 1 ? 'Active' : 'Inactive' }}</span>
<p><b>Updated By :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->updatedBy }}</span></p> </p>
<p><b>Remarks :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->remarks }}</span></p>
<p><b>Createdby :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->createdby }}</span></p>
<p><b>Updatedby :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->updatedby }}</span></p>
<div class="d-flex justify-content-between">
<div>
<p><b>Created On :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->created_at }}</span></p>
<p><b>Created By :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->createdBy }}</span></p>
</div>
<div>
<p><b>Updated On :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->updated_at }}</span></p>
<p><b>Updated By :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->updatedBy }}</span></p>
</div>
</div>
</div>
</div>
</div> </div>
</div> </div>
@endSection
</div>
</div>
@endSection

View File

@ -1,30 +1,54 @@
@extends('layouts.app') @extends('layouts.app')
@section('content') @section('content')
<div class='card'> <div class="page-content">
<div class='card-header d-flex justify-content-between align-items-center'> <div class="container-fluid">
<h2 class="">{{ label('Add Department') }}</h2>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('departments.index')); ?>
<!-- start page title -->
@include('layouts.partials.breadcrumb', ['title' => 'Employee'])
<!-- end page title -->
<div class="card">
<div class='card-body'>
<form action="{{ $editable ? route('department.update', [$data->department_id]) : route('department.store') }}"
id="updateCustomForm" method="POST">
@csrf
<input type=hidden name='department_id' value='{{ $editable ? $data->department_id : '' }}' />
<div class="row">
<div class="col-lg-6">
{{ createText('title', 'title', 'Title', '', $editable ? $data->title : '') }}
</div>
{{-- <div class="col-lg-6">
{{ createCustomSelect('tbl_branches', 'title', 'branch_id', $editable ? $data->branches_id : '', 'Branch', 'branches_id', 'form-control select2', 'status<>-1') }}
</div> --}}
<div class="col-lg-12 pb-2">
{{ createPlainTextArea('remarks', '', 'Remarks', $editable ? $data->remarks : '') }}
</div>
{{-- <div class="col-lg-12 pb-2">
{{ createTextarea('description', 'description ckeditor-classic', 'Description', $editable ? $data->description : '') }}
</div> --}}
<div class="col-md-12 mt-2">
<?php createButton('btn-primary btn-update', '', 'Submit'); ?>
<?php createButton('btn-danger btn-cancel', '', 'Cancel', route('department.index')); ?>
</div>
</form>
</div>
</div>
</div> </div>
<div class='card-body'> @endsection
<form action="{{ $editable ? route('departments.update', [$data->department_id]) : route('departments.store') }}"
id="updateCustomForm" method="POST">
@csrf <input type=hidden name='department_id' value='{{ $editable ? $data->department_id : '' }}' />
<div class="row">
<div class="col-lg-6">{{ createText('title', 'title', 'Title', '', $editable ? $data->title : '') }}
</div>
<div class="col-lg-12 pb-2">{{ createPlainTextArea('remarks', '', 'Remarks', $editable ? $data->remarks : '') }}
</div>
<div class="col-lg-6">
{{ createCustomSelect('tbl_branches', 'title', 'branch_id', $editable ? $data->branches_id : '', 'Branches Id', 'branches_id', 'form-control select2', 'status<>-1') }}
</div>
<div class="col-lg-12 pb-2">
{{ createTextarea('description', 'description ckeditor-classic', 'Description', $editable ? $data->description : '') }}
</div>
<div class="col-md-12"><?php createButton('btn-primary btn-update', '', 'Submit'); ?>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('departments.index')); ?>
</div>
</form>
</div>
</div>
@endsection

View File

@ -1,106 +1,104 @@
@extends('layouts.app') @extends('layouts.app')
@section('content') @section('content')
<div class="card"> <div class="page-content">
<div class="card-header d-flex justify-content-between align-items-center"> <div class="container-fluid">
<h2>{{ label('Departments List') }}</h2>
<a href="{{ route('departments.create') }}" class="btn btn-primary"><span>{{ label('Create New') }}</span></a>
</div>
<div class="card-body">
<table class="dataTable table" id="tbl_departments" data-url="{{ route('departments.sort') }}">
<thead class="table-light">
<tr>
<th class="tb-col"><span class="overline-title">{{ label('Sn.') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('title') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('alias') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('branches') }}</span></th>
<th class="tb-col" data-sortable="false"><span class="overline-title">{{ label('Action') }}</span>
</th>
</tr>
</thead>
<tbody>
@php
$i = 1;
@endphp
@foreach ($data as $item)
<tr data-id="{{ $item->department_id }}" data-display_order="{{ $item->display_order }}"
class="draggable-row <?php echo $item->status == 0 ? 'bg-light bg-danger' : ''; ?>">
<td class="tb-col">{{ $i++ }}</td>
<td class="tb-col">{{ $item->title }}</td>
<td class="tb-col">
<div class="alias-wrapper" data-id="{{ $item->department_id }}">
<span class="alias">{{ $item->alias }}</span>
<input type="text" class="alias-input d-none" value="{{ $item->alias }}"
id="alias_{{ $item->department_id }}" />
</div>
<span class="badge badge-soft-primary change-alias-badge">change alias</span>
</td>
<td class="tb-col">
{!! getFieldData('tbl_branches', 'title', 'branch_id', $item->branches_id) !!}
</td>
<td class="tb-col">
<div class="dropdown d-inline-block">
<button class="btn btn-soft-secondary btn-sm dropdown" type="button" data-bs-toggle="dropdown"
aria-expanded="false">
<i class="ri-more-fill align-middle"></i>
</button>
<ul class="dropdown-menu dropdown-menu-end">
<li><a href="{{ route('departments.show', [$item->department_id]) }}" class="dropdown-item"><i
class="ri-eye-fill text-muted me-2 align-bottom"></i> {{ label('View') }}</a></li>
<li><a href="{{ route('departments.edit', [$item->department_id]) }}"
class="dropdown-item edit-item-btn"><i class="ri-pencil-fill text-muted me-2 align-bottom"></i>
{{ label('Edit') }}</a></li>
<li>
<a href="{{ route('departments.toggle', [$item->department_id]) }}"
class="dropdown-item toggle-item-btn" onclick="confirmToggle(this.href)">
<i class="ri-article-fill text-muted me-2 align-bottom"></i>
{{ $item->status == 1 ? label('Unpublish') : label('Publish') }}
</a>
</li> <!-- start page title -->
<li> @include('layouts.partials.breadcrumb', ['title' => 'Department'])
<a href="{{ route('departments.clone', [$item->department_id]) }}"
class="dropdown-item toggle-item-btn" onclick="confirmClone(this.href)">
<i class="ri-file-copy-line text-muted me-2 align-bottom"></i> {{ label('Clone') }}
</a>
</li> <!-- end page title -->
<li>
<a href="{{ route('departments.destroy', [$item->department_id]) }}"
class="dropdown-item remove-item-btn" onclick="confirmDelete(this.href)">
<i class="ri-delete-bin-fill text-muted me-2 align-bottom"></i> {{ label('Delete') }}
</a>
</li> <div class="card">
</ul> <div class="card-header align-items-center d-flex">
</div> <h5 class="card-title flex-grow-1 mb-0">Department Lists</h5>
<div class="flex-shrink-0">
<a href="{{ route('department.create') }}" class="btn btn-success waves-effect waves-light"><i
class="ri-add-fill me-1 align-bottom"></i> Create Department</a>
</div>
</div>
<div class="card-body">
<table class="dataTable table" id="tbl_departments" data-url="{{ route('department.sort') }}">
<thead class="table-light">
<tr>
<th class="tb-col"><span class="overline-title">{{ label('Sn.') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('title') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('alias') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('branches') }}</span></th>
<th class="tb-col" data-sortable="false"><span class="overline-title">{{ label('Action') }}</span>
</th>
</tr>
</thead>
<tbody>
@php
$i = 1;
@endphp
@foreach ($data as $item)
<tr data-id="{{ $item->department_id }}" data-display_order="{{ $item->display_order }}"
class="draggable-row <?php echo $item->status == 0 ? 'bg-light bg-danger' : ''; ?>">
<td class="tb-col">{{ $i++ }}</td>
<td class="tb-col">{{ $item->title }}</td>
<td class="tb-col">
<div class="alias-wrapper" data-id="{{ $item->department_id }}">
<span class="alias">{{ $item->alias }}</span>
<input type="text" class="alias-input d-none" value="{{ $item->alias }}"
id="alias_{{ $item->department_id }}" />
</div>
<span class="badge badge-soft-primary change-alias-badge">change alias</span>
</td>
<td class="tb-col">
{!! getFieldData('tbl_branches', 'title', 'branch_id', $item->branches_id) !!}
</td>
<td class="tb-col">
<div class="dropdown d-inline-block">
<button class="btn btn-soft-secondary btn-sm dropdown" type="button" data-bs-toggle="dropdown"
aria-expanded="false">
<i class="ri-more-fill align-middle"></i>
</button>
<ul class="dropdown-menu dropdown-menu-end">
<li><a href="{{ route('department.show', [$item->department_id]) }}" class="dropdown-item"><i
class="ri-eye-fill text-muted me-2 align-bottom"></i> {{ label('View') }}</a></li>
<li><a href="{{ route('department.edit', [$item->department_id]) }}"
class="dropdown-item edit-item-btn"><i
class="ri-pencil-fill text-muted me-2 align-bottom"></i>
{{ label('Edit') }}</a></li>
<li>
<a href="{{ route('department.toggle', [$item->department_id]) }}"
class="dropdown-item toggle-item-btn" onclick="confirmToggle(this.href)">
<i class="ri-article-fill text-muted me-2 align-bottom"></i>
{{ $item->status == 1 ? label('Unpublish') : label('Publish') }}
</a>
</li>
<li>
<a href="{{ route('department.clone', [$item->department_id]) }}"
class="dropdown-item toggle-item-btn" onclick="confirmClone(this.href)">
<i class="ri-file-copy-line text-muted me-2 align-bottom"></i> {{ label('Clone') }}
</a>
</td> </li>
</tr> <li>
@endforeach <a href="{{ route('department.destroy', [$item->department_id]) }}"
class="dropdown-item remove-item-btn" onclick="confirmDelete(this.href)">
</tbody> <i class="ri-delete-bin-fill text-muted me-2 align-bottom"></i> {{ label('Delete') }}
</table> </a>
</li>
</ul>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div> </div>
</div> </div>
@endsection @endsection
@push('css')
<link rel="stylesheet" href="https://cdn.datatables.net/1.13.5/css/dataTables.bootstrap4.min.css">
<link rel="stylesheet" href="https://cdn.datatables.net/rowreorder/1.4.0/css/rowReorder.dataTables.min.css">
@endpush
@push('js') @push('js')
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/pdfmake.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/vfs_fonts.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://cdn.datatables.net/1.13.5/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/buttons/2.4.1/js/buttons.html5.min.js"></script>
<script src="https://cdn.datatables.net/rowreorder/1.4.0/js/dataTables.rowReorder.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<script> <script>
$(document).ready(function(e) { $(document).ready(function(e) {
$('.change-alias-badge').on('click', function() { $('.change-alias-badge').on('click', function() {
@ -109,15 +107,15 @@
var aliasInput = aliasWrapper.find('.alias-input'); var aliasInput = aliasWrapper.find('.alias-input');
var isEditing = $(this).hasClass('editing'); var isEditing = $(this).hasClass('editing');
aliasInput.toggleClass("d-none"); aliasInput.toggleClass("d-none");
if (isEditing) { if (isEditing) {
// Update alias text and switch to non-editing state
var newAlias = aliasInput.val(); var newAlias = aliasInput.val();
aliasSpan.text(newAlias); aliasSpan.text(newAlias);
aliasSpan.show(); aliasSpan.show();
aliasInput.hide(); aliasInput.hide();
$(this).removeClass('editing').text('Change Alias'); $(this).removeClass('editing').text('Change Alias');
var articleId = $(aliasWrapper).data('id'); var articleId = $(aliasWrapper).data('id');
var ajaxUrl = "{{ route('departments.updatealias') }}"; var ajaxUrl = "{{ route('department.updatealias') }}";
var data = { var data = {
articleId: articleId, articleId: articleId,
newAlias: newAlias newAlias: newAlias
@ -138,7 +136,6 @@
} }
}); });
} else { } else {
// Switch to editing state
aliasSpan.hide(); aliasSpan.hide();
aliasInput.show().focus(); aliasInput.show().focus();
$(this).addClass('editing').text('Save Alias'); $(this).addClass('editing').text('Save Alias');
@ -146,9 +143,7 @@
}); });
var mytable = $(".dataTable").DataTable({ var mytable = $(".dataTable").DataTable({
ordering: true, ordering: true,
rowReorder: { rowReorder: {},
//selector: 'tr'
},
}); });
var isRowReorderComplete = false; var isRowReorderComplete = false;

View File

@ -1,38 +1,45 @@
@extends('layouts.app') @extends('layouts.app')
@section('content') @section('content')
<div class='card'> <div class="page-content">
<div class='card-header d-flex justify-content-between align-items-center'> <div class="container-fluid">
<h2><?php echo label('View Details'); ?></h2>
<?php createButton('btn-primary btn-cancel', '', 'Back to List', route('departments.index')); ?>
</div> <!-- start page title -->
<div class='card-body'> @include('layouts.partials.breadcrumb', ['title' => 'Department'])
<!-- end page title -->
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2><?php echo label('View Detail'); ?></h2>
<?php createButton('btn-primary btn-cancel', '', 'Back to List', route('department.index')); ?>
<p><b>Title :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->title }}</span></p>
<p><b>Alias :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->alias }}</span></p>
<p><b>Status :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span
class="{{ $data->status == 1 ? 'text-success' : 'text-danger' }}">{{ $data->status == 1 ? 'Active' : 'Inactive' }}</span>
</p>
<p><b>Remarks :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->remarks }}</span></p>
<p><b>Display Order :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->display_order }}</span></p>
<p><b>Createdby :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->createdby }}</span></p>
<p><b>Updatedby :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->updatedby }}</span></p>
<p><b>Branches Id :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->branches_id }}</span></p>
<p><b>Description :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->description }}</span></p>
<div class="d-flex justify-content-between">
<div>
<p><b>Created On :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->created_at }}</span></p>
<p><b>Created By :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->createdBy }}</span></p>
</div> </div>
<div> <div class='card-body'>
<p><b>Updated On :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->updated_at }}</span></p> <p><b>Title :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->title }}</span></p>
<p><b>Updated By :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->updatedBy }}</span></p> <p><b>Alias :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->alias }}</span></p>
<p><b>Status :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span
class="{{ $data->status == 1 ? 'text-success' : 'text-danger' }}">{{ $data->status == 1 ? 'Active' : 'Inactive' }}</span>
</p>
<p><b>Remarks :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->remarks }}</span></p>
<p><b>Display Order :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->display_order }}</span></p>
<p><b>Createdby :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->createdby }}</span></p>
<p><b>Updatedby :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->updatedby }}</span></p>
<p><b>Branches Id :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->branches_id }}</span></p>
<p><b>Description :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->description }}</span></p>
<div class="d-flex justify-content-between">
<div>
<p><b>Created On :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->created_at }}</span></p>
<p><b>Created By :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->createdBy }}</span></p>
</div>
<div>
<p><b>Updated On :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->updated_at }}</span></p>
<p><b>Updated By :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->updatedBy }}</span></p>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@endSection @endSection

View File

@ -1,30 +1,55 @@
@extends('layouts.app') @extends('layouts.app')
@section('content') @section('content')
<div class='card'> <div class="page-content">
<div class='card-header d-flex justify-content-between align-items-center'> <div class="container-fluid">
<h2 class="">{{ label('Add Designations') }}</h2>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('designations.index')); ?>
</div> <!-- start page title -->
<div class='card-body'> @include('layouts.partials.breadcrumb', ['title' => 'Designation'])
<form action="{{ $editable ? route('designations.update', [$data->designation_id]) : route('designations.store') }}"
id="updateCustomForm" method="POST"> <!-- end page title -->
@csrf <input type=hidden name='designation_id' value='{{ $editable ? $data->designation_id : '' }}' />
<div class="row"> <div class='card'>
<div class="col-lg-6">{{ createText('title', 'title', 'Title', '', $editable ? $data->title : '') }} <div class='card-body'>
</div> <form
<div class="col-lg-12 pb-2">{{ createPlainTextArea('remarks', '', 'Remarks', $editable ? $data->remarks : '') }} action="{{ $editable ? route('designation.update', [$data->designation_id]) : route('designation.store') }}"
</div> id="updateCustomForm" method="POST">
<div class="col-lg-6">
{{ createText('job_description', 'job_description', 'Job Description', '', $editable ? $data->job_description : '') }} @csrf
</div>
<div class="col-lg-6"> <input type=hidden name='designation_id' value='{{ $editable ? $data->designation_id : '' }}' />
{{ createCustomSelect('tbl_departments', 'title', 'department_id', $editable ? $data->departments_id : '', 'Departments Id', 'departments_id', 'form-control select2', 'status<>-1') }}
</div> <div class="row">
<div class="col-md-12"><?php createButton('btn-primary btn-update', '', 'Submit'); ?>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('designations.index')); ?> <div class="col-lg-6">
</div> {{ createText('title', 'title', 'Title', '', $editable ? $data->title : '') }}
</form> </div>
{{-- <div class="col-lg-6">
{{ createCustomSelect('tbl_departments', 'title', 'department_id', $editable ? $data->departments_id : '', 'Department', 'departments_id', 'form-control select2', 'status<>-1') }}
</div> --}}
<div class="col-lg-12">
{{ createPlainTextArea('job_description', '', 'Job Description', $editable ? $data->job_description : '') }}
</div>
<div class="col-lg-12">
{{ createPlainTextArea('remarks', '', 'Remarks', $editable ? $data->remarks : '') }}
</div>
<div class="col-md-12 mt-2">
<?php createButton('btn-primary btn-update', '', 'Submit'); ?>
<?php createButton('btn-danger btn-cancel', '', 'Cancel', route('designation.index')); ?>
</div>
</form>
</div>
</div>
</div> </div>
</div> </div>
@endsection @endsection

View File

@ -1,108 +1,107 @@
@extends('layouts.app') @extends('layouts.app')
@section('content') @section('content')
<div class="card"> <div class="page-content">
<div class="card-header d-flex justify-content-between align-items-center"> <div class="container-fluid">
<h2>{{ label('Designations List') }}</h2>
<a href="{{ route('designations.create') }}" class="btn btn-primary"><span>{{ label('Create New') }}</span></a>
</div>
<div class="card-body">
<table class="dataTable table" id="tbl_designations" data-url="{{ route('designations.sort') }}">
<thead class="table-light">
<tr>
<th class="tb-col"><span class="overline-title">{{ label('Sn.') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('title') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('alias') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('job_description') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('departments') }}</span></th>
<th class="tb-col" data-sortable="false"><span class="overline-title">{{ label('Action') }}</span>
</th>
</tr>
</thead>
<tbody>
@php
$i = 1;
@endphp
@foreach ($data as $item)
<tr data-id="{{ $item->designation_id }}" data-display_order="{{ $item->display_order }}"
class="draggable-row <?php echo $item->status == 0 ? 'bg-light bg-danger' : ''; ?>">
<td class="tb-col">{{ $i++ }}</td>
<td class="tb-col">{{ $item->title }}</td>
<td class="tb-col">
<div class="alias-wrapper" data-id="{{ $item->designation_id }}">
<span class="alias">{{ $item->alias }}</span>
<input type="text" class="alias-input d-none" value="{{ $item->alias }}"
id="alias_{{ $item->designation_id }}" />
</div>
<span class="badge badge-soft-primary change-alias-badge">change alias</span>
</td>
<td class="tb-col">{{ $item->job_description }}</td>
<td class="tb-col">
{!! getFieldData('tbl_departments', 'title', 'department_id', $item->departments_id) !!}
</td>
<td class="tb-col">
<div class="dropdown d-inline-block">
<button class="btn btn-soft-secondary btn-sm dropdown" type="button" data-bs-toggle="dropdown"
aria-expanded="false">
<i class="ri-more-fill align-middle"></i>
</button>
<ul class="dropdown-menu dropdown-menu-end">
<li><a href="{{ route('designations.show', [$item->designation_id]) }}" class="dropdown-item"><i
class="ri-eye-fill text-muted me-2 align-bottom"></i> {{ label('View') }}</a></li>
<li><a href="{{ route('designations.edit', [$item->designation_id]) }}"
class="dropdown-item edit-item-btn"><i class="ri-pencil-fill text-muted me-2 align-bottom"></i>
{{ label('Edit') }}</a></li>
<li>
<a href="{{ route('designations.toggle', [$item->designation_id]) }}"
class="dropdown-item toggle-item-btn" onclick="confirmToggle(this.href)">
<i class="ri-article-fill text-muted me-2 align-bottom"></i>
{{ $item->status == 1 ? label('Unpublish') : label('Publish') }}
</a>
</li> <!-- start page title -->
<li> @include('layouts.partials.breadcrumb', ['title' => 'Designation'])
<a href="{{ route('designations.clone', [$item->designation_id]) }}"
class="dropdown-item toggle-item-btn" onclick="confirmClone(this.href)">
<i class="ri-file-copy-line text-muted me-2 align-bottom"></i> {{ label('Clone') }}
</a>
</li> <!-- end page title -->
<li>
<a href="{{ route('designations.destroy', [$item->designation_id]) }}"
class="dropdown-item remove-item-btn" onclick="confirmDelete(this.href)">
<i class="ri-delete-bin-fill text-muted me-2 align-bottom"></i> {{ label('Delete') }}
</a>
</li> <div class="card">
</ul> <div class="card-header align-items-center d-flex">
</div> <h5 class="card-title flex-grow-1 mb-0">Designation Lists</h5>
<div class="flex-shrink-0">
<a href="{{ route('designation.create') }}" class="btn btn-success waves-effect waves-light"><i
class="ri-add-fill me-1 align-bottom"></i> Create Designation</a>
</div>
</div>
<div class="card-body">
<table class="dataTable table" id="tbl_designations" data-url="{{ route('designation.sort') }}">
<thead class="table-light">
<tr>
<th class="tb-col"><span class="overline-title">{{ label('S.N') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('Title') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('Alias') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('Job Description') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('Department') }}</span></th>
<th class="tb-col" data-sortable="false"><span class="overline-title">{{ label('Action') }}</span>
</th>
</tr>
</thead>
<tbody>
@foreach ($data as $index => $item)
<tr data-id="{{ $item->designation_id }}" data-display_order="{{ $item->display_order }}"
class="draggable-row <?php echo $item->status == 0 ? 'bg-light bg-danger' : ''; ?>">
<td class="tb-col">{{ $index + 1 }}</td>
<td class="tb-col">{{ $item->title }}</td>
<td class="tb-col">
<div class="alias-wrapper" data-id="{{ $item->designation_id }}">
<span class="alias">{{ $item->alias }}</span>
<input type="text" class="alias-input d-none" value="{{ $item->alias }}"
id="alias_{{ $item->designation_id }}" />
</div>
<span class="badge badge-soft-primary change-alias-badge">change alias</span>
</td>
<td class="tb-col">{{ $item->job_description }}</td>
<td class="tb-col">
{!! getFieldData('tbl_departments', 'title', 'department_id', $item->departments_id) !!}
</td>
<td class="tb-col">
<div class="dropdown d-inline-block">
<button class="btn btn-soft-secondary btn-sm dropdown" type="button" data-bs-toggle="dropdown"
aria-expanded="false">
<i class="ri-more-fill align-middle"></i>
</button>
<ul class="dropdown-menu dropdown-menu-end">
<li><a href="{{ route('designations.show', [$item->designation_id]) }}" class="dropdown-item"><i
class="ri-eye-fill text-muted me-2 align-bottom"></i> {{ label('View') }}</a></li>
<li><a href="{{ route('designations.edit', [$item->designation_id]) }}"
class="dropdown-item edit-item-btn"><i
class="ri-pencil-fill text-muted me-2 align-bottom"></i>
{{ label('Edit') }}</a></li>
<li>
<a href="{{ route('designations.toggle', [$item->designation_id]) }}"
class="dropdown-item toggle-item-btn" onclick="confirmToggle(this.href)">
<i class="ri-article-fill text-muted me-2 align-bottom"></i>
{{ $item->status == 1 ? label('Unpublish') : label('Publish') }}
</a>
</li>
<li>
<a href="{{ route('designations.clone', [$item->designation_id]) }}"
class="dropdown-item toggle-item-btn" onclick="confirmClone(this.href)">
<i class="ri-file-copy-line text-muted me-2 align-bottom"></i> {{ label('Clone') }}
</a>
</li>
<li>
<a href="{{ route('designations.destroy', [$item->designation_id]) }}"
class="dropdown-item remove-item-btn" onclick="confirmDelete(this.href)">
<i class="ri-delete-bin-fill text-muted me-2 align-bottom"></i> {{ label('Delete') }}
</a>
</li>
</ul>
</div>
</td> </td>
</tr> </tr>
@endforeach @endforeach
</tbody> </tbody>
</table> </table>
</div>
</div>
</div> </div>
</div> </div>
@endsection @endsection
@push('css')
<link rel="stylesheet" href="https://cdn.datatables.net/1.13.5/css/dataTables.bootstrap4.min.css">
<link rel="stylesheet" href="https://cdn.datatables.net/rowreorder/1.4.0/css/rowReorder.dataTables.min.css">
@endpush
@push('js') @push('js')
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/pdfmake.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/vfs_fonts.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://cdn.datatables.net/1.13.5/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/buttons/2.4.1/js/buttons.html5.min.js"></script>
<script src="https://cdn.datatables.net/rowreorder/1.4.0/js/dataTables.rowReorder.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<script> <script>
$(document).ready(function(e) { $(document).ready(function(e) {
$('.change-alias-badge').on('click', function() { $('.change-alias-badge').on('click', function() {
@ -119,7 +118,7 @@
aliasInput.hide(); aliasInput.hide();
$(this).removeClass('editing').text('Change Alias'); $(this).removeClass('editing').text('Change Alias');
var articleId = $(aliasWrapper).data('id'); var articleId = $(aliasWrapper).data('id');
var ajaxUrl = "{{ route('designations.updatealias') }}"; var ajaxUrl = "{{ route('designation.updatealias') }}";
var data = { var data = {
articleId: articleId, articleId: articleId,
newAlias: newAlias newAlias: newAlias

View File

@ -1,30 +1,46 @@
@extends('layouts.app') @extends('layouts.app')
@section('content') @section('content')
<div class='card'> <div class="page-content">
<div class='card-header d-flex justify-content-between align-items-center'> <div class="container-fluid">
<h2 class="">{{ label('Add Districts') }}</h2>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('districts.index')); ?>
</div> <!-- start page title -->
<div class='card-body'> @include('layouts.partials.breadcrumb', ['title' => 'District'])
<form action="{{ $editable ? route('districts.update', [$data->district_id]) : route('districts.store') }}"
id="updateCustomForm" method="POST"> <!-- end page title -->
@csrf <input type=hidden name='district_id' value='{{ $editable ? $data->district_id : '' }}' />
<div class="row"> <div class='card'>
<div class="col-lg-6"> <div class='card-body'>
{{ createCustomSelect('tbl_proviences', 'title', 'provience_id', $editable ? $data->proviences_id : '', 'Proviences Id', 'proviences_id', 'form-control select2', 'status<>-1') }} <form action="{{ $editable ? route('districts.update', [$data->district_id]) : route('districts.store') }}"
</div> id="updateCustomForm" method="POST">
<div class="col-lg-6">{{ createText('title', 'title', 'Title', '', $editable ? $data->title : '') }}
</div> @csrf
<div class="col-lg-12 pb-2">
{{ createTextarea('description', 'description ckeditor-classic', 'Description', $editable ? $data->description : '') }} <input type=hidden name='district_id' value='{{ $editable ? $data->district_id : '' }}' />
</div>
<div class="col-lg-12 pb-2">{{ createPlainTextArea('remarks', '', 'Remarks', $editable ? $data->remarks : '') }} <div class="row">
</div> <div class="col-lg-6">
<div class="col-md-12"><?php createButton('btn-primary btn-update', '', 'Submit'); ?> {{ createCustomSelect('tbl_provinces', 'title', 'province_id', $editable ? $data->provinces_id : '', 'Province', 'provinces_id', 'form-control select2', 'status<>-1') }}
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('districts.index')); ?> </div>
</div>
</form> <div class="col-lg-6">
{{ createText('title', 'title', 'Title', '', $editable ? $data->title : '') }}
</div>
{{-- <div class="col-lg-12 pb-2">
{{ createTextarea('description', 'description ckeditor-classic', 'Description', $editable ? $data->description : '') }}
</div> --}}
<div class="col-lg-12 pb-2">
{{ createPlainTextArea('remarks', '', 'Remarks', $editable ? $data->remarks : '') }}
</div>
<div class="col-md-12"><?php createButton('btn-primary btn-update', '', 'Submit'); ?>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('districts.index')); ?>
</div>
</form>
</div>
</div>
</div> </div>
</div> </div>
@endsection @endsection

View File

@ -1,106 +1,102 @@
@extends('layouts.app') @extends('layouts.app')
@section('content') @section('content')
<div class="card"> <div class="page-content">
<div class="card-header d-flex justify-content-between align-items-center"> <div class="container-fluid">
<h2>{{ label('Districts List') }}</h2>
<a href="{{ route('districts.create') }}" class="btn btn-primary"><span>{{ label('Create New') }}</span></a>
</div>
<div class="card-body">
<table class="dataTable table" id="tbl_districts" data-url="{{ route('districts.sort') }}">
<thead class="table-light">
<tr>
<th class="tb-col"><span class="overline-title">{{ label('Sn.') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('proviences') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('title') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('alias') }}</span></th>
<th class="tb-col" data-sortable="false"><span class="overline-title">{{ label('Action') }}</span>
</th>
</tr>
</thead>
<tbody>
@php
$i = 1;
@endphp
@foreach ($data as $item)
<tr data-id="{{ $item->district_id }}" data-display_order="{{ $item->display_order }}"
class="draggable-row <?php echo $item->status == 0 ? 'bg-light bg-danger' : ''; ?>">
<td class="tb-col">{{ $i++ }}</td>
<td class="tb-col">
{!! getFieldData('tbl_proviences', 'title', 'provience_id', $item->proviences_id) !!}
</td>
<td class="tb-col">{{ $item->title }}</td>
<td class="tb-col">
<div class="alias-wrapper" data-id="{{ $item->district_id }}">
<span class="alias">{{ $item->alias }}</span>
<input type="text" class="alias-input d-none" value="{{ $item->alias }}"
id="alias_{{ $item->district_id }}" />
</div>
<span class="badge badge-soft-primary change-alias-badge">change alias</span>
</td>
<td class="tb-col">
<div class="dropdown d-inline-block">
<button class="btn btn-soft-secondary btn-sm dropdown" type="button" data-bs-toggle="dropdown"
aria-expanded="false">
<i class="ri-more-fill align-middle"></i>
</button>
<ul class="dropdown-menu dropdown-menu-end">
<li><a href="{{ route('districts.show', [$item->district_id]) }}" class="dropdown-item"><i
class="ri-eye-fill text-muted me-2 align-bottom"></i> {{ label('View') }}</a></li>
<li><a href="{{ route('districts.edit', [$item->district_id]) }}"
class="dropdown-item edit-item-btn"><i class="ri-pencil-fill text-muted me-2 align-bottom"></i>
{{ label('Edit') }}</a></li>
<li>
<a href="{{ route('districts.toggle', [$item->district_id]) }}"
class="dropdown-item toggle-item-btn" onclick="confirmToggle(this.href)">
<i class="ri-article-fill text-muted me-2 align-bottom"></i>
{{ $item->status == 1 ? label('Unpublish') : label('Publish') }}
</a>
</li> <!-- start page title -->
<li> @include('layouts.partials.breadcrumb', ['title' => 'District'])
<a href="{{ route('districts.clone', [$item->district_id]) }}" class="dropdown-item toggle-item-btn"
onclick="confirmClone(this.href)">
<i class="ri-file-copy-line text-muted me-2 align-bottom"></i> {{ label('Clone') }}
</a>
</li> <!-- end page title -->
<li>
<a href="{{ route('districts.destroy', [$item->district_id]) }}"
class="dropdown-item remove-item-btn" onclick="confirmDelete(this.href)">
<i class="ri-delete-bin-fill text-muted me-2 align-bottom"></i> {{ label('Delete') }}
</a>
</li> <div class="card">
</ul> <div class="card-header align-items-center d-flex">
</div> <h5 class="card-title flex-grow-1 mb-0">District Lists</h5>
<div class="flex-shrink-0">
<a href="{{ route('districts.create') }}" class="btn btn-success waves-effect waves-light"><i
class="ri-add-fill me-1 align-bottom"></i> Create District</a>
</div>
</div>
<div class="card-body">
<table class="dataTable table" id="tbl_districts" data-url="{{ route('districts.sort') }}">
<thead class="table-light">
<tr>
<th class="tb-col"><span class="overline-title">{{ label('Sn.') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('provinces') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('title') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('alias') }}</span></th>
<th class="tb-col" data-sortable="false"><span class="overline-title">{{ label('Action') }}</span>
</th>
</tr>
</thead>
<tbody>
@php
$i = 1;
@endphp
@foreach ($data as $item)
<tr data-id="{{ $item->district_id }}" data-display_order="{{ $item->display_order }}"
class="draggable-row <?php echo $item->status == 0 ? 'bg-light bg-danger' : ''; ?>">
<td class="tb-col">{{ $i++ }}</td>
<td class="tb-col">
{!! getFieldData('tbl_provinces', 'title', 'province_id', $item->provinces_id) !!}
</td>
<td class="tb-col">{{ $item->title }}</td>
<td class="tb-col">
<div class="alias-wrapper" data-id="{{ $item->district_id }}">
<span class="alias">{{ $item->alias }}</span>
<input type="text" class="alias-input d-none" value="{{ $item->alias }}"
id="alias_{{ $item->district_id }}" />
</div>
<span class="badge badge-soft-primary change-alias-badge">change alias</span>
</td>
<td class="tb-col">
<div class="dropdown d-inline-block">
<button class="btn btn-soft-secondary btn-sm dropdown" type="button" data-bs-toggle="dropdown"
aria-expanded="false">
<i class="ri-more-fill align-middle"></i>
</button>
<ul class="dropdown-menu dropdown-menu-end">
<li><a href="{{ route('districts.show', [$item->district_id]) }}" class="dropdown-item"><i
class="ri-eye-fill text-muted me-2 align-bottom"></i> {{ label('View') }}</a></li>
<li><a href="{{ route('districts.edit', [$item->district_id]) }}"
class="dropdown-item edit-item-btn"><i
class="ri-pencil-fill text-muted me-2 align-bottom"></i>
{{ label('Edit') }}</a></li>
<li>
<a href="{{ route('districts.toggle', [$item->district_id]) }}"
class="dropdown-item toggle-item-btn" onclick="confirmToggle(this.href)">
<i class="ri-article-fill text-muted me-2 align-bottom"></i>
{{ $item->status == 1 ? label('Unpublish') : label('Publish') }}
</a>
</li>
<li>
<a href="{{ route('districts.clone', [$item->district_id]) }}"
class="dropdown-item toggle-item-btn" onclick="confirmClone(this.href)">
<i class="ri-file-copy-line text-muted me-2 align-bottom"></i> {{ label('Clone') }}
</a>
</td> </li>
</tr> <li>
@endforeach <a href="{{ route('districts.destroy', [$item->district_id]) }}"
class="dropdown-item remove-item-btn" onclick="confirmDelete(this.href)">
</tbody> <i class="ri-delete-bin-fill text-muted me-2 align-bottom"></i> {{ label('Delete') }}
</table> </a>
</li>
</ul>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div> </div>
</div> </div>
@endsection @endsection
@push('css')
<link rel="stylesheet" href="https://cdn.datatables.net/1.13.5/css/dataTables.bootstrap4.min.css">
<link rel="stylesheet" href="https://cdn.datatables.net/rowreorder/1.4.0/css/rowReorder.dataTables.min.css">
@endpush
@push('js') @push('js')
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/pdfmake.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/vfs_fonts.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://cdn.datatables.net/1.13.5/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/buttons/2.4.1/js/buttons.html5.min.js"></script>
<script src="https://cdn.datatables.net/rowreorder/1.4.0/js/dataTables.rowReorder.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<script> <script>
$(document).ready(function(e) { $(document).ready(function(e) {
$('.change-alias-badge').on('click', function() { $('.change-alias-badge').on('click', function() {

View File

@ -1,38 +1,45 @@
@extends('layouts.app') @extends('layouts.app')
@section('content') @section('content')
<div class='card'> <div class="page-content">
<div class='card-header d-flex justify-content-between align-items-center'> <div class="container-fluid">
<h2><?php echo label('View Details'); ?></h2>
<?php createButton('btn-primary btn-cancel', '', 'Back to List', route('districts.index')); ?>
</div> <!-- start page title -->
<div class='card-body'> @include('layouts.partials.breadcrumb', ['title' => 'Province'])
<!-- end page title -->
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2><?php echo label('View Detail'); ?></h2>
<?php createButton('btn-primary btn-cancel', '', 'Back to List', route('districts.index')); ?>
<p><b>Proviences Id :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->proviences_id }}</span></p>
<p><b>Title :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->title }}</span></p>
<p><b>Alias :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->alias }}</span></p>
<p><b>Description :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->description }}</span></p>
<p><b>Display Order :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->display_order }}</span></p>
<p><b>Status :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span
class="{{ $data->status == 1 ? 'text-success' : 'text-danger' }}">{{ $data->status == 1 ? 'Active' : 'Inactive' }}</span>
</p>
<p><b>Remarks :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->remarks }}</span></p>
<p><b>Createdby :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->createdby }}</span></p>
<p><b>Updatedby :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->updatedby }}</span></p>
<div class="d-flex justify-content-between">
<div>
<p><b>Created On :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->created_at }}</span></p>
<p><b>Created By :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->createdBy }}</span></p>
</div> </div>
<div> <div class='card-body'>
<p><b>Updated On :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->updated_at }}</span></p> <p><b>Province:&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->proviences_id }}</span></p>
<p><b>Updated By :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->updatedBy }}</span></p> <p><b>Title :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->title }}</span></p>
<p><b>Alias :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->alias }}</span></p>
<p><b>Description :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->description }}</span></p>
<p><b>Display Order :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->display_order }}</span></p>
<p><b>Status :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span
class="{{ $data->status == 1 ? 'text-success' : 'text-danger' }}">{{ $data->status == 1 ? 'Active' : 'Inactive' }}</span>
</p>
<p><b>Remarks :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->remarks }}</span></p>
<p><b>Createdby :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->createdby }}</span></p>
<p><b>Updatedby :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->updatedby }}</span></p>
<div class="d-flex justify-content-between">
<div>
<p><b>Created On :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->created_at }}</span></p>
<p><b>Created By :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->createdBy }}</span></p>
</div>
<div>
<p><b>Updated On :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->updated_at }}</span></p>
<p><b>Updated By :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->updatedBy }}</span></p>
</div>
</div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@endSection @endSection

View File

@ -1,30 +0,0 @@
@extends('layouts.app')
@section('content')
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2 class="">{{ label('Add Proviences') }}</h2>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('proviences.index')); ?>
</div>
<div class='card-body'>
<form action="{{ $editable ? route('proviences.update', [$data->provience_id]) : route('proviences.store') }}"
id="updateCustomForm" method="POST">
@csrf <input type=hidden name='provience_id' value='{{ $editable ? $data->provience_id : '' }}' />
<div class="row">
<div class="col-lg-6">
{{ createCustomSelect('tbl_countries', 'title', 'country_id', $editable ? $data->countries_id : '', 'Countries Id', 'countries_id', 'form-control select2', 'status<>-1') }}
</div>
<div class="col-lg-6">{{ createText('title', 'title', 'Title', '', $editable ? $data->title : '') }}
</div>
<div class="col-lg-12 pb-2">
{{ createTextarea('description', 'description ckeditor-classic', 'Description', $editable ? $data->description : '') }}
</div>
<div class="col-lg-12 pb-2">{{ createPlainTextArea('remarks', '', 'Remarks', $editable ? $data->remarks : '') }}
</div>
<div class="col-md-12"><?php createButton('btn-primary btn-update', '', 'Submit'); ?>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('proviences.index')); ?>
</div>
</form>
</div>
</div>
@endsection

View File

@ -1,315 +0,0 @@
@extends('layouts.app')
@section('content')
<div class="row">
<div class="col-xl-4">
<form action="{{ route('proviences.store') }}" id="storeCustomForm" method="POST">
@csrf
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2 class="">{{ label('Add Proviences') }}</h2>
</div>
<div class='card-body'>
<div class="row">
<div class="col-lg-6">
{{ createCustomSelect('tbl_countries', 'title', 'country_id', 'Countries Id', 'countries_id', 'form-control select2', 'status<>-1') }}
</div>
<div class="col-lg-6">{{ createText('title', 'title', 'Title') }}
</div>
<div class="col-lg-12 pb-2">{{ createTextarea('description', 'description ', 'Description') }}
</div>
</div>
</div>
<div class="card-footer">
<div class="col-md-12"><?php createButton('btn-primary btn-update', '', 'Submit'); ?>
<?php createButton('btn-danger btn-cancel', '', 'Cancel', route('proviences.index')); ?>
</div>
</div>
</div>
</form>
</div>
<div class="col-xl-8">
<div class="card">
<div class="card-header d-flex justify-content-between align-items-center">
<h2>{{ label('Proviences List') }}</h2>
<a href="{{ route('proviences.create') }}" class="btn btn-primary"><span>{{ label('Create New') }}</span></a>
</div>
<div class="card-body">
<table class="dataTable table" id="tbl_proviences" data-url="{{ route('proviences.sort') }}">
<thead class="table-light">
<tr>
<th class="tb-col"><span class="overline-title">{{ label('Sn.') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('countries') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('title') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('alias') }}</span></th>
<th class="tb-col" data-sortable="false"><span class="overline-title">{{ label('Action') }}</span>
</th>
</tr>
</thead>
<tbody>
@php
$i = 1;
@endphp
@foreach ($data as $item)
<tr data-id="{{ $item->provience_id }}" data-display_order="{{ $item->display_order }}"
class="draggable-row <?php echo $item->status == 0 ? 'bg-light bg-danger' : ''; ?>">
<td class="tb-col">{{ $i++ }}</td>
<td class="tb-col">
{!! getFieldData('tbl_countries', 'title', 'country_id', $item->countries_id) !!}
</td>
<td class="tb-col">{{ $item->title }}</td>
<td class="tb-col">
<div class="alias-wrapper" data-id="{{ $item->provience_id }}">
<span class="alias">{{ $item->alias }}</span>
<input type="text" class="alias-input d-none" value="{{ $item->alias }}"
id="alias_{{ $item->provience_id }}" />
</div>
<span class="badge badge-soft-primary change-alias-badge">change alias</span>
</td>
<td class="tb-col">
<div class="dropdown d-inline-block">
<button class="btn btn-soft-secondary btn-sm dropdown" type="button" data-bs-toggle="dropdown"
aria-expanded="false">
<i class="ri-more-fill align-middle"></i>
</button>
<ul class="dropdown-menu dropdown-menu-end">
<li><a href="{{ route('proviences.show', [$item->provience_id]) }}" class="dropdown-item"><i
class="ri-eye-fill text-muted me-2 align-bottom"></i> {{ label('View') }}</a></li>
<li><a href="{{ route('proviences.edit', [$item->provience_id]) }}"
class="dropdown-item edit-item-btn"><i
class="ri-pencil-fill text-muted me-2 align-bottom"></i> {{ label('Edit') }}</a></li>
<li>
<a href="{{ route('proviences.toggle', [$item->provience_id]) }}"
class="dropdown-item toggle-item-btn" onclick="confirmToggle(this.href)">
<i class="ri-article-fill text-muted me-2 align-bottom"></i>
{{ $item->status == 1 ? label('Unpublish') : label('Publish') }}
</a>
</li>
<li>
<a href="{{ route('proviences.clone', [$item->provience_id]) }}"
class="dropdown-item toggle-item-btn" onclick="confirmClone(this.href)">
<i class="ri-file-copy-line text-muted me-2 align-bottom"></i> {{ label('Clone') }}
</a>
</li>
<li>
<a href="{{ route('proviences.destroy', [$item->provience_id]) }}"
class="dropdown-item remove-item-btn" onclick="confirmDelete(this.href)">
<i class="ri-delete-bin-fill text-muted me-2 align-bottom"></i> {{ label('Delete') }}
</a>
</li>
</ul>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
@endsection
@push('css')
<link rel="stylesheet" href="https://cdn.datatables.net/1.13.5/css/dataTables.bootstrap4.min.css">
<link rel="stylesheet" href="https://cdn.datatables.net/rowreorder/1.4.0/css/rowReorder.dataTables.min.css">
@endpush
@push('js')
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/pdfmake.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/pdfmake/0.1.68/vfs_fonts.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://cdn.datatables.net/1.13.5/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/buttons/2.4.1/js/buttons.html5.min.js"></script>
<script src="https://cdn.datatables.net/rowreorder/1.4.0/js/dataTables.rowReorder.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/sweetalert2@11"></script>
<script>
$(document).ready(function(e) {
$('.change-alias-badge').on('click', function() {
var aliasWrapper = $(this).prev('.alias-wrapper');
var aliasSpan = aliasWrapper.find('.alias');
var aliasInput = aliasWrapper.find('.alias-input');
var isEditing = $(this).hasClass('editing');
aliasInput.toggleClass("d-none");
if (isEditing) {
// Update alias text and switch to non-editing state
var newAlias = aliasInput.val();
aliasSpan.text(newAlias);
aliasSpan.show();
aliasInput.hide();
$(this).removeClass('editing').text('Change Alias');
var articleId = $(aliasWrapper).data('id');
var ajaxUrl = "{{ route('proviences.updatealias') }}";
var data = {
articleId: articleId,
newAlias: newAlias
};
$.ajax({
url: ajaxUrl,
type: 'POST',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
data: data,
success: function(response) {
console.log(response);
},
error: function(xhr, status, error) {
console.error(error);
}
});
} else {
// Switch to editing state
aliasSpan.hide();
aliasInput.show().focus();
$(this).addClass('editing').text('Save Alias');
}
});
var mytable = $(".dataTable").DataTable({
ordering: true,
rowReorder: {
//selector: 'tr'
},
});
var isRowReorderComplete = false;
mytable.on('row-reorder', function(e, diff, edit) {
isRowReorderComplete = true;
});
mytable.on('draw', function() {
if (isRowReorderComplete) {
var url = mytable.table().node().getAttribute('data-url');
var ids = mytable.rows().nodes().map(function(node) {
return $(node).data('id');
}).toArray();
console.log(ids);
$.ajax({
url: url,
type: "POST",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr('content')
},
data: {
id_order: ids
},
success: function(response) {
console.log(response);
},
error: function(xhr, status, error) {
console.error(error);
}
});
isRowReorderComplete = false;
}
});
});
function confirmDelete(url) {
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
text: 'You will not be able to recover this item!',
icon: 'warning',
showCancelButton: true,
confirmButtonText: 'Delete',
cancelButtonText: 'Cancel',
reverseButtons: true
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
url: url,
type: 'GET',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(response) {
Swal.fire('Deleted!', 'The item has been deleted.', 'success');
location.reload();
},
error: function(xhr, status, error) {
Swal.fire('Error!', 'An error occurred while deleting the item.', 'error');
}
});
}
});
}
function confirmToggle(url) {
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
text: 'Publish Status of Item will be changed!! if Unpublished, links will be dead!',
icon: 'warning',
showCancelButton: true,
confirmButtonText: 'Proceed',
cancelButtonText: 'Cancel',
reverseButtons: true
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
url: url,
type: 'GET',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(response) {
Swal.fire('Updated!', 'Publishing Status has been updated.', 'success');
location.reload();
},
error: function(xhr, status, error) {
Swal.fire('Error!', 'An error occurred.', 'error');
}
});
}
});
}
function confirmClone(url) {
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
text: 'Clonning will create replica of current row. No any linked data will be updated!',
icon: 'warning',
showCancelButton: true,
confirmButtonText: 'Proceed',
cancelButtonText: 'Cancel',
reverseButtons: true
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
url: url,
type: 'GET',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(response) {
Swal.fire('Updated!', 'Clonning Completed', 'success');
location.reload();
},
error: function(xhr, status, error) {
Swal.fire('Error!', 'An error occurred.', 'error');
}
});
}
});
}
</script>
@endpush

View File

@ -1,38 +0,0 @@
@extends('layouts.app')
@section('content')
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2><?php echo label('View Details'); ?></h2>
<?php createButton('btn-primary btn-cancel', '', 'Back to List', route('proviences.index')); ?>
</div>
<div class='card-body'>
<p><b>Countries Id :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->countries_id }}</span></p>
<p><b>Title :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->title }}</span></p>
<p><b>Alias :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->alias }}</span></p>
<p><b>Description :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->description }}</span></p>
<p><b>Display Order :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->display_order }}</span></p>
<p><b>Status :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span
class="{{ $data->status == 1 ? 'text-success' : 'text-danger' }}">{{ $data->status == 1 ? 'Active' : 'Inactive' }}</span>
</p>
<p><b>Remarks :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->remarks }}</span></p>
<p><b>Createdby :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->createdby }}</span></p>
<p><b>Updatedby :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->updatedby }}</span></p>
<div class="d-flex justify-content-between">
<div>
<p><b>Created On :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->created_at }}</span></p>
<p><b>Created By :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->createdBy }}</span></p>
</div>
<div>
<p><b>Updated On :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->updated_at }}</span></p>
<p><b>Updated By :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->updatedBy }}</span></p>
</div>
</div>
</div>
</div>
@endSection

View File

@ -0,0 +1,37 @@
@extends('layouts.app')
@section('content')
<div class="page-content">
<div class="container-fluid">
<!-- start page title -->
@include('layouts.partials.breadcrumb', ['title' => 'Province'])
<!-- end page title -->
<div class='card'>
<div class='card-body'>
<form action="{{ $editable ? route('provinces.update', [$data->province_id]) : route('provinces.store') }}"
id="updateCustomForm" method="POST">
@csrf <input type=hidden name='province_id' value='{{ $editable ? $data->province_id : '' }}' />
<div class="row">
<div class="col-lg-6">
{{ createCustomSelect('tbl_countries', 'title', 'country_id', $editable ? $data->countries_id : '', 'Countries Id', 'countries_id', 'form-control select2', 'status<>-1') }}
</div>
<div class="col-lg-6">{{ createText('title', 'title', 'Title', '', $editable ? $data->title : '') }}
</div>
<div class="col-lg-12 pb-2">
{{ createTextarea('description', 'description ckeditor-classic', 'Description', $editable ? $data->description : '') }}
</div>
<div class="col-lg-12 pb-2">
{{ createPlainTextArea('remarks', '', 'Remarks', $editable ? $data->remarks : '') }}
</div>
<div class="col-md-12"><?php createButton('btn-primary btn-update', '', 'Submit'); ?>
<?php createButton('btn-primary btn-cancel', '', 'Cancel', route('provinces.index')); ?>
</div>
</form>
</div>
</div>
</div>
</div>
@endsection

View File

@ -0,0 +1,283 @@
@extends('layouts.app')
@section('content')
<div class="page-content">
<div class="container-fluid">
<!-- start page title -->
@include('layouts.partials.breadcrumb', ['title' => 'Province'])
<!-- end page title -->
<div class="row">
<div class="col-md-12">
<div class="card">
<div class="card-header align-items-center d-flex">
<h5 class="card-title flex-grow-1 mb-0">Province Lists</h5>
<div class="flex-shrink-0">
<a href="{{ route('provinces.create') }}" class="btn btn-success waves-effect waves-light"><i
class="ri-add-fill me-1 align-bottom"></i> Create Province</a>
</div>
</div>
<div class="card-body">
<table class="dataTable table" id="tbl_provinces" data-url="{{ route('provinces.sort') }}">
<thead class="table-light">
<tr>
<th class="tb-col"><span class="overline-title">{{ label('Sn.') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('countries') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('title') }}</span></th>
<th class="tb-col"><span class="overline-title">{{ label('alias') }}</span></th>
<th class="tb-col" data-sortable="false"><span class="overline-title">{{ label('Action') }}</span>
</th>
</tr>
</thead>
<tbody>
@php
$i = 1;
@endphp
@foreach ($data as $item)
<tr data-id="{{ $item->province_id }}" data-display_order="{{ $item->display_order }}"
class="draggable-row <?php echo $item->status == 0 ? 'bg-light bg-danger' : ''; ?>">
<td class="tb-col">{{ $i++ }}</td>
<td class="tb-col">
{!! getFieldData('tbl_countries', 'title', 'country_id', $item->countries_id) !!}
</td>
<td class="tb-col">{{ $item->title }}</td>
<td class="tb-col">
<div class="alias-wrapper" data-id="{{ $item->province_id }}">
<span class="alias">{{ $item->alias }}</span>
<input type="text" class="alias-input d-none" value="{{ $item->alias }}"
id="alias_{{ $item->province_id }}" />
</div>
<span class="badge badge-soft-primary change-alias-badge">change alias</span>
</td>
<td class="tb-col">
<div class="dropdown d-inline-block">
<button class="btn btn-soft-secondary btn-sm dropdown" type="button" data-bs-toggle="dropdown"
aria-expanded="false">
<i class="ri-more-fill align-middle"></i>
</button>
<ul class="dropdown-menu dropdown-menu-end">
<li><a href="{{ route('provinces.show', [$item->province_id]) }}" class="dropdown-item"><i
class="ri-eye-fill text-muted me-2 align-bottom"></i> {{ label('View') }}</a></li>
<li><a href="{{ route('provinces.edit', [$item->province_id]) }}"
class="dropdown-item edit-item-btn"><i
class="ri-pencil-fill text-muted me-2 align-bottom"></i> {{ label('Edit') }}</a></li>
<li>
<a href="{{ route('provinces.toggle', [$item->province_id]) }}"
class="dropdown-item toggle-item-btn" onclick="confirmToggle(this.href)">
<i class="ri-article-fill text-muted me-2 align-bottom"></i>
{{ $item->status == 1 ? label('Unpublish') : label('Publish') }}
</a>
</li>
<li>
<a href="{{ route('provinces.clone', [$item->province_id]) }}"
class="dropdown-item toggle-item-btn" onclick="confirmClone(this.href)">
<i class="ri-file-copy-line text-muted me-2 align-bottom"></i> {{ label('Clone') }}
</a>
</li>
<li>
<a href="{{ route('provinces.destroy', [$item->province_id]) }}"
class="dropdown-item remove-item-btn" onclick="confirmDelete(this.href)">
<i class="ri-delete-bin-fill text-muted me-2 align-bottom"></i> {{ label('Delete') }}
</a>
</li>
</ul>
</div>
</td>
</tr>
@endforeach
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
@endsection
@push('js')
<script>
$(document).ready(function(e) {
$('.change-alias-badge').on('click', function() {
var aliasWrapper = $(this).prev('.alias-wrapper');
var aliasSpan = aliasWrapper.find('.alias');
var aliasInput = aliasWrapper.find('.alias-input');
var isEditing = $(this).hasClass('editing');
aliasInput.toggleClass("d-none");
if (isEditing) {
// Update alias text and switch to non-editing state
var newAlias = aliasInput.val();
aliasSpan.text(newAlias);
aliasSpan.show();
aliasInput.hide();
$(this).removeClass('editing').text('Change Alias');
var articleId = $(aliasWrapper).data('id');
var ajaxUrl = "{{ route('provinces.updatealias') }}";
var data = {
articleId: articleId,
newAlias: newAlias
};
$.ajax({
url: ajaxUrl,
type: 'POST',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
data: data,
success: function(response) {
console.log(response);
},
error: function(xhr, status, error) {
console.error(error);
}
});
} else {
// Switch to editing state
aliasSpan.hide();
aliasInput.show().focus();
$(this).addClass('editing').text('Save Alias');
}
});
var mytable = $(".dataTable").DataTable({
ordering: true,
rowReorder: {
//selector: 'tr'
},
});
var isRowReorderComplete = false;
mytable.on('row-reorder', function(e, diff, edit) {
isRowReorderComplete = true;
});
mytable.on('draw', function() {
if (isRowReorderComplete) {
var url = mytable.table().node().getAttribute('data-url');
var ids = mytable.rows().nodes().map(function(node) {
return $(node).data('id');
}).toArray();
console.log(ids);
$.ajax({
url: url,
type: "POST",
headers: {
"X-CSRF-TOKEN": $('meta[name="csrf-token"]').attr('content')
},
data: {
id_order: ids
},
success: function(response) {
console.log(response);
},
error: function(xhr, status, error) {
console.error(error);
}
});
isRowReorderComplete = false;
}
});
});
function confirmDelete(url) {
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
text: 'You will not be able to recover this item!',
icon: 'warning',
showCancelButton: true,
confirmButtonText: 'Delete',
cancelButtonText: 'Cancel',
reverseButtons: true
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
url: url,
type: 'GET',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(response) {
Swal.fire('Deleted!', 'The item has been deleted.', 'success');
location.reload();
},
error: function(xhr, status, error) {
Swal.fire('Error!', 'An error occurred while deleting the item.', 'error');
}
});
}
});
}
function confirmToggle(url) {
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
text: 'Publish Status of Item will be changed!! if Unpublished, links will be dead!',
icon: 'warning',
showCancelButton: true,
confirmButtonText: 'Proceed',
cancelButtonText: 'Cancel',
reverseButtons: true
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
url: url,
type: 'GET',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(response) {
Swal.fire('Updated!', 'Publishing Status has been updated.', 'success');
location.reload();
},
error: function(xhr, status, error) {
Swal.fire('Error!', 'An error occurred.', 'error');
}
});
}
});
}
function confirmClone(url) {
event.preventDefault();
Swal.fire({
title: 'Are you sure?',
text: 'Clonning will create replica of current row. No any linked data will be updated!',
icon: 'warning',
showCancelButton: true,
confirmButtonText: 'Proceed',
cancelButtonText: 'Cancel',
reverseButtons: true
}).then((result) => {
if (result.isConfirmed) {
$.ajax({
url: url,
type: 'GET',
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
success: function(response) {
Swal.fire('Updated!', 'Clonning Completed', 'success');
location.reload();
},
error: function(xhr, status, error) {
Swal.fire('Error!', 'An error occurred.', 'error');
}
});
}
});
}
</script>
@endpush

View File

@ -0,0 +1,45 @@
@extends('layouts.app')
@section('content')
<div class="page-content">
<div class="container-fluid">
<!-- start page title -->
@include('layouts.partials.breadcrumb', ['title' => 'Province'])
<!-- end page title -->
<div class='card'>
<div class='card-header d-flex justify-content-between align-items-center'>
<h2><?php echo label('View Detail'); ?></h2>
<?php createButton('btn-primary btn-cancel', '', 'Back to List', route('provinces.index')); ?>
</div>
<div class='card-body'>
<p><b>Countries Id :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->countries_id }}</span></p>
<p><b>Title :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->title }}</span></p>
<p><b>Alias :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->alias }}</span></p>
<p><b>Description :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->description }}</span></p>
<p><b>Display Order :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->display_order }}</span></p>
<p><b>Status :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span
class="{{ $data->status == 1 ? 'text-success' : 'text-danger' }}">{{ $data->status == 1 ? 'Active' : 'Inactive' }}</span>
</p>
<p><b>Remarks :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->remarks }}</span></p>
<p><b>Createdby :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->createdby }}</span></p>
<p><b>Updatedby :&nbsp;&nbsp;&nbsp;&nbsp;</b> <span>{{ $data->updatedby }}</span></p>
<div class="d-flex justify-content-between">
<div>
<p><b>Created On :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->created_at }}</span></p>
<p><b>Created By :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->createdBy }}</span></p>
</div>
<div>
<p><b>Updated On :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->updated_at }}</span></p>
<p><b>Updated By :</b>&nbsp;&nbsp;&nbsp;<span>{{ $data->updatedBy }}</span></p>
</div>
</div>
</div>
</div>
</div>
</div>
@endSection

View File

@ -74,19 +74,28 @@
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a href="{{ route('countries.index') }}" class="nav-link">Countries</a> <a href="{{ route('countries.index') }}"
class="nav-link @if (\Request::is('country') || \Request::is('country/*')) active @endif">Countries</a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a href="{{ route('proviences.index') }}" class="nav-link">Provinces</a> <a href="{{ route('provinces.index') }}"
class="nav-link @if (\Request::is('province') || \Request::is('province/*')) active @endif">Provinces</a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a href="{{ route('districts.index') }}" class="nav-link">District</a> <a href="{{ route('districts.index') }}"
class="nav-link @if (\Request::is('district') || \Request::is('district/*')) active @endif">District</a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a href="{{ route('cities.index') }}" class="nav-link">Cities</a> <a href="{{ route('cities.index') }}"
class="nav-link @if (\Request::is('city') || \Request::is('city/*')) active @endif">Cities</a>
</li> </li>
<li class="nav-item"> <li class="nav-item">
<a href="{{ route('departments.index') }}" class="nav-link">Departments</a> <a href="{{ route('department.index') }}"
class="nav-link @if (\Request::is('department') || \Request::is('department/*')) active @endif">Departments</a>
</li>
<li class="nav-item">
<a href="{{ route('designation.index') }}"
class="nav-link @if (\Request::is('desgination') || \Request::is('desgination/*')) active @endif">Designations</a>
</li> </li>
</ul> </ul>
</div> </div>

View File

@ -1,16 +0,0 @@
<?php
use App\Http\Controllers\AdmittedpplicationsController;
use Illuminate\Support\Facades\Route;
Route::prefix("admittedpplications")->group(function () {
Route::get('/', [AdmittedpplicationsController::class, 'index'])->name('admittedpplications.index');
Route::get('/create', [AdmittedpplicationsController::class, 'create'])->name('admittedpplications.create');
Route::post('/store', [AdmittedpplicationsController::class, 'store'])->name('admittedpplications.store');
Route::post('/sort', [AdmittedpplicationsController::class, 'sort'])->name('admittedpplications.sort');
Route::post('/updatealias', [AdmittedpplicationsController::class, 'updatealias'])->name('admittedpplications.updatealias');
Route::get('/show/{id}', [AdmittedpplicationsController::class, 'show'])->name('admittedpplications.show');
Route::get('/edit/{id}', [AdmittedpplicationsController::class, 'edit'])->name('admittedpplications.edit') ;
Route::post('/update/{id}', [AdmittedpplicationsController::class, 'update'])->name('admittedpplications.update');
Route::get('/destroy/{id}', [AdmittedpplicationsController::class, 'destroy'])->name('admittedpplications.destroy');
Route::get('/toggle/{id}', [AdmittedpplicationsController::class, 'toggle'])->name('admittedpplications.toggle');
Route::get('/clone/{id}', [AdmittedpplicationsController::class, 'clone'])->name('admittedpplications.clone');
});

View File

@ -1,15 +0,0 @@
<?php
use App\Http\Controllers\AgentsController;
use Illuminate\Support\Facades\Route;
Route::prefix("agents")->group(function () {
Route::get('/', [AgentsController::class, 'index'])->name('agents.index');
Route::get('/create', [AgentsController::class, 'create'])->name('agents.create');
Route::post('/store', [AgentsController::class, 'store'])->name('agents.store');
Route::post('/sort', [AgentsController::class, 'sort'])->name('agents.sort');
Route::post('/updatealias', [AgentsController::class, 'updatealias'])->name('agents.updatealias');
Route::get('/show/{id}', [AgentsController::class, 'show'])->name('agents.show');
Route::get('/edit/{id}', [AgentsController::class, 'edit'])->name('agents.edit') ;
Route::post('/update/{id}', [AgentsController::class, 'update'])->name('agents.update');
Route::delete('/destroy/{id}', [AgentsController::class, 'destroy'])->name('agents.destroy');
Route::get('/toggle/{id}', [AgentsController::class, 'toggle'])->name('agents.toggle');
});

View File

@ -1,15 +0,0 @@
<?php
use App\Http\Controllers\CampaignarticlesController;
use Illuminate\Support\Facades\Route;
Route::prefix("campaignarticles")->group(function () {
Route::get('/', [CampaignarticlesController::class, 'index'])->name('campaignarticles.index');
Route::get('/create', [CampaignarticlesController::class, 'create'])->name('campaignarticles.create');
Route::post('/store', [CampaignarticlesController::class, 'store'])->name('campaignarticles.store');
Route::post('/sort', [CampaignarticlesController::class, 'sort'])->name('campaignarticles.sort');
Route::post('/updatealias', [CampaignarticlesController::class, 'updatealias'])->name('campaignarticles.updatealias');
Route::get('/show/{id}', [CampaignarticlesController::class, 'show'])->name('campaignarticles.show');
Route::get('/edit/{id}', [CampaignarticlesController::class, 'edit'])->name('campaignarticles.edit') ;
Route::post('/update/{id}', [CampaignarticlesController::class, 'update'])->name('campaignarticles.update');
Route::delete('/destroy/{id}', [CampaignarticlesController::class, 'destroy'])->name('campaignarticles.destroy');
Route::get('/toggle/{id}', [CampaignarticlesController::class, 'toggle'])->name('campaignarticles.toggle');
});

View File

@ -1,16 +0,0 @@
<?php
use App\Http\Controllers\CampaignlocationsController;
use Illuminate\Support\Facades\Route;
Route::prefix("campaignlocations")->group(function () {
Route::get('/', [CampaignlocationsController::class, 'index'])->name('campaignlocations.index');
Route::get('/create', [CampaignlocationsController::class, 'create'])->name('campaignlocations.create');
Route::post('/store', [CampaignlocationsController::class, 'store'])->name('campaignlocations.store');
Route::post('/sort', [CampaignlocationsController::class, 'sort'])->name('campaignlocations.sort');
Route::post('/updatealias', [CampaignlocationsController::class, 'updatealias'])->name('campaignlocations.updatealias');
Route::get('/show/{id}', [CampaignlocationsController::class, 'show'])->name('campaignlocations.show');
Route::get('/edit/{id}', [CampaignlocationsController::class, 'edit'])->name('campaignlocations.edit') ;
Route::post('/update/{id}', [CampaignlocationsController::class, 'update'])->name('campaignlocations.update');
Route::get('/destroy/{id}', [CampaignlocationsController::class, 'destroy'])->name('campaignlocations.destroy');
Route::get('/toggle/{id}', [CampaignlocationsController::class, 'toggle'])->name('campaignlocations.toggle');
Route::get('/clone/{id}', [CampaignlocationsController::class, 'clone'])->name('campaignlocations.clone');
});

View File

@ -1,15 +0,0 @@
<?php
use App\Http\Controllers\CampaignsController;
use Illuminate\Support\Facades\Route;
Route::prefix("campaigns")->group(function () {
Route::get('/', [CampaignsController::class, 'index'])->name('campaigns.index');
Route::get('/create', [CampaignsController::class, 'create'])->name('campaigns.create');
Route::post('/store', [CampaignsController::class, 'store'])->name('campaigns.store');
Route::post('/sort', [CampaignsController::class, 'sort'])->name('campaigns.sort');
Route::post('/updatealias', [CampaignsController::class, 'updatealias'])->name('campaigns.updatealias');
Route::get('/show/{id}', [CampaignsController::class, 'show'])->name('campaigns.show');
Route::get('/edit/{id}', [CampaignsController::class, 'edit'])->name('campaigns.edit') ;
Route::post('/update/{id}', [CampaignsController::class, 'update'])->name('campaigns.update');
Route::delete('/destroy/{id}', [CampaignsController::class, 'destroy'])->name('campaigns.destroy');
Route::get('/toggle/{id}', [CampaignsController::class, 'toggle'])->name('campaigns.toggle');
});

View File

@ -1,16 +1,16 @@
<?php <?php
use App\Http\Controllers\CitiesController; use App\Http\Controllers\CitiesController;
use Illuminate\Support\Facades\Route; use Illuminate\Support\Facades\Route;
Route::prefix("cities")->group(function () { Route::prefix("city")->as('cities.')->group(function () {
Route::get('/', [CitiesController::class, 'index'])->name('cities.index'); Route::get('/', [CitiesController::class, 'index'])->name('index');
Route::get('/create', [CitiesController::class, 'create'])->name('cities.create'); Route::get('/create', [CitiesController::class, 'create'])->name('create');
Route::post('/store', [CitiesController::class, 'store'])->name('cities.store'); Route::post('/store', [CitiesController::class, 'store'])->name('store');
Route::post('/sort', [CitiesController::class, 'sort'])->name('cities.sort'); Route::post('/sort', [CitiesController::class, 'sort'])->name('sort');
Route::post('/updatealias', [CitiesController::class, 'updatealias'])->name('cities.updatealias'); Route::post('/updatealias', [CitiesController::class, 'updatealias'])->name('updatealias');
Route::get('/show/{id}', [CitiesController::class, 'show'])->name('cities.show'); Route::get('/show/{id}', [CitiesController::class, 'show'])->name('show');
Route::get('/edit/{id}', [CitiesController::class, 'edit'])->name('cities.edit') ; Route::get('/edit/{id}', [CitiesController::class, 'edit'])->name('edit') ;
Route::post('/update/{id}', [CitiesController::class, 'update'])->name('cities.update'); Route::post('/update/{id}', [CitiesController::class, 'update'])->name('update');
Route::delete('/destroy/{id}', [CitiesController::class, 'destroy'])->name('cities.destroy'); Route::delete('/destroy/{id}', [CitiesController::class, 'destroy'])->name('destroy');
Route::get('/clone/{id}', [CitiesController::class, 'clone'])->name('cities.clone'); Route::get('/clone/{id}', [CitiesController::class, 'clone'])->name('clone');
Route::get('/toggle/{id}', [CitiesController::class, 'toggle'])->name('cities.toggle'); Route::get('/toggle/{id}', [CitiesController::class, 'toggle'])->name('toggle');
}); });

View File

@ -1,16 +0,0 @@
<?php
use App\Http\Controllers\CoopsController;
use Illuminate\Support\Facades\Route;
Route::prefix("coops")->group(function () {
Route::get('/', [CoopsController::class, 'index'])->name('coops.index');
Route::get('/create', [CoopsController::class, 'create'])->name('coops.create');
Route::post('/store', [CoopsController::class, 'store'])->name('coops.store');
Route::post('/sort', [CoopsController::class, 'sort'])->name('coops.sort');
Route::post('/updatealias', [CoopsController::class, 'updatealias'])->name('coops.updatealias');
Route::get('/show/{id}', [CoopsController::class, 'show'])->name('coops.show');
Route::get('/edit/{id}', [CoopsController::class, 'edit'])->name('coops.edit') ;
Route::post('/update/{id}', [CoopsController::class, 'update'])->name('coops.update');
Route::get('/destroy/{id}', [CoopsController::class, 'destroy'])->name('coops.destroy');
Route::get('/toggle/{id}', [CoopsController::class, 'toggle'])->name('coops.toggle');
Route::get('/clone/{id}', [CoopsController::class, 'clone'])->name('coops.clone');
});

View File

@ -1,15 +1,15 @@
<?php <?php
use App\Http\Controllers\CountriesController; use App\Http\Controllers\CountriesController;
use Illuminate\Support\Facades\Route; use Illuminate\Support\Facades\Route;
Route::prefix("countries")->group(function () { Route::prefix("country")->as('countries.')->group(function () {
Route::get('/', [CountriesController::class, 'index'])->name('countries.index'); Route::get('/', [CountriesController::class, 'index'])->name('index');
Route::get('/create', [CountriesController::class, 'create'])->name('countries.create'); Route::get('/create', [CountriesController::class, 'create'])->name('create');
Route::post('/store', [CountriesController::class, 'store'])->name('countries.store'); Route::post('/store', [CountriesController::class, 'store'])->name('store');
Route::post('/sort', [CountriesController::class, 'sort'])->name('countries.sort'); Route::post('/sort', [CountriesController::class, 'sort'])->name('sort');
Route::post('/updatealias', [CountriesController::class, 'updatealias'])->name('countries.updatealias'); Route::post('/updatealias', [CountriesController::class, 'updatealias'])->name('updatealias');
Route::get('/show/{id}', [CountriesController::class, 'show'])->name('countries.show'); Route::get('/show/{id}', [CountriesController::class, 'show'])->name('show');
Route::get('/edit/{id}', [CountriesController::class, 'edit'])->name('countries.edit') ; Route::get('/edit/{id}', [CountriesController::class, 'edit'])->name('edit') ;
Route::post('/update/{id}', [CountriesController::class, 'update'])->name('countries.update'); Route::post('/update/{id}', [CountriesController::class, 'update'])->name('update');
Route::delete('/destroy/{id}', [CountriesController::class, 'destroy'])->name('countries.destroy'); Route::delete('/destroy/{id}', [CountriesController::class, 'destroy'])->name('destroy');
Route::get('/toggle/{id}', [CountriesController::class, 'toggle'])->name('countries.toggle'); Route::get('/toggle/{id}', [CountriesController::class, 'toggle'])->name('toggle');
}); });

View File

@ -1,16 +1,16 @@
<?php <?php
use App\Http\Controllers\DepartmentsController; use App\Http\Controllers\DepartmentsController;
use Illuminate\Support\Facades\Route; use Illuminate\Support\Facades\Route;
Route::prefix("departments")->group(function () { Route::prefix("department")->group(function () {
Route::get('/', [DepartmentsController::class, 'index'])->name('departments.index'); Route::get('/', [DepartmentsController::class, 'index'])->name('department.index');
Route::get('/create', [DepartmentsController::class, 'create'])->name('departments.create'); Route::get('/create', [DepartmentsController::class, 'create'])->name('department.create');
Route::post('/store', [DepartmentsController::class, 'store'])->name('departments.store'); Route::post('/store', [DepartmentsController::class, 'store'])->name('department.store');
Route::post('/sort', [DepartmentsController::class, 'sort'])->name('departments.sort'); Route::post('/sort', [DepartmentsController::class, 'sort'])->name('department.sort');
Route::post('/updatealias', [DepartmentsController::class, 'updatealias'])->name('departments.updatealias'); Route::post('/updatealias', [DepartmentsController::class, 'updatealias'])->name('department.updatealias');
Route::get('/show/{id}', [DepartmentsController::class, 'show'])->name('departments.show'); Route::get('/show/{id}', [DepartmentsController::class, 'show'])->name('department.show');
Route::get('/edit/{id}', [DepartmentsController::class, 'edit'])->name('departments.edit') ; Route::get('/edit/{id}', [DepartmentsController::class, 'edit'])->name('department.edit') ;
Route::post('/update/{id}', [DepartmentsController::class, 'update'])->name('departments.update'); Route::post('/update/{id}', [DepartmentsController::class, 'update'])->name('department.update');
Route::get('/destroy/{id}', [DepartmentsController::class, 'destroy'])->name('departments.destroy'); Route::get('/destroy/{id}', [DepartmentsController::class, 'destroy'])->name('department.destroy');
Route::get('/toggle/{id}', [DepartmentsController::class, 'toggle'])->name('departments.toggle'); Route::get('/toggle/{id}', [DepartmentsController::class, 'toggle'])->name('department.toggle');
Route::get('/clone/{id}', [DepartmentsController::class, 'clone'])->name('departments.clone'); Route::get('/clone/{id}', [DepartmentsController::class, 'clone'])->name('department.clone');
}); });

View File

@ -1,16 +1,16 @@
<?php <?php
use App\Http\Controllers\DesignationsController; use App\Http\Controllers\DesignationsController;
use Illuminate\Support\Facades\Route; use Illuminate\Support\Facades\Route;
Route::prefix("designations")->group(function () { Route::prefix("designation")->group(function () {
Route::get('/', [DesignationsController::class, 'index'])->name('designations.index'); Route::get('/', [DesignationsController::class, 'index'])->name('designation.index');
Route::get('/create', [DesignationsController::class, 'create'])->name('designations.create'); Route::get('/create', [DesignationsController::class, 'create'])->name('designation.create');
Route::post('/store', [DesignationsController::class, 'store'])->name('designations.store'); Route::post('/store', [DesignationsController::class, 'store'])->name('designation.store');
Route::post('/sort', [DesignationsController::class, 'sort'])->name('designations.sort'); Route::post('/sort', [DesignationsController::class, 'sort'])->name('designation.sort');
Route::post('/updatealias', [DesignationsController::class, 'updatealias'])->name('designations.updatealias'); Route::post('/updatealias', [DesignationsController::class, 'updatealias'])->name('designation.updatealias');
Route::get('/show/{id}', [DesignationsController::class, 'show'])->name('designations.show'); Route::get('/show/{id}', [DesignationsController::class, 'show'])->name('designation.show');
Route::get('/edit/{id}', [DesignationsController::class, 'edit'])->name('designations.edit') ; Route::get('/edit/{id}', [DesignationsController::class, 'edit'])->name('designation.edit') ;
Route::post('/update/{id}', [DesignationsController::class, 'update'])->name('designations.update'); Route::post('/update/{id}', [DesignationsController::class, 'update'])->name('designation.update');
Route::get('/destroy/{id}', [DesignationsController::class, 'destroy'])->name('designations.destroy'); Route::get('/destroy/{id}', [DesignationsController::class, 'destroy'])->name('designation.destroy');
Route::get('/toggle/{id}', [DesignationsController::class, 'toggle'])->name('designations.toggle'); Route::get('/toggle/{id}', [DesignationsController::class, 'toggle'])->name('designation.toggle');
Route::get('/clone/{id}', [DesignationsController::class, 'clone'])->name('designations.clone'); Route::get('/clone/{id}', [DesignationsController::class, 'clone'])->name('designation.clone');
}); });

View File

@ -1,17 +0,0 @@
<?php
use App\Http\Controllers\DocumentsetsController;
use Illuminate\Support\Facades\Route;
Route::prefix("documentsets")->group(function () {
Route::get('/', [DocumentsetsController::class, 'index'])->name('documentsets.index');
Route::get('/fetchdocuments', [DocumentsetsController::class, 'fetchdocuments'])->name('documentsets.fetchdocuments');
Route::get('/create', [DocumentsetsController::class, 'create'])->name('documentsets.create');
Route::post('/store', [DocumentsetsController::class, 'store'])->name('documentsets.store');
Route::post('/sort', [DocumentsetsController::class, 'sort'])->name('documentsets.sort');
Route::post('/updatealias', [DocumentsetsController::class, 'updatealias'])->name('documentsets.updatealias');
Route::get('/show/{id}', [DocumentsetsController::class, 'show'])->name('documentsets.show');
Route::get('/edit/{id}', [DocumentsetsController::class, 'edit'])->name('documentsets.edit') ;
Route::post('/update/{id}', [DocumentsetsController::class, 'update'])->name('documentsets.update');
Route::delete('/destroy/{id}', [DocumentsetsController::class, 'destroy'])->name('documentsets.destroy');
Route::get('/toggle/{id}', [DocumentsetsController::class, 'toggle'])->name('documentsets.toggle');
Route::get('/clone/{id}', [DocumentsetsController::class, 'clone'])->name('documentsets.clone');
});

View File

@ -1,16 +0,0 @@
<?php
use App\Http\Controllers\EmployeesController;
use Illuminate\Support\Facades\Route;
Route::prefix("employees")->group(function () {
Route::get('/', [EmployeesController::class, 'index'])->name('employees.index');
Route::get('/create', [EmployeesController::class, 'create'])->name('employees.create');
Route::post('/store', [EmployeesController::class, 'store'])->name('employees.store');
Route::post('/sort', [EmployeesController::class, 'sort'])->name('employees.sort');
Route::post('/updatealias', [EmployeesController::class, 'updatealias'])->name('employees.updatealias');
Route::get('/show/{id}', [EmployeesController::class, 'show'])->name('employees.show');
Route::get('/edit/{id}', [EmployeesController::class, 'edit'])->name('employees.edit') ;
Route::post('/update/{id}', [EmployeesController::class, 'update'])->name('employees.update');
Route::get('/destroy/{id}', [EmployeesController::class, 'destroy'])->name('employees.destroy');
Route::get('/toggle/{id}', [EmployeesController::class, 'toggle'])->name('employees.toggle');
Route::get('/clone/{id}', [EmployeesController::class, 'clone'])->name('employees.clone');
});

View File

@ -1,16 +0,0 @@
<?php
use App\Http\Controllers\EventlocationsController;
use Illuminate\Support\Facades\Route;
Route::prefix("eventlocations")->group(function () {
Route::get('/', [EventlocationsController::class, 'index'])->name('eventlocations.index');
Route::get('/create', [EventlocationsController::class, 'create'])->name('eventlocations.create');
Route::post('/store', [EventlocationsController::class, 'store'])->name('eventlocations.store');
Route::post('/sort', [EventlocationsController::class, 'sort'])->name('eventlocations.sort');
Route::post('/updatealias', [EventlocationsController::class, 'updatealias'])->name('eventlocations.updatealias');
Route::get('/show/{id}', [EventlocationsController::class, 'show'])->name('eventlocations.show');
Route::get('/edit/{id}', [EventlocationsController::class, 'edit'])->name('eventlocations.edit') ;
Route::post('/update/{id}', [EventlocationsController::class, 'update'])->name('eventlocations.update');
Route::get('/destroy/{id}', [EventlocationsController::class, 'destroy'])->name('eventlocations.destroy');
Route::get('/toggle/{id}', [EventlocationsController::class, 'toggle'])->name('eventlocations.toggle');
Route::get('/clone/{id}', [EventlocationsController::class, 'clone'])->name('eventlocations.clone');
});

View File

@ -1,15 +0,0 @@
<?php
use App\Http\Controllers\FollowupsController;
use Illuminate\Support\Facades\Route;
Route::prefix("followups")->group(function () {
Route::get('/', [FollowupsController::class, 'index'])->name('followups.index');
Route::get('/create', [FollowupsController::class, 'create'])->name('followups.create');
Route::post('/store', [FollowupsController::class, 'store'])->name('followups.store');
Route::post('/sort', [FollowupsController::class, 'sort'])->name('followups.sort');
Route::post('/updatealias', [FollowupsController::class, 'updatealias'])->name('followups.updatealias');
Route::get('/show/{id}', [FollowupsController::class, 'show'])->name('followups.show');
Route::get('/edit/{id}', [FollowupsController::class, 'edit'])->name('followups.edit') ;
Route::post('/update/{id}', [FollowupsController::class, 'update'])->name('followups.update');
Route::delete('/destroy/{id}', [FollowupsController::class, 'destroy'])->name('followups.destroy');
Route::get('/toggle/{id}', [FollowupsController::class, 'toggle'])->name('followups.toggle');
});

View File

@ -1,16 +0,0 @@
<?php
use App\Http\Controllers\IntakesController;
use Illuminate\Support\Facades\Route;
Route::prefix("intakes")->group(function () {
Route::get('/', [IntakesController::class, 'index'])->name('intakes.index');
Route::get('/create', [IntakesController::class, 'create'])->name('intakes.create');
Route::post('/store', [IntakesController::class, 'store'])->name('intakes.store');
Route::post('/sort', [IntakesController::class, 'sort'])->name('intakes.sort');
Route::post('/updatealias', [IntakesController::class, 'updatealias'])->name('intakes.updatealias');
Route::get('/show/{id}', [IntakesController::class, 'show'])->name('intakes.show');
Route::get('/edit/{id}', [IntakesController::class, 'edit'])->name('intakes.edit') ;
Route::post('/update/{id}', [IntakesController::class, 'update'])->name('intakes.update');
Route::get('/destroy/{id}', [IntakesController::class, 'destroy'])->name('intakes.destroy');
Route::get('/toggle/{id}', [IntakesController::class, 'toggle'])->name('intakes.toggle');
Route::get('/clone/{id}', [IntakesController::class, 'clone'])->name('intakes.clone');
});

View File

@ -1,15 +0,0 @@
<?php
use App\Http\Controllers\LeadcategoriesController;
use Illuminate\Support\Facades\Route;
Route::prefix("leadcategories")->group(function () {
Route::get('/', [LeadcategoriesController::class, 'index'])->name('leadcategories.index');
Route::get('/create', [LeadcategoriesController::class, 'create'])->name('leadcategories.create');
Route::post('/store', [LeadcategoriesController::class, 'store'])->name('leadcategories.store');
Route::post('/sort', [LeadcategoriesController::class, 'sort'])->name('leadcategories.sort');
Route::post('/updatealias', [LeadcategoriesController::class, 'updatealias'])->name('leadcategories.updatealias');
Route::get('/show/{id}', [LeadcategoriesController::class, 'show'])->name('leadcategories.show');
Route::get('/edit/{id}', [LeadcategoriesController::class, 'edit'])->name('leadcategories.edit') ;
Route::post('/update/{id}', [LeadcategoriesController::class, 'update'])->name('leadcategories.update');
Route::delete('/destroy/{id}', [LeadcategoriesController::class, 'destroy'])->name('leadcategories.destroy');
Route::get('/toggle/{id}', [LeadcategoriesController::class, 'toggle'])->name('leadcategories.toggle');
});

View File

@ -1,22 +0,0 @@
<?php
use App\Http\Controllers\OfferapplicationsController;
use Illuminate\Support\Facades\Route;
Route::prefix("offerapplications")->group(function () {
Route::get('/', [OfferapplicationsController::class, 'index'])->name('offerapplications.index');
Route::get('/issued', [OfferapplicationsController::class, 'index'])->name('offerapplications.issued');
Route::get('/create', [OfferapplicationsController::class, 'create'])->name('offerapplications.create');
Route::post('/store', [OfferapplicationsController::class, 'store'])->name('offerapplications.store');
Route::post('/sort', [OfferapplicationsController::class, 'sort'])->name('offerapplications.sort');
Route::post('/updatealias', [OfferapplicationsController::class, 'updatealias'])->name('offerapplications.updatealias');
Route::get('/show/{id}', [OfferapplicationsController::class, 'show'])->name('offerapplications.show');
Route::get('/edit/{id}', [OfferapplicationsController::class, 'edit'])->name('offerapplications.edit');
Route::post('/update/{id}', [OfferapplicationsController::class, 'update'])->name('offerapplications.update');
Route::get('/destroy/{id}', [OfferapplicationsController::class, 'destroy'])->name('offerapplications.destroy');
Route::get('/toggle/{id}', [OfferapplicationsController::class, 'toggle'])->name('offerapplications.toggle');
Route::get('/clone/{id}', [OfferapplicationsController::class, 'clone'])->name('offerapplications.clone');
Route::get('/payment/{id}', [OfferapplicationsController::class, 'updatepayment'])->name('offerapplications.updatepayment');
Route::post('/paymentreceived/{id}', [OfferapplicationsController::class, 'updatepaymentreceived'])->name('offerapplications.updatepaymentreceived');
Route::get('/offer/{id}', [OfferapplicationsController::class, 'updateoffer'])->name('offerapplications.updateoffer');
Route::match(['post','put'],'/offer/update/{id}', [OfferapplicationsController::class, 'storeoffer'])->name('offerapplications.storeoffer');
});

View File

@ -1,19 +0,0 @@
<?php
use App\Http\Controllers\OptionsController;
use Illuminate\Support\Facades\Route;
Route::prefix("options")->group(function () {
Route::get('/', [OptionsController::class, 'index'])->name('options.index');
Route::get('/create', [OptionsController::class, 'create'])->name('options.create');
Route::post('/store', [OptionsController::class, 'store'])->name('options.store');
Route::post('/sort', [OptionsController::class, 'sort'])->name('options.sort');
Route::post('/updatealias', [OptionsController::class, 'updatealias'])->name('options.updatealias');
Route::get('/show/{id}', [OptionsController::class, 'show'])->name('options.show');
Route::get('/edit/{id}', [OptionsController::class, 'edit'])->name('options.edit') ;
Route::post('/update/{id}', [OptionsController::class, 'update'])->name('options.update');
Route::delete('/destroy/{id}', [OptionsController::class, 'destroy'])->name('options.destroy');
Route::get('/toggle/{id}', [OptionsController::class, 'toggle'])->name('options.toggle');
//issued page routing
Route::get('/create_issue', [OptionsController::class, 'issued_create'])->name('issued.create');
});

View File

@ -1,16 +0,0 @@
<?php
use App\Http\Controllers\PermissionsController;
use Illuminate\Support\Facades\Route;
Route::prefix("permissions")->group(function () {
Route::get('/', [PermissionsController::class, 'index'])->name('permissions.index');
Route::get('/create', [PermissionsController::class, 'create'])->name('permissions.create');
Route::post('/store', [PermissionsController::class, 'store'])->name('permissions.store');
Route::post('/sort', [PermissionsController::class, 'sort'])->name('permissions.sort');
Route::post('/updatealias', [PermissionsController::class, 'updatealias'])->name('permissions.updatealias');
Route::get('/show/{id}', [PermissionsController::class, 'show'])->name('permissions.show');
Route::get('/edit/{id}', [PermissionsController::class, 'edit'])->name('permissions.edit') ;
Route::post('/update/{id}', [PermissionsController::class, 'update'])->name('permissions.update');
Route::get('/destroy/{id}', [PermissionsController::class, 'destroy'])->name('permissions.destroy');
Route::get('/toggle/{id}', [PermissionsController::class, 'toggle'])->name('permissions.toggle');
Route::get('/clone/{id}', [PermissionsController::class, 'clone'])->name('permissions.clone');
});

View File

@ -1,15 +0,0 @@
<?php
use App\Http\Controllers\PreparationclassesController;
use Illuminate\Support\Facades\Route;
Route::prefix("preparationclasses")->group(function () {
Route::get('/', [PreparationclassesController::class, 'index'])->name('preparationclasses.index');
Route::get('/create', [PreparationclassesController::class, 'create'])->name('preparationclasses.create');
Route::post('/store', [PreparationclassesController::class, 'store'])->name('preparationclasses.store');
Route::post('/sort', [PreparationclassesController::class, 'sort'])->name('preparationclasses.sort');
Route::post('/updatealias', [PreparationclassesController::class, 'updatealias'])->name('preparationclasses.updatealias');
Route::get('/show/{id}', [PreparationclassesController::class, 'show'])->name('preparationclasses.show');
Route::get('/edit/{id}', [PreparationclassesController::class, 'edit'])->name('preparationclasses.edit') ;
Route::post('/update/{id}', [PreparationclassesController::class, 'update'])->name('preparationclasses.update');
Route::delete('/destroy/{id}', [PreparationclassesController::class, 'destroy'])->name('preparationclasses.destroy');
Route::get('/toggle/{id}', [PreparationclassesController::class, 'toggle'])->name('preparationclasses.toggle');
});

View File

@ -1,20 +0,0 @@
<?php
use App\Http\Controllers\ProgramsController;
use Illuminate\Support\Facades\Route;
Route::prefix("programs")->group(function () {
Route::get('/', [ProgramsController::class, 'index'])->name('programs.index');
Route::get('/list', [ProgramsController::class, 'list'])->name('programs.list');
Route::get('/create', [ProgramsController::class, 'create'])->name('programs.create');
Route::post('/store', [ProgramsController::class, 'store'])->name('programs.store');
Route::post('/sort', [ProgramsController::class, 'sort'])->name('programs.sort');
Route::post('/updatealias', [ProgramsController::class, 'updatealias'])->name('programs.updatealias');
Route::get('/show/{id}', [ProgramsController::class, 'show'])->name('programs.show');
Route::get('/fetch/byinstitution', [ProgramsController::class, 'fetchbyinstitution'])->name('programs.fetchbyinstitution');
Route::get('/edit/{id}', [ProgramsController::class, 'edit'])->name('programs.edit');
Route::post('/update/{id}', [ProgramsController::class, 'update'])->name('programs.update');
Route::delete('/destroy/{id}', [ProgramsController::class, 'destroy'])->name('programs.destroy');
Route::get('/toggle/{id}', [ProgramsController::class, 'toggle'])->name('programs.toggle');
Route::get('/clone/{id}', [ProgramsController::class, 'cloneEntry'])->name('programs.clone');
});

View File

@ -1,16 +0,0 @@
<?php
use App\Http\Controllers\ProgressstatusController;
use Illuminate\Support\Facades\Route;
Route::prefix("progressstatus")->group(function () {
Route::get('/', [ProgressstatusController::class, 'index'])->name('progressstatus.index');
Route::get('/create', [ProgressstatusController::class, 'create'])->name('progressstatus.create');
Route::post('/store', [ProgressstatusController::class, 'store'])->name('progressstatus.store');
Route::post('/sort', [ProgressstatusController::class, 'sort'])->name('progressstatus.sort');
Route::post('/updatealias', [ProgressstatusController::class, 'updatealias'])->name('progressstatus.updatealias');
Route::get('/show/{id}', [ProgressstatusController::class, 'show'])->name('progressstatus.show');
Route::get('/edit/{id}', [ProgressstatusController::class, 'edit'])->name('progressstatus.edit') ;
Route::post('/update/{id}', [ProgressstatusController::class, 'update'])->name('progressstatus.update');
Route::get('/destroy/{id}', [ProgressstatusController::class, 'destroy'])->name('progressstatus.destroy');
Route::get('/toggle/{id}', [ProgressstatusController::class, 'toggle'])->name('progressstatus.toggle');
Route::get('/clone/{id}', [ProgressstatusController::class, 'clone'])->name('progressstatus.clone');
});

View File

@ -1,16 +0,0 @@
<?php
use App\Http\Controllers\ProgressstatusesController;
use Illuminate\Support\Facades\Route;
Route::prefix("progressstatuses")->group(function () {
Route::get('/', [ProgressstatusesController::class, 'index'])->name('progressstatuses.index');
Route::get('/create', [ProgressstatusesController::class, 'create'])->name('progressstatuses.create');
Route::post('/store', [ProgressstatusesController::class, 'store'])->name('progressstatuses.store');
Route::post('/sort', [ProgressstatusesController::class, 'sort'])->name('progressstatuses.sort');
Route::post('/updatealias', [ProgressstatusesController::class, 'updatealias'])->name('progressstatuses.updatealias');
Route::get('/show/{id}', [ProgressstatusesController::class, 'show'])->name('progressstatuses.show');
Route::get('/edit/{id}', [ProgressstatusesController::class, 'edit'])->name('progressstatuses.edit') ;
Route::post('/update/{id}', [ProgressstatusesController::class, 'update'])->name('progressstatuses.update');
Route::get('/destroy/{id}', [ProgressstatusesController::class, 'destroy'])->name('progressstatuses.destroy');
Route::get('/toggle/{id}', [ProgressstatusesController::class, 'toggle'])->name('progressstatuses.toggle');
Route::get('/clone/{id}', [ProgressstatusesController::class, 'clone'])->name('progressstatuses.clone');
});

View File

@ -1,16 +0,0 @@
<?php
use App\Http\Controllers\ProviencesController;
use Illuminate\Support\Facades\Route;
Route::prefix("proviences")->group(function () {
Route::get('/', [ProviencesController::class, 'index'])->name('proviences.index');
Route::get('/create', [ProviencesController::class, 'create'])->name('proviences.create');
Route::post('/store', [ProviencesController::class, 'store'])->name('proviences.store');
Route::post('/sort', [ProviencesController::class, 'sort'])->name('proviences.sort');
Route::post('/updatealias', [ProviencesController::class, 'updatealias'])->name('proviences.updatealias');
Route::get('/show/{id}', [ProviencesController::class, 'show'])->name('proviences.show');
Route::get('/edit/{id}', [ProviencesController::class, 'edit'])->name('proviences.edit') ;
Route::post('/update/{id}', [ProviencesController::class, 'update'])->name('proviences.update');
Route::get('/destroy/{id}', [ProviencesController::class, 'destroy'])->name('proviences.destroy');
Route::get('/toggle/{id}', [ProviencesController::class, 'toggle'])->name('proviences.toggle');
Route::get('/clone/{id}', [ProviencesController::class, 'clone'])->name('proviences.clone');
});

View File

@ -1,15 +1,16 @@
<?php <?php
use App\Http\Controllers\ProvincesController; use App\Http\Controllers\ProvinceController;
use Illuminate\Support\Facades\Route; use Illuminate\Support\Facades\Route;
Route::prefix("provinces")->group(function () { Route::prefix("province")->as('provinces.')->group(function () {
Route::get('/', [ProvincesController::class, 'index'])->name('provinces.index'); Route::get('/', [ProvinceController::class, 'index'])->name('index');
Route::get('/create', [ProvincesController::class, 'create'])->name('provinces.create'); Route::get('/create', [ProvinceController::class, 'create'])->name('create');
Route::post('/store', [ProvincesController::class, 'store'])->name('provinces.store'); Route::post('/store', [ProvinceController::class, 'store'])->name('store');
Route::post('/sort', [ProvincesController::class, 'sort'])->name('provinces.sort'); Route::post('/sort', [ProvinceController::class, 'sort'])->name('sort');
Route::post('/updatealias', [ProvincesController::class, 'updatealias'])->name('provinces.updatealias'); Route::post('/updatealias', [ProvinceController::class, 'updatealias'])->name('updatealias');
Route::get('/show/{id}', [ProvincesController::class, 'show'])->name('provinces.show'); Route::get('/show/{id}', [ProvinceController::class, 'show'])->name('show');
Route::get('/edit/{id}', [ProvincesController::class, 'edit'])->name('provinces.edit') ; Route::get('/edit/{id}', [ProvinceController::class, 'edit'])->name('edit') ;
Route::post('/update/{id}', [ProvincesController::class, 'update'])->name('provinces.update'); Route::post('/update/{id}', [ProvinceController::class, 'update'])->name('update');
Route::delete('/destroy/{id}', [ProvincesController::class, 'destroy'])->name('provinces.destroy'); Route::get('/destroy/{id}', [ProvinceController::class, 'destroy'])->name('destroy');
Route::get('/toggle/{id}', [ProvincesController::class, 'toggle'])->name('provinces.toggle'); Route::get('/toggle/{id}', [ProvinceController::class, 'toggle'])->name('toggle');
}); Route::get('/clone/{id}', [ProvinceController::class, 'clone'])->name('clone');
});

View File

@ -1,15 +0,0 @@
<?php
use App\Http\Controllers\QrscansController;
use Illuminate\Support\Facades\Route;
Route::prefix("qrscans")->group(function () {
Route::get('/', [QrscansController::class, 'index'])->name('qrscans.index');
Route::get('/create', [QrscansController::class, 'create'])->name('qrscans.create');
Route::post('/store', [QrscansController::class, 'store'])->name('qrscans.store');
Route::post('/sort', [QrscansController::class, 'sort'])->name('qrscans.sort');
Route::post('/updatealias', [QrscansController::class, 'updatealias'])->name('qrscans.updatealias');
Route::get('/show/{id}', [QrscansController::class, 'show'])->name('qrscans.show');
Route::get('/edit/{id}', [QrscansController::class, 'edit'])->name('qrscans.edit') ;
Route::post('/update/{id}', [QrscansController::class, 'update'])->name('qrscans.update');
Route::delete('/destroy/{id}', [QrscansController::class, 'destroy'])->name('qrscans.destroy');
Route::get('/toggle/{id}', [QrscansController::class, 'toggle'])->name('qrscans.toggle');
});

View File

@ -1,15 +0,0 @@
<?php
use App\Http\Controllers\QualificationsController;
use Illuminate\Support\Facades\Route;
Route::prefix("qualifications")->group(function () {
Route::get('/', [QualificationsController::class, 'index'])->name('qualifications.index');
Route::get('/create', [QualificationsController::class, 'create'])->name('qualifications.create');
Route::post('/store', [QualificationsController::class, 'store'])->name('qualifications.store');
Route::post('/sort', [QualificationsController::class, 'sort'])->name('qualifications.sort');
Route::post('/updatealias', [QualificationsController::class, 'updatealias'])->name('qualifications.updatealias');
Route::get('/show/{id}', [QualificationsController::class, 'show'])->name('qualifications.show');
Route::get('/edit/{id}', [QualificationsController::class, 'edit'])->name('qualifications.edit') ;
Route::post('/update/{id}', [QualificationsController::class, 'update'])->name('qualifications.update');
Route::delete('/destroy/{id}', [QualificationsController::class, 'destroy'])->name('qualifications.destroy');
Route::get('/toggle/{id}', [QualificationsController::class, 'toggle'])->name('qualifications.toggle');
});

View File

@ -1,25 +0,0 @@
<?php
use App\Http\Controllers\RegistrationsController;
use Illuminate\Support\Facades\Route;
Route::prefix("registrations")->group(function () {
Route::match(['get', 'post'], '/', [RegistrationsController::class, 'index'])->name('registrations.index');
Route::match(['get', 'post'], '/campaigns/{alias}', [RegistrationsController::class, 'bycampaign'])->name('registrations.bycampaign');
Route::match(['get', 'post'], '/categories/{alias}', [RegistrationsController::class, 'bycategory'])->name('registrations.bycategory');
Route::match(['get', 'post'], '/branch/{alias}', [RegistrationsController::class, 'bybranch'])->name('registrations.bybranch');
Route::match(['get', 'post'], '/sources/{alias}', [RegistrationsController::class, 'bysource'])->name('registrations.bysource');
Route::match(['get', 'post'], '/countries/{alias}', [RegistrationsController::class, 'bycountry'])->name('registrations.bycountry');
Route::match(['get', 'post'], '/agents/{alias}', [RegistrationsController::class, 'byagent'])->name('registrations.byagent');
Route::get('/create', [RegistrationsController::class, 'create'])->name('registrations.create');
Route::post('/sendbulksms', [RegistrationsController::class, 'sendbulksms'])->name('registrations.sms.send');
Route::post('/store', [RegistrationsController::class, 'store'])->name('registrations.store');
Route::post('/sort', [RegistrationsController::class, 'sort'])->name('registrations.sort');
Route::post('/updatealias', [RegistrationsController::class, 'updatealias'])->name('registrations.updatealias');
Route::get('/show/{id}', [RegistrationsController::class, 'show'])->name('registrations.show');
Route::get('/edit/{id}', [RegistrationsController::class, 'edit'])->name('registrations.edit');
Route::get('/ajaxedit/{id}', [RegistrationsController::class, 'ajaxedit'])->name('registrations.edit.ajax');
Route::post('/update/{id}', [RegistrationsController::class, 'update'])->name('registrations.update');
Route::delete('/destroy/{id}', [RegistrationsController::class, 'destroy'])->name('registrations.destroy');
Route::get('/toggle/{id}', [RegistrationsController::class, 'toggle'])->name('registrations.toggle');
});

View File

@ -1,16 +0,0 @@
<?php
use App\Http\Controllers\RequireddocumentsController;
use Illuminate\Support\Facades\Route;
Route::prefix("requireddocuments")->group(function () {
Route::get('/', [RequireddocumentsController::class, 'index'])->name('requireddocuments.index');
Route::get('/create', [RequireddocumentsController::class, 'create'])->name('requireddocuments.create');
Route::post('/store', [RequireddocumentsController::class, 'store'])->name('requireddocuments.store');
Route::post('/sort', [RequireddocumentsController::class, 'sort'])->name('requireddocuments.sort');
Route::post('/updatealias', [RequireddocumentsController::class, 'updatealias'])->name('requireddocuments.updatealias');
Route::get('/show/{id}', [RequireddocumentsController::class, 'show'])->name('requireddocuments.show');
Route::get('/edit/{id}', [RequireddocumentsController::class, 'edit'])->name('requireddocuments.edit') ;
Route::post('/update/{id}', [RequireddocumentsController::class, 'update'])->name('requireddocuments.update');
Route::get('/destroy/{id}', [RequireddocumentsController::class, 'destroy'])->name('requireddocuments.destroy');
Route::get('/toggle/{id}', [RequireddocumentsController::class, 'toggle'])->name('requireddocuments.toggle');
Route::get('/clone/{id}', [RequireddocumentsController::class, 'clone'])->name('requireddocuments.clone');
});

View File

@ -1,15 +0,0 @@
<?php
use App\Http\Controllers\SourcesController;
use Illuminate\Support\Facades\Route;
Route::prefix("sources")->group(function () {
Route::get('/', [SourcesController::class, 'index'])->name('sources.index');
Route::get('/create', [SourcesController::class, 'create'])->name('sources.create');
Route::post('/store', [SourcesController::class, 'store'])->name('sources.store');
Route::post('/sort', [SourcesController::class, 'sort'])->name('sources.sort');
Route::post('/updatealias', [SourcesController::class, 'updatealias'])->name('sources.updatealias');
Route::get('/show/{id}', [SourcesController::class, 'show'])->name('sources.show');
Route::get('/edit/{id}', [SourcesController::class, 'edit'])->name('sources.edit') ;
Route::post('/update/{id}', [SourcesController::class, 'update'])->name('sources.update');
Route::delete('/destroy/{id}', [SourcesController::class, 'destroy'])->name('sources.destroy');
Route::get('/toggle/{id}', [SourcesController::class, 'toggle'])->name('sources.toggle');
});

View File

@ -1,15 +0,0 @@
<?php
use App\Http\Controllers\SpinthewheelwinnersController;
use Illuminate\Support\Facades\Route;
Route::prefix("spinthewheelwinners")->group(function () {
Route::get('/', [SpinthewheelwinnersController::class, 'index'])->name('spinthewheelwinners.index');
Route::get('/create', [SpinthewheelwinnersController::class, 'create'])->name('spinthewheelwinners.create');
Route::post('/store', [SpinthewheelwinnersController::class, 'store'])->name('spinthewheelwinners.store');
Route::post('/sort', [SpinthewheelwinnersController::class, 'sort'])->name('spinthewheelwinners.sort');
Route::post('/updatealias', [SpinthewheelwinnersController::class, 'updatealias'])->name('spinthewheelwinners.updatealias');
Route::get('/show/{id}', [SpinthewheelwinnersController::class, 'show'])->name('spinthewheelwinners.show');
Route::get('/edit/{id}', [SpinthewheelwinnersController::class, 'edit'])->name('spinthewheelwinners.edit') ;
Route::post('/update/{id}', [SpinthewheelwinnersController::class, 'update'])->name('spinthewheelwinners.update');
Route::delete('/destroy/{id}', [SpinthewheelwinnersController::class, 'destroy'])->name('spinthewheelwinners.destroy');
Route::get('/toggle/{id}', [SpinthewheelwinnersController::class, 'toggle'])->name('spinthewheelwinners.toggle');
});

View File

@ -1,16 +0,0 @@
<?php
use App\Http\Controllers\StaffsController;
use Illuminate\Support\Facades\Route;
Route::prefix("staffs")->group(function () {
Route::get('/', [StaffsController::class, 'index'])->name('staffs.index');
Route::get('/create', [StaffsController::class, 'create'])->name('staffs.create');
Route::post('/store', [StaffsController::class, 'store'])->name('staffs.store');
Route::post('/sort', [StaffsController::class, 'sort'])->name('staffs.sort');
Route::post('/updatealias', [StaffsController::class, 'updatealias'])->name('staffs.updatealias');
Route::get('/show/{id}', [StaffsController::class, 'show'])->name('staffs.show');
Route::get('/edit/{id}', [StaffsController::class, 'edit'])->name('staffs.edit') ;
Route::post('/update/{id}', [StaffsController::class, 'update'])->name('staffs.update');
Route::get('/destroy/{id}', [StaffsController::class, 'destroy'])->name('staffs.destroy');
Route::get('/toggle/{id}', [StaffsController::class, 'toggle'])->name('staffs.toggle');
Route::get('/clone/{id}', [StaffsController::class, 'clone'])->name('staffs.clone');
});

View File

@ -1,21 +0,0 @@
<?php
use App\Http\Controllers\StudentsController;
use Illuminate\Support\Facades\Route;
Route::prefix("students")->group(function () {
Route::get('/', [StudentsController::class, 'index'])->name('students.index');
Route::match(['get', 'post'], '/campaigns/{alias}', [StudentsController::class, 'bycampaign'])->name('students.bycampaign');
Route::match(['get', 'post'], '/categories/{alias}', [StudentsController::class, 'bycategory'])->name('students.bycategory');
Route::match(['get', 'post'], '/sources/{alias}', [StudentsController::class, 'bysource'])->name('students.bysource');
Route::match(['get', 'post'], '/branches/{alias}', [StudentsController::class, 'bybranch'])->name('students.bybranch');
Route::match(['get', 'post'], '/countries/{alias}', [StudentsController::class, 'bycountry'])->name('students.bycountry');
Route::match(['get', 'post'], '/agents/{alias}', [StudentsController::class, 'byagent'])->name('students.byagent');
Route::get('/create', [StudentsController::class, 'create'])->name('students.create');
Route::post('/store', [StudentsController::class, 'store'])->name('students.store');
Route::post('/sort', [StudentsController::class, 'sort'])->name('students.sort');
Route::post('/updatealias', [StudentsController::class, 'updatealias'])->name('students.updatealias');
Route::get('/show/{id}', [StudentsController::class, 'show'])->name('students.show');
Route::get('/edit/{id}', [StudentsController::class, 'edit'])->name('students.edit') ;
Route::post('/update/{id}', [StudentsController::class, 'update'])->name('students.update');
Route::delete('/destroy/{id}', [StudentsController::class, 'destroy'])->name('students.destroy');
Route::get('/toggle/{id}', [StudentsController::class, 'toggle'])->name('students.toggle');
});

View File

@ -41,13 +41,12 @@ Route::middleware('auth')->group(function () {
// require __DIR__ . '/route.settings.php'; // require __DIR__ . '/route.settings.php';
// require __DIR__ . '/route.form.php'; // require __DIR__ . '/route.form.php';
require __DIR__ . '/CRUDgenerated/route.countries.php';
require __DIR__ . '/CRUDgenerated/route.companytypes.php'; require __DIR__ . '/CRUDgenerated/route.companytypes.php';
require __DIR__ . '/CRUDgenerated/route.companies.php'; require __DIR__ . '/CRUDgenerated/route.companies.php';
require __DIR__ . '/CRUDgenerated/route.branches.php'; require __DIR__ . '/CRUDgenerated/route.branches.php';
require __DIR__ . '/CRUDgenerated/route.proviences.php'; require __DIR__ . '/CRUDgenerated/route.countries.php';
require __DIR__ . '/CRUDgenerated/route.provinces.php';
require __DIR__ . '/CRUDgenerated/route.districts.php'; require __DIR__ . '/CRUDgenerated/route.districts.php';
require __DIR__ . '/CRUDgenerated/route.cities.php'; require __DIR__ . '/CRUDgenerated/route.cities.php';
@ -62,11 +61,11 @@ Route::middleware('auth')->group(function () {
// require __DIR__ . '/CRUDgenerated/route.employees.php'; // require __DIR__ . '/CRUDgenerated/route.employees.php';
require __DIR__ . '/CRUDgenerated/route.onboardings.php'; // require __DIR__ . '/CRUDgenerated/route.onboardings.php';
require __DIR__ . '/CRUDgenerated/route.departments.php'; require __DIR__ . '/CRUDgenerated/route.departments.php';
require __DIR__ . '/CRUDgenerated/route.designations.php'; require __DIR__ . '/CRUDgenerated/route.designations.php';
require __DIR__ . '/CRUDgenerated/route.shifts.php'; // require __DIR__ . '/CRUDgenerated/route.shifts.php';
require __DIR__ . '/CRUDgenerated/route.workoptions.php'; // require __DIR__ . '/CRUDgenerated/route.workoptions.php';
// require __DIR__ . '/CRUDgenerated/route.leavetypes.php'; // require __DIR__ . '/CRUDgenerated/route.leavetypes.php';
// require __DIR__ . '/CRUDgenerated/route.leaves.php'; // require __DIR__ . '/CRUDgenerated/route.leaves.php';