source: app/Http/Controllers/Dashboard/DepartmentsController.php@ d795fa6

develop
Last change on this file since d795fa6 was d795fa6, checked in by Berat Kjufliju <kufliju@…>, 3 years ago

added validation to blades

  • Property mode set to 100644
File size: 2.9 KB
Line 
1<?php
2
3namespace App\Http\Controllers\Dashboard;
4
5use App\Helpers\Alert;
6use App\Http\Requests\Dashboard\NewDepartmentRequest;
7use App\Http\Requests\Dashboard\UpdateDepartmentRequest;
8use App\Models\Department;
9use App\Models\Document;
10use App\Models\User;
11use Carbon\Carbon;
12use Illuminate\Http\Request;
13use App\Http\Controllers\Controller;
14use Illuminate\Support\Facades\Auth;
15use Illuminate\Support\Facades\Storage;
16
17class DepartmentsController extends Controller
18{
19 public function index()
20 {
21 return view("dashboard.departments.index")->with([
22 "departments" => Department::all(),
23 ]);
24 }
25
26 public function create()
27 {
28 return view("dashboard.departments.create");
29 }
30
31 public function store(NewDepartmentRequest $request)
32 {
33 $department = new Department();
34
35 $department->name = $request->name;
36 $department->code = $request->code;
37
38 if(!Storage::disk('local')->has('Departments/' . $request->code)){
39 Storage::disk('local')->makeDirectory('Departments/' . $request->code);
40 }
41
42 $department->user_id = auth()->id();
43 $department->location = '/Departments/' . $request->code;
44
45 $department->save();
46
47 Alert::flash("New Department added successfully");
48
49 return redirect()->route("dashboard.departments.index");
50 }
51
52 public function editShow($id)
53 {
54 return view("dashboard.departments.edit")->with([
55 "department" => Department::findOrFail($id)
56 ]);
57 }
58
59 public function edit(UpdateDepartmentRequest $request, $id)
60 {
61 $department = Department::findOrFail($id);
62
63 $oldDepartmentCode = $department->code;
64
65 $department->name = $request->name;
66 $department->code = $request->code;
67 $department->updated_at = Carbon::now();;
68
69 $path = '/Departments/' . $request->code;
70 $department->location = $path;
71
72 $files = Storage::allFiles($oldDepartmentCode);
73
74 if($department->isDirty('code'))
75 {
76 if(!Storage::disk('local')->has('Departments/' . $request->code)){
77 Storage::disk('local')->move('Departments/' . $oldDepartmentCode, 'Departments/' . $department->code);
78 }
79 }
80
81 $department->save();
82
83 Alert::flash("Department edited successfully");
84
85 return redirect()->route("dashboard.departments.index");
86 }
87
88 public function destroy($id)
89 {
90 $department = Department::find($id);
91 //$department->delete();
92 $documents = $department->document()->count();
93
94 if($documents > 0){
95 Alert::flash($department->name . " has " . $documents . " document/s associated", "error");
96 }
97 else {
98 $department->delete();
99
100 Alert::flash($department->name . " deleted successfully");
101 }
102
103 return redirect()->route("dashboard.departments.index");
104 }
105}
Note: See TracBrowser for help on using the repository browser.