Changeset 4b7e2d3


Ignore:
Timestamp:
10/23/21 04:03:46 (3 years ago)
Author:
beratkjufliju <kufliju@…>
Branches:
develop, master
Children:
b39afb5
Parents:
c6b84df
Message:

bug fixes, edited export, added fileSeeder for DB testing

Files:
4 added
39 edited
1 moved

Legend:

Unmodified
Added
Removed
  • app/Exports/FilesExport.php

    rc6b84df r4b7e2d3  
    55use App\Models\File;
    66use App\Models\Folder;
    7 use App\Models\User;
    87use Maatwebsite\Excel\Concerns\FromCollection;
    98use Maatwebsite\Excel\Concerns\WithHeadings;
     
    2625            $row->location,
    2726            $row->getSize($row->location) . ' MB',
    28             $row->Folder::find($row->folder_id)->name . ' - ' . Folder::find($row->folder_id)->arch_id,
     27            $row->folder_id . ' - ' . Folder::find($row->folder_id)->name . ' - ' . Folder::find($row->folder_id)->arch_id,
    2928            $row->created_at,
    3029            $row->updated_at
     
    4039            'Location',
    4140            'Size',
    42             'Folder - Archive ID',
     41            'ID - Folder - Archive ID',
    4342            'Created at',
    4443            'Updated at'
  • app/Exports/FoldersExport.php

    rc6b84df r4b7e2d3  
    55use App\Models\Department;
    66use App\Models\Folder;
     7use App\Models\User;
    78use Maatwebsite\Excel\Concerns\FromCollection;
    89use Maatwebsite\Excel\Concerns\WithHeadings;
     
    2627            $row->note,
    2728            $row->location,
    28             $row->User::find($row->user_id)->username,
     29            $row->user_id . ' - ' . User::find($row->user_id)->username,
    2930            $row->Department::find($row->department_id)->name . ' - ' . Department::find($row->department_id)->code,
    3031            $row->is_important,
     
    4344            'Note',
    4445            'Location',
    45             'Created by',
     46            'Created by ID - Username',
    4647            'Department name - code',
    4748            'Is important',
  • app/Exports/UsersExport.php

    rc6b84df r4b7e2d3  
    2828            $row->phone_number,
    2929            $row->is_confirmed,
    30             $row->Role::find($row->role_id)->name,
     30            $row->role_id . ' - ' . Role::find($row->role_id)->name,
    3131            $row->where('id', $row->created_by)->pluck('username')->first(),
    3232            $row->created_at,
     
    4646            'Phone number',
    4747            'Is confirmed',
    48             'Role',
     48            'Role ID - Username',
    4949            'Created by',
    5050            'Created at',
  • app/Http/Controllers/Dashboard/DepartmentsController.php

    rc6b84df r4b7e2d3  
    147147        if(!$flag) {
    148148            $zip->close();
    149             $headers = array('Content-Type' => 'application/octet-stream',);
     149            $headers = array('Content-Type' => 'application/octet-stream');
    150150            $zip_new_name = Carbon::now()->format('d.m.Y - H:i') . '- Departments.zip';
    151151            return response()->download($zip_file, $zip_new_name, $headers);
     
    153153        else {
    154154            Alert::flash("All departments are empty", "warning");
    155             return redirect()->route("dashboard.departments.index");
     155            return redirect()->back();
    156156        }
    157157    }
     
    186186        else{
    187187            Alert::flash("This department has no files", "warning");
    188             return redirect()->route("dashboard.departments.index");
     188            return redirect()->back();
    189189        }
    190190
  • app/Http/Controllers/Dashboard/ExportExcelController.php

    rc6b84df r4b7e2d3  
    33namespace App\Http\Controllers\Dashboard;
    44
     5use App\Exports\DepartmentsExport;
    56use App\Exports\FilesExport;
    67use App\Exports\FoldersExport;
     
    3233
    3334    }
     35
     36    public function ExportDepartments()
     37    {
     38        return Excel::download(new DepartmentsExport(), Carbon::now()->format('d.m.Y - H:i') . ' - departments.xlsx');
     39
     40    }
     41
    3442}
  • app/Http/Controllers/Dashboard/FilesController.php

    rc6b84df r4b7e2d3  
    2626            "textExt" => array("txt", "doc", "docx"),
    2727            "imageExt" => array("png", "jpg", "jpeg"),
    28             "fileTypes" => '.' . implode(',.', explode(',', explode(':', FileType::find('1')->mimes)[1]))
     28            "fileTypes" => '.' . implode(',.', explode(',', FileType::find('1')->mimes))
    2929        ]);
    3030    }
     
    3535        $file->delete();
    3636        Storage::disk('uploads')->delete($file->location);
     37        $file->folder()->decrement('no_of_files');
    3738
    3839        Alert::flash($file->name . " deleted successfully");
     
    5960                $newFile->location = $location . DIRECTORY_SEPARATOR . $fileName;
    6061                $newFile->folder()->associate($folder);
     62                $newFile->folder()->increment('no_of_files');
    6163                $newFile->save();
    6264            }
     
    6567            Alert::flash("New files added successfully");
    6668
    67             return redirect()->route("dashboard.files.index");
     69            return redirect()->back();
    6870        }
    6971        else {
    7072            Alert::flash("No files were uploaded", "error");
    7173
    72             return redirect()->route("dashboard.files.index");
     74            return redirect()->back();
    7375        }
    7476    }
  • app/Http/Controllers/Dashboard/FoldersController.php

    rc6b84df r4b7e2d3  
    3939                $folders = $foldersInDeptSort->orderBy('name', 'asc')->paginate(12);
    4040            }
     41            else if ($request->query('sort') == 'no_of_files') {
     42                $folders = $foldersInDeptSort->orderBy('no_of_files', 'desc')->paginate(12);
     43            }
    4144            else if($request->query('sort') == 'count'){
    4245                $total = $foldersInDeptSort->folder->files->count();
     
    5255            else if ($request->query('sort') == 'name') {
    5356                $folders = Folder::orderBy('name', 'asc')->paginate(12);
     57            }
     58            else if ($request->query('sort') == 'no_of_files') {
     59                $folders = Folder::orderBy('no_of_files', 'desc')->paginate(12);
    5460            }
    5561            else if ($request->query('sort') == 'important') {
     
    97103            "deptName" => $deptName,
    98104            "deptCode" => $deptCode,
    99             "fileTypes" => '.' . implode(',.', explode(',', explode(':', FileType::find('1')->mimes)[1]))
     105            "fileTypes" => '.' . implode(',.', explode(',', FileType::find('1')->mimes))
    100106        ]);
    101107
     
    117123        $folder->user()->associate($user);
    118124        $folder->department()->associate($department);
     125        $folder->department()->increment('no_of_folders');
    119126
    120127        $folder->arch_id = $request->arch_id;
     
    149156                $newFile->location = $location . DIRECTORY_SEPARATOR . $fileName;
    150157                $newFile->folder()->associate($folder);
     158                $newFile->folder()->increment('no_of_files');
    151159                $newFile->save();
    152160            }
     
    155163        Alert::flash("New folder created successfully");
    156164
    157         return redirect()->route("dashboard.folders.index");
     165        return redirect()->back();
    158166    }
    159167
     
    177185        $department = Department::find($request->department);
    178186
    179         $folder->department()->associate($department);
    180 
    181         $oldLocation = $folder->department->location . DIRECTORY_SEPARATOR . $folder->name;
     187        $folder->department()->increment('no_of_folders');
     188
     189        $oldLocation = $folder->location;
    182190
    183191        $folder->name = $request->name;
     
    186194        $folder->updated_at = Carbon::now();
    187195
    188         $location = $folder->department->location . DIRECTORY_SEPARATOR . $request->name;
    189 
    190         if ($folder->isDirty('name')) {
    191             if (!Storage::disk('uploads')->has($location)) {
    192                 Storage::disk('uploads')->move($oldLocation, $location);
    193                 foreach($files as $file){
    194                     $file->location = $location . DIRECTORY_SEPARATOR . $file->name;
     196       $newLocation = Department::find($request->department)->location . DIRECTORY_SEPARATOR . $request->name;
     197
     198        if($folder->department_id != $request->department){
     199            $folder->department()->decrement('no_of_folders');
     200            if (!Storage::disk('uploads')->has($newLocation)) {
     201                Storage::disk('uploads')->move($oldLocation, $newLocation);
     202                foreach($files as $file) {
     203                    $file->location = $newLocation . DIRECTORY_SEPARATOR . $file->name;
    195204                    $file->save();
    196205                }
    197206            }
    198207        }
     208         if($folder->isDirty('name')) {
     209            if (!Storage::disk('uploads')->has($newLocation)) {
     210                Storage::disk('uploads')->move($oldLocation, $newLocation);
     211                foreach($files as $file) {
     212                    $file->location = $newLocation . DIRECTORY_SEPARATOR . $file->name;
     213                    $file->save();
     214                }
     215            }
     216        }
     217
     218        $folder->department()->associate($department);
     219
     220        $folder->location = $newLocation;
    199221
    200222        if ($request->has('file_item')) {
    201223            foreach ($request->file_item as $file) {
    202224                $fileName = $folder->name . '-' . uniqid() . '.' . $file->getClientOriginalExtension();
    203                     $file->storeAs($location . DIRECTORY_SEPARATOR, $fileName);
     225                    $file->storeAs($newLocation . DIRECTORY_SEPARATOR, $fileName);
    204226                    $newFile = new File();
    205227                    $newFile->name = $fileName;
    206                     $newFile->location = $location . DIRECTORY_SEPARATOR . $fileName;
     228                    $newFile->location = $newLocation . DIRECTORY_SEPARATOR . $fileName;
    207229                    $newFile->folder()->associate($folder);
     230                    $newFile->folder()->increment('no_of_files');
    208231                    $newFile->save();
    209232            }
    210233        }
    211234
    212         $folder->location = $location;
    213 
    214235        $folder->save();
    215 
    216236
    217237        Alert::flash("Folder edited successfully");
     
    246266            $location = $folder->department->location . DIRECTORY_SEPARATOR . $folder->name;
    247267            Storage::disk('uploads')->deleteDirectory($location);
     268            $folder->department()->decrement('no_of_folders');
    248269            Alert::flash($folder->name . " deleted successfully");
     270            return redirect()->back();
    249271        }
    250272        Alert::flash($folder->name . " is important", "error");
    251         return redirect()->route("dashboard.folders.index");
     273        return redirect()->back();
    252274    }
    253275
     
    306328        }
    307329        else {
    308             $files = File::where('folder_id', $id)->paginate(10);
     330            $files = File::where('folder_id', $id)->paginate(12);
    309331        }
    310332
     
    317339            "imageExt" => array("png", "jpg", "jpeg"),
    318340            "folders" => $folders,
    319             "fileTypes" => '.' . implode(',.', explode(',', explode(':', FileType::find('1')->mimes)[1]))
     341            "fileTypes" => '.' . implode(',.', explode(',', FileType::find('1')->mimes))
    320342        ]);
    321343    }
  • app/Http/Controllers/Dashboard/IndexController.php

    rc6b84df r4b7e2d3  
    99use App\Models\User;
    1010use App\Http\Controllers\Controller;
     11use Carbon\Carbon;
     12use Illuminate\Support\Facades\DB;
    1113
    1214class IndexController extends Controller
     
    1820        );
    1921
     22        $date = Carbon::today()->subDays(5);
     23        $recentFiles = File::where('created_at', '>=', $date)->get();
     24
     25        $year = ['2021','2022','2023','2024', '2025'];
     26
     27        $file = [];
     28        foreach ($year as $key => $value) {
     29            $file[] = File::where(DB::raw("DATE_FORMAT(created_at, '%Y')"),$value)->count();
     30        }
     31
    2032        return view("dashboard.index")->with([
    2133            "counters" => $counters,
     34            "largestDepartments" => Department::orderBy('no_of_folders', 'desc')->limit(10)->get(),
     35            "folders" => Folder::all(),
     36            "files" => File::all(),
     37            "recentFiles" => $recentFiles,
     38            "year" => json_encode($year,JSON_NUMERIC_CHECK),
     39            "file" => json_encode($file,JSON_NUMERIC_CHECK),
    2240            "departments" => Department::all(),
    23             "folders" => Folder::all(),
    24             "files" => File::all()
    25         ]);
     41            "excelExt" => array("xls", "xlsx", "xls", "csv"),
     42            "textExt" => array("txt", "doc", "docx"),
     43            "imageExt" => array("png", "jpg", "jpeg"),
     44
     45         ]);
    2646    }
    2747}
  • app/Http/Controllers/Dashboard/SettingsController.php

    rc6b84df r4b7e2d3  
    7777    }
    7878
    79 
    80 
    8179    public function fileTypes(FileTypeRequest $request)
    8280    {
  • app/Models/Department.php

    rc6b84df r4b7e2d3  
    1414    protected $table = "departments";
    1515
    16     protected $fillable = ["name", "code", "location", "user_id"];
     16    protected $fillable = ["name", "code", "location", "user_id", "no_of_folders"];
    1717
    1818    protected $casts = [
  • app/Models/File.php

    rc6b84df r4b7e2d3  
    33namespace App\Models;
    44
     5use Illuminate\Database\Eloquent\Factories\HasFactory;
    56use Illuminate\Database\Eloquent\Model;
    67use Illuminate\Support\Facades\Storage;
     
    89class File extends Model
    910{
     11    use HasFactory;
     12
    1013    protected $table = "files";
    1114    protected $fillable = ["name", "location", "document_id"];
  • database/factories/DepartmentFactory.php

    rc6b84df r4b7e2d3  
    44
    55use App\Models\Department;
     6use App\Models\Folder;
    67use Carbon\Carbon;
    78use Illuminate\Database\Eloquent\Factories\Factory;
    89use Illuminate\Support\Facades\Storage;
     10use function Sodium\increment;
    911
    1012class DepartmentFactory extends Factory
     
    2426    public function definition()
    2527    {
    26         $location = $this->faker->unique()->numberBetween(1, 15);
     28        $location = $this->faker->unique()->numberBetween(10, 25);
    2729        Storage::disk('uploads')->makeDirectory('Departments/' . $location);
    2830        return [
    29             'name' => "Department" . $this->faker->unique()->firstName(),
     31            'name' => "Department" . ' ' . $this->faker->unique()->firstName(),
    3032            'code' => $location,
    3133            'location' => 'Departments' . DIRECTORY_SEPARATOR . $location,
    32             'user_id' => $this->faker->numberBetween('1', '2'),
    33             'created_at' => Carbon::now()
     34            'no_of_folders' => 0,
     35            'user_id' => "1",
     36            'created_at' => $this->faker->dateTime()
    3437        ];
    3538    }
  • database/factories/FolderFactory.php

    rc6b84df r4b7e2d3  
    66use App\Models\Folder;
    77use Carbon\Carbon;
     8use Faker\Provider\DateTime;
    89use Illuminate\Database\Eloquent\Factories\Factory;
    910use Illuminate\Support\Facades\Storage;
     
    2728
    2829        $deptId = $this->faker->numberBetween('1', '15');
     30
    2931        $deptCode = Department::find($deptId)->code;
    3032        $name = $this->faker->unique()->firstName();
     
    3335        Storage::disk('uploads')->makeDirectory($location);
    3436
    35 
    3637        return [
    3738            'arch_id' => $deptCode . "/" . $this->faker->unique()->randomNumber(),
    3839            'name' => $name,
    39             'note' => $this->faker->realText(),
     40            'note' => "This a note field",
    4041            'location' => $location,
    4142            'user_id' => $this->faker->numberBetween('1', '2'),
  • database/factories/UserFactory.php

    rc6b84df r4b7e2d3  
    2626            'name' => $this->faker->firstName(),
    2727            'surname' => $this->faker->lastName(),
    28             'username' => $this->faker->userName(),
     28            'username' => $this->faker->unique()->userName(),
    2929            'password' => $this->faker->password(),
    30             'email' => $this->faker->email(),
     30            'email' => $this->faker->unique()->email(),
    3131            'phone_number' => $this->faker->phoneNumber(),
    3232            'role_id' => $this->faker->numberBetween(1, 2),
     
    3535            'is_forgot_password' => $this->faker->boolean,
    3636            'created_by' => "1",
    37             'created_at' => Carbon::now()
     37            'created_at' => now()
    3838        ];
    3939    }
  • database/migrations/2021_09_29_121244_create_departments_table.php

    rc6b84df r4b7e2d3  
    1616        Schema::create('departments', function (Blueprint $table) {
    1717            $table->increments('id');
    18             $table->integer("user_id")->unsigned();
    1918            $table->string("name");
    2019            $table->string("code");
     20            $table->integer("user_id")->unsigned();
    2121            $table->string("location");
     22            $table->integer("no_of_folders")->default(0);
    2223            $table->timestamps();
    2324
  • database/migrations/2021_10_06_103305_create_folders_table.php

    rc6b84df r4b7e2d3  
    2020            $table->text("note")->nullable();
    2121            $table->string("location");
     22            $table->integer("no_of_files")->default(0);
    2223            $table->integer("user_id")->unsigned();
    2324            $table->integer("department_id")->unsigned();
  • database/migrations/2021_10_21_144552_create_file_types_table.php

    rc6b84df r4b7e2d3  
    1616        Schema::create('file_types', function (Blueprint $table) {
    1717            $table->increments('id');
    18             $table->string("mimes")->default('mimes:');
     18            $table->string("mimes")->default('jpg,jpeg,png,pdf,docx,xls,xlsx,txt,ppt,pptx');
    1919            $table->integer("max_size");
    2020            $table->integer("user_id")->unsigned();
  • database/seeders/DatabaseSeeder.php

    rc6b84df r4b7e2d3  
    1919        $this->call(UsersTableSeeder::class);
    2020        $this->call(DepartmentsTableSeeder::class);
    21         $this->call(FileTypeSeeder::class);
     21        $this->call(FileTypesTableSeeder::class);
    2222        $this->call(FoldersTableSeeder::class);
     23        $this->call(FilesTableSeeder::class);
    2324    }
    2425}
  • database/seeders/DepartmentsTableSeeder.php

    rc6b84df r4b7e2d3  
    44
    55use App\Models\Department;
     6use App\Models\Folder;
     7use App\Models\User;
    68use Carbon\Carbon;
    79use Illuminate\Database\Seeder;
  • database/seeders/FileTypesTableSeeder.php

    rc6b84df r4b7e2d3  
    66use Illuminate\Database\Seeder;
    77
    8 class FileTypeSeeder extends Seeder
     8class FileTypesTableSeeder extends Seeder
    99{
    1010    /**
     
    1616    {
    1717        \DB::table("file_types")->insert([
    18             "mimes" => "mimes:jpg,jpeg,png,pdf,docx,xls,xlsx,txt,ppt,pptx",
     18            "mimes" => "jpg,jpeg,png,pdf,docx,xls,xlsx,txt,ppt,pptx",
    1919            "max_size" => "5000",
    2020            "user_id" => "1",
  • database/seeders/FoldersTableSeeder.php

    rc6b84df r4b7e2d3  
    33namespace Database\Seeders;
    44
     5use App\Models\Department;
    56use App\Models\Folder;
    67use Carbon\Carbon;
     
    1617    public function run()
    1718    {
    18         Folder::factory()->count(300)->create();
     19        Folder::factory()->count(500)->create();
     20        $folders = Folder::all();
     21
     22        foreach ($folders as $folder) {
     23            $folder->department()->increment('no_of_folders');
     24        }
    1925    }
    2026}
  • database/seeders/UsersTableSeeder.php

    rc6b84df r4b7e2d3  
    2727            "is_confirmed" => true,
    2828            "created_by" => "1",
    29             "created_at" => Carbon::now()
     29            "created_at" => now()
    3030        ]);
    3131
    32         User::factory()->count(20)->create();
     32        User::factory()->count(50)->create();
    3333
    3434    }
  • public/assets/js/app.js

    rc6b84df r4b7e2d3  
    898898/***/ (function(module, exports, __webpack_require__) {
    899899
    900 __webpack_require__(/*! C:\wamp64\www\themeforest\nago\resources\js\app.js */"./resources/js/app.js");
    901 module.exports = __webpack_require__(/*! C:\wamp64\www\themeforest\nago\public\assets\sass\app.scss */"./public/assets/sass/app.scss");
     900__webpack_require__("./resources/js/app.js");
     901module.exports = __webpack_require__("./public/assets/sass/app.scss");
    902902
    903903
     
    10151015    });
    10161016
     1017    function hasNew(response) {
     1018
     1019        for(var i=0; i<response.length; i++) {
     1020            if(!response[i].isRead) {
     1021                return true;
     1022            }
     1023        }
     1024
     1025        return false;
     1026    }
     1027
    10171028    function notifications() {
    10181029
     
    10671078        });
    10681079    }
     1080
     1081    $(".dropdown-notifications-unread .nav-unread").hide();
     1082    notifications();
     1083    setInterval(function() { notifications(); }, 5000);
     1084
     1085    $(".dropdown-notifications-wrapper").click(function() {
     1086        $(".dropdown-notifications-unread .nav-unread").hide();
     1087    });
    10691088
    10701089    $(document).on('click', '#btn-layout-builder', function () {
  • public/assets/js/examples/pages/user-list.js

    rc6b84df r4b7e2d3  
    1515                "orderable": false,
    1616                "targets": [0, 2]
    17             }
     17            },
    1818        ],
    19         'order': [1, 'asc']
     19        'order': [1, 'asc'],
     20        buttons: ['copy', 'csv', 'excel', 'pdf', 'print']
    2021    });
    2122
  • resources/assets/js/app.min.js

    rc6b84df r4b7e2d3  
    497497/***/ (function(module, exports, __webpack_require__) {
    498498
    499 __webpack_require__(/*! C:\wamp64\www\themeforest\nago\resources\js\app.js */"./resources/js/app.js");
    500 module.exports = __webpack_require__(/*! C:\wamp64\www\themeforest\nago\public\assets\sass\app.scss */"./public/assets/sass/app.scss");
     499__webpack_require__("./resources/js/app.js");
     500module.exports = __webpack_require__("./public/assets/sass/app.scss");
    501501
    502502
  • resources/assets/js/custom.js

    rc6b84df r4b7e2d3  
    108108    });
    109109
     110    function hasNew(response) {
     111
     112        for(var i=0; i<response.length; i++) {
     113            if(!response[i].isRead) {
     114                return true;
     115            }
     116        }
     117
     118        return false;
     119    }
     120
    110121    function notifications() {
    111122
     
    160171        });
    161172    }
     173
     174    $(".dropdown-notifications-unread .nav-unread").hide();
     175    notifications();
     176    setInterval(function() { notifications(); }, 5000);
     177
     178    $(".dropdown-notifications-wrapper").click(function() {
     179        $(".dropdown-notifications-unread .nav-unread").hide();
     180    });
    162181
    163182    $(document).on('click', '#btn-layout-builder', function () {
  • resources/views/auth/create_password.blade.php

    rc6b84df r4b7e2d3  
    11@extends('layouts.auth')
    22
    3 @section("title", "Create password | TechBlog")
     3@section("title", "SaveSpace - Create password")
    44
    55@section('content')
  • resources/views/auth/forgot.blade.php

    rc6b84df r4b7e2d3  
    11@extends('layouts.auth')
    22
    3 @section("title", "Forgot | TechBlog")
     3@section("title", "SaveSpace - Forgot")
    44
    55@section('content')
  • resources/views/auth/login.blade.php

    rc6b84df r4b7e2d3  
    11@extends('layouts.auth')
    22
    3 @section("title", "Login | SaveSpace")
     3@section("title", "SaveSpace | Login")
    44
    55@section('content')
  • resources/views/auth/verify.blade.php

    rc6b84df r4b7e2d3  
    11@extends('layouts.auth')
    22
    3 @section("title", "Verify | TechBlog")
     3@section("title", "SaveSpace - Verify")
    44
    55@section('content')
  • resources/views/dashboard/departments/index.blade.php

    rc6b84df r4b7e2d3  
    22
    33@section("title", "SaveSpace - Departments")
    4 
    5 @section('pageTitle', 'Departments')
    64
    75@section('head')
     
    2826                <i class="fa fa-download pr-1"></i> Download files
    2927            </a>
     28            <a href="{{ route('dashboard.departments.export') }}" class="btn btn-success text-white">Export table</a>
    3029        </div>
    3130    </div>
     
    5756                                    <td></td>
    5857                                    <td>{{$department->id }}</td>
    59                                     <td>{{ $department->name }}</td>
     58                                    <td><a href="{{ route("dashboard.folders.index", ['id' => $department->id]) }}" class="text-linkedin">{{ $department->name }}</a></td>
    6059                                    <td>{{ $department->code }}</td>
    61                                     <td>{{ $department->folder->count() }}</td>
     60                                    <td>{{ $department->no_of_folders }}</td>
    6261                                    <td>{{ $department->getCreatedByName() }}</td>
    6362                                    <td>{{ date('d.m.Y - H:i', strtotime($department->created_at)) }}</td>
  • resources/views/dashboard/files/index.blade.php

    rc6b84df r4b7e2d3  
    22
    33@section("title", "SaveSpace - Files")
    4 
    5 @section('pageTitle', 'Files')
    64
    75@section('head')
  • resources/views/dashboard/folders/files.blade.php

    rc6b84df r4b7e2d3  
    22
    33@section("title", "SaveSpace - Folder")
    4 
    5 @section('pageTitle', 'SaveSpace - Folder')
    6 
    74
    85@section('content')
     
    103100                                    </a>
    104101                                    <div class="dropdown-menu dropdown-menu-right">
    105                                         <a href="javascript:void(0)" class="dropdown-item" data-toggle="modal" data-target="#editModal_{{$file->id}}">
     102                                        <a href="javascript:void(0)" class="dropdown-item" data-toggle="modal" data-target="#editFileModal_{{$file->id}}">
    106103                                            Rename
    107104                                        </a>
     
    147144                    </div>
    148145
    149                     <div class="modal fade" id="editModal_{{$file->id}}" tabindex="-1" role="dialog" aria-hidden="true">
     146                    <div class="modal fade" id="editFileModal_{{$file->id}}" tabindex="-1" role="dialog" aria-hidden="true">
    150147                        <div class="modal-dialog modal-dialog-centered modal-lg" role="document">
    151148                            <div class="modal-content">
     
    176173                                    </form>
    177174                                </div>
     175                            </div>
     176                        </div>
     177                    </div>
     178                @empty
     179                    <div class="col-xl-3 col-lg-4 col-md-6 col-sm-12">No items found</div>
     180                @endforelse
     181
     182                    <div class="modal fade" id="editModal_{{$folder->id}}" tabindex="-1" role="dialog" aria-hidden="true">
     183                        <div class="modal-dialog modal-dialog-centered modal-lg" role="document">
     184                            <div class="modal-content">
     185                                <div class="modal-header">
     186                                    <h5 class="modal-title" id="exampleModalCenterTitle">Edit folder</h5>
     187                                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
     188                                        <i class="ti-close"></i>
     189                                    </button>
     190                                </div>
     191                                <div class="modal-body">
     192                                    <form action="{{ route("dashboard.folders.edit", ["id" => $folder->id]) }}" method="post" accept-charset="utf-8" enctype="multipart/form-data">
     193                                        @method("patch")
     194                                        @csrf
     195                                        <div class="row">
     196                                            <div class="col-md-6">
     197                                                <div class="form-group">
     198                                                    <label>Department</label>
     199                                                    <select class="form-control edit_folder_deparment" name="department" required>
     200                                                        @foreach ($departments as $department)
     201                                                            <option value="{{ $department->id }}" data-dept-code="{{ $department->code }}" {{ old("department", $folder->department->id) == $department->id ? "selected" : "" }}>{{ $department->name }}</option>
     202                                                        @endforeach
     203                                                    </select>
     204                                                </div>
     205                                            </div>
     206                                            <div class="col-md-6">
     207                                                <div class="form-group">
     208                                                    <label>Archive ID</label>
     209                                                    <input type="text" name="arch_id" value="{{ old("arch_id", $folder->arch_id) }}" class="form-control" placeholder="Archive ID" required>
     210                                                </div>
     211                                            </div>
     212                                        </div>
     213                                        <div class="row">
     214                                            <div class="col-md-6">
     215                                                <div class="form-group">
     216                                                    <label>Name</label>
     217                                                    <input type="text" name="name" value="{{ old("name", $folder->name) }}" class="form-control" placeholder="Name" minlength="2" maxlength="30" required>
     218                                                </div>
     219                                            </div>
     220                                            <div class="col-md-6">
     221                                                <div class="form-group">
     222                                                    <label>Note</label>
     223                                                    <textarea class="form-control" name="note" maxlength="80">
     224                                                        {{ old("note", $folder->note) }}
     225                                                    </textarea>
     226                                                </div>
     227                                            </div>
     228                                        </div>
     229                                        <div class="row">
     230                                            <div class="col-md-6">
     231                                                <input type="file" class="form-control" id="file-item" name="file_item[]" accept="{{ $fileTypes }}" multiple>
     232                                            </div>
     233                                        </div>
     234                                        <br/>
     235                                        <div class="modal-footer">
     236                                            <button type="button" class="btn btn-secondary" data-dismiss="modal">Close
     237                                            </button>
     238                                            <button type="submit" class="btn btn-primary">Save changes</button>
     239                                        </div>
     240                                    </form>
     241                                </div>
     242
    178243                            </div>
    179244                        </div>
     
    255320                        </div>
    256321                    </div>
    257                 @empty
    258                     <div class="col-xl-3 col-lg-4 col-md-6 col-sm-12">No items found</div>
    259                 @endforelse
    260322            </div>
    261323
     
    266328        </div>
    267329
    268         <div class="modal fade" id="editModal_{{$folder->id}}" tabindex="-1" role="dialog" aria-hidden="true">
    269             <div class="modal-dialog modal-dialog-centered modal-lg" role="document">
    270                 <div class="modal-content">
    271                     <div class="modal-header">
    272                         <h5 class="modal-title" id="exampleModalCenterTitle">Edit folder</h5>
    273                         <button type="button" class="close" data-dismiss="modal" aria-label="Close">
    274                             <i class="ti-close"></i>
    275                         </button>
    276                     </div>
    277                     <div class="modal-body">
    278                         <form action="{{ route("dashboard.folders.edit", ["id" => $folder->id]) }}" method="post" accept-charset="utf-8" enctype="multipart/form-data">
    279                             @method("patch")
    280                             @csrf
    281                             <div class="row">
    282                                 <div class="col-md-6">
    283                                     <div class="form-group">
    284                                         <label>Folder</label>
    285                                         <select class="form-control edit_folder_deparment" name="department" required>
    286                                             @foreach ($departments as $department)
    287                                                 <option value="{{ $department->id }}" data-dept-code="{{ $department->code }}" {{ old("department", $folder->department->id) == $department->id ? "selected" : "" }}>{{ $department->name }}</option>
    288                                             @endforeach
    289                                         </select>
    290                                     </div>
    291                                 </div>
    292                                 <div class="col-md-6">
    293                                     <div class="form-group">
    294                                         <label>Archive ID</label>
    295                                         <input type="text" name="arch_id" value="{{ old("arch_id", $folder->arch_id) }}" class="form-control" placeholder="Archive ID" required>
    296                                     </div>
    297                                 </div>
    298                             </div>
    299                             <div class="row">
    300                                 <div class="col-md-6">
    301                                     <div class="form-group">
    302                                         <label>Name</label>
    303                                         <input type="text" name="name" value="{{ old("name", $folder->name) }}" class="form-control" placeholder="Name" minlength="2" maxlength="30" required>
    304                                     </div>
    305                                 </div>
    306                                 <div class="col-md-6">
    307                                     <div class="form-group">
    308                                         <label>Note</label>
    309                                         <textarea class="form-control" name="note" maxlength="80">
    310                                                         {{ old("note", $folder->note) }}
    311                                                     </textarea>
    312                                     </div>
    313                                 </div>
    314                             </div>
    315                             <div class="row">
    316                                 <div class="col-md-6">
    317                                     <input type="file" class="form-control" id="file-item" name="file_item[]" accept="{{ $fileTypes }}" multiple>
    318                                 </div>
    319                             </div>
    320                             <br/>
    321                             <div class="modal-footer">
    322                                 <button type="button" class="btn btn-secondary" data-dismiss="modal">Close
    323                                 </button>
    324                                 <button type="submit" class="btn btn-primary">Save changes</button>
    325                             </div>
    326                         </form>
    327                     </div>
    328 
    329                 </div>
    330             </div>
    331         </div>
    332 
    333330    </div>
    334331
  • resources/views/dashboard/folders/index.blade.php

    rc6b84df r4b7e2d3  
    22
    33@section("title", "SaveSpace - Folders")
    4 
    5 @section('pageTitle', 'SaveSpace - Folders')
    64
    75@section('content')
     
    9391                                    <a class="dropdown-item" href="{{ URL::current()."?id=".Request::get('id')."&sort=newest" }}">Date</a>
    9492                                    <a class="dropdown-item" href="{{ URL::current()."?id=".Request::get('id')."&sort=name" }}">Name</a>
     93                                    <a class="dropdown-item" href="{{ URL::current()."?id=".Request::get('id')."&sort=no_of_files" }}">Number of files</a>
    9594                                @else
    9695                                    <a class="dropdown-item" href="{{ URL::current()."?sort=newest" }}">Date</a>
    9796                                    <a class="dropdown-item" href="{{ URL::current()."?sort=name" }}">Name</a>
     97                                    <a class="dropdown-item" href="{{ URL::current()."?sort=no_of_files" }}">Number of files</a>
    9898                                @endif
    9999                            </div>
     
    240240                    </div>
    241241
     242                    <div class="modal fade" id="deleteModal_{{$folder->id}}" tabindex="-1" role="dialog" aria-hidden="true">
     243                        <div class="modal-dialog modal-dialog-centered" role="document">
     244                            <div class="modal-content">
     245                                <div class="modal-header">
     246                                    <h5 class="modal-title" id="exampleModalCenterTitle">Delete confirmation</h5>
     247                                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
     248                                        <i class="ti-close"></i>
     249                                    </button>
     250                                </div>
     251                                <div class="modal-body">
     252                                    <form action="{{ route("dashboard.folders.destroy", $folder->id) }}" method="POST">
     253                                        @csrf
     254                                        @method('DELETE')
     255                                        <p>Are you sure you want to delete folder {{$folder->name}} with Archive ID: {{ $folder->arch_id }}?</p>
     256                                        <div class="modal-footer">
     257                                            <button type="button" class="btn btn-secondary" data-dismiss="modal">Close
     258                                            </button>
     259                                            <button type="submit" class="btn btn-primary">Save changes</button>
     260                                        </div>
     261                                    </form>
     262                                </div>
     263                            </div>
     264                        </div>
     265                    </div>
     266                @empty
     267                    <div class="col-xl-3 col-lg-4 col-md-6 col-sm-12">No items found</div>
     268                @endforelse
     269
    242270                    <div class="modal fade" id="createModal" tabindex="-1" role="dialog" aria-hidden="true">
    243271                        <div class="modal-dialog modal-dialog-centered modal-lg" role="document">
     
    316344                    </div>
    317345
    318                     <div class="modal fade" id="deleteModal_{{$folder->id}}" tabindex="-1" role="dialog" aria-hidden="true">
    319                         <div class="modal-dialog modal-dialog-centered" role="document">
    320                             <div class="modal-content">
    321                                 <div class="modal-header">
    322                                     <h5 class="modal-title" id="exampleModalCenterTitle">Delete confirmation</h5>
    323                                     <button type="button" class="close" data-dismiss="modal" aria-label="Close">
    324                                         <i class="ti-close"></i>
    325                                     </button>
    326                                 </div>
    327                                 <div class="modal-body">
    328                                     <form action="{{ route("dashboard.folders.destroy", $folder->id) }}" method="POST">
    329                                         @csrf
    330                                         @method('DELETE')
    331                                         <p>Are you sure you want to delete folder {{$folder->name}} with Archive ID: {{ $folder->arch_id }}?</p>
    332                                         <div class="modal-footer">
    333                                             <button type="button" class="btn btn-secondary" data-dismiss="modal">Close
    334                                             </button>
    335                                             <button type="submit" class="btn btn-primary">Save changes</button>
    336                                         </div>
    337                                     </form>
    338                                 </div>
    339                             </div>
    340                         </div>
    341                     </div>
    342                 @empty
    343                     <div class="col-xl-3 col-lg-4 col-md-6 col-sm-12">No items found</div>
    344                 @endforelse
    345 
    346346            </div>
    347347            @if(!Request::query('search'))
  • resources/views/dashboard/index.blade.php

    rc6b84df r4b7e2d3  
    11@extends('layouts.app')
    22
     3@section("title", "SaveSpace - Dashboard")
     4
    35@section('head')
    4     <!-- Slick -->
    5     <link rel="stylesheet" href="{{ url('/vendors/slick/slick.css') }}" type="text/css">
    6     <link rel="stylesheet" href="{{ url('/vendors/slick/slick-theme.css') }}" type="text/css">
    7 
    8     <!-- Daterangepicker -->
    9     <link rel="stylesheet" href="{{ url('vendors/datepicker/daterangepicker.css') }}" type="text/css">
    106
    117    <!-- DataTable -->
    128    <link rel="stylesheet" href="{{ url('vendors/dataTable/datatables.min.css') }}" type="text/css">
    139@endsection
    14 
    15 @section('pageTitle', 'Dashboard')
    1610
    1711@section('content')
     
    5852                            <div class="d-flex justify-content-between mb-3">
    5953                                <div>
    60                                     <p class="text-muted">Total Folders</p>
     54                                    <p class="text-muted">Number of folders</p>
    6155                                    <h2 class="font-weight-bold">{{ $folders->count() }}</h2>
    6256                                </div>
     
    10397    </div>
    10498
    105     <div class="row">
    106         <div class="col-lg-8 col-md-12">
    107             <div class="card">
    108                 <div class="card-body">
    109                     <div class="d-flex justify-content-between">
    110                         <h6 class="card-title">Revenue</h6>
    111                         <div>
    112                             <a href="#" class="btn btn-outline-light btn-sm mr-2">
    113                                 <i class="fa fa-refresh"></i>
    114                             </a>
    115                             <div class="dropdown">
    116                                 <a href="#" data-toggle="dropdown"
    117                                    class="btn btn-outline-light btn-sm"
    118                                    aria-haspopup="true" aria-expanded="false">
    119                                     <i class="fa fa-ellipsis-h" aria-hidden="true"></i>
    120                                 </a>
    121                                 <div class="dropdown-menu dropdown-menu-right">
    122                                     <a class="dropdown-item" href="#">Action</a>
    123                                     <a class="dropdown-item" href="#">Another action</a>
    124                                     <a class="dropdown-item" href="#">Something else here</a>
    125                                 </div>
    126                             </div>
    127                         </div>
    128                     </div>
    129                     <div class="row mb-3">
    130                         <div class="col-lg-4">
    131                             <p class="mb-2">This Week</p>
    132                             <div class="d-flex align-items-end">
    133                                 <h2 class="mb-0 line-height-30 font-size-35">$235</h2>
    134                                 <span class="text-success small ml-2 d-flex align-items-center">
    135                                     <span class="ti-arrow-up mr-2"></span>
    136                                     <span class="badge badge-success rounded d-inline-flex align-items-center">1.9%</span>
    137                                 </span>
    138                             </div>
    139                         </div>
    140                         <div class="col-lg-4">
    141                             <p class="mb-2">Last Week</p>
    142                             <div class="d-flex align-items-end">
    143                                 <h2 class="mb-0 line-height-30 font-size-35">$5,180</h2>
    144                                 <span class="text-danger small ml-2 d-flex align-items-center">
    145                                     <span class="ti-arrow-down mr-2"></span>
    146                                     <span class="badge badge-danger rounded d-inline-flex align-items-center">1.9%</span>
    147                                 </span>
    148                             </div>
    149                         </div>
    150                     </div>
    151                     <div id="revenue"></div>
    152                 </div>
    153             </div>
    154 
    155         </div>
    156         <div class="col-lg-4 col-md-12">
    157             <div class="card">
    158                 <div class="card-body">
    159                     <div class="d-flex justify-content-between">
    160                         <h6 class="card-title">Hot Products</h6>
    161                         <div>
    162                             <div class="dropdown">
    163                                 <a href="#" data-toggle="dropdown"
    164                                    class="btn btn-outline-light btn-sm"
    165                                    aria-haspopup="true" aria-expanded="false">
    166                                     <i class="fa fa-ellipsis-h" aria-hidden="true"></i>
    167                                 </a>
    168                                 <div class="dropdown-menu dropdown-menu-right">
    169                                     <a class="dropdown-item" href="#">Action</a>
    170                                     <a class="dropdown-item" href="#">Another action</a>
    171                                     <a class="dropdown-item" href="#">Something else here</a>
    172                                 </div>
    173                             </div>
    174                         </div>
    175                     </div>
    176                     <div id="hot-products"></div>
    177                     <div>
    178                         <ul class="list-group list-group-flush">
    179                             <li class="list-group-item pl-0 pr-0">
    180                                 <i class="fa fa-circle mr-1 text-secondary"></i> Iphone
    181                             </li>
    182                             <li class="list-group-item pl-0 pr-0">
    183                                 <i class="fa fa-circle mr-1 text-warning"></i> Samsung
    184                             </li>
    185                             <li class="list-group-item pl-0 pr-0">
    186                                 <i class="fa fa-circle mr-1 text-info"></i> Huawei
    187                             </li>
    188                             <li class="list-group-item pl-0 pr-0">
    189                                 <i class="fa fa-circle mr-1 text-success"></i> General Mobile
    190                             </li>
    191                             <li class="list-group-item pl-0 pr-0">
    192                                 <i class="fa fa-circle mr-1 text-danger"></i> Xiaomi
    193                             </li>
    194                         </ul>
    195                     </div>
    196                 </div>
    197             </div>
    198         </div>
    199     </div>
    20099
    201100    <div class="card">
    202101        <div class="card-body">
    203102            <div class="d-flex justify-content-between">
    204                 <h6 class="card-title">Recent Orders</h6>
     103                <h6 class="card-title">Recent Files</h6>
    205104                <div>
    206                     <a href="#" class="btn btn-outline-light btn-sm mr-2">
     105                    <a href="{{route("dashboard.index")}}" class="btn btn-outline-light btn-sm mr-2">
    207106                        <i class="fa fa-refresh"></i>
    208107                    </a>
    209                     <div class="dropdown">
    210                         <a href="#" data-toggle="dropdown"
    211                            class="btn btn-outline-light btn-sm"
    212                            aria-haspopup="true" aria-expanded="false">
    213                             <i class="fa fa-ellipsis-h" aria-hidden="true"></i>
    214                         </a>
    215                         <div class="dropdown-menu dropdown-menu-right">
    216                             <a class="dropdown-item" href="#">Action</a>
    217                             <a class="dropdown-item" href="#">Another action</a>
    218                             <a class="dropdown-item" href="#">Something else here</a>
    219                         </div>
    220                     </div>
    221108                </div>
    222109            </div>
     
    227114                            <thead>
    228115                            <tr>
    229                                 <th>ID</th>
    230                                 <th>Product Name</th>
    231                                 <th>Customer</th>
    232                                 <th>Total Price</th>
    233                                 <th>Status</th>
    234                                 <th>Date</th>
    235                                 <th>Action</th>
     116                                <th>
     117                                </th>
     118                                <th>Image</th>
     119                                <th>Name</th>
     120                                <th>Created at</th>
     121                                <th>Updated at</th>
     122                                <th>Folder name</th>
     123                                <th>Folder archive ID</th>
     124                                <th>Directory</th>
     125                                <th>Actions</th>
    236126                            </tr>
    237127                            </thead>
    238128                            <tbody>
    239                             <tr>
    240                                 <td>
    241                                     <a href="#">3145</a>
    242                                 </td>
    243                                 <td>
    244                                     <a href="testproduct-detail') }}" class="d-flex align-items-center">
    245                                         <img width="40" src="{{ url('assets/media/image/products/product1.png') }}"
    246                                              class="rounded mr-3" alt="grape">
    247                                         <span>HP Pavilion 15-EC0005NT AMD</span>
    248                                     </a>
    249                                 </td>
    250                                 <td>Dollie Bullock</td>
    251                                 <td>$230</td>
    252                                 <td>
    253                                     <span
    254                                         class="badge bg-secondary-bright text-secondary">On pre-order (not paid)</span>
    255                                 </td>
    256                                 <td>2018/08/28 21:24:36</td>
    257                                 <td>
    258                                     <a href="#" class="text-secondary" data-toggle="tooltip" title="Edit">
    259                                         <i class="ti-pencil"></i>
    260                                     </a>
    261                                     <a href="#" class="text-danger ml-2" data-toggle="tooltip" title="Delete">
    262                                         <i class="ti-trash"></i>
    263                                     </a>
    264                                 </td>
    265                             </tr>
    266                             <tr>
    267                                 <td>
    268                                     <a href="#">7321</a>
    269                                 </td>
    270                                 <td>
    271                                     <a href="testproduct-detail') }}" class="d-flex align-items-center">
    272                                         <img width="40" src="{{ url('assets/media/image/products/product2.png') }}"
    273                                              class="rounded mr-3" alt="banana">
    274                                         <span>Samsung Galaxy A51 128 GB</span>
    275                                     </a>
    276                                 </td>
    277                                 <td>Holmes Hines</td>
    278                                 <td>$300</td>
    279                                 <td>
    280                                     <span class="badge bg-success-bright text-success">Payment accepted</span>
    281                                 </td>
    282                                 <td>2018/08/28 21:24:36</td>
    283                                 <td>
    284                                     <a href="#" class="text-secondary" data-toggle="tooltip" title="Edit">
    285                                         <i class="ti-pencil"></i>
    286                                     </a>
    287                                     <a href="#" class="text-danger ml-2" data-toggle="tooltip" title="Delete">
    288                                         <i class="ti-trash"></i>
    289                                     </a>
    290                                 </td>
    291                             </tr>
    292                             <tr>
    293                                 <td>
    294                                     <a href="#">9342</a>
    295                                 </td>
    296                                 <td>
    297                                     <a href="testproduct-detail') }}" class="d-flex align-items-center">
    298                                         <img width="40" src="{{ url('assets/media/image/products/product3.png') }}"
    299                                              class="rounded mr-3" alt="cherry">
    300                                         <span>Snopy SN-BT96 Pretty</span>
    301                                     </a>
    302                                 </td>
    303                                 <td>Serena Glover</td>
    304                                 <td>$250</td>
    305                                 <td>
    306                                     <span class="badge bg-danger-bright text-danger">Payment error</span>
    307                                 </td>
    308                                 <td>2018/08/28 21:24:36</td>
    309                                 <td>
    310                                     <a href="#" class="text-secondary" data-toggle="tooltip" title="Edit">
    311                                         <i class="ti-pencil"></i>
    312                                     </a>
    313                                     <a href="#" class="text-danger ml-2" data-toggle="tooltip" title="Delete">
    314                                         <i class="ti-trash"></i>
    315                                     </a>
    316                                 </td>
    317                             </tr>
    318                             <tr>
    319                                 <td>
    320                                     <a href="#">6416</a>
    321                                 </td>
    322                                 <td>
    323                                     <a href="testproduct-detail') }}" class="d-flex align-items-center">
    324                                         <img width="40" src="{{ url('assets/media/image/products/product4.png') }}"
    325                                              class="rounded mr-3" alt="papaya">
    326                                         <span>Ultimate Ears Wonderboom</span>
    327                                     </a>
    328                                 </td>
    329                                 <td>Dianne Prince</td>
    330                                 <td>$550</td>
    331                                 <td>
    332                                     <span class="badge bg-success-bright text-success">Payment accepted</span>
    333                                 </td>
    334                                 <td>2018/08/28 21:24:36</td>
    335                                 <td>
    336                                     <a href="#" class="text-secondary" data-toggle="tooltip" title="Edit">
    337                                         <i class="ti-pencil"></i>
    338                                     </a>
    339                                     <a href="#" class="text-danger ml-2" data-toggle="tooltip" title="Delete">
    340                                         <i class="ti-trash"></i>
    341                                     </a>
    342                                 </td>
    343                             </tr>
    344                             <tr>
    345                                 <td>
    346                                     <a href="#">92327</a>
    347                                 </td>
    348                                 <td>
    349                                     <a href="testproduct-detail') }}" class="d-flex align-items-center">
    350                                         <img width="40" src="{{ url('assets/media/image/products/product5.png') }}"
    351                                              class="rounded mr-3" alt="pig">
    352                                         <span>Canon Pixma E3140 Printer</span>
    353                                     </a>
    354                                 </td>
    355                                 <td>Morgan Pitts</td>
    356                                 <td>$280</td>
    357                                 <td>
    358                                     <span class="badge bg-warning-bright text-warning">Preparing the order</span>
    359                                 </td>
    360                                 <td>2018/08/28 21:24:36</td>
    361                                 <td>
    362                                     <a href="#" class="text-secondary" data-toggle="tooltip" title="Edit">
    363                                         <i class="ti-pencil"></i>
    364                                     </a>
    365                                     <a href="#" class="text-danger ml-2" data-toggle="tooltip" title="Delete">
    366                                         <i class="ti-trash"></i>
    367                                     </a>
    368                                 </td>
    369                             </tr>
    370                             <tr>
    371                                 <td>
    372                                     <a href="#">3013</a>
    373                                 </td>
    374                                 <td>
    375                                     <a href="testproduct-detail') }}" class="d-flex align-items-center">
    376                                         <img width="40" src="{{ url('assets/media/image/products/product6.png') }}"
    377                                              class="rounded mr-3" alt="pineapple">
    378                                         <span>Canon 4000D 18-55 MM</span>
    379                                     </a>
    380                                 </td>
    381                                 <td>Merrill Richardson</td>
    382                                 <td>$128</td>
    383                                 <td>
    384                                     <span class="badge bg-info-bright text-info">Awaiting PayPal payment</span>
    385                                 </td>
    386                                 <td>2018/08/28 21:24:36</td>
    387                                 <td>
    388                                     <a href="#" class="text-secondary" data-toggle="tooltip" title="Edit">
    389                                         <i class="ti-pencil"></i>
    390                                     </a>
    391                                     <a href="#" class="text-danger ml-2" data-toggle="tooltip" title="Delete">
    392                                         <i class="ti-trash"></i>
    393                                     </a>
    394                                 </td>
    395                             </tr>
    396                             <tr>
    397                                 <td>
    398                                     <a href="#">10323</a>
    399                                 </td>
    400                                 <td>
    401                                     <a href="testproduct-detail') }}" class="d-flex align-items-center">
    402                                         <img width="40" src="{{ url('assets/media/image/products/product7.png') }}"
    403                                              class="rounded mr-3" alt="pomegranate">
    404                                         <span>Lenovo Tab E10 TB-X104F 32GB 10.1"</span>
    405                                     </a>
    406                                 </td>
    407                                 <td>Krista Mathis</td>
    408                                 <td>$500</td>
    409                                 <td>
    410                                     <span class="badge bg-secondary-bright text-secondary">Shipped</span>
    411                                 </td>
    412                                 <td>2018/08/28 21:24:36</td>
    413                                 <td>
    414                                     <a href="#" class="text-secondary" data-toggle="tooltip" title="Edit">
    415                                         <i class="ti-pencil"></i>
    416                                     </a>
    417                                     <a href="#" class="text-danger ml-2" data-toggle="tooltip" title="Delete">
    418                                         <i class="ti-trash"></i>
    419                                     </a>
    420                                 </td>
    421                             </tr>
    422                             <tr>
    423                                 <td>
    424                                     <a href="#">4218</a>
    425                                 </td>
    426                                 <td>
    427                                     <a href="testproduct-detail') }}" class="d-flex align-items-center">
    428                                         <img width="40" src="{{ url('assets/media/image/products/product8.png') }}"
    429                                              class="rounded mr-3" alt="raspberry">
    430                                         <span>Samsung 55Q60RAT 55"</span>
    431                                     </a>
    432                                 </td>
    433                                 <td>Frankie Hewitt</td>
    434                                 <td>$300</td>
    435                                 <td>
    436                                     <span class="badge bg-success-bright text-success">Remote payment accepted</span>
    437                                 </td>
    438                                 <td>2018/08/28 21:24:36</td>
    439                                 <td>
    440                                     <a href="#" class="text-secondary" data-toggle="tooltip" title="Edit">
    441                                         <i class="ti-pencil"></i>
    442                                     </a>
    443                                     <a href="#" class="text-danger ml-2" data-toggle="tooltip" title="Delete">
    444                                         <i class="ti-trash"></i>
    445                                     </a>
    446                                 </td>
    447                             </tr>
    448                             <tr>
    449                                 <td>
    450                                     <a href="#">3158</a>
    451                                 </td>
    452                                 <td>
    453                                     <a href="testproduct-detail') }}" class="d-flex align-items-center">
    454                                         <img width="40" src="{{ url('assets/media/image/products/product9.png') }}"
    455                                              class="rounded mr-3" alt="strawberry">
    456                                         <span>Toshiba Canvio Basic 1TB 2.5"</span>
    457                                     </a>
    458                                 </td>
    459                                 <td>Hayden Fitzgerald</td>
    460                                 <td>$200</td>
    461                                 <td>
    462                                     <span class="badge bg-success-bright text-success">Delivered</span>
    463                                 </td>
    464                                 <td>2018/08/28 21:24:36</td>
    465                                 <td>
    466                                     <a href="#" class="text-secondary" data-toggle="tooltip" title="Edit">
    467                                         <i class="ti-pencil"></i>
    468                                     </a>
    469                                     <a href="#" class="text-danger ml-2" data-toggle="tooltip" title="Delete">
    470                                         <i class="ti-trash"></i>
    471                                     </a>
    472                                 </td>
    473                             </tr>
    474                             <tr>
    475                                 <td>
    476                                     <a href="#">9610</a>
    477                                 </td>
    478                                 <td>
    479                                     <a href="testproduct-detail') }}" class="d-flex align-items-center">
    480                                         <img width="40" src="{{ url('assets/media/image/products/product10.png') }}"
    481                                              class="rounded mr-3" alt="watermelon">
    482                                         <span>Fms Wireless Controller</span>
    483                                     </a>
    484                                 </td>
    485                                 <td>Cole Holcomb</td>
    486                                 <td>$700</td>
    487                                 <td>
    488                                     <span
    489                                         class="badge bg-secondary-bright text-secondary">On pre-order (not paid)</span>
    490                                 </td>
    491                                 <td>2018/08/28 21:24:36</td>
    492                                 <td>
    493                                     <a href="#" class="text-secondary" data-toggle="tooltip" title="Edit">
    494                                         <i class="ti-pencil"></i>
    495                                     </a>
    496                                     <a href="#" class="text-danger ml-2" data-toggle="tooltip" title="Delete">
    497                                         <i class="ti-trash"></i>
    498                                     </a>
    499                                 </td>
    500                             </tr>
     129                            @foreach($recentFiles as $file)
     130                                <tr>
     131                                    <td></td>
     132                                    <td>
     133                                        @if(in_array(explode('.', $file->name)[1], $excelExt))
     134                                            <div class="col-xl-1 col-lg-1 col-md-1 col-sm-2">
     135                                                <i class="fa fa-file-excel-o text-success fa-2x"></i>
     136                                            </div>
     137                                        @else @if(in_array(explode('.', $file->name)[1], $textExt))
     138                                            <div class="col-xl-1 col-lg-1 col-md-1 col-sm-2">
     139                                                <i class="fa fa-file-word-o text-info fa-2x"></i>
     140                                            </div>
     141                                        @else @if(explode('.', $file->name)[1] == 'pdf')
     142                                                <div class="col-xl-1 col-lg-1 col-md-1 col-sm-2">
     143                                                    <i class="fa fa-file-pdf-o text-danger fa-2x"></i>
     144                                                </div>
     145                                            @else @if(in_array(explode('.', $file->name)[1], $imageExt))
     146                                                    <div class="col-xl-1 col-lg-1 col-md-1 col-sm-2">
     147                                                        <a href="{{ url('/uploads/' . $file->location) }}" class="image-popup-gallery-item">
     148                                                            <div class="image-hover">
     149                                                                <img src="{{ url('/uploads/' . $file->location) }}" class="rounded" width="30" alt="image">
     150                                                            </div>
     151                                                        </a>
     152                                                    </div>
     153                                                @else
     154                                                    <div class="col-xl-1 col-lg-1 col-md-1 col-sm-2">
     155                                                        <i class="fa fa-file-text-o text-warning fa-2x"></i>
     156                                                    </div>
     157                                                @endif
     158                                            @endif
     159                                        @endif
     160                                        @endif
     161
     162
     163                                    </td>
     164                                    <td>{{ $file->name }}</td>
     165                                    <td>{{ date('d.m.Y - H:i', strtotime($file->created_at)) }}</td>
     166                                    @if($file->updated_at==NULL)
     167                                        <td>/</td>
     168                                    @else
     169                                        <td>{{ date('d.m.Y - H:i', strtotime($file->updated_at)) }}</td>
     170                                    @endif
     171                                    <td><a href="{{ route('dashboard.folders.files', ['id' => $file->folder_id]) }}" class="text-linkedin">{{ \App\Models\Folder::find($file->folder_id)->name }}</a></td>
     172                                    <td>{{ \App\Models\Folder::find($file->folder_id)->arch_id }}</td>
     173                                    <!-- Trigger -->
     174                                    <td><button data-clipboard-text="{{$file->location}}" class="btn btn-sm btn-primary text-white" data-toggle="tooltip" data-placement="right" title="{{$file->location}}"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="currentColor" class="bi bi-clipboard" viewBox="0 0 16 16">
     175                                                <path d="M4 1.5H3a2 2 0 0 0-2 2V14a2 2 0 0 0 2 2h10a2 2 0 0 0 2-2V3.5a2 2 0 0 0-2-2h-1v1h1a1 1 0 0 1 1 1V14a1 1 0 0 1-1 1H3a1 1 0 0 1-1-1V3.5a1 1 0 0 1 1-1h1v-1z"/>
     176                                                <path d="M9.5 1a.5.5 0 0 1 .5.5v1a.5.5 0 0 1-.5.5h-3a.5.5 0 0 1-.5-.5v-1a.5.5 0 0 1 .5-.5h3zm-3-1A1.5 1.5 0 0 0 5 1.5v1A1.5 1.5 0 0 0 6.5 4h3A1.5 1.5 0 0 0 11 2.5v-1A1.5 1.5 0 0 0 9.5 0h-3z"/>
     177                                            </svg></button>
     178                                    </td>
     179                                    <td>
     180                                        <a href="javascript:void(0)" class="text-secondary" data-toggle="modal" data-target="#editModal_{{$file->id}}" title="Edit">
     181                                            <i class="ti-pencil"></i>
     182                                        </a>
     183                                        <a href="{{ route("dashboard.files.downloadFile", ['id' => $file->id]) }}" class="text-danger ml-2"title="Download">
     184                                            <i class="ti-download"></i>
     185                                        </a>
     186                                        <a href="javascript:void(0)" class="text-danger ml-2" data-toggle="modal" data-target="#deleteModal_{{$file->id}}" title="Delete">
     187                                            <i class="ti-trash"></i>
     188                                        </a>
     189                                    </td>
     190                                </tr>
     191                                <div class="modal fade" id="deleteModal_{{$file->id}}" tabindex="-1" role="dialog" aria-hidden="true">
     192                                    <div class="modal-dialog modal-dialog-centered" role="document">
     193                                        <div class="modal-content">
     194                                            <div class="modal-header">
     195                                                <h5 class="modal-title" id="exampleModalCenterTitle">Delete confirmation</h5>
     196                                                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
     197                                                    <i class="ti-close"></i>
     198                                                </button>
     199                                            </div>
     200                                            <div class="modal-body">
     201                                                <form action="{{ route("dashboard.files.deleteFile", $file->id) }}" method="POST">
     202                                                    @csrf
     203                                                    @method('DELETE')
     204                                                    <p>Are you sure you want to delete file {{$file->name}}?</p>
     205                                                    <p>Location: <span class="pr-1">{{$file->location}}</span></p>
     206                                                    <div class="modal-footer">
     207                                                        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close
     208                                                        </button>
     209                                                        <button type="submit" class="btn btn-primary">Save changes</button>
     210                                                    </div>
     211                                                </form>
     212                                            </div>
     213
     214                                        </div>
     215                                    </div>
     216                                </div>
     217
     218                                <div class="modal fade" id="editModal_{{$file->id}}" tabindex="-1" role="dialog" aria-hidden="true">
     219                                    <div class="modal-dialog modal-dialog-centered" role="document">
     220                                        <div class="modal-content">
     221                                            <div class="modal-header">
     222                                                <h5 class="modal-title" id="exampleModalCenterTitle">Rename file</h5>
     223                                                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
     224                                                    <i class="ti-close"></i>
     225                                                </button>
     226                                            </div>
     227                                            <div class="modal-body">
     228                                                <form action="{{ route("dashboard.files.renameFile", ["id" =>$file->id]) }}" method="post" accept-charset="utf-8">
     229                                                    @method("patch")
     230                                                    @csrf
     231                                                    <div class="row">
     232                                                        <div class="col-md-12">
     233                                                            <div class="form-group">
     234                                                                <label class="form-label">Current name: {{$file->name}}</label>
     235                                                                <input type="text" name="name" value="{{ explode('.', $file->name)[0] }}" maxlength="255" title="Don't include: '\/.|'" pattern="^[^.\/|]+$" class="form-control" required>
     236                                                            </div>
     237                                                        </div>
     238                                                    </div>
     239                                                    <br/>
     240                                                    <div class="modal-footer">
     241                                                        <button type="button" class="btn btn-secondary" data-dismiss="modal">Close
     242                                                        </button>
     243                                                        <button type="submit" class="btn btn-primary">Save changes</button>
     244                                                    </div>
     245                                                </form>
     246                                            </div>
     247
     248                                        </div>
     249                                    </div>
     250                                </div>
     251                            @endforeach
    501252                            </tbody>
    502253                        </table>
     
    512263                <div class="card-body">
    513264                    <div class="d-md-flex mb-2 mb-sm-0 justify-content-between">
    514                         <h6 class="card-title">Activities</h6>
    515                         <div>
    516                             <div id="reportrange" class="form-control">
    517                                 <span></span>
    518                             </div>
    519                         </div>
    520                     </div>
    521                     <div id="ecommerce-activity-chart"></div>
     265                        <canvas id="canvas"></canvas>
     266                    </div>
    522267                </div>
    523268            </div>
     
    527272                <div class="card-body pb-0">
    528273                    <div class="d-flex justify-content-between align-items-start mb-3">
    529                         <h6 class="card-title mb-0">Top Sales</h6>
    530                         <a href="#" class="small">All Sales</a>
     274                        <h6 class="card-title mb-0">Largest departments</h6>
     275                        <a href="{{route("dashboard.departments.index")}}" class="small text-linkedin">View</a>
    531276                    </div>
    532277                </div>
     
    535280                        <thead>
    536281                        <tr>
    537                             <th>Product</th>
    538                             <th>Total Sales</th>
     282                            <th>Department</th>
     283                            <th>Number of folders</th>
    539284                        </tr>
    540285                        </thead>
    541286                        <tbody>
     287                        @foreach($largestDepartments as $department)
    542288                        <tr>
     289
    543290                            <td>
    544                                 <a href="#">Apple</a>
     291                                <a href="#">{{$department->name}}</a>
    545292                            </td>
    546                             <td>21</td>
     293                            <td>
     294                                <a href="#">{{$department->no_of_folders}}</a>
     295                            </td>
    547296                        </tr>
    548                         <tr>
    549                             <td>
    550                                 <a href="#">Samsung <span class="badge badge-danger ml-1">New</span></a>
    551                             </td>
    552                             <td>52</td>
    553                         </tr>
    554                         <tr>
    555                             <td>
    556                                 <a href="#">Huawei</a>
    557                             </td>
    558                             <td>74</td>
    559                         </tr>
    560                         <tr>
    561                             <td>
    562                                 <a href="#">General Mobile</a>
    563                             </td>
    564                             <td>25</td>
    565                         </tr>
    566                         <tr>
    567                             <td>
    568                                 <a href="#">Xiaomi</a>
    569                             </td>
    570                             <td>11</td>
    571                         </tr>
    572                         <tr>
    573                             <td>
    574                                 <a href="#">Nokia</a>
    575                             </td>
    576                             <td>8</td>
    577                         </tr>
    578                         <tr>
    579                             <td>
    580                                 <a href="#">Sony</a>
    581                             </td>
    582                             <td>5</td>
    583                         </tr>
    584                         <tr>
    585                             <td>
    586                                 <a href="#">Alcatel</a>
    587                             </td>
    588                             <td>5</td>
    589                         </tr>
     297                        @endforeach
    590298                        </tbody>
    591299                    </table>
     
    594302        </div>
    595303    </div>
    596 
    597     <div class="row">
    598         <div class="col-md-6">
    599             <div class="card">
    600                 <div class="card-body">
    601                     <h6 class="card-title d-flex justify-content-between">
    602                         <span>Income Distribution</span>
    603                         <span class="dropdown">
    604                             <a class="btn btn-outline-light btn-sm dropdown-toggle" href="#"
    605                                data-toggle="dropdown">USA</a>
    606                             <span class="dropdown-menu dropdown-menu-right">
    607                                 <a href="#" class="dropdown-item">USA</a>
    608                                 <a href="#" class="dropdown-item">Germany</a>
    609                                 <a href="#" class="dropdown-item">France</a>
    610                                 <a href="#" class="dropdown-item">Italy</a>
    611                             </span>
    612                         </span>
    613                     </h6>
    614                     <div id="vmap_usa_en" style="height: 300px"></div>
    615                 </div>
    616                 <div class="table-responsive">
    617                     <table class="table table-borderless table-lg table-striped mb-0">
    618                         <thead>
    619                         <tr>
    620                             <th class="wd-40">States</th>
    621                             <th class="wd-25 text-center">Orders</th>
    622                             <th class="wd-35 text-center">Earnings</th>
    623                             <th class="wd-35"></th>
    624                         </tr>
    625                         </thead>
    626                         <tbody>
    627                         <tr>
    628                             <td>California</td>
    629                             <td class="text-center">12,201</td>
    630                             <td class="text-center text-success">$150,200.80</td>
    631                             <td class="text-right">
    632                                 <a href="#" data-toggle="tooltip" title="Detail">
    633                                     <i class="fa fa-external-link"></i>
    634                                 </a>
    635                             </td>
    636                         </tr>
    637                         <tr>
    638                             <td>Texas</td>
    639                             <td class="text-center">11,950</td>
    640                             <td class="text-center text-success">$138,910.20</td>
    641                             <td class="text-right">
    642                                 <a href="#" data-toggle="tooltip" title="Detail">
    643                                     <i class="fa fa-external-link"></i>
    644                                 </a>
    645                             </td>
    646                         </tr>
    647                         <tr>
    648                             <td>Wyoming</td>
    649                             <td class="text-center">11,198</td>
    650                             <td class="text-center text-danger">$132,050.00</td>
    651                             <td class="text-right">
    652                                 <a href="#" data-toggle="tooltip" title="Detail">
    653                                     <i class="fa fa-external-link"></i>
    654                                 </a>
    655                             </td>
    656                         </tr>
    657                         <tr>
    658                             <td>Florida</td>
    659                             <td class="text-center">9,885</td>
    660                             <td class="text-center text-success">$127,762.10</td>
    661                             <td class="text-right">
    662                                 <a href="#" data-toggle="tooltip" title="Detail">
    663                                     <i class="fa fa-external-link"></i>
    664                                 </a>
    665                             </td>
    666                         </tr>
    667                         <tr>
    668                             <td>New York</td>
    669                             <td class="text-center">21,198</td>
    670                             <td class="text-center text-danger">$432,410.00</td>
    671                             <td class="text-right">
    672                                 <a href="#" data-toggle="tooltip" title="Detail">
    673                                     <i class="fa fa-external-link"></i>
    674                                 </a>
    675                             </td>
    676                         </tr>
    677                         <tr>
    678                             <td>Montana</td>
    679                             <td class="text-center">2,885</td>
    680                             <td class="text-center text-success">$7,100.00</td>
    681                             <td class="text-right">
    682                                 <a href="#" data-toggle="tooltip" title="Detail">
    683                                     <i class="fa fa-external-link"></i>
    684                                 </a>
    685                             </td>
    686                         </tr>
    687                         </tbody>
    688                     </table>
    689                 </div>
    690             </div>
    691         </div>
    692         <div class="col-md-6">
    693             <div class="card">
    694                 <div class="card-body">
    695                     <div class="card-title d-flex justify-content-between">
    696                         <h6 class="card-title">Revenue by Country</h6>
    697                         <div>
    698                             <a href="#" class="btn btn-outline-light btn-sm mr-2">
    699                                 <i class="fa fa-refresh"></i>
    700                             </a>
    701                             <div class="dropdown">
    702                                 <a href="#" data-toggle="dropdown"
    703                                    class="btn btn-outline-light btn-sm"
    704                                    aria-haspopup="true" aria-expanded="false">
    705                                     <i class="fa fa-ellipsis-h" aria-hidden="true"></i>
    706                                 </a>
    707                                 <div class="dropdown-menu dropdown-menu-right">
    708                                     <a class="dropdown-item" href="#">Action</a>
    709                                     <a class="dropdown-item" href="#">Another action</a>
    710                                     <a class="dropdown-item" href="#">Something else here</a>
    711                                 </div>
    712                             </div>
    713                         </div>
    714                     </div>
    715                     <p>Total Revenue</p>
    716                     <h2 class="mb-4 font-size-35">$469,453</h2>
    717                     <div class="progress mb-3" style="height: 10px">
    718                         <div class="progress-bar w-25 bg-secondary-gradient" role="progressbar"></div>
    719                         <div class="progress-bar w-50 bg-info-gradient" role="progressbar"></div>
    720                         <div class="progress-bar w-25 bg-warning-gradient" role="progressbar"></div>
    721                         <div class="progress-bar w-25 bg-success-gradient" role="progressbar"></div>
    722                         <div class="progress-bar w-50 bg-danger-gradient" role="progressbar"></div>
    723                     </div>
    724                 </div>
    725                 <div class="p-4 bg-dark-gradient">
    726                     <ul class="list-inline ">
    727                         <li class="list-inline-item mr-4 mb-3">
    728                             <div class="d-flex align-items-center">
    729                                 <span class="d-inline-flex align-items-center">
    730                                     <i class="fa fa-circle text-secondary mr-1 small"></i> Russia
    731                                 </span>
    732                                 <small class="ml-3 text-success d-inline-flex align-items-center">
    733                                     <i class="fa fa-caret-up mr-1"></i> 40%
    734                                 </small>
    735                             </div>
    736                         </li>
    737                         <li class="list-inline-item mr-4 mb-3">
    738                             <div class="d-flex align-items-center">
    739                                 <span class="d-inline-flex align-items-center">
    740                                     <i class="fa fa-circle text-info mr-1 small"></i> Australia
    741                                 </span>
    742                                 <small class="ml-3 text-danger d-inline-flex align-items-center">
    743                                     <i class="fa fa-caret-down mr-1"></i> 25%
    744                                 </small>
    745                             </div>
    746                         </li>
    747                         <li class="list-inline-item mr-4 mb-3">
    748                             <div class="d-flex align-items-center">
    749                                 <span class="d-inline-flex align-items-center">
    750                                 <i class="fa fa-circle text-warning mr-1 small"></i> China
    751                                 </span>
    752                                 <small class="ml-3 text-success d-inline-flex align-items-center">
    753                                     <i class="fa fa-caret-up mr-1"></i> 30%
    754                                 </small>
    755                             </div>
    756                         </li>
    757                         <li class="list-inline-item mr-4 mb-3">
    758                             <div class="d-flex align-items-center">
    759                                 <span class="d-inline-flex align-items-center">
    760                                 <i class="fa fa-circle text-success mr-1 small"></i> Tunisia
    761                                 </span>
    762                                 <small class="ml-3 text-success d-inline-flex align-items-center">
    763                                     <i class="fa fa-caret-up mr-1"></i> 10%
    764                                 </small>
    765                             </div>
    766                         </li>
    767                         <li class="list-inline-item mr-4 mb-3">
    768                             <div class="d-flex align-items-center">
    769                                 <span class="d-inline-flex align-items-center">
    770                                 <i class="fa fa-circle text-success mr-1 small"></i> Spain
    771                                 </span>
    772                                 <small class="ml-3 text-danger d-inline-flex align-items-center">
    773                                     <i class="fa fa-caret-down mr-1"></i> 10%
    774                                 </small>
    775                             </div>
    776                         </li>
    777                     </ul>
    778                 </div>
    779             </div>
    780             <div class="card">
    781                 <div class="card-body">
    782                     <h6 class="card-title">Reviews</h6>
    783                     <div class="card-scroll">
    784                         <ul class="list-group list-group-flush">
    785                             <li class="list-group-item d-flex pl-0 pr-0">
    786                                 <a href="#">
    787                                     <figure class="avatar mr-3">
    788                                         <img src="{{ url('assets/media/image/user/man_avatar1.jpg') }}" class="rounded-circle" alt="image">
    789                                     </figure>
    790                                 </a>
    791                                 <div>
    792                                     <div class="d-flex justify-content-between">
    793                                         <a href="#">
    794                                             <h6>Valentine Maton</h6>
    795                                             <ul class="list-inline mb-1">
    796                                                 <li class="list-inline-item mb-0">
    797                                                     <i class="fa fa-star text-warning"></i>
    798                                                 </li>
    799                                                 <li class="list-inline-item mb-0">
    800                                                     <i class="fa fa-star text-warning"></i>
    801                                                 </li>
    802                                                 <li class="list-inline-item mb-0">
    803                                                     <i class="fa fa-star text-warning"></i>
    804                                                 </li>
    805                                                 <li class="list-inline-item mb-0">
    806                                                     <i class="fa fa-star text-warning"></i>
    807                                                 </li>
    808                                                 <li class="list-inline-item mb-0">
    809                                                     <i class="fa fa-star text-warning"></i>
    810                                                 </li>
    811                                                 <li class="list-inline-item mb-0">(5)</li>
    812                                             </ul>
    813                                         </a>
    814                                         <div class="ml-auto">
    815                                             <div class="dropdown">
    816                                                 <a href="#" data-toggle="dropdown"
    817                                                    class="btn btn-outline-light btn-sm"
    818                                                    aria-haspopup="true" aria-expanded="false">
    819                                                     <i class="fa fa-ellipsis-h" aria-hidden="true"></i>
    820                                                 </a>
    821                                                 <div class="dropdown-menu dropdown-menu-right">
    822                                                     <a href="#" class="dropdown-item">View</a>
    823                                                     <a href="#" class="dropdown-item">Send Message</a>
    824                                                 </div>
    825                                             </div>
    826                                         </div>
    827                                     </div>
    828                                     <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Odio, tempora.</p>
    829                                 </div>
    830                             </li>
    831                             <li class="list-group-item d-flex pl-0 pr-0">
    832                                 <a href="#">
    833                                     <figure class="avatar mr-3">
    834                                         <img src="{{ url('assets/media/image/user/man_avatar2.jpg') }}" class="rounded-circle" alt="image">
    835                                     </figure>
    836                                 </a>
    837                                 <div>
    838                                     <div class="d-flex justify-content-between">
    839                                         <a href="#">
    840                                             <h6>Valentine Maton</h6>
    841                                             <ul class="list-inline mb-1">
    842                                                 <li class="list-inline-item mb-0">
    843                                                     <i class="fa fa-star text-warning"></i>
    844                                                 </li>
    845                                                 <li class="list-inline-item mb-0">
    846                                                     <i class="fa fa-star text-warning"></i>
    847                                                 </li>
    848                                                 <li class="list-inline-item mb-0">
    849                                                     <i class="fa fa-star text-warning"></i>
    850                                                 </li>
    851                                                 <li class="list-inline-item mb-0">
    852                                                     <i class="fa fa-star-half-o text-warning"></i>
    853                                                 </li>
    854                                                 <li class="list-inline-item mb-0">
    855                                                     <i class="fa fa-star-o"></i>
    856                                                 </li>
    857                                                 <li class="list-inline-item mb-0">(3.5)</li>
    858                                             </ul>
    859                                         </a>
    860                                         <div class="ml-auto">
    861                                             <div class="dropdown">
    862                                                 <a href="#" data-toggle="dropdown"
    863                                                    class="btn btn-outline-light btn-sm"
    864                                                    aria-haspopup="true" aria-expanded="false">
    865                                                     <i class="fa fa-ellipsis-h" aria-hidden="true"></i>
    866                                                 </a>
    867                                                 <div class="dropdown-menu dropdown-menu-right">
    868                                                     <a href="#" class="dropdown-item">View</a>
    869                                                     <a href="#" class="dropdown-item">Send Message</a>
    870                                                 </div>
    871                                             </div>
    872                                         </div>
    873                                     </div>
    874                                     <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Odio, tempora.</p>
    875                                 </div>
    876                             </li>
    877                             <li class="list-group-item d-flex pl-0 pr-0">
    878                                 <a href="#">
    879                                     <figure class="avatar mr-3">
    880                                         <img src="{{ url('assets/media/image/user/man_avatar3.jpg') }}" class="rounded-circle" alt="image">
    881                                     </figure>
    882                                 </a>
    883                                 <div>
    884                                     <div class="d-flex justify-content-between">
    885                                         <a href="#">
    886                                             <h6>Valentine Maton</h6>
    887                                             <ul class="list-inline mb-1">
    888                                                 <li class="list-inline-item mb-0">
    889                                                     <i class="fa fa-star text-warning"></i>
    890                                                 </li>
    891                                                 <li class="list-inline-item mb-0">
    892                                                     <i class="fa fa-star text-warning"></i>
    893                                                 </li>
    894                                                 <li class="list-inline-item mb-0">
    895                                                     <i class="fa fa-star text-warning"></i>
    896                                                 </li>
    897                                                 <li class="list-inline-item mb-0">
    898                                                     <i class="fa fa-star text-warning"></i>
    899                                                 </li>
    900                                                 <li class="list-inline-item mb-0">
    901                                                     <i class="fa fa-star-half-o text-warning"></i>
    902                                                 </li>
    903                                                 <li class="list-inline-item mb-0">(4.5)</li>
    904                                             </ul>
    905                                         </a>
    906                                         <div class="ml-auto">
    907                                             <div class="dropdown">
    908                                                 <a href="#" data-toggle="dropdown"
    909                                                    class="btn btn-outline-light btn-sm"
    910                                                    aria-haspopup="true" aria-expanded="false">
    911                                                     <i class="fa fa-ellipsis-h" aria-hidden="true"></i>
    912                                                 </a>
    913                                                 <div class="dropdown-menu dropdown-menu-right">
    914                                                     <a href="#" class="dropdown-item">View</a>
    915                                                     <a href="#" class="dropdown-item">Send Message</a>
    916                                                 </div>
    917                                             </div>
    918                                         </div>
    919                                     </div>
    920                                     <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Odio, tempora.</p>
    921                                 </div>
    922                             </li>
    923                             <li class="list-group-item d-flex pl-0 pr-0">
    924                                 <a href="#">
    925                                     <figure class="avatar mr-3">
    926                                         <img src="{{ url('assets/media/image/user/man_avatar4.jpg') }}" class="rounded-circle" alt="image">
    927                                     </figure>
    928                                 </a>
    929                                 <div>
    930                                     <div class="d-flex justify-content-between">
    931                                         <a href="#">
    932                                             <h6>Valentine Maton</h6>
    933                                             <ul class="list-inline mb-1">
    934                                                 <li class="list-inline-item mb-0">
    935                                                     <i class="fa fa-star text-warning"></i>
    936                                                 </li>
    937                                                 <li class="list-inline-item mb-0">
    938                                                     <i class="fa fa-star text-warning"></i>
    939                                                 </li>
    940                                                 <li class="list-inline-item mb-0">
    941                                                     <i class="fa fa-star text-warning"></i>
    942                                                 </li>
    943                                                 <li class="list-inline-item mb-0">
    944                                                     <i class="fa fa-star text-warning"></i>
    945                                                 </li>
    946                                                 <li class="list-inline-item mb-0">
    947                                                     <i class="fa fa-star-o"></i>
    948                                                 </li>
    949                                                 <li class="list-inline-item mb-0">(4)</li>
    950                                             </ul>
    951                                         </a>
    952                                         <div class="ml-auto">
    953                                             <div class="dropdown">
    954                                                 <a href="#" data-toggle="dropdown"
    955                                                    class="btn btn-outline-light btn-sm"
    956                                                    aria-haspopup="true" aria-expanded="false">
    957                                                     <i class="fa fa-ellipsis-h" aria-hidden="true"></i>
    958                                                 </a>
    959                                                 <div class="dropdown-menu dropdown-menu-right">
    960                                                     <a href="#" class="dropdown-item">View</a>
    961                                                     <a href="#" class="dropdown-item">Send Message</a>
    962                                                 </div>
    963                                             </div>
    964                                         </div>
    965                                     </div>
    966                                     <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Odio, tempora.</p>
    967                                 </div>
    968                             </li>
    969                         </ul>
    970                     </div>
    971                     <div class="mt-3 text-center">
    972                         <a href="#" class="btn btn-primary">
    973                             View All
    974                         </a>
    975                     </div>
    976                 </div>
    977             </div>
    978 
    979         </div>
    980     </div>
    981 
    982304@endsection
    983305
     
    1019341
    1020342    <script src="{{ url('assets/js/examples/pages/ecommerce-dashboard.js') }}"></script>
    1021 
     343    <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.min.js"></script>
     344    <script>
     345        var year = <?php echo $year; ?>;
     346        var file = <?php echo $file; ?>;
     347        var barChartData = {
     348            labels: year,
     349            datasets: [{
     350                label: 'File',
     351                backgroundColor: "red",
     352                data: file
     353            }]
     354        };
     355
     356        window.onload = function() {
     357            var ctx = document.getElementById("canvas").getContext("2d");
     358            window.myBar = new Chart(ctx, {
     359                type: 'bar',
     360                data: barChartData,
     361                options: {
     362                    elements: {
     363                        rectangle: {
     364                            borderWidth: 2,
     365                            borderColor: '#c1c1c1',
     366                            borderSkipped: 'bottom'
     367                        }
     368                    },
     369                    responsive: true,
     370                    title: {
     371                        display: true,
     372                        text: 'Yearly uploaded files'
     373                    }
     374                }
     375            });
     376        };
     377    </script>
    1022378@endsection
  • resources/views/dashboard/notifications/index.blade.php

    rc6b84df r4b7e2d3  
    22
    33@section("title", "SaveSpace - Users")
    4 
    5 @section('pageTitle', 'Users')
    64
    75@section('head')
  • resources/views/dashboard/settings/index.blade.php

    rc6b84df r4b7e2d3  
    22
    33@section("title", "User Settings")
    4 
    5 @section('pageTitle', 'User Settings')
    64
    75@section('content')
  • resources/views/dashboard/users/index.blade.php

    rc6b84df r4b7e2d3  
    22
    33@section("title", "SaveSpace - Users")
    4 
    5 @section('pageTitle', 'Users')
    64
    75@section('head')
     
    4240                                <th>Username</th>
    4341                                <th>Name</th>
    44                                 <th>Email</th>
    45                                 <th>Phone Number</th>
    4642                                <th>Created by</th>
    4743                                <th>Created at</th>
    4844                                <th>Updated at</th>
    49                                 <th>Role</th>
    5045                                <th>Status</th>
    5146                                <th>Actions</th>
     
    7166                                        {{$user->username}}
    7267                                    </td>
    73                                     <td>{{$user->name .' '. $user->surname}}</td>
    74                                     <td>{{$user->email}}</td>
    75                                     <td>{{$user->phone_number}}</td>
     68                                    <td>{{$user->name .' '. $user->surname}}
     69                                    <div class="font-weight-light p-1">{{$user->role->name}}</div>
     70                                    <div class="font-weight-light p-1">{{$user->email}}</div>
     71                                    <div class="font-weight-light p-1">{{$user->phone_number}}</div>
     72                                    </td>
    7673                                    <td>{{ $user->getCreatedByName() }}</td>
    7774                                    <td>{{ date('d.m.Y - H:i', strtotime($user->created_at)) }}</td>
     
    8178                                        <td>{{ date('d.m.Y - H:i', strtotime($user->updated_at)) }}</td>
    8279                                    @endif
    83                                     <td>{{ $user->role->name }}</td>
    8480                                    <td>
    8581                                        @if(Cache::has('is_online' . $user->id))
     
    9995                                        </td>
    10096                                    @else
    101                                         <td>Admin</td>
     97                                        <td>/</td>
    10298                                        @endif
    10399                                </tr>
  • resources/views/layouts/app.blade.php

    rc6b84df r4b7e2d3  
    55    <meta name="viewport" content="width=device-width, initial-scale=1">
    66    <meta http-equiv="X-UA-Compatible" content="ie=edge">
     7    <meta name="csrf-token" content="{{ csrf_token() }}">
    78    <title>@yield('title')</title>
    89
     
    1819    <link rel="stylesheet" href="{{ url('assets/css/app.min.css') }}" type="text/css">
    1920    <link rel="stylesheet" href="{{ url('vendors/lightbox/magnific-popup.css') }}" type="text/css">
     21
    2022
    2123</head>
     
    125127                    <!-- begin::header notification dropdown -->
    126128                    <li class="nav-item dropdown">
    127                     <div class="dropdown dropdown-notifications-wrapper dropdown-menu-right dropdown-menu-big">
    128                         <a href="javascript:void(0)" class="nav-link dropdown-notifications-unread icon" data-toggle="dropdown">
    129                             <i data-feather="bell"></i>
    130                             <span class="nav-unread"></span>
    131                         </a>
    132                         <div class="dropdown-menu dropdown-notifications dropdown-menu-right dropdown-menu-big">
    133                             <div class="bg-dark p-4 text-center d-flex justify-content-between align-items-center">
    134                                 <h5 class="mb-0">Notifications</h5>
     129{{--                    <div class="dropdown dropdown-notifications-wrapper dropdown-menu-right dropdown-menu-big">--}}
     130{{--                        <a href="javascript:void(0)" class="nav-link dropdown-notifications-unread icon" data-toggle="dropdown">--}}
     131{{--                            <i data-feather="bell"></i>--}}
     132{{--                            <span class="nav-unread"></span>--}}
     133{{--                        </a>--}}
     134{{--                        <div class="dropdown-menu dropdown-notifications dropdown-menu-right dropdown-menu-big">--}}
     135{{--                            <div class="bg-dark p-4 text-center d-flex justify-content-between align-items-center">--}}
     136{{--                                <h5 class="mb-0">Notifications</h5>--}}
     137{{--                            </div>--}}
     138{{--                            <div class="p-4 text-center align-items-center">--}}
     139{{--                            <p class='text-center unreadNotificationsInfo'>No unread notifications</p>--}}
     140{{--                            </div>--}}
     141{{--                            <div class="dropdown-divider"></div>--}}
     142{{--                            <a href="{{ route("dashboard.notifications.index") }}" class="dropdown-item text-center text-muted-dark">See all</a>--}}
     143{{--                        </div>--}}
     144{{--                    </div>--}}
     145
     146                        <div class="dropdown dropdown-notifications-wrapper d-none d-md-flex">
     147                            <a class="nav-link dropdown-notifications-unread icon" data-toggle="dropdown">
     148                                <i class="fe fe-bell"></i>
     149                                <span class="nav-unread"></span>
     150                            </a>
     151                            <div class="dropdown-menu dropdown-notifications dropdown-menu-right dropdown-menu-arrow">
     152                                <p class='text-center unreadNotificationsInfo'>No unread notifications</p>
     153                                <div class="dropdown-divider"></div>
     154                                <a href="{{ route("dashboard.notifications.index") }}" class="dropdown-item text-center text-muted-dark">See all</a>
    135155                            </div>
    136                             <div class="p-4 text-center align-items-center">
    137                             <p class='text-center unreadNotificationsInfo'>No unread notifications</p>
    138                             </div>
    139                             <div class="dropdown-divider"></div>
    140                             <a href="{{ route("dashboard.notifications.index") }}" class="dropdown-item text-center text-muted-dark">See all</a>
    141156                        </div>
    142                     </div>
    143157                    </li>
    144158
  • routes/web.php

    rc6b84df r4b7e2d3  
    8585        Route::get('/departments/download-all','Dashboard\DepartmentsController@downloadAll')->name('dashboard.departments.downloadAll');
    8686        Route::get('/departments/{id}/download-department','Dashboard\DepartmentsController@downloadDepartment')->name('dashboard.departments.downloadDepartment');
     87        Route::get('departments/export', 'Dashboard\ExportExcelController@ExportDepartments')->name("dashboard.departments.export");
    8788    });
    8889
Note: See TracChangeset for help on using the changeset viewer.