IMMREX7

aku nok ndi : /home/spdtg/www/schoolmis/app/Http/Controllers/School/
File Up :
aku nok ndi : /home/spdtg/www/schoolmis/app/Http/Controllers/School/SchoolUserController.php

<?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 - 2025 IMMREX7