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

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

added pagination, is_important

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