|
Server : Apache/2.4.41 (Ubuntu) System : Linux vmi1525618.contaboserver.net 5.4.0-105-generic #119-Ubuntu SMP Mon Mar 7 18:49:24 UTC 2022 x86_64 User : www-data ( 33) PHP Version : 8.2.12 Disable Function : NONE Directory : /var/www/parassaas.edukrypt.in/app/Http/Controllers/ |
Upload File : |
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use App\Models\Admin_user;
use App\Models\Admin_role;
use App\Models\Admin_module;
use App\Models\Admin_module_permission;
class SubadminController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index(Request $request)
{
$admin_id = $request->session()->get('loggedIn')['id'];
$data['mainMenu'] = 'subadmin';
$data['subMenu'] = 'subadminUserList';
$data['admin_users'] = Admin_user::join('admin_roles', 'admin_roles.id', '=', 'admin_users.role_id')
->where(['parent_id'=>$admin_id])
->get(['admin_users.*', 'admin_roles.role','admin_roles.id as role_id']);
return view('admin.subadmin.subadmin-user-list',$data);
}
// Profile =============================
public function profile(Request $request)
{
$admin_id = $request->session()->get('loggedIn')['id'];
//dd($admin_id);
$data['mainMenu'] = 'dashboard';
$data['subMenu'] = 'dashboard';
$data['myprofile'] = Admin_user::where(['id' => $admin_id])->first();
// dd($data['myprofile']);
return view('admin.subadmin.admin-profile', $data);
}
public function edit_profile(Request $request)
{
$admin_id = $request->session()->get('loggedIn')['id'];
//dd($admin_id);
$data['mainMenu'] = 'dashboard';
$data['subMenu'] = 'dashboard';
$data['myprofile'] = Admin_user::where(['id' => $admin_id])->first();
// dd($data['myprofile']);
return view('admin.subadmin.edit-admin-profile', $data);
}
public function save_edit_profile(Request $request)
{
$admin_id = $request->session()->get('loggedIn')['id'];
$request->validate([
'username' => 'required',
'email' => 'required|email',
'phone' => 'required|numeric',
'institute' => 'required'
]);
// Profile picture
$url = NULL;
if ($request->hasFile('image')) {
$imageName = time() . '.' . request()->image->getClientOriginalExtension();
request()->image->move(public_path('admin/images/profile'), $imageName);
$url = asset('public/admin/images/profile') . '/' . $imageName;
}
$adminArray = array(
'username' => $request->username,
'email' => $request->email,
'phone' => $request->phone,
'institute' => $request->institute
);
if (!empty($url)) {
$adminArray = array(
'username' => $request->username,
'email' => $request->email,
'phone' => $request->phone,
'institute' => $request->institute,
'profile_pics' => $url
);
}
$updated = Admin_user::where("id", $admin_id)->update($adminArray);
if ($updated) {
return redirect('admin/profile')->with('success', 'Profile updated successfully!');
} else {
return back()->with('error', 'Something Went Wrong!');
}
}
public function change_password(Request $request)
{
$admin_id = $request->session()->get('loggedIn')['id'];
//dd($admin_id);
$data['mainMenu'] = 'dashboard';
$data['subMenu'] = 'dashboard';
$data['myprofile'] = Admin_user::where(['id' => $admin_id])->first();
// dd($data['myprofile']);
return view('admin.subadmin.change-profile-password', $data);
}
public function save_change_password(Request $request)
{
$admin_id = $request->session()->get('loggedIn')['id'];
$request->validate([
'current_password' => 'required',
'new_password' => 'min:5|required_with:confirm_password|same:confirm_password',
'confirm_password' => 'min:5'
]);
$adminUser = Admin_user::where(['id' => $admin_id])->first();
$hashed = Hash::check($request->current_password, $adminUser->password);
if ($hashed) {
$adminArray = array(
'password' => Hash::make($request->new_password)
);
$updated = Admin_user::where("id", $admin_id)->update($adminArray);
if ($updated) {
return redirect('admin/profile')->with('success', 'Your password updated successfully!');
}
return back()->with('error', 'Something Went Wrong!');
}
return back()->with('error', 'Invalid current password!');
}
// Profile =============================
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create(Request $request)
{
$admin_id = $request->session()->get('loggedIn')['id'];
$data['mainMenu'] = 'subadmin';
$data['subMenu'] = 'subadminUserList';
$data['roles'] = Admin_role::where(['admin_id'=>$admin_id])->get();
return view('admin.subadmin.add-admin-user',$data);
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$admin_id = $request->session()->get('loggedIn')['id'];
// return $request->input();
$request->validate([
'username' => 'required',
'email' => 'required|unique:admin_users|email',
'phone' => 'required|numeric',
'institute' => 'required',
'adminRole' => 'required',
'password' => 'required|min:6',
]);
$getSalt = Admin_user::where(['id'=>$admin_id])->first();
$hashed = Hash::make($request->password);
$data = array(
'parent_id'=>$admin_id,
'username'=>$request->username,
'email'=>$request->email,
'phone'=>$request->phone,
'institute'=>$request->institute,
'role_id'=>$request->adminRole,
'password'=>$hashed,
'salt'=>$getSalt->salt,
'ip_address'=>$request->ip()
);
$res = Admin_user::create($data);
$admin_id = $res->id;
if($res)
{
return back()->with('success', $request->username.' Added successfully!');
}else{
return back()->with('error','Something Went Wrong!');
}
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id)
{
$data['mainMenu'] = 'subadmin';
$data['subMenu'] = 'subadminUserList';
$data['roles'] = Admin_role::get();
$data['adminUser'] = Admin_user::where(['id'=>$id])->first();
return view('admin.subadmin.view-admin-user',$data);
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id)
{
$data['mainMenu'] = 'subadmin';
$data['subMenu'] = 'subadminUserList';
$data['roles'] = Admin_role::get();
$data['adminUser'] = Admin_user::where(['id'=>$id])->first();
// dd($data['adminUser']);
return view('admin.subadmin.edit-admin-user',$data);
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id)
{
// return $request->input();
$request->validate([
'username' => 'required',
'email' => 'required',
'phone' => 'required|numeric',
'institute' => 'required',
'adminRole' => 'required',
'salt' => 'required',
]);
$data = array(
'username'=>$request->username,
'email'=>$request->email,
'phone'=>$request->phone,
'institute'=>$request->institute,
'role_id'=>$request->adminRole,
'salt'=>$request->salt,
'ip_address'=>$request->ip()
);
$res = Admin_user::where(['id'=>$id])->update($data);
if($res)
{
return back()->with('success', $request->username.' Added successfully!');
}else{
return back()->with('error','Something Went Wrong!');
}
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id)
{
Admin_user::where(['id'=>$id])->delete();
return back()->with('success','Delete Successfully!');
}
}