middleware('auth:admin'); } /** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { $directories = DB::table('directories') ->where('by_admin', 1) ->orderBy('id', 'desc') ->get(); $users = User::join('role_user', 'users.id', '=', 'role_user.user_id') ->join('roles', 'role_user.role_id', '=', 'roles.id') ->where('users.working_status', '=', '1') ->where('users.status', '=', '1') ->select('users.*', 'roles.name as role_name', 'roles.id as role_id', 'users.id as id') ->orderBy('roles.id', 'asc') ->get(); $departments = Department::where('status', 1)->orderBy('id', 'asc')->get(); return view('admin.shared-files.index', compact('directories', 'users', 'departments')); } /** * Show the form for creating a new resource. * * @return \Illuminate\Http\Response */ public function create() { $directories=Directory::where('by_admin', 1) ->orderBy('id', 'desc') ->get(); $users = User::join('role_user', 'users.id', '=', 'role_user.user_id') ->join('roles', 'role_user.role_id', '=', 'roles.id') ->where('users.working_status', '=', '1') ->where('users.status', '=', '1') ->select('users.*', 'roles.name as role_name', 'roles.id as role_id', 'users.id as id') ->orderBy('roles.id', 'asc') ->get(); $departments = Department::where('status', 1)->orderBy('id', 'asc')->get(); return view('admin.shared-files.create', compact('directories', 'users', 'departments')); } /** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $validatedData = $this->validate($request, [ 'name' => 'required|unique:directories,name|max:191', 'permission' => 'required', 'share_to' => 'required', ]); $input = $request->all(); $input['by_admin']=1; $input['year'] = date('Y'); $directory_save=Directory::create($input); if($directory_save) { if($input['share_to'] !== null) { $share_input=$input; $share_input['directory_id']=$directory_save['id']; $share_input['type']='D'; $share_to=explode('-',$input['share_to']); if($share_to[0] == 'uid') { $share_input['user_id'] = $share_to[1]; } elseif($share_to[0] == 'did') { $share_input['department_id'] = $share_to[1]; } $saved_data=SharedFile::create($share_input); } Session::flash('success_message', __('Directory has been added successfully')); return redirect()->route('shared-directories'); } } /** * 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) { $id=base64_decode($id); $directory = Directory::where('id', '=', $id)->first(); if($directory): $users = User::join('role_user', 'users.id', '=', 'role_user.user_id') ->join('roles', 'role_user.role_id', '=', 'roles.id') ->where('users.working_status', '=', '1') ->where('users.status', '=', '1') ->select('users.*', 'roles.name as role_name', 'roles.id as role_id', 'users.id as id') ->orderBy('roles.id', 'asc') ->get(); $departments = Department::where('status', 1)->orderBy('id', 'asc')->get(); $sharedfile = SharedFile::where('directory_id', $directory->id)->where('by_admin', 1)->first(); return view('admin.shared-files.edit', compact('directory', 'users', 'departments', 'sharedfile')); else: Session::flash('error_message', 'Invalid directory id.'); return redirect()->route('shared-directories'); endif; } /** * Update the specified resource in storage. * * @param \Illuminate\Http\Request $request * @param int $id * @return \Illuminate\Http\Response */ public function update(Request $request, $id) { $id=base64_decode($id); $directory = Directory::findOrFail($id); $validatedData = $this->validate($request, [ 'name' => 'required|unique:directories,name,'.$id.'|max:191', 'permission' => 'required', ]); $input = $request->all(); $saved_data=$directory->fill($input)->save(); if($saved_data): $update = SharedFile::where('directory_id', $directory->id)->where('by_admin', 1)->update(['permission'=>$input['permission']]); Session::flash('success_message', 'Directory has been updated successfully'); return redirect()->route('shared-directories'); else: Session::flash('error_message', 'We are having some problem. Please try later.'); return redirect()->back(); endif; } /** * Remove the specified resource from storage. * * @param int $id * @return \Illuminate\Http\Response */ public function destroy($id) { $id=base64_decode($id); $update = SharedFile::where('directory_id', $id)->delete(); $delete_role = Directory::where('id', $id)->delete(); if($delete_role): Session::flash('success_message', 'Directory has been deleted successfully'); return redirect()->route('shared-directories'); else: Session::flash('error_message', 'We are having some problem. Please try later.'); return redirect()->route('shared-directories'); endif; } }