Changeset 0df7a93


Ignore:
Timestamp:
10/24/21 20:55:11 (3 years ago)
Author:
beratkjufliju <kufliju@…>
Branches:
develop, master
Children:
7043def
Parents:
e0d3f94
Message:

bug fixes

Files:
16 edited

Legend:

Unmodified
Added
Removed
  • app/Http/Controllers/Dashboard/UsersController.php

    re0d3f94 r0df7a93  
    88use App\Http\Requests\Dashboard\UpdateUserRequest;
    99use App\Models\Avatar;
     10use App\Models\Department;
     11use App\Models\Folder;
    1012use Carbon\Carbon;
    1113use Illuminate\Support\Facades\File;
     
    2628            "users" => User::all(),
    2729            "roles" => Role::all(),
     30            "adminAndReferents" => User::where("role_id", 1)->orWhere("role_id", 2)->get()
    2831        ]);
    2932    }
     
    138141        $user = User::find($id);
    139142
    140         $user->userProfile->delete();
    141         $user->delete();
     143        if(Folder::where('user_id', $user->id)->count() == 0) {
     144            if (Storage::disk("uploads")->exists("users" . DIRECTORY_SEPARATOR . $user->avatar)) {
     145                Storage::disk("uploads")->delete("users" . DIRECTORY_SEPARATOR . $user->avatar);
     146            }
    142147
    143         Alert::flash($user->name . " deleted successfully");
     148            $user->delete();
    144149
    145         return redirect()->route("dashboard.users.index");
     150            Alert::flash($user->name . " deleted successfully");
     151
     152            return redirect()->route("dashboard.users.index");
     153        }
     154        else {
     155            Alert::flash($user->name . "has associated folders");
     156
     157            return redirect()->back();
     158        }
    146159    }
    147160
  • app/Models/Department.php

    re0d3f94 r0df7a93  
    2828        return $this->hasMany(Folder::class);
    2929    }
     30
     31//    public function getDeptId(){
     32//        return Department::where('id', $this->id)->get();
     33//    }
    3034}
  • app/Models/User.php

    re0d3f94 r0df7a93  
    134134        return User::where('id', $this->created_by)->pluck('username')->first();
    135135    }
     136
     137    public function folder() {
     138        return $this->hasMany(Folder::class);
     139    }
    136140}
  • database/factories/FolderFactory.php

    re0d3f94 r0df7a93  
    2727    public function definition()
    2828    {
    29         $array = [5, 15, 25, 35, 45, 55, 65, 75, 85, 95, 105, 115, 125, 135, 145];
    30 
    31         $deptId = Arr::random($array);
     29        $deptId = 1;
    3230
    3331        $deptCode = Department::find($deptId)->code;
     32
    3433        $name = $this->faker->unique()->firstName();
    3534
  • database/seeders/PermissionsTableSeeder.php

    re0d3f94 r0df7a93  
    1717    {
    1818        \DB::table('permissions')->insert([
    19             ["id" => "1", "name" => "create_user"],                             // Create new user
     19            ["id" => "1", "name" => "view_all_users"],                      // Create new user
    2020            ["id" => "2", "name" => "manage_all_users"],                    // Access all users to manage
    2121            ["id" => "3", "name" => "manage_all_departments"],      // Access all departments to manage
     
    2727            ["id" => "9", "name" => "delete_all_folders"],              // Delete all folder/s
    2828            ["id" => "10", "name" => "delete_folder"],              // Delete your folder/s
    29             ["id" => "11", "name" => "manage_all_files"],               // Access all files
    30             ["id" => "12", "name" => "manage_file_types"],              // Access file types
     29            ["id" => "11", "name" => "view_all_files"],                 // View all files
     30            ["id" => "12", "name" => "manage_all_files"],               // Access all files
     31            ["id" => "13", "name" => "manage_file_types"],              // Access file types
     32            ["id" => "14", "name" => "edit_user_data"],                 // Access file types
     33            ["id" => "15", "name" => "export_data"],                // Access file types
     34            ["id" => "16", "name" => "validation_data"]                 // Access file types
    3135        ]);
    3236    }
  • database/seeders/RolesPermissionsTableSeeder.php

    re0d3f94 r0df7a93  
    2828            ["role_id" => 1, "permission_id" => 11],
    2929            ["role_id" => 1, "permission_id" => 12],
     30            ["role_id" => 1, "permission_id" => 13],
     31            ["role_id" => 1, "permission_id" => 14],
     32            ["role_id" => 1, "permission_id" => 15],
    3033
    31             // Referent
     34                // Referent
     35            ["role_id" => 2, "permission_id" => 1],
    3236            ["role_id" => 2, "permission_id" => 3],
    3337            ["role_id" => 2, "permission_id" => 4],
     
    3943            ["role_id" => 2, "permission_id" => 10],
    4044            ["role_id" => 2, "permission_id" => 11],
     45            ["role_id" => 2, "permission_id" => 13],
     46            ["role_id" => 2, "permission_id" => 14],
     47            ["role_id" => 2, "permission_id" => 15],
    4148
    4249            // Viewer
    4350            ["role_id" => 3, "permission_id" => 5],
    4451            ["role_id" => 3, "permission_id" => 6],
     52            ["role_id" => 3, "permission_id" => 11],
    4553        ]);
    4654    }
  • database/seeders/UsersTableSeeder.php

    re0d3f94 r0df7a93  
    2020            "name" => "Berat",
    2121            "surname" => "Kjufliju",
    22             "username" => "beratk",
     22            "username" => "admin",
    2323            "password" => bcrypt("123456"),
    2424            "email" => "kufliju@gmail.com",
     
    3131        ]);
    3232
     33        \DB::table("users")->insert([
     34            "id" => "2",
     35            "name" => "Berat",
     36            "surname" => "Kjufliju",
     37            "username" => "referent",
     38            "password" => bcrypt("123456"),
     39            "email" => "mail@host.com",
     40            "phone_number" => "+38971201236",
     41            "role_id" => 2,
     42            "is_active" => true,
     43            "is_confirmed" => true,
     44            "created_by" => "1",
     45            "created_at" => now()
     46        ]);
     47
     48        \DB::table("users")->insert([
     49            "id" => "3",
     50            "name" => "Berat",
     51            "surname" => "Kjufliju",
     52            "username" => "viewer",
     53            "password" => bcrypt("123456"),
     54            "email" => "test@test.com",
     55            "phone_number" => "+38971201235",
     56            "role_id" => 3,
     57            "is_active" => true,
     58            "is_confirmed" => true,
     59            "created_by" => "1",
     60            "created_at" => now()
     61        ]);
     62
    3363        User::factory()->count(50)->create();
    3464
  • resources/views/dashboard/departments/index.blade.php

    re0d3f94 r0df7a93  
    2020        </nav>
    2121        <div class="dropdown">
     22            @if(auth()->user()->hasPermission('manage_all_departments'))
    2223            <a href="javascript:void(0)" data-toggle="modal" data-target="#createModal" class="btn btn-primary text-white">
    2324                <i class="fa fa-plus pr-1"></i> New
    2425            </a>
     26            @endif
     27
     28                @if(auth()->user()->hasPermission('download_data'))
    2529            <a href="{{ route("dashboard.departments.downloadAll") }}" class="btn btn-danger text-white">
    2630                <i class="fa fa-download pr-1"></i> Download
    2731            </a>
     32                @endif
     33            @if(auth()->user()->hasPermission('export_data'))
    2834            <a href="{{ route('dashboard.departments.export') }}" class="btn btn-success text-white">
    2935                <i class="fa fa-table pr-1"></i> Export</a>
     36            @endif
    3037        </div>
    3138    </div>
     
    7380                                                </svg></button>
    7481                                    </td>
     82                                    @if(auth()->user()->hasPermission('manage_all_departments'))
    7583                                    <td>
    7684                                        <a href="javascript:void(0)" class="text-secondary" data-toggle="modal" data-target="#editModal_{{$department->id}}" title="Edit">
    7785                                            <i class="ti-pencil"></i>
    7886                                        </a>
    79                                         <a href="{{ route("dashboard.departments.downloadDepartment", ['id' => $department->id]) }}" class="text-danger ml-2"title="Delete">
     87                                        @if(auth()->user()->hasPermission('download_data'))
     88                                        <a href="{{ route("dashboard.departments.downloadDepartment", ['id' => $department->id]) }}" class="text-danger ml-2"title="Download">
    8089                                            <i class="ti-download"></i>
    8190                                        </a>
     91                                        @endif
    8292                                        <a href="javascript:void(0)" class="text-danger ml-2" data-toggle="modal" data-target="#deleteModal_{{$department->id}}" title="Delete">
    8393                                            <i class="ti-trash"></i>
    8494                                        </a>
    8595                                    </td>
     96                                    @else
     97                                    <td></td>
     98                                        @endif
    8699                                </tr>
    87100                                <div class="modal fade" id="deleteModal_{{$department->id}}" tabindex="-1" role="dialog" aria-hidden="true">
     
    99112                                                    @method('DELETE')
    100113                                                    <p>Are you sure you want to delete department {{$department->name}} with code: {{$department->code}}?</p>
    101                                                     <p>Number of documents associated: <a href="{{ route("dashboard.folders.index", ['id' => $department->id]) }}" class="text-linkedin">{{$department->folder()->count()}}</a></p>
     114                                                    <p>Number of folders associated: <a href="{{ route("dashboard.folders.index", ['id' => $department->id]) }}" class="text-linkedin">{{$department->folder()->count()}}</a></p>
    102115                                                    <div class="modal-footer">
    103116                                                        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close
  • resources/views/dashboard/files/index.blade.php

    re0d3f94 r0df7a93  
    2020        </nav>
    2121        <div class="dropdown">
     22            @if(auth()->user()->hasPermission('manage_all_files'))
    2223            <a href="javascript:void(0)" data-toggle="modal" data-target="#createModal" class="btn btn-primary text-white">
    2324                <i class="fa fa-upload pr-1"></i> Upload
    2425            </a>
     26            @endif
     27            @if(auth()->user()->hasPermission('download_data'))
    2528            <a href="{{ route("dashboard.departments.downloadAll") }}" class="btn btn-danger text-white">
    2629                <i class="fa fa-download pr-1"></i> Download
    2730            </a>
     31            @endif
     32            @if(auth()->user()->hasPermission('export_data'))
    2833            <a href="{{ route('dashboard.files.export') }}" class="btn btn-success text-white">
    2934                <i class="fa fa-table pr-1"></i> Export
    3035            </a>
     36                @endif
    3137        </div>
    3238    </div>
     
    103109                                            </svg></button>
    104110                                    </td>
     111                                    @if(auth()->user()->hasPermission('manage_all_files'))
    105112                                    <td>
    106113                                        <a href="javascript:void(0)" class="text-secondary" data-toggle="modal" data-target="#editModal_{{$file->id}}" title="Edit">
     
    114121                                        </a>
    115122                                    </td>
     123                                    @else
     124                                <td></td>
     125                                        @endif
    116126                                </tr>
    117127                                <div class="modal fade" id="deleteModal_{{$file->id}}" tabindex="-1" role="dialog" aria-hidden="true">
  • resources/views/dashboard/folders/files.blade.php

    re0d3f94 r0df7a93  
    99            <div class="card">
    1010                <div class="card-body">
     11                    @if(auth()->user()->hasPermission('manage_all_folders'))
    1112                    <a class="btn btn-secondary btn-block text-white" href="javascript:void(0)" data-target="#editModal_{{$folder->id}}" data-toggle="modal">
    1213                        Upload
    1314                    </a>
     15                        @endif
    1416                </div>
    1517                <div class="app-sidebar-menu">
     
    3537                <div class="action-left">
    3638                    <ul class="list-inline">
     39                        @if(auth()->user()->hasPermission('manage_all_folders'))
    3740                        <li class="list-inline-item mb-0">
    3841                            <a href="#" class="btn btn-outline-light dropdown-toggle" data-toggle="dropdown">
     
    4346                                    Upload
    4447                                </a>
    45 
    4648                            </div>
    4749                        </li>
     50                        @endif
    4851                        <li class="list-inline-item mb-0">
     52                            @if(auth()->user()->hasPermission('download_data'))
    4953                            <a href="{{ route("dashboard.folders.downloadFolder", ['id' => $folder->id]) }}" class="btn btn-outline-light">
    5054                                Download folder
    5155                            </a>
     56                                @endif
    5257                        </li>
    5358                    </ul>
     
    100105                                    </a>
    101106                                    <div class="dropdown-menu dropdown-menu-right">
     107                                        @if(auth()->user()->hasPermission('manage_all_files'))
    102108                                        <a href="javascript:void(0)" class="dropdown-item" data-toggle="modal" data-target="#editFileModal_{{$file->id}}">
    103109                                            Rename
    104110                                        </a>
     111                                        @endif
     112                                        @if(auth()->user()->hasPermission('download_data'))
    105113                                        <a href="{{ route("dashboard.files.downloadFile", $file->id) }}" class="dropdown-item">
    106114                                            Download
    107115                                        </a>
     116                                            @endif
     117                                            @if(auth()->user()->hasPermission('manage_all_files'))
    108118                                        <a href="javascript:void(0)" class="dropdown-item" data-toggle="modal" data-target="#deleteModal_{{$file->id}}">
    109119                                            Delete
    110120                                        </a>
     121                                                @endif
    111122                                    </div>
    112123                                </div>
  • resources/views/dashboard/folders/index.blade.php

    re0d3f94 r0df7a93  
    99            <div class="card">
    1010                <div class="card-body">
     11                    @if(auth()->user()->hasPermission('manage_all_folders'))
    1112                    <a href="javascript:void(0)" class="btn btn-secondary btn-block file-upload-btn text-white" data-toggle="modal" data-target="#createModal">
    1213                        Add folder
    1314                    </a>
     15                        @endif
    1416                </div>
    1517                <div class="app-sidebar-menu">
     
    6264                <div class="action-left">
    6365                    <ul class="list-inline">
     66                        @if(auth()->user()->hasPermission('manage_all_folders'))
    6467                        <li class="list-inline-item mb-0">
    6568                            <a href="#" class="btn btn-outline-light dropdown-toggle" data-toggle="dropdown">
    6669                                <i data-feather="plus" class="mr-1"></i>
    67                                 Ations
     70                                Actions
    6871                            </a>
    6972                            <div class="dropdown-menu">
    7073                                <a class="dropdown-item" href="javascript:void(0)" data-toggle="modal" data-target="#createModal">Add folder</a>
     74                                @endif
     75                                    @if(auth()->user()->hasPermission('export_data'))
    7176                                <a href="{{ route('dashboard.folders.export') }}" class="dropdown-item text-success">Export</a>
    7277                            </div>
    7378                        </li>
     79                        @endif
    7480                        <li class="list-inline-item mb-0">
    7581                            <a href="#" class="btn btn-outline-light dropdown-toggle" data-toggle="dropdown">Departments</a>
     
    139145                                        <div class="dropdown-menu dropdown-menu-right">
    140146                                            <a href="{{ route("dashboard.folders.files", ["id" => $folder->id]) }}" class="dropdown-item">View Files</a>
     147                                            @if(auth()->user()->hasPermission('manage_all_folders'))
    141148                                            <a href="javascript:void(0)" class="dropdown-item" data-toggle="modal" data-target="#editModal_{{$folder->id}}">Edit</a>
     149                                            @endif
     150                                            @if(auth()->user()->hasPermission('download_data'))
    142151                                            <a href="{{ route("dashboard.folders.downloadFolder", ['id' => $folder->id]) }}" class="dropdown-item">Download</a>
    143                                             <button class="dropdown-item action-dropdown-item"
     152                                            @endif
     153                                            @if(auth()->user()->hasPermission('manage_all_folders'))
     154                                                <button class="dropdown-item action-dropdown-item"
    144155                                                    href="javascript:void(0)" onclick="toggleImportant({{$folder->id}})">
    145156                                                @if($folder->is_important)
     
    149160                                                @endif
    150161                                            </button>
     162                                            @endif
     163                                            @if(auth()->user()->hasPermission('manage_all_folders'))
    151164                                            <a href="javascript:void(0)" class="dropdown-item" data-toggle="modal" data-target="#deleteModal_{{$folder->id}}">Delete</a>
     165                                            @endif
    152166                                        </div>
    153167                                    </div>
  • resources/views/dashboard/index.blade.php

    re0d3f94 r0df7a93  
    159159                                        @endif
    160160                                        @endif
    161 
    162 
    163161                                    </td>
    164162                                    <td>{{ $file->name }}</td>
     
    177175                                            </svg></button>
    178176                                    </td>
     177                                    @if(auth()->user()->hasPermission('manage_all_files'))
    179178                                    <td>
    180179                                        <a href="javascript:void(0)" class="text-secondary" data-toggle="modal" data-target="#editModal_{{$file->id}}" title="Edit">
     
    188187                                        </a>
    189188                                    </td>
     189                                    @else
     190                                        <td></td>
     191                                        @endif
    190192                                </tr>
    191193                                <div class="modal fade" id="deleteModal_{{$file->id}}" tabindex="-1" role="dialog" aria-hidden="true">
  • resources/views/dashboard/settings/index.blade.php

    re0d3f94 r0df7a93  
    2424                        <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>
    2525                        <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>
     26                        @if(auth()->user()->hasPermission('validation_data'))
    2627                        <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>
     28                        @endif
    2729                    </div>
    2830                </div>
     
    233235                        </div>
    234236                        <div class="tab-pane {{$active_tab == 'file-types' ? 'active' : ""}}" id="file-types" role="tabpanel" aria-labelledby="file-types-tab">
    235 
     237                            @if(auth()->user()->hasPermission('validation_data'))
    236238                            <div class="card">
    237239                                    <div class="card-body">
     
    259261                                    </div>
    260262                                </div>
    261 
     263@endif
    262264                        </div>
    263265                    </div>
  • resources/views/dashboard/users/index.blade.php

    re0d3f94 r0df7a93  
    2121        </nav>
    2222        <div class="dropdown">
     23            @if(auth()->user()->hasPermission('manage_all_users'))
    2324            <a href="javascript:void(0)" data-toggle="modal" data-target="#createModal" class="btn btn-primary text-white">
    2425                <i class="fa fa-plus pr-1"></i> New
    2526            </a>
     27            @endif
     28            @if(auth()->user()->hasPermission('export_data'))
    2629            <a href="{{ route('dashboard.users.export') }}" class="btn btn-success text-white">
    2730                <i class="fa fa-table pr-1"></i> Export
    2831            </a>
     32                @endif
    2933        </div>
    3034    </div>
     
    9397                                        @endif
    9498                                    </td>
     99                                    @if(auth()->user()->hasPermission('manage_all_users'))
    95100                                    @if($user->hasRole("Referent") && $user->is_confirmed)
    96101                                        <td>
     
    98103                                                <i class="ti-pencil"></i>
    99104                                            </a>
    100                                             <a href="javascript:void(0)" class="text-danger ml-2" data-action="{{ route("dashboard.users.destroy", ["id" => $user->id]) }}" data-method="delete" title="Delete">
     105                                            <a href="javascript:void(0)" class="text-danger ml-2" data-toggle="modal" data-target="#deleteModal_{{$user->id}}" title="Delete">
    101106                                                <i class="ti-trash"></i>
    102107                                            </a>
     
    105110                                        <td>/</td>
    106111                                        @endif
     112                                    @else
     113                                    <td></td>
     114                                    @endif
    107115                                </tr>
    108116
     
    199207                                </div>
    200208
     209                                <div class="modal fade" id="deleteModal_{{$user->id}}" tabindex="-1" role="dialog" aria-hidden="true">
     210                                    <div class="modal-dialog modal-dialog-centered" role="document">
     211                                        <div class="modal-content">
     212                                            <div class="modal-header">
     213                                                <h5 class="modal-title" id="exampleModalCenterTitle">Delete confirmation</h5>
     214                                                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
     215                                                    <i class="ti-close"></i>
     216                                                </button>
     217                                            </div>
     218                                            <div class="modal-body">
     219                                                <form action="{{ route("dashboard.users.destroy", $user->id) }}" method="POST">
     220                                                    @csrf
     221                                                    @method('DELETE')
     222                                                    <p>Are you sure you want to delete user {{$user->username}} ?</p>
     223                                                    <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>
     224                                                    <div class="modal-footer">
     225                                                        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close
     226                                                        </button>
     227                                                        <button type="submit" class="btn btn-primary">Save changes</button>
     228                                                    </div>
     229                                                </form>
     230                                            </div>
     231
     232                                        </div>
     233                                    </div>
     234                                </div>
    201235                            @endforeach
    202236                            </tbody>
  • resources/views/layouts/app.blade.php

    re0d3f94 r0df7a93  
    168168                        </li>
    169169                    @endif
    170                     @if(auth()->user()->hasPermission("manage_all_departments"))
     170                    @if(auth()->user()->hasPermission("view_all_departments"))
    171171                        <li>
    172172                            <a href="{{route("dashboard.departments.index")}}" data-toggle="tooltip"
     
    176176                        </li>
    177177                    @endif
    178                     @if(auth()->user()->hasPermission("manage_all_folders"))
     178                    @if(auth()->user()->hasPermission("view_all_folders"))
    179179                        <li>
    180180                            <a href="{{route("dashboard.folders.index")}}" data-toggle="tooltip"
     
    184184                        </li>
    185185                    @endif
    186                     @if(auth()->user()->hasPermission("manage_all_files"))
     186                    @if(auth()->user()->hasPermission("view_all_files"))
    187187                        <li>
    188188                            <a href="{{route("dashboard.files.index")}}" data-toggle="tooltip"
  • routes/web.php

    re0d3f94 r0df7a93  
    5555    // Settings
    5656    Route::get("/settings", "Dashboard\SettingsController@settings")->name("dashboard.settings.index");
    57     Route::patch("/settings/personal", "Dashboard\SettingsController@updatePersonalInformation")->name("dashboard.settings.personal");
    5857    Route::patch("/settings/username", "Dashboard\SettingsController@updateUsername")->name("dashboard.settings.username");
    5958    Route::patch("/settings/password", "Dashboard\SettingsController@updatePassword")->name("dashboard.settings.password");
    6059    Route::patch("/settings/email", "Dashboard\SettingsController@updateEmail")->name("dashboard.settings.email");
    61     Route::patch("/settings/file-types", "Dashboard\SettingsController@fileTypes")->name("dashboard.settings.file-types");
     60    Route::patch("/users/{id}/editUserData", "Dashboard\UsersController@editUserData")->name("dashboard.users.editUserData");
    6261
    63 
    64     // Users
    65     Route::group(['middleware' => 'permission:manage_all_users'], function () {
    66         Route::get("/users", "Dashboard\UsersController@index")->name("dashboard.users.index");
    67         Route::patch("/users/{id}/block", "Dashboard\UsersController@block")->name("dashboard.users.block");
    68         Route::patch("/users/{id}/unblock", "Dashboard\UsersController@unblock")->name("dashboard.users.unblock");
    69         Route::delete("/users/{id}/destroy", "Dashboard\UsersController@destroy")->name("dashboard.users.destroy");
     62    //Settings File Validations
     63    Route::group(['middleware' => 'permission:manage_file_types'], function () {
     64        Route::patch("/settings/file-types", "Dashboard\SettingsController@fileTypes")->name("dashboard.settings.file-types");
    7065    });
    7166
    72         Route::group(['middleware' => 'permission:create_user'], function () {
     67    // Users view
     68    Route::group(['middleware' => 'permission:view_all_users'], function () {
     69        Route::get("/users", "Dashboard\UsersController@index")->name("dashboard.users.index");
     70    });
     71
     72    Route::group(['middleware' => 'permission:manage_all_users'], function () {
    7373        Route::get("/users/create", "Dashboard\UsersController@create")->name("dashboard.users.create");
    7474        Route::post("/users/store", "Dashboard\UsersController@store")->name("dashboard.users.store");
    7575        Route::get("/users/{id}/edit", "Dashboard\UsersController@editShow")->name("dashboard.users.editShow");
    7676        Route::patch("/users/{id}/edit", "Dashboard\UsersController@edit")->name("dashboard.users.edit");
    77         Route::patch("/users/{id}/editUserData", "Dashboard\UsersController@editUserData")->name("dashboard.users.editUserData");
     77        Route::patch("/users/{id}/block", "Dashboard\UsersController@block")->name("dashboard.users.block");
     78        Route::patch("/users/{id}/unblock", "Dashboard\UsersController@unblock")->name("dashboard.users.unblock");
     79        Route::delete("/users/{id}/destroy", "Dashboard\UsersController@destroy")->name("dashboard.users.destroy");
    7880        Route::get('users/export', 'Dashboard\ExportExcelController@ExportUsers')->name("dashboard.users.export");
    79         });
     81    });
    8082
    81     // Departments
     83    // Departments view
     84    Route::group(['middleware' => 'permission:view_all_departments'], function () {
     85        Route::get("/departments", "Dashboard\DepartmentsController@index")->name("dashboard.departments.index");
     86    });
     87
     88    // Departments manage
    8289    Route::group(['middleware' => 'permission:manage_all_departments'], function () {
    83         Route::get("/departments", "Dashboard\DepartmentsController@index")->name("dashboard.departments.index");
    8490        Route::get("/departments/create", "Dashboard\DepartmentsController@create")->name("dashboard.departments.create");
    8591        Route::post("/departments/store", "Dashboard\DepartmentsController@store")->name("dashboard.departments.store");
     
    8793        Route::patch("/departments/{id}/edit", "Dashboard\DepartmentsController@edit")->name("dashboard.departments.edit");
    8894        Route::delete("/departments/{id}/destroy", "Dashboard\DepartmentsController@destroy")->name("dashboard.departments.destroy");
    89         Route::get('/departments/download-all','Dashboard\DepartmentsController@downloadAll')->name('dashboard.departments.downloadAll');
    90         Route::get('/departments/{id}/download-department','Dashboard\DepartmentsController@downloadDepartment')->name('dashboard.departments.downloadDepartment');
     95     });
     96
     97    // Folders view
     98    Route::group(['middleware' => 'permission:view_all_folders'], function () {
     99        Route::get("/folders", "Dashboard\FoldersController@index")->name("dashboard.folders.index");
     100        Route::get('/folders/{id}/files', 'Dashboard\FoldersController@files')->name('dashboard.folders.files');
     101    });
     102
     103    // Folders manage
     104    Route::group(['middleware' => 'permission:manage_all_folders'], function () {
     105        Route::get("/folders/create", "Dashboard\FoldersController@create")->name("dashboard.folders.create");
     106        Route::post("/folders/store", "Dashboard\FoldersController@store")->name("dashboard.folders.store");
     107        Route::get("/folders/{id}/edit", "Dashboard\FoldersController@editShow")->name("dashboard.folders.editShow");
     108        Route::patch("/folders/{id}/edit", "Dashboard\FoldersController@edit")->name("dashboard.folders.edit");
     109        Route::patch("/folders/{id}/block", "Dashboard\FoldersController@block")->name("dashboard.folders.block");
     110        Route::patch("/folders/{id}/unblock", "Dashboard\FoldersController@unblock")->name("dashboard.folders.unblock");
     111        Route::patch("/folders/{id}/confirm", "Dashboard\FoldersController@confirm")->name("dashboard.folders.confirm");
     112        Route::delete("/folders/{id}/destroy", "Dashboard\FoldersController@destroy")->name("dashboard.folders.destroy");
     113        Route::patch('/folders/toggle-important/{id}', "Dashboard\FoldersController@toggleImportant")->name("dashboard.folders.toggleImportant");
     114    });
     115
     116    // Files view
     117    Route::group(['middleware' => 'permission:view_all_files'], function () {
     118    Route::get("files", "Dashboard\FilesController@index")->name("dashboard.files.index");
     119    });
     120
     121    //Files manage
     122Route::group(['middleware' => 'permission:manage_all_files'], function () {
     123    Route::patch("files/{id}/rename-file", "Dashboard\FilesController@renameFile")->name("dashboard.files.renameFile");
     124    Route::post("/files/store", "Dashboard\FilesController@store")->name("dashboard.files.store");
     125    Route::delete("files/{id}/delete-file", "Dashboard\FilesController@deleteFile")->name("dashboard.files.deleteFile");
     126    });
     127
     128    //Export data
     129    Route::group(['middleware' => 'permission:export_data'], function () {
     130        Route::get('files/export', 'Dashboard\ExportExcelController@ExportFiles')->name("dashboard.files.export");
     131        Route::get('folders/export', 'Dashboard\ExportExcelController@ExportFolders')->name("dashboard.folders.export");
    91132        Route::get('departments/export', 'Dashboard\ExportExcelController@ExportDepartments')->name("dashboard.departments.export");
    92133    });
    93134
    94     // Folders
    95     Route::get("/folders", "Dashboard\FoldersController@index")->name("dashboard.folders.index");
    96     Route::get("/folders/create", "Dashboard\FoldersController@create")->name("dashboard.folders.create");
    97     Route::post("/folders/store", "Dashboard\FoldersController@store")->name("dashboard.folders.store");
    98     Route::get("/folders/{id}/edit", "Dashboard\FoldersController@editShow")->name("dashboard.folders.editShow");
    99     Route::patch("/folders/{id}/edit", "Dashboard\FoldersController@edit")->name("dashboard.folders.edit");
    100     Route::patch("/folders/{id}/block", "Dashboard\FoldersController@block")->name("dashboard.folders.block");
    101     Route::patch("/folders/{id}/unblock", "Dashboard\FoldersController@unblock")->name("dashboard.folders.unblock");
    102     Route::patch("/folders/{id}/confirm", "Dashboard\FoldersController@confirm")->name("dashboard.folders.confirm");
    103     Route::delete("/folders/{id}/destroy", "Dashboard\FoldersController@destroy")->name("dashboard.folders.destroy");
    104     Route::patch('/folders/toggle-important/{id}', "Dashboard\FoldersController@toggleImportant")->name("dashboard.folders.toggleImportant");
    105     Route::get('/folders/{id}/download-folder','Dashboard\FoldersController@downloadFolder')->name('dashboard.folders.downloadFolder');
    106     Route::get('/folders/{id}/files','Dashboard\FoldersController@files')->name('dashboard.folders.files');
    107     Route::get('folders/export', 'Dashboard\ExportExcelController@ExportFolders')->name("dashboard.folders.export");
    108 
    109     // Files
    110     Route::get("files", "Dashboard\FilesController@index")->name("dashboard.files.index");
    111     Route::get("files/{id}/download-file", "Dashboard\FilesController@downloadFile")->name("dashboard.files.downloadFile");
    112     Route::patch("files/{id}/rename-file", "Dashboard\FilesController@renameFile")->name("dashboard.files.renameFile");
    113     Route::post("/files/store", "Dashboard\FilesController@store")->name("dashboard.files.store");
    114     Route::delete("files/{id}/delete-file", "Dashboard\FilesController@deleteFile")->name("dashboard.files.deleteFile");
    115     Route::get('files/export', 'Dashboard\ExportExcelController@ExportFiles')->name("dashboard.files.export");
    116 
     135    //Download data
     136    Route::group(['middleware' => 'permission:download_data'], function () {
     137        Route::get('/departments/download-all', 'Dashboard\DepartmentsController@downloadAll')->name('dashboard.departments.downloadAll');
     138        Route::get("files/{id}/download-file", "Dashboard\FilesController@downloadFile")->name("dashboard.files.downloadFile");
     139        Route::get('/folders/{id}/download-folder', 'Dashboard\FoldersController@downloadFolder')->name('dashboard.folders.downloadFolder');
     140        Route::get('/departments/{id}/download-department', 'Dashboard\DepartmentsController@downloadDepartment')->name('dashboard.departments.downloadDepartment');
     141    });
    117142});
Note: See TracChangeset for help on using the changeset viewer.