bulk-operations multiSelect items UI v0.1

This commit is contained in:
Milos Holba
2020-11-26 12:28:59 +01:00
8 changed files with 132 additions and 13 deletions

View File

@@ -5,6 +5,7 @@ namespace App\Http\Controllers;
use App\FileManagerFolder;
use App\Http\Tools\Guardian;
use App\Share;
use App\User;
use Illuminate\Support\Arr;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\DB;
@@ -84,6 +85,9 @@ class FileAccessController extends Controller
$this->check_file_access($shared, $file);
}
// Store user download size
$request->user()->record_download((int) $file->getRawOriginal('filesize'));
return $this->download_file($file);
}
@@ -113,6 +117,9 @@ class FileAccessController extends Controller
// Check file access
$this->check_file_access($shared, $file);
// Store user download size
User::find($shared->user_id)->record_download((int) $file->getRawOriginal('filesize'));
return $this->download_file($file);
}

View File

@@ -58,6 +58,10 @@ class FileSharingController extends Controller
->first();
if ($image) {
// Store user download size
User::find($shared->user_id)->record_download((int) $image->getRawOriginal('filesize'));
return $this->show_image($image);
}
}

View File

@@ -308,6 +308,9 @@ class Editor
'user_id' => $user_id,
];
// Store user upload size
$request->user()->record_upload($file_size);
// Return new file
return FileManagerFile::create($options);
}

10
app/Traffic.php Normal file
View File

@@ -0,0 +1,10 @@
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Traffic extends Model
{
protected $guarded = ['id'];
}

View File

@@ -5,6 +5,7 @@ namespace App;
use App\Notifications\ResetPassword;
use App\Notifications\ResetUserPasswordNotification;
use ByteUnits\Metric;
use Carbon\Carbon;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Notifications\Notifiable;
use Illuminate\Support\Facades\Storage;
@@ -157,10 +158,10 @@ class User extends Authenticatable
$is_storage_limit = $storage_limitation ? $storage_limitation : 1;
// Get user storage usage
if (! $is_storage_limit) {
if (!$is_storage_limit) {
return [
'used' => $this->used_capacity,
'used' => $this->used_capacity,
'used_formatted' => Metric::bytes($this->used_capacity)->format(),
];
}
@@ -252,6 +253,40 @@ class User extends Authenticatable
$this->notify(new ResetPassword($token));
}
/**
* Record user upload filesize
*
* @param $file_size
*/
public function record_upload($file_size)
{
$record = Traffic::whereMonth('created_at', '=', Carbon::now()->month)
->firstOrCreate([
'user_id' => $this->id,
]);
$record->update([
'upload' => $record->upload + $file_size
]);
}
/**
* Record user download filesize
*
* @param $file_size
*/
public function record_download($file_size)
{
$record = Traffic::whereMonth('created_at', '=', Carbon::now()->month)
->firstOrCreate([
'user_id' => $this->id,
]);
$record->update([
'download' => $record->download + $file_size
]);
}
/**
* Get user favourites folder
*

View File

@@ -0,0 +1,33 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class CreateTrafficTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('traffic', function (Blueprint $table) {
$table->bigInteger('user_id');
$table->bigInteger('upload')->default(0);
$table->bigInteger('download')->default(0);
$table->timestamps();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('traffics');
}
}

View File

@@ -22,28 +22,28 @@
"/chunks/contact-us.js": "/chunks/contact-us.js?id=f13ecb6e4405aa7e06d2",
"/chunks/contact-us~chunks/dynamic-page~chunks/landing-page.js": "/chunks/contact-us~chunks/dynamic-page~chunks/landing-page.js?id=8b11e9c64262b9275963",
"/chunks/create-new-password.js": "/chunks/create-new-password.js?id=abb47a424c09ace77d79",
"/chunks/dashboard.js": "/chunks/dashboard.js?id=74ec544ef21261233eb0",
"/chunks/dashboard.js": "/chunks/dashboard.js?id=10beadd171f2bb0cf67c",
"/chunks/dashboard~chunks/invoices~chunks/pages~chunks/plan-subscribers~chunks/plans~chunks/settings-i~0e2a0654.js": "/chunks/dashboard~chunks/invoices~chunks/pages~chunks/plan-subscribers~chunks/plans~chunks/settings-i~0e2a0654.js?id=ffd2f414666d7cc80b9d",
"/chunks/database.js": "/chunks/database.js?id=416a5164bdc53c97ea34",
"/chunks/dynamic-page.js": "/chunks/dynamic-page.js?id=464c8e70974d492ce7f6",
"/chunks/environment-setup.js": "/chunks/environment-setup.js?id=405847df44edd86e301a",
"/chunks/files.js": "/chunks/files.js?id=f1d8017665f8cb3090cf",
"/chunks/files~chunks/settings-subscription~chunks/shared-files~chunks/shared-page~chunks/user-subscription.js": "/chunks/files~chunks/settings-subscription~chunks/shared-files~chunks/shared-page~chunks/user-subscription.js?id=8ccd35de575e8a91d02f",
"/chunks/files~chunks/shared-files~chunks/shared-page.js": "/chunks/files~chunks/shared-files~chunks/shared-page.js?id=5e607d74a439b6249d61",
"/chunks/files~chunks/shared-files~chunks/shared-page.js": "/chunks/files~chunks/shared-files~chunks/shared-page.js?id=129b569bf928e91c4e87",
"/chunks/files~chunks/shared-page.js": "/chunks/files~chunks/shared-page.js?id=b013006caf6a7063b0b8",
"/chunks/forgotten-password.js": "/chunks/forgotten-password.js?id=aba8c662fbc234892216",
"/chunks/installation-disclaimer.js": "/chunks/installation-disclaimer.js?id=ecceaa6cdf5768826b36",
"/chunks/invoices.js": "/chunks/invoices.js?id=248503ac5967fe8370f9",
"/chunks/invoices.js": "/chunks/invoices.js?id=60be9963b912e6186a91",
"/chunks/landing-page.js": "/chunks/landing-page.js?id=4c3176cc7c1ad3e6f9b7",
"/chunks/not-found-shared.js": "/chunks/not-found-shared.js?id=a28320bdc00aeb85409e",
"/chunks/page-edit.js": "/chunks/page-edit.js?id=0607b8e16d6678e0b463",
"/chunks/pages.js": "/chunks/pages.js?id=83f334c575a48c1b0cc6",
"/chunks/pages.js": "/chunks/pages.js?id=5cda42ec6d7c22ae4be2",
"/chunks/plan.js": "/chunks/plan.js?id=ed865758447ff7e3f2b5",
"/chunks/plan-create.js": "/chunks/plan-create.js?id=f4199916eddc63fb1720",
"/chunks/plan-delete.js": "/chunks/plan-delete.js?id=2a50cca120ca589f5626",
"/chunks/plan-settings.js": "/chunks/plan-settings.js?id=4a691e84a65d9a779d60",
"/chunks/plan-subscribers.js": "/chunks/plan-subscribers.js?id=8c85b14979d3fb6c54a3",
"/chunks/plans.js": "/chunks/plans.js?id=f2ddb594ff1b2812c248",
"/chunks/plans.js": "/chunks/plans.js?id=75b0aaea161474383e8a",
"/chunks/profile.js": "/chunks/profile.js?id=df174ba95616670c8edb",
"/chunks/profile~chunks/settings-password.js": "/chunks/profile~chunks/settings-password.js?id=62c97619d35198767014",
"/chunks/purchase-code.js": "/chunks/purchase-code.js?id=1452fb6ed1aa01e4045a",
@@ -51,12 +51,12 @@
"/chunks/settings-create-payment-methods.js": "/chunks/settings-create-payment-methods.js?id=40d5eed52256ea23edbe",
"/chunks/settings-invoices.js": "/chunks/settings-invoices.js?id=bc110f5ee1a5b984fda2",
"/chunks/settings-password.js": "/chunks/settings-password.js?id=e318f7536b185dbe6b54",
"/chunks/settings-payment-methods.js": "/chunks/settings-payment-methods.js?id=9be1d0aa0169eb57e78f",
"/chunks/settings-payment-methods.js": "/chunks/settings-payment-methods.js?id=23a1cf3e4183bb09da8d",
"/chunks/settings-storage.js": "/chunks/settings-storage.js?id=22e7978fe8a5cb488e52",
"/chunks/settings-subscription.js": "/chunks/settings-subscription.js?id=367c9478591c7a4a2889",
"/chunks/settings-subscription.js": "/chunks/settings-subscription.js?id=70ac1de089eeb9ce7276",
"/chunks/setup-wizard.js": "/chunks/setup-wizard.js?id=7da589bd335deefd5f65",
"/chunks/shared-files.js": "/chunks/shared-files.js?id=50538c88a0471fe4db6f",
"/chunks/shared-page.js": "/chunks/shared-page.js?id=4c1b302d65112aad96ea",
"/chunks/shared-page.js": "/chunks/shared-page.js?id=19379f673bd223a16a91",
"/chunks/sign-in.js": "/chunks/sign-in.js?id=703fbd23d18816590337",
"/chunks/sign-up.js": "/chunks/sign-up.js?id=cedca52c29abfb3c58f1",
"/chunks/stripe-credentials.js": "/chunks/stripe-credentials.js?id=9dec4c59d5a32fb9b855",
@@ -73,8 +73,8 @@
"/chunks/user-invoices.js": "/chunks/user-invoices.js?id=97d041044c0eee8f8b4b",
"/chunks/user-password.js": "/chunks/user-password.js?id=b036eeaa5ef8e798f6dd",
"/chunks/user-storage.js": "/chunks/user-storage.js?id=a99910f95c3e39caa78b",
"/chunks/user-subscription.js": "/chunks/user-subscription.js?id=e8ea1e67f9ac0a835ed0",
"/chunks/users.js": "/chunks/users.js?id=cdba7af8fb0cd8e64c40",
"/chunks/user-subscription.js": "/chunks/user-subscription.js?id=d6e1f995e0ebc217fc9c",
"/chunks/users.js": "/chunks/users.js?id=6db9d47a7bfb4dd138e2",
"/chunks/files~chunks/shared-files~chunks/shared-page.1672962443faca7a2623.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.1672962443faca7a2623.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.8ca7286c54052251e57b.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.8ca7286c54052251e57b.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.41d33ecbac7eb11ef0a2.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.41d33ecbac7eb11ef0a2.hot-update.js",
@@ -101,5 +101,17 @@
"/chunks/files~chunks/shared-files~chunks/shared-page.c3641dfd1ebb30cbd31a.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.c3641dfd1ebb30cbd31a.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.2c0a2335f261f5eb5911.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.2c0a2335f261f5eb5911.hot-update.js",
"/chunks/files.bc6ba25e4cfc1744d7a1.hot-update.js": "/chunks/files.bc6ba25e4cfc1744d7a1.hot-update.js",
"/chunks/files~chunks/shared-files~chunks/shared-page.51ae6746cbde12d39b6d.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.51ae6746cbde12d39b6d.hot-update.js"
"/chunks/files~chunks/shared-files~chunks/shared-page.51ae6746cbde12d39b6d.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.51ae6746cbde12d39b6d.hot-update.js",
"/js/main.60e370d445809a35a074.hot-update.js": "/js/main.60e370d445809a35a074.hot-update.js",
"/chunks/dashboard.60e370d445809a35a074.hot-update.js": "/chunks/dashboard.60e370d445809a35a074.hot-update.js",
"/chunks/dashboard~chunks/invoices~chunks/pages~chunks/plans~chunks/settings-payment-methods~chunks/users.js": "/chunks/dashboard~chunks/invoices~chunks/pages~chunks/plans~chunks/settings-payment-methods~chunks/users.js?id=2bb9ebac09457d3b898e",
"/chunks/files~chunks/shared-files~chunks/shared-page.60e370d445809a35a074.hot-update.js": "/chunks/files~chunks/shared-files~chunks/shared-page.60e370d445809a35a074.hot-update.js",
"/chunks/invoices.60e370d445809a35a074.hot-update.js": "/chunks/invoices.60e370d445809a35a074.hot-update.js",
"/chunks/pages.60e370d445809a35a074.hot-update.js": "/chunks/pages.60e370d445809a35a074.hot-update.js",
"/chunks/plans.60e370d445809a35a074.hot-update.js": "/chunks/plans.60e370d445809a35a074.hot-update.js",
"/chunks/settings-payment-methods.60e370d445809a35a074.hot-update.js": "/chunks/settings-payment-methods.60e370d445809a35a074.hot-update.js",
"/chunks/settings-subscription.60e370d445809a35a074.hot-update.js": "/chunks/settings-subscription.60e370d445809a35a074.hot-update.js",
"/chunks/settings-subscription~chunks/user-subscription.js": "/chunks/settings-subscription~chunks/user-subscription.js?id=d58c4e02afae33b7cc85",
"/chunks/user-subscription.60e370d445809a35a074.hot-update.js": "/chunks/user-subscription.60e370d445809a35a074.hot-update.js",
"/chunks/users.60e370d445809a35a074.hot-update.js": "/chunks/users.60e370d445809a35a074.hot-update.js"
}

View File

@@ -171,9 +171,24 @@
dragStart(data) {
let img = document.createElement('img')
img.src = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"
<<<<<<< HEAD
event.dataTransfer.setDragImage(img, 0, 0)
this.dragInProgress = true
=======
event.dataTransfer.setDragImage(img, 0, 0)
/*let elementClone = event.target.cloneNode(true)
elementClone.className = 'draged-clone'
console.log(elementClone)*/
// elementClone.style.backgroundColor = "red"
// let element = document.getElementsByClassName('file-item')
// element.style.display = "none"
// var crt = this.cloneNode(true);
// crt.style.backgroundColor = "red";
// this.style.display = "none"
>>>>>>> 65f7855703c7a163dc2bf3cc05b23469d76d7453
events.$emit('dragstart', data)