Index: app/Http/Controllers/Dashboard/UsersController.php
===================================================================
--- app/Http/Controllers/Dashboard/UsersController.php	(revision e0d3f947938d1be27857c793dacd8fd8c8a42405)
+++ app/Http/Controllers/Dashboard/UsersController.php	(revision 0df7a930d3f128a451a433cc4ee9218e13624091)
@@ -8,4 +8,6 @@
 use App\Http\Requests\Dashboard\UpdateUserRequest;
 use App\Models\Avatar;
+use App\Models\Department;
+use App\Models\Folder;
 use Carbon\Carbon;
 use Illuminate\Support\Facades\File;
@@ -26,4 +28,5 @@
             "users" => User::all(),
             "roles" => Role::all(),
+            "adminAndReferents" => User::where("role_id", 1)->orWhere("role_id", 2)->get()
         ]);
     }
@@ -138,10 +141,20 @@
         $user = User::find($id);
 
-        $user->userProfile->delete();
-        $user->delete();
+        if(Folder::where('user_id', $user->id)->count() == 0) {
+            if (Storage::disk("uploads")->exists("users" . DIRECTORY_SEPARATOR . $user->avatar)) {
+                Storage::disk("uploads")->delete("users" . DIRECTORY_SEPARATOR . $user->avatar);
+            }
 
-        Alert::flash($user->name . " deleted successfully");
+            $user->delete();
 
-        return redirect()->route("dashboard.users.index");
+            Alert::flash($user->name . " deleted successfully");
+
+            return redirect()->route("dashboard.users.index");
+        }
+        else {
+            Alert::flash($user->name . "has associated folders");
+
+            return redirect()->back();
+        }
     }
 
Index: app/Models/Department.php
===================================================================
--- app/Models/Department.php	(revision e0d3f947938d1be27857c793dacd8fd8c8a42405)
+++ app/Models/Department.php	(revision 0df7a930d3f128a451a433cc4ee9218e13624091)
@@ -28,3 +28,7 @@
         return $this->hasMany(Folder::class);
     }
+
+//    public function getDeptId(){
+//        return Department::where('id', $this->id)->get();
+//    }
 }
Index: app/Models/User.php
===================================================================
--- app/Models/User.php	(revision e0d3f947938d1be27857c793dacd8fd8c8a42405)
+++ app/Models/User.php	(revision 0df7a930d3f128a451a433cc4ee9218e13624091)
@@ -134,3 +134,7 @@
         return User::where('id', $this->created_by)->pluck('username')->first();
     }
+
+    public function folder() {
+        return $this->hasMany(Folder::class);
+    }
 }
Index: database/factories/FolderFactory.php
===================================================================
--- database/factories/FolderFactory.php	(revision e0d3f947938d1be27857c793dacd8fd8c8a42405)
+++ database/factories/FolderFactory.php	(revision 0df7a930d3f128a451a433cc4ee9218e13624091)
@@ -27,9 +27,8 @@
     public function definition()
     {
-        $array = [5, 15, 25, 35, 45, 55, 65, 75, 85, 95, 105, 115, 125, 135, 145];
-
-        $deptId = Arr::random($array);
+        $deptId = 1;
 
         $deptCode = Department::find($deptId)->code;
+
         $name = $this->faker->unique()->firstName();
 
Index: database/seeders/PermissionsTableSeeder.php
===================================================================
--- database/seeders/PermissionsTableSeeder.php	(revision e0d3f947938d1be27857c793dacd8fd8c8a42405)
+++ database/seeders/PermissionsTableSeeder.php	(revision 0df7a930d3f128a451a433cc4ee9218e13624091)
@@ -17,5 +17,5 @@
     {
         \DB::table('permissions')->insert([
-            ["id" => "1", "name" => "create_user"], 				// Create new user
+            ["id" => "1", "name" => "view_all_users"], 			    // Create new user
             ["id" => "2", "name" => "manage_all_users"], 		    // Access all users to manage
             ["id" => "3", "name" => "manage_all_departments"], 	    // Access all departments to manage
@@ -27,6 +27,10 @@
             ["id" => "9", "name" => "delete_all_folders"], 	        // Delete all folder/s
             ["id" => "10", "name" => "delete_folder"], 	            // Delete your folder/s
-            ["id" => "11", "name" => "manage_all_files"], 	        // Access all files
-            ["id" => "12", "name" => "manage_file_types"], 	        // Access file types
+            ["id" => "11", "name" => "view_all_files"], 	        // View all files
+            ["id" => "12", "name" => "manage_all_files"], 	        // Access all files
+            ["id" => "13", "name" => "manage_file_types"], 	        // Access file types
+            ["id" => "14", "name" => "edit_user_data"], 	        // Access file types
+            ["id" => "15", "name" => "export_data"], 	            // Access file types
+            ["id" => "16", "name" => "validation_data"] 	        // Access file types
         ]);
     }
Index: database/seeders/RolesPermissionsTableSeeder.php
===================================================================
--- database/seeders/RolesPermissionsTableSeeder.php	(revision e0d3f947938d1be27857c793dacd8fd8c8a42405)
+++ database/seeders/RolesPermissionsTableSeeder.php	(revision 0df7a930d3f128a451a433cc4ee9218e13624091)
@@ -28,6 +28,10 @@
             ["role_id" => 1, "permission_id" => 11],
             ["role_id" => 1, "permission_id" => 12],
+            ["role_id" => 1, "permission_id" => 13],
+            ["role_id" => 1, "permission_id" => 14],
+            ["role_id" => 1, "permission_id" => 15],
 
-            // Referent
+                // Referent
+            ["role_id" => 2, "permission_id" => 1],
             ["role_id" => 2, "permission_id" => 3],
             ["role_id" => 2, "permission_id" => 4],
@@ -39,8 +43,12 @@
             ["role_id" => 2, "permission_id" => 10],
             ["role_id" => 2, "permission_id" => 11],
+            ["role_id" => 2, "permission_id" => 13],
+            ["role_id" => 2, "permission_id" => 14],
+            ["role_id" => 2, "permission_id" => 15],
 
             // Viewer
             ["role_id" => 3, "permission_id" => 5],
             ["role_id" => 3, "permission_id" => 6],
+            ["role_id" => 3, "permission_id" => 11],
         ]);
     }
Index: database/seeders/UsersTableSeeder.php
===================================================================
--- database/seeders/UsersTableSeeder.php	(revision e0d3f947938d1be27857c793dacd8fd8c8a42405)
+++ database/seeders/UsersTableSeeder.php	(revision 0df7a930d3f128a451a433cc4ee9218e13624091)
@@ -20,5 +20,5 @@
             "name" => "Berat",
             "surname" => "Kjufliju",
-            "username" => "beratk",
+            "username" => "admin",
             "password" => bcrypt("123456"),
             "email" => "kufliju@gmail.com",
@@ -31,4 +31,34 @@
         ]);
 
+        \DB::table("users")->insert([
+            "id" => "2",
+            "name" => "Berat",
+            "surname" => "Kjufliju",
+            "username" => "referent",
+            "password" => bcrypt("123456"),
+            "email" => "mail@host.com",
+            "phone_number" => "+38971201236",
+            "role_id" => 2,
+            "is_active" => true,
+            "is_confirmed" => true,
+            "created_by" => "1",
+            "created_at" => now()
+        ]);
+
+        \DB::table("users")->insert([
+            "id" => "3",
+            "name" => "Berat",
+            "surname" => "Kjufliju",
+            "username" => "viewer",
+            "password" => bcrypt("123456"),
+            "email" => "test@test.com",
+            "phone_number" => "+38971201235",
+            "role_id" => 3,
+            "is_active" => true,
+            "is_confirmed" => true,
+            "created_by" => "1",
+            "created_at" => now()
+        ]);
+
         User::factory()->count(50)->create();
 
Index: resources/views/dashboard/departments/index.blade.php
===================================================================
--- resources/views/dashboard/departments/index.blade.php	(revision e0d3f947938d1be27857c793dacd8fd8c8a42405)
+++ resources/views/dashboard/departments/index.blade.php	(revision 0df7a930d3f128a451a433cc4ee9218e13624091)
@@ -20,12 +20,19 @@
         </nav>
         <div class="dropdown">
+            @if(auth()->user()->hasPermission('manage_all_departments'))
             <a href="javascript:void(0)" data-toggle="modal" data-target="#createModal" class="btn btn-primary text-white">
                 <i class="fa fa-plus pr-1"></i> New
             </a>
+            @endif
+
+                @if(auth()->user()->hasPermission('download_data'))
             <a href="{{ route("dashboard.departments.downloadAll") }}" class="btn btn-danger text-white">
                 <i class="fa fa-download pr-1"></i> Download
             </a>
+                @endif
+            @if(auth()->user()->hasPermission('export_data'))
             <a href="{{ route('dashboard.departments.export') }}" class="btn btn-success text-white">
                 <i class="fa fa-table pr-1"></i> Export</a>
+            @endif
         </div>
     </div>
@@ -73,15 +80,21 @@
                                                 </svg></button>
                                     </td>
+                                    @if(auth()->user()->hasPermission('manage_all_departments'))
                                     <td>
                                         <a href="javascript:void(0)" class="text-secondary" data-toggle="modal" data-target="#editModal_{{$department->id}}" title="Edit">
                                             <i class="ti-pencil"></i>
                                         </a>
-                                        <a href="{{ route("dashboard.departments.downloadDepartment", ['id' => $department->id]) }}" class="text-danger ml-2"title="Delete">
+                                        @if(auth()->user()->hasPermission('download_data'))
+                                        <a href="{{ route("dashboard.departments.downloadDepartment", ['id' => $department->id]) }}" class="text-danger ml-2"title="Download">
                                             <i class="ti-download"></i>
                                         </a>
+                                        @endif
                                         <a href="javascript:void(0)" class="text-danger ml-2" data-toggle="modal" data-target="#deleteModal_{{$department->id}}" title="Delete">
                                             <i class="ti-trash"></i>
                                         </a>
                                     </td>
+                                    @else
+                                    <td></td>
+                                        @endif
                                 </tr>
                                 <div class="modal fade" id="deleteModal_{{$department->id}}" tabindex="-1" role="dialog" aria-hidden="true">
@@ -99,5 +112,5 @@
                                                     @method('DELETE')
                                                     <p>Are you sure you want to delete department {{$department->name}} with code: {{$department->code}}?</p>
-                                                    <p>Number of documents associated: <a href="{{ route("dashboard.folders.index", ['id' => $department->id]) }}" class="text-linkedin">{{$department->folder()->count()}}</a></p>
+                                                    <p>Number of folders associated: <a href="{{ route("dashboard.folders.index", ['id' => $department->id]) }}" class="text-linkedin">{{$department->folder()->count()}}</a></p>
                                                     <div class="modal-footer">
                                                         <button type="button" class="btn btn-secondary" data-dismiss="modal">Close
Index: resources/views/dashboard/files/index.blade.php
===================================================================
--- resources/views/dashboard/files/index.blade.php	(revision e0d3f947938d1be27857c793dacd8fd8c8a42405)
+++ resources/views/dashboard/files/index.blade.php	(revision 0df7a930d3f128a451a433cc4ee9218e13624091)
@@ -20,13 +20,19 @@
         </nav>
         <div class="dropdown">
+            @if(auth()->user()->hasPermission('manage_all_files'))
             <a href="javascript:void(0)" data-toggle="modal" data-target="#createModal" class="btn btn-primary text-white">
                 <i class="fa fa-upload pr-1"></i> Upload
             </a>
+            @endif
+            @if(auth()->user()->hasPermission('download_data'))
             <a href="{{ route("dashboard.departments.downloadAll") }}" class="btn btn-danger text-white">
                 <i class="fa fa-download pr-1"></i> Download
             </a>
+            @endif
+            @if(auth()->user()->hasPermission('export_data'))
             <a href="{{ route('dashboard.files.export') }}" class="btn btn-success text-white">
                 <i class="fa fa-table pr-1"></i> Export
             </a>
+                @endif
         </div>
     </div>
@@ -103,4 +109,5 @@
                                             </svg></button>
                                     </td>
+                                    @if(auth()->user()->hasPermission('manage_all_files'))
                                     <td>
                                         <a href="javascript:void(0)" class="text-secondary" data-toggle="modal" data-target="#editModal_{{$file->id}}" title="Edit">
@@ -114,4 +121,7 @@
                                         </a>
                                     </td>
+                                    @else
+                                <td></td>
+                                        @endif
                                 </tr>
                                 <div class="modal fade" id="deleteModal_{{$file->id}}" tabindex="-1" role="dialog" aria-hidden="true">
Index: resources/views/dashboard/folders/files.blade.php
===================================================================
--- resources/views/dashboard/folders/files.blade.php	(revision e0d3f947938d1be27857c793dacd8fd8c8a42405)
+++ resources/views/dashboard/folders/files.blade.php	(revision 0df7a930d3f128a451a433cc4ee9218e13624091)
@@ -9,7 +9,9 @@
             <div class="card">
                 <div class="card-body">
+                    @if(auth()->user()->hasPermission('manage_all_folders'))
                     <a class="btn btn-secondary btn-block text-white" href="javascript:void(0)" data-target="#editModal_{{$folder->id}}" data-toggle="modal">
                         Upload
                     </a>
+                        @endif
                 </div>
                 <div class="app-sidebar-menu">
@@ -35,4 +37,5 @@
                 <div class="action-left">
                     <ul class="list-inline">
+                        @if(auth()->user()->hasPermission('manage_all_folders'))
                         <li class="list-inline-item mb-0">
                             <a href="#" class="btn btn-outline-light dropdown-toggle" data-toggle="dropdown">
@@ -43,11 +46,13 @@
                                     Upload
                                 </a>
-
                             </div>
                         </li>
+                        @endif
                         <li class="list-inline-item mb-0">
+                            @if(auth()->user()->hasPermission('download_data'))
                             <a href="{{ route("dashboard.folders.downloadFolder", ['id' => $folder->id]) }}" class="btn btn-outline-light">
                                 Download folder
                             </a>
+                                @endif
                         </li>
                     </ul>
@@ -100,13 +105,19 @@
                                     </a>
                                     <div class="dropdown-menu dropdown-menu-right">
+                                        @if(auth()->user()->hasPermission('manage_all_files'))
                                         <a href="javascript:void(0)" class="dropdown-item" data-toggle="modal" data-target="#editFileModal_{{$file->id}}">
                                             Rename
                                         </a>
+                                        @endif
+                                        @if(auth()->user()->hasPermission('download_data'))
                                         <a href="{{ route("dashboard.files.downloadFile", $file->id) }}" class="dropdown-item">
                                             Download
                                         </a>
+                                            @endif
+                                            @if(auth()->user()->hasPermission('manage_all_files'))
                                         <a href="javascript:void(0)" class="dropdown-item" data-toggle="modal" data-target="#deleteModal_{{$file->id}}">
                                             Delete
                                         </a>
+                                                @endif
                                     </div>
                                 </div>
Index: resources/views/dashboard/folders/index.blade.php
===================================================================
--- resources/views/dashboard/folders/index.blade.php	(revision e0d3f947938d1be27857c793dacd8fd8c8a42405)
+++ resources/views/dashboard/folders/index.blade.php	(revision 0df7a930d3f128a451a433cc4ee9218e13624091)
@@ -9,7 +9,9 @@
             <div class="card">
                 <div class="card-body">
+                    @if(auth()->user()->hasPermission('manage_all_folders'))
                     <a href="javascript:void(0)" class="btn btn-secondary btn-block file-upload-btn text-white" data-toggle="modal" data-target="#createModal">
                         Add folder
                     </a>
+                        @endif
                 </div>
                 <div class="app-sidebar-menu">
@@ -62,14 +64,18 @@
                 <div class="action-left">
                     <ul class="list-inline">
+                        @if(auth()->user()->hasPermission('manage_all_folders'))
                         <li class="list-inline-item mb-0">
                             <a href="#" class="btn btn-outline-light dropdown-toggle" data-toggle="dropdown">
                                 <i data-feather="plus" class="mr-1"></i>
-                                Ations
+                                Actions
                             </a>
                             <div class="dropdown-menu">
                                 <a class="dropdown-item" href="javascript:void(0)" data-toggle="modal" data-target="#createModal">Add folder</a>
+                                @endif
+                                    @if(auth()->user()->hasPermission('export_data'))
                                 <a href="{{ route('dashboard.folders.export') }}" class="dropdown-item text-success">Export</a>
                             </div>
                         </li>
+                        @endif
                         <li class="list-inline-item mb-0">
                             <a href="#" class="btn btn-outline-light dropdown-toggle" data-toggle="dropdown">Departments</a>
@@ -139,7 +145,12 @@
                                         <div class="dropdown-menu dropdown-menu-right">
                                             <a href="{{ route("dashboard.folders.files", ["id" => $folder->id]) }}" class="dropdown-item">View Files</a>
+                                            @if(auth()->user()->hasPermission('manage_all_folders'))
                                             <a href="javascript:void(0)" class="dropdown-item" data-toggle="modal" data-target="#editModal_{{$folder->id}}">Edit</a>
+                                            @endif
+                                            @if(auth()->user()->hasPermission('download_data'))
                                             <a href="{{ route("dashboard.folders.downloadFolder", ['id' => $folder->id]) }}" class="dropdown-item">Download</a>
-                                            <button class="dropdown-item action-dropdown-item"
+                                            @endif
+                                            @if(auth()->user()->hasPermission('manage_all_folders'))
+                                                <button class="dropdown-item action-dropdown-item"
                                                     href="javascript:void(0)" onclick="toggleImportant({{$folder->id}})">
                                                 @if($folder->is_important)
@@ -149,5 +160,8 @@
                                                 @endif
                                             </button>
+                                            @endif
+                                            @if(auth()->user()->hasPermission('manage_all_folders'))
                                             <a href="javascript:void(0)" class="dropdown-item" data-toggle="modal" data-target="#deleteModal_{{$folder->id}}">Delete</a>
+                                            @endif
                                         </div>
                                     </div>
Index: resources/views/dashboard/index.blade.php
===================================================================
--- resources/views/dashboard/index.blade.php	(revision e0d3f947938d1be27857c793dacd8fd8c8a42405)
+++ resources/views/dashboard/index.blade.php	(revision 0df7a930d3f128a451a433cc4ee9218e13624091)
@@ -159,6 +159,4 @@
                                         @endif
                                         @endif
-
-
                                     </td>
                                     <td>{{ $file->name }}</td>
@@ -177,4 +175,5 @@
                                             </svg></button>
                                     </td>
+                                    @if(auth()->user()->hasPermission('manage_all_files'))
                                     <td>
                                         <a href="javascript:void(0)" class="text-secondary" data-toggle="modal" data-target="#editModal_{{$file->id}}" title="Edit">
@@ -188,4 +187,7 @@
                                         </a>
                                     </td>
+                                    @else
+                                        <td></td>
+                                        @endif
                                 </tr>
                                 <div class="modal fade" id="deleteModal_{{$file->id}}" tabindex="-1" role="dialog" aria-hidden="true">
Index: resources/views/dashboard/settings/index.blade.php
===================================================================
--- resources/views/dashboard/settings/index.blade.php	(revision e0d3f947938d1be27857c793dacd8fd8c8a42405)
+++ resources/views/dashboard/settings/index.blade.php	(revision 0df7a930d3f128a451a433cc4ee9218e13624091)
@@ -24,5 +24,7 @@
                         <a class="nav-link {{$active_tab == 'account' ? 'active' : ""}}" id="account-tab" data-toggle="pill" href="#account" role="tab" aria-controls="account" aria-selected="true">Account</a>
                         <a class="nav-link {{$active_tab == 'security' ? 'active' : ""}}" id="security-tab" data-toggle="pill" href="#security" role="tab" aria-controls="security" aria-selected="false">Security</a>
+                        @if(auth()->user()->hasPermission('validation_data'))
                         <a class="nav-link {{$active_tab == 'file-types' ? 'active' : ""}}" id="file-types-tab" data-toggle="pill" href="#file-types" role="tab" aria-controls="file-types" aria-selected="false">File validation</a>
+                        @endif
                     </div>
                 </div>
@@ -233,5 +235,5 @@
                         </div>
                         <div class="tab-pane {{$active_tab == 'file-types' ? 'active' : ""}}" id="file-types" role="tabpanel" aria-labelledby="file-types-tab">
-
+                            @if(auth()->user()->hasPermission('validation_data'))
                             <div class="card">
                                     <div class="card-body">
@@ -259,5 +261,5 @@
                                     </div>
                                 </div>
-
+@endif
                         </div>
                     </div>
Index: resources/views/dashboard/users/index.blade.php
===================================================================
--- resources/views/dashboard/users/index.blade.php	(revision e0d3f947938d1be27857c793dacd8fd8c8a42405)
+++ resources/views/dashboard/users/index.blade.php	(revision 0df7a930d3f128a451a433cc4ee9218e13624091)
@@ -21,10 +21,14 @@
         </nav>
         <div class="dropdown">
+            @if(auth()->user()->hasPermission('manage_all_users'))
             <a href="javascript:void(0)" data-toggle="modal" data-target="#createModal" class="btn btn-primary text-white">
                 <i class="fa fa-plus pr-1"></i> New
             </a>
+            @endif
+            @if(auth()->user()->hasPermission('export_data'))
             <a href="{{ route('dashboard.users.export') }}" class="btn btn-success text-white">
                 <i class="fa fa-table pr-1"></i> Export
             </a>
+                @endif
         </div>
     </div>
@@ -93,4 +97,5 @@
                                         @endif
                                     </td>
+                                    @if(auth()->user()->hasPermission('manage_all_users'))
                                     @if($user->hasRole("Referent") && $user->is_confirmed)
                                         <td>
@@ -98,5 +103,5 @@
                                                 <i class="ti-pencil"></i>
                                             </a>
-                                            <a href="javascript:void(0)" class="text-danger ml-2" data-action="{{ route("dashboard.users.destroy", ["id" => $user->id]) }}" data-method="delete" title="Delete">
+                                            <a href="javascript:void(0)" class="text-danger ml-2" data-toggle="modal" data-target="#deleteModal_{{$user->id}}" title="Delete">
                                                 <i class="ti-trash"></i>
                                             </a>
@@ -105,4 +110,7 @@
                                         <td>/</td>
                                         @endif
+                                    @else
+                                    <td></td>
+                                    @endif
                                 </tr>
 
@@ -199,4 +207,30 @@
                                 </div>
 
+                                <div class="modal fade" id="deleteModal_{{$user->id}}" tabindex="-1" role="dialog" aria-hidden="true">
+                                    <div class="modal-dialog modal-dialog-centered" role="document">
+                                        <div class="modal-content">
+                                            <div class="modal-header">
+                                                <h5 class="modal-title" id="exampleModalCenterTitle">Delete confirmation</h5>
+                                                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
+                                                    <i class="ti-close"></i>
+                                                </button>
+                                            </div>
+                                            <div class="modal-body">
+                                                <form action="{{ route("dashboard.users.destroy", $user->id) }}" method="POST">
+                                                    @csrf
+                                                    @method('DELETE')
+                                                    <p>Are you sure you want to delete user {{$user->username}} ?</p>
+                                                    <p>Number of folders created: <a href="{{ route("dashboard.folders.index", ['id' => $user->id]) }}" class="text-linkedin">{{\App\Models\Folder::where('user_id', $user->id)->count()}}</a></p>
+                                                    <div class="modal-footer">
+                                                        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close
+                                                        </button>
+                                                        <button type="submit" class="btn btn-primary">Save changes</button>
+                                                    </div>
+                                                </form>
+                                            </div>
+
+                                        </div>
+                                    </div>
+                                </div>
                             @endforeach
                             </tbody>
Index: resources/views/layouts/app.blade.php
===================================================================
--- resources/views/layouts/app.blade.php	(revision e0d3f947938d1be27857c793dacd8fd8c8a42405)
+++ resources/views/layouts/app.blade.php	(revision 0df7a930d3f128a451a433cc4ee9218e13624091)
@@ -168,5 +168,5 @@
                         </li>
                     @endif
-                    @if(auth()->user()->hasPermission("manage_all_departments"))
+                    @if(auth()->user()->hasPermission("view_all_departments"))
                         <li>
                             <a href="{{route("dashboard.departments.index")}}" data-toggle="tooltip"
@@ -176,5 +176,5 @@
                         </li>
                     @endif
-                    @if(auth()->user()->hasPermission("manage_all_folders"))
+                    @if(auth()->user()->hasPermission("view_all_folders"))
                         <li>
                             <a href="{{route("dashboard.folders.index")}}" data-toggle="tooltip"
@@ -184,5 +184,5 @@
                         </li>
                     @endif
-                    @if(auth()->user()->hasPermission("manage_all_files"))
+                    @if(auth()->user()->hasPermission("view_all_files"))
                         <li>
                             <a href="{{route("dashboard.files.index")}}" data-toggle="tooltip"
Index: routes/web.php
===================================================================
--- routes/web.php	(revision e0d3f947938d1be27857c793dacd8fd8c8a42405)
+++ routes/web.php	(revision 0df7a930d3f128a451a433cc4ee9218e13624091)
@@ -55,31 +55,37 @@
     // Settings
     Route::get("/settings", "Dashboard\SettingsController@settings")->name("dashboard.settings.index");
-    Route::patch("/settings/personal", "Dashboard\SettingsController@updatePersonalInformation")->name("dashboard.settings.personal");
     Route::patch("/settings/username", "Dashboard\SettingsController@updateUsername")->name("dashboard.settings.username");
     Route::patch("/settings/password", "Dashboard\SettingsController@updatePassword")->name("dashboard.settings.password");
     Route::patch("/settings/email", "Dashboard\SettingsController@updateEmail")->name("dashboard.settings.email");
-    Route::patch("/settings/file-types", "Dashboard\SettingsController@fileTypes")->name("dashboard.settings.file-types");
+    Route::patch("/users/{id}/editUserData", "Dashboard\UsersController@editUserData")->name("dashboard.users.editUserData");
 
-
-    // Users
-    Route::group(['middleware' => 'permission:manage_all_users'], function () {
-        Route::get("/users", "Dashboard\UsersController@index")->name("dashboard.users.index");
-        Route::patch("/users/{id}/block", "Dashboard\UsersController@block")->name("dashboard.users.block");
-        Route::patch("/users/{id}/unblock", "Dashboard\UsersController@unblock")->name("dashboard.users.unblock");
-        Route::delete("/users/{id}/destroy", "Dashboard\UsersController@destroy")->name("dashboard.users.destroy");
+    //Settings File Validations
+    Route::group(['middleware' => 'permission:manage_file_types'], function () {
+        Route::patch("/settings/file-types", "Dashboard\SettingsController@fileTypes")->name("dashboard.settings.file-types");
     });
 
-        Route::group(['middleware' => 'permission:create_user'], function () {
+    // Users view
+    Route::group(['middleware' => 'permission:view_all_users'], function () {
+        Route::get("/users", "Dashboard\UsersController@index")->name("dashboard.users.index");
+    });
+
+    Route::group(['middleware' => 'permission:manage_all_users'], function () {
         Route::get("/users/create", "Dashboard\UsersController@create")->name("dashboard.users.create");
         Route::post("/users/store", "Dashboard\UsersController@store")->name("dashboard.users.store");
         Route::get("/users/{id}/edit", "Dashboard\UsersController@editShow")->name("dashboard.users.editShow");
         Route::patch("/users/{id}/edit", "Dashboard\UsersController@edit")->name("dashboard.users.edit");
-        Route::patch("/users/{id}/editUserData", "Dashboard\UsersController@editUserData")->name("dashboard.users.editUserData");
+        Route::patch("/users/{id}/block", "Dashboard\UsersController@block")->name("dashboard.users.block");
+        Route::patch("/users/{id}/unblock", "Dashboard\UsersController@unblock")->name("dashboard.users.unblock");
+        Route::delete("/users/{id}/destroy", "Dashboard\UsersController@destroy")->name("dashboard.users.destroy");
         Route::get('users/export', 'Dashboard\ExportExcelController@ExportUsers')->name("dashboard.users.export");
-        });
+    });
 
-    // Departments
+    // Departments view
+    Route::group(['middleware' => 'permission:view_all_departments'], function () {
+        Route::get("/departments", "Dashboard\DepartmentsController@index")->name("dashboard.departments.index");
+    });
+
+    // Departments manage
     Route::group(['middleware' => 'permission:manage_all_departments'], function () {
-        Route::get("/departments", "Dashboard\DepartmentsController@index")->name("dashboard.departments.index");
         Route::get("/departments/create", "Dashboard\DepartmentsController@create")->name("dashboard.departments.create");
         Route::post("/departments/store", "Dashboard\DepartmentsController@store")->name("dashboard.departments.store");
@@ -87,31 +93,50 @@
         Route::patch("/departments/{id}/edit", "Dashboard\DepartmentsController@edit")->name("dashboard.departments.edit");
         Route::delete("/departments/{id}/destroy", "Dashboard\DepartmentsController@destroy")->name("dashboard.departments.destroy");
-        Route::get('/departments/download-all','Dashboard\DepartmentsController@downloadAll')->name('dashboard.departments.downloadAll');
-        Route::get('/departments/{id}/download-department','Dashboard\DepartmentsController@downloadDepartment')->name('dashboard.departments.downloadDepartment');
+     });
+
+    // Folders view
+    Route::group(['middleware' => 'permission:view_all_folders'], function () {
+        Route::get("/folders", "Dashboard\FoldersController@index")->name("dashboard.folders.index");
+        Route::get('/folders/{id}/files', 'Dashboard\FoldersController@files')->name('dashboard.folders.files');
+    });
+
+    // Folders manage
+    Route::group(['middleware' => 'permission:manage_all_folders'], function () {
+        Route::get("/folders/create", "Dashboard\FoldersController@create")->name("dashboard.folders.create");
+        Route::post("/folders/store", "Dashboard\FoldersController@store")->name("dashboard.folders.store");
+        Route::get("/folders/{id}/edit", "Dashboard\FoldersController@editShow")->name("dashboard.folders.editShow");
+        Route::patch("/folders/{id}/edit", "Dashboard\FoldersController@edit")->name("dashboard.folders.edit");
+        Route::patch("/folders/{id}/block", "Dashboard\FoldersController@block")->name("dashboard.folders.block");
+        Route::patch("/folders/{id}/unblock", "Dashboard\FoldersController@unblock")->name("dashboard.folders.unblock");
+        Route::patch("/folders/{id}/confirm", "Dashboard\FoldersController@confirm")->name("dashboard.folders.confirm");
+        Route::delete("/folders/{id}/destroy", "Dashboard\FoldersController@destroy")->name("dashboard.folders.destroy");
+        Route::patch('/folders/toggle-important/{id}', "Dashboard\FoldersController@toggleImportant")->name("dashboard.folders.toggleImportant");
+    });
+
+    // Files view
+    Route::group(['middleware' => 'permission:view_all_files'], function () {
+    Route::get("files", "Dashboard\FilesController@index")->name("dashboard.files.index");
+    });
+
+    //Files manage
+Route::group(['middleware' => 'permission:manage_all_files'], function () {
+    Route::patch("files/{id}/rename-file", "Dashboard\FilesController@renameFile")->name("dashboard.files.renameFile");
+    Route::post("/files/store", "Dashboard\FilesController@store")->name("dashboard.files.store");
+    Route::delete("files/{id}/delete-file", "Dashboard\FilesController@deleteFile")->name("dashboard.files.deleteFile");
+    });
+
+    //Export data
+    Route::group(['middleware' => 'permission:export_data'], function () {
+        Route::get('files/export', 'Dashboard\ExportExcelController@ExportFiles')->name("dashboard.files.export");
+        Route::get('folders/export', 'Dashboard\ExportExcelController@ExportFolders')->name("dashboard.folders.export");
         Route::get('departments/export', 'Dashboard\ExportExcelController@ExportDepartments')->name("dashboard.departments.export");
     });
 
-    // Folders
-    Route::get("/folders", "Dashboard\FoldersController@index")->name("dashboard.folders.index");
-    Route::get("/folders/create", "Dashboard\FoldersController@create")->name("dashboard.folders.create");
-    Route::post("/folders/store", "Dashboard\FoldersController@store")->name("dashboard.folders.store");
-    Route::get("/folders/{id}/edit", "Dashboard\FoldersController@editShow")->name("dashboard.folders.editShow");
-    Route::patch("/folders/{id}/edit", "Dashboard\FoldersController@edit")->name("dashboard.folders.edit");
-    Route::patch("/folders/{id}/block", "Dashboard\FoldersController@block")->name("dashboard.folders.block");
-    Route::patch("/folders/{id}/unblock", "Dashboard\FoldersController@unblock")->name("dashboard.folders.unblock");
-    Route::patch("/folders/{id}/confirm", "Dashboard\FoldersController@confirm")->name("dashboard.folders.confirm");
-    Route::delete("/folders/{id}/destroy", "Dashboard\FoldersController@destroy")->name("dashboard.folders.destroy");
-    Route::patch('/folders/toggle-important/{id}', "Dashboard\FoldersController@toggleImportant")->name("dashboard.folders.toggleImportant");
-    Route::get('/folders/{id}/download-folder','Dashboard\FoldersController@downloadFolder')->name('dashboard.folders.downloadFolder');
-    Route::get('/folders/{id}/files','Dashboard\FoldersController@files')->name('dashboard.folders.files');
-    Route::get('folders/export', 'Dashboard\ExportExcelController@ExportFolders')->name("dashboard.folders.export");
-
-    // Files
-    Route::get("files", "Dashboard\FilesController@index")->name("dashboard.files.index");
-    Route::get("files/{id}/download-file", "Dashboard\FilesController@downloadFile")->name("dashboard.files.downloadFile");
-    Route::patch("files/{id}/rename-file", "Dashboard\FilesController@renameFile")->name("dashboard.files.renameFile");
-    Route::post("/files/store", "Dashboard\FilesController@store")->name("dashboard.files.store");
-    Route::delete("files/{id}/delete-file", "Dashboard\FilesController@deleteFile")->name("dashboard.files.deleteFile");
-    Route::get('files/export', 'Dashboard\ExportExcelController@ExportFiles')->name("dashboard.files.export");
-
+    //Download data
+    Route::group(['middleware' => 'permission:download_data'], function () {
+        Route::get('/departments/download-all', 'Dashboard\DepartmentsController@downloadAll')->name('dashboard.departments.downloadAll');
+        Route::get("files/{id}/download-file", "Dashboard\FilesController@downloadFile")->name("dashboard.files.downloadFile");
+        Route::get('/folders/{id}/download-folder', 'Dashboard\FoldersController@downloadFolder')->name('dashboard.folders.downloadFolder');
+        Route::get('/departments/{id}/download-department', 'Dashboard\DepartmentsController@downloadDepartment')->name('dashboard.departments.downloadDepartment');
+    });
 });
