IMMREX7
<?php
namespace App\Http\Controllers\School;
use Illuminate\Http\Request;
use Validator;
use App\Http\Controllers\Controller;
use Auth;
use DB;
class SchoolUserController extends SchoolController {
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index() {
$roles = ['' => '--Select--'] + \App\Role::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->orderBy('idRole', 'desc')->get()->pluck('label', 'idRole')->toArray();
$users = \App\SchoolUser::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->where('isSchool','=','N')
->orderBy('idSchoolUser', 'desc')->get();
return view('schools.users.index', compact('users', 'roles'));
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create() {
//
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request) {
$rules = [
'name' => 'required',
'mobile' => 'required|unique:school_users',
'email' => 'required|unique:school_users,email,NULL,idSchoolUser,idSchool,' . Auth::guard('school')->user()->idSchool,
'idRole' => 'required',
'pwd' => 'required'
];
$message = [
'pwd.required' => 'Password must be filled',
];
$this->validate($request, $rules, $message);
// dd($request->all());
$user = new \App\SchoolUser();
$user->fill($request->all());
$password = $request->pwd;
$user->password = bcrypt($password);
$user->idSchool = Auth::guard('school')->user()->idSchool;
$user->isActive = 'Y';
$user->save();
$user->roles()->attach(array(($request->idRole)));
flash($user->name . ' ' . 'has been saved successfully !!');
return redirect('school/schusers');
}
/**
* Display the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function show($id) {
//
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function edit($id) {
$roles = ['' => '--Select--'] + \App\Role::where('idSchool', '=', Auth::guard('school')->user()->idSchool)
->orderBy('idRole', 'desc')->get()->pluck('label', 'idRole')->toArray();
$users = \App\SchoolUser::where('idSchool', '=', Auth::guard('school')->user()->idSchool)->where('isSchool','=','N')->orderBy('idSchoolUser', 'desc')->get();
$schuser = \App\SchoolUser::where('idSchoolUser', '=', $id)->first();
$role = DB::table('schooluser_roles')->where('idSchoolUser', '=', $id)->first();
return view('schools.users.index', compact('users', 'roles', 'schuser', 'role'));
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, $id) {
$data = $request->all();
$validator = Validator::make($data, [
'name' => 'required|max:255',
'mobile' => 'required',
'email' => 'required',
'idRole' => 'required',
'pwd' => 'required'
]);
if ($validator->fails()) {
return back()->withInput($data)->withErrors($validator->errors());
}
$user = \App\SchoolUser::findOrFail($id);
$user->name = $data['name'];
$user->mobile = $data['mobile'];
$user->email = $data['email'];
$user->pwd = $data['pwd'];
if (strlen($data['pwd']) > 0)
$user->password = bcrypt($data['pwd']);
$user->save();
$user->roles()->sync([$request->idRole]);
return redirect('school/schusers');
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Illuminate\Http\Response
*/
public function destroy($id) {
$schuser = \App\SchoolUser::where('idSchoolUser', '=', $id)->first();
// $role = DB::table('schooluser_roles')->where('idSchoolUser', '=', $id)->first();
DB::beginTransaction();
$schuser->roles()->detach();
$schuser->delete();
DB::commit();
return response()->json(['success' => "SUCCESS"], 200, ['app-status' => 'success']);
}
}
Copyright © 2021 -