namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller; use App\Mail\UserActivatedEmail; use App\Mail\UserBlockedEmail; use Illuminate\Http\Request; use App\Models\Role; use App\Models\User; use App\Models\Division; use App\Models\District; use App\Models\BloodGroup; use App\Models\SscBoard; use App\Models\Occupation; use Illuminate\Support\Carbon; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Hash; use Illuminate\Support\Facades\Mail; use Intervention\Image\Facades\Image; use Xenon\LaravelBDSms\Facades\SMS; use Xenon\LaravelBDSms\Provider\AjuraTech; use Xenon\LaravelBDSms\Sender;
class UserController extends Controller {
public function storeUser(Request $request) { $request->validate([ 'role_id' => 'required', 'name' => 'required', 'email' => 'required', 'string', 'email', 'max:255', 'unique:users', ]);
$image = $request->file('profile_photo');
if ($image) { $name_gen = uniqid() . '.' . $image->getClientOriginalExtension(); Image::make($image)->save('backend/images/users/'.$name_gen); $save_url = 'backend/images/users/' . $name_gen;
User::insert([ 'role_id' => $request->role_id, 'name' => $request->name, 'email' => $request->email, 'phone' => $request->phone, 'gender' => $request->gender, 'occupation' => $request->occupation, 'blood_group_id' => $request->blood_group_id, 'ssc_year' => $request->ssc_year, 'ssc_board_id' => $request->ssc_board_id, 'ssc_role' => $request->ssc_role, 'ssc_registration_no' => $request->ssc_registration_no, 'present_division_id' => $request->present_division_id, 'present_district_id' => $request->present_district_id, 'present_address' => $request->present_address, 'permanent_division_id' => $request->permanent_division_id, 'permanent_district_id' => $request->permanent_district_id, 'permanent_address' => $request->permanent_address, 'description' => $request->description, 'facebok' => $request->facebok, 'password' => Hash::make($request->password), 'profile_photo' => $save_url, 'created_at' => Carbon::now(), ]); } else { User::insert([ 'role_id' => $request->role_id, 'name' => $request->name, 'email' => $request->email, 'phone' => $request->phone, 'gender' => $request->gender, 'occupation' => $request->occupation, 'blood_group_id' => $request->blood_group_id, 'ssc_year' => $request->ssc_year, 'ssc_board_id' => $request->ssc_board_id, 'ssc_role' => $request->ssc_role, 'ssc_registration_no' => $request->ssc_registration_no, 'present_division_id' => $request->present_division_id, 'present_district_id' => $request->present_district_id, 'present_address' => $request->present_address, 'permanent_division_id' => $request->permanent_division_id, 'permanent_district_id' => $request->permanent_district_id, 'permanent_address' => $request->permanent_address, 'description' => $request->description, 'facebok' => $request->facebok, 'password' => Hash::make($request->password), 'created_at' => Carbon::now(), ]); }
$notification = [ 'message' => 'User Created Successfully', 'alert-type' => 'success' ];
return redirect()->route('all.users')->with($notification); }
public function editUser($user_id) { $roles = Role::all(); $alldivisions = Division::get(); $alldistricts = District::get(); $allpdivisions = Division::get(); $allpdistricts = District::get(); $bgroups = BloodGroup::get(); $sscboards = SscBoard::get(); $ocupations = Occupation::get(); $editUser = User::findOrFail($user_id);
return view('admin.users.edit', compact('roles','editUser', 'ocupations', 'alldivisions', 'alldistricts', 'allpdivisions', 'allpdistricts', 'bgroups', 'sscboards')); }
public function updateUser(Request $request) { $user_id = $request->id;
$image = $request->file('profile_photo'); $oldimage = $request->oldimage;
$userToEdit = User::findOrFail($user_id);
if($image){ $name_gen=uniqid().'.'.$image->getClientOriginalExtension(); Image::make($image)->save('backend/images/users/'.$name_gen); $save_url = 'backend/images/users/'.$name_gen; if($oldimage){ unlink($oldimage); }
$user = User::findOrFail($user_id); $user->role_id = $request->role_id; $user->name = $request->name; $user->email = $request->email; $user->phone = $request->phone; $user->gender = $request->gender; $user->occupation = $request->occupation; $user->blood_group_id = $request->blood_group_id; $user->ssc_year= $request->ssc_year; $user->ssc_board_id= $request->ssc_board_id; $user->ssc_role= $request->ssc_role; $user->ssc_registration_no= $request->ssc_registration_no; $user->present_division_id = $request->present_division_id; $user->present_district_id = $request->present_district_id; $user->present_address = $request->present_address; $user->permanent_division_id = $request->permanent_division_id; $user->permanent_district_id = $request->permanent_district_id; $user->permanent_address = $request->permanent_address; $user->description = $request->description; $user->facebok = $request->facebok;
$user->profile_photo = $save_url;
//$user->save(); $this->authorize('save', $userToEdit);
}else{ $user = User::findOrFail($user_id); $user->role_id = $request->role_id; $user->name = $request->name; $user->email = $request->email; $user->phone = $request->phone; $user->gender = $request->gender; $user->occupation = $request->occupation; $user->blood_group_id = $request->blood_group_id; $user->ssc_year= $request->ssc_year; $user->ssc_board_id= $request->ssc_board_id; $user->ssc_role= $request->ssc_role; $user->ssc_registration_no= $request->ssc_registration_no; $user->present_division_id = $request->present_division_id; $user->present_district_id = $request->present_district_id; $user->present_address = $request->present_address; $user->permanent_division_id = $request->permanent_division_id; $user->permanent_district_id = $request->permanent_district_id; $user->permanent_address = $request->permanent_address; $user->description = $request->description; $user->facebok = $request->facebok; $user->profile_photo =$oldimage; //$user->save();
$this->authorize('save', $userToEdit);
} $notification = [ 'message' => 'User Updated Successfully', 'alert-type' => 'success' ];
return redirect()->back()->with($notification); } } |