diff --git a/.all-contributorsrc b/.all-contributorsrc index d5278f911..714b6b717 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -2370,7 +2370,7 @@ "code" ] }, - { + { "login": "PetriAsi", "name": "Petri Asikainen", "avatar_url": "https://avatars.githubusercontent.com/u/8735148?v=4", @@ -2396,6 +2396,96 @@ "contributions": [ "code" ] + }, + { + "login": "AL4AL", + "name": "ALPHA", + "avatar_url": "https://avatars.githubusercontent.com/u/22044358?v=4", + "profile": "https://github.com/AL4AL", + "contributions": [ + "code" + ] + }, + { + "login": "FliegenKLATSCH", + "name": "FliegenKLATSCH", + "avatar_url": "https://avatars.githubusercontent.com/u/1042587?v=4", + "profile": "https://www.ifern.de", + "contributions": [ + "code" + ] + }, + { + "login": "jerm", + "name": "Jeremy Price", + "avatar_url": "https://avatars.githubusercontent.com/u/442138?v=4", + "profile": "https://github.com/jerm", + "contributions": [ + "code" + ] + }, + { + "login": "Toreg87", + "name": "Toreg87", + "avatar_url": "https://avatars.githubusercontent.com/u/84392209?v=4", + "profile": "https://github.com/Toreg87", + "contributions": [ + "code" + ] + }, + { + "login": "Computroniks", + "name": "Matthew Nickson", + "avatar_url": "https://avatars.githubusercontent.com/u/67638596?v=4", + "profile": "https://github.com/Computroniks", + "contributions": [ + "code" + ] + }, + { + "login": "jethron", + "name": "Jethro Nederhof", + "avatar_url": "https://avatars.githubusercontent.com/u/1646397?v=4", + "profile": "https://jethron.id.au", + "contributions": [ + "code" + ] + }, + { + "login": "01ste02", + "name": "Oskar Stenberg", + "avatar_url": "https://avatars.githubusercontent.com/u/23289826?v=4", + "profile": "https://github.com/01ste02", + "contributions": [ + "code" + ] + }, + { + "login": "Robert-Azelis", + "name": "Robert-Azelis", + "avatar_url": "https://avatars.githubusercontent.com/u/82208283?v=4", + "profile": "https://github.com/Robert-Azelis", + "contributions": [ + "code" + ] + }, + { + "login": "alwism", + "name": "Alexander William Smith", + "avatar_url": "https://avatars.githubusercontent.com/u/60648387?v=4", + "profile": "https://github.com/alwism", + "contributions": [ + "code" + ] + }, + { + "login": "PlaneNuts", + "name": "PlaneNuts", + "avatar_url": "https://avatars.githubusercontent.com/u/88776392?v=4", + "profile": "https://github.com/PlaneNuts", + "contributions": [ + "code" + ] } ] } diff --git a/.env.example b/.env.example index 31e3cca14..c2eb5936f 100644 --- a/.env.example +++ b/.env.example @@ -15,6 +15,10 @@ MAX_RESULTS=500 PRIVATE_FILESYSTEM_DISK=local PUBLIC_FILESYSTEM_DISK=local_public +#PRIVATE_FILESYSTEM_DISK=s3_private +#PUBLIC_FILESYSTEM_DISK=s3_public + + # -------------------------------------------- # REQUIRED: DATABASE SETTINGS # -------------------------------------------- diff --git a/Dockerfile b/Dockerfile index 09e511ba8..ed942e258 100644 --- a/Dockerfile +++ b/Dockerfile @@ -96,6 +96,8 @@ RUN \ && rm -r "/var/www/html/storage/app/backups" && ln -fs "/var/lib/snipeit/dumps" "/var/www/html/storage/app/backups" \ && mkdir -p "/var/lib/snipeit/keys" && ln -fs "/var/lib/snipeit/keys/oauth-private.key" "/var/www/html/storage/oauth-private.key" \ && ln -fs "/var/lib/snipeit/keys/oauth-public.key" "/var/www/html/storage/oauth-public.key" \ + && ln -fs "/var/lib/snipeit/keys/ldap_client_tls.cert" "/var/www/html/storage/ldap_client_tls.cert" \ + && ln -fs "/var/lib/snipeit/keys/ldap_client_tls.key" "/var/www/html/storage/ldap_client_tls.key" \ && chown docker "/var/lib/snipeit/keys/" \ && chown -h docker "/var/www/html/storage/" \ && chmod +x /var/www/html/artisan \ diff --git a/README.md b/README.md index 5e3a0a1e3..15caeb404 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ ![Build Status](https://app.chipperci.com/projects/0e5f8979-31eb-4ee6-9abf-050b76ab0383/status/master) [![Crowdin](https://d322cqt584bo4o.cloudfront.net/snipe-it/localized.svg)](https://crowdin.com/project/snipe-it) [![Docker Pulls](https://img.shields.io/docker/pulls/snipe/snipe-it.svg)](https://hub.docker.com/r/snipe/snipe-it/) [![Twitter Follow](https://img.shields.io/twitter/follow/snipeitapp.svg?style=social)](https://twitter.com/snipeitapp) [![Codacy Badge](https://api.codacy.com/project/badge/Grade/553ce52037fc43ea99149785afcfe641)](https://www.codacy.com/app/snipe/snipe-it?utm_source=github.com&utm_medium=referral&utm_content=snipe/snipe-it&utm_campaign=Badge_Grade) -[![All Contributors](https://img.shields.io/badge/all_contributors-262-orange.svg?style=flat-square)](#contributors) +[![All Contributors](https://img.shields.io/badge/all_contributors-273-orange.svg?style=flat-square)](#contributors) [![Discord](https://badgen.net/badge/icon/discord?icon=discord&label)](https://discord.gg/yZFtShAcKk) [![huntr](https://cdn.huntr.dev/huntr_security_badge_mono.svg)](https://huntr.dev) ## Snipe-IT - Open Source Asset Management System @@ -128,8 +128,8 @@ Thanks goes to all of these wonderful people ([emoji key](https://github.com/ken | [
Mark Stenglein](https://markstenglein.com)
[💻](https://github.com/snipe/snipe-it/commits?author=ocelotsloth "Code") | [
ajsy](https://github.com/ajsy)
[💻](https://github.com/snipe/snipe-it/commits?author=ajsy "Code") | [
Jan Kiesewetter](https://github.com/t3easy)
[💻](https://github.com/snipe/snipe-it/commits?author=t3easy "Code") | [
Tetrachloromethane250](https://github.com/Tetrachloromethane250)
[💻](https://github.com/snipe/snipe-it/commits?author=Tetrachloromethane250 "Code") | [
Lars Kajes](https://www.kajes.se/)
[💻](https://github.com/snipe/snipe-it/commits?author=kajes "Code") | [
Joly0](https://github.com/Joly0)
[💻](https://github.com/snipe/snipe-it/commits?author=Joly0 "Code") | [
theburger](https://github.com/limeless)
[💻](https://github.com/snipe/snipe-it/commits?author=limeless "Code") | | [
David Valin Alonso](https://github.com/deivishome)
[💻](https://github.com/snipe/snipe-it/commits?author=deivishome "Code") | [
andreaci](https://github.com/andreaci)
[💻](https://github.com/snipe/snipe-it/commits?author=andreaci "Code") | [
Jelle Sebreghts](http://www.jellesebreghts.be)
[💻](https://github.com/snipe/snipe-it/commits?author=Jelle-S "Code") | [
Michael Pietsch](https://github.com/Skywalker-11)
| [
Masudul Haque Shihab](https://github.com/sh1hab)
[💻](https://github.com/snipe/snipe-it/commits?author=sh1hab "Code") | [
Supapong Areeprasertkul](http://www.freedomdive.com/)
[💻](https://github.com/snipe/snipe-it/commits?author=zybersup "Code") | [
Peter Sarossy](https://github.com/psarossy)
[💻](https://github.com/snipe/snipe-it/commits?author=psarossy "Code") | | [
Renee Margaret McConahy](https://github.com/nepella)
[💻](https://github.com/snipe/snipe-it/commits?author=nepella "Code") | [
JohnnyPicnic](https://github.com/JohnnyPicnic)
[💻](https://github.com/snipe/snipe-it/commits?author=JohnnyPicnic "Code") | [
markbrule](https://github.com/markbrule)
[💻](https://github.com/snipe/snipe-it/commits?author=markbrule "Code") | [
Mike Campbell](https://github.com/mikecmpbll)
[💻](https://github.com/snipe/snipe-it/commits?author=mikecmpbll "Code") | [
tbrconnect](https://github.com/tbrconnect)
[💻](https://github.com/snipe/snipe-it/commits?author=tbrconnect "Code") | [
kcoyo](https://github.com/kcoyo)
[💻](https://github.com/snipe/snipe-it/commits?author=kcoyo "Code") | [
Travis Miller](https://travismiller.com/)
[💻](https://github.com/snipe/snipe-it/commits?author=travismiller "Code") | -| [
Petri Asikainen](https://github.com/PetriAsi)
[💻](https://github.com/snipe/snipe-it/commits?author=PetriAsi "Code") | [
derdeagle](https://github.com/derdeagle)
[💻](https://github.com/snipe/snipe-it/commits?author=derdeagle "Code") | [
Mike Frysinger](https://wh0rd.org/)
[💻](https://github.com/snipe/snipe-it/commits?author=vapier "Code") | -| [
Evan Taylor](https://github.com/Delta5)
[💻](https://github.com/snipe/snipe-it/commits?author=Delta5 "Code") | +| [
Evan Taylor](https://github.com/Delta5)
[💻](https://github.com/snipe/snipe-it/commits?author=Delta5 "Code") | [
Petri Asikainen](https://github.com/PetriAsi)
[💻](https://github.com/snipe/snipe-it/commits?author=PetriAsi "Code") | [
derdeagle](https://github.com/derdeagle)
[💻](https://github.com/snipe/snipe-it/commits?author=derdeagle "Code") | [
Mike Frysinger](https://wh0rd.org/)
[💻](https://github.com/snipe/snipe-it/commits?author=vapier "Code") | [
ALPHA](https://github.com/AL4AL)
[💻](https://github.com/snipe/snipe-it/commits?author=AL4AL "Code") | [
FliegenKLATSCH](https://www.ifern.de)
[💻](https://github.com/snipe/snipe-it/commits?author=FliegenKLATSCH "Code") | [
Jeremy Price](https://github.com/jerm)
[💻](https://github.com/snipe/snipe-it/commits?author=jerm "Code") | +| [
Toreg87](https://github.com/Toreg87)
[💻](https://github.com/snipe/snipe-it/commits?author=Toreg87 "Code") | [
Matthew Nickson](https://github.com/Computroniks)
[💻](https://github.com/snipe/snipe-it/commits?author=Computroniks "Code") | [
Jethro Nederhof](https://jethron.id.au)
[💻](https://github.com/snipe/snipe-it/commits?author=jethron "Code") | [
Oskar Stenberg](https://github.com/01ste02)
[💻](https://github.com/snipe/snipe-it/commits?author=01ste02 "Code") | [
Robert-Azelis](https://github.com/Robert-Azelis)
[💻](https://github.com/snipe/snipe-it/commits?author=Robert-Azelis "Code") | [
Alexander William Smith](https://github.com/alwism)
[💻](https://github.com/snipe/snipe-it/commits?author=alwism "Code") | [
PlaneNuts](https://github.com/PlaneNuts)
[💻](https://github.com/snipe/snipe-it/commits?author=PlaneNuts "Code") | This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind welcome! diff --git a/app/Console/Commands/RestoreFromBackup.php b/app/Console/Commands/RestoreFromBackup.php index 8f8114229..0ebda27d8 100644 --- a/app/Console/Commands/RestoreFromBackup.php +++ b/app/Console/Commands/RestoreFromBackup.php @@ -14,7 +14,7 @@ class RestoreFromBackup extends Command */ protected $signature = 'snipeit:restore {--force : Skip the danger prompt; assuming you hit "y"} - {filename : The zip file to be migrated} + {filename : The full path of the .zip file to be migrated} {--no-progress : Don\'t show a progress bar}'; /** @@ -22,7 +22,7 @@ class RestoreFromBackup extends Command * * @var string */ - protected $description = 'Restore from a previously created backup'; + protected $description = 'Restore from a previously created Snipe-IT backup file'; /** * Create a new command instance. @@ -34,6 +34,8 @@ class RestoreFromBackup extends Command parent::__construct(); } + public static $buffer_size = 1024 * 1024; // use a 1MB buffer, ought to work fine for most cases? + /** * Execute the console command. * @@ -42,7 +44,10 @@ class RestoreFromBackup extends Command public function handle() { $dir = getcwd(); - echo "Current working directory is: $dir\n"; + if( $dir != base_path() ) { // usually only the case when running via webserver, not via command-line + \Log::debug("Current working directory is: $dir, changing directory to: ".base_path()); + chdir(base_path()); // TODO - is this *safe* to change on a running script?! + } // $filename = $this->argument('filename'); @@ -67,7 +72,7 @@ class RestoreFromBackup extends Command ZipArchive::ER_INCONS => 'Zip archive inconsistent.', ZipArchive::ER_INVAL => 'Invalid argument.', ZipArchive::ER_MEMORY => 'Malloc failure.', - ZipArchive::ER_NOENT => 'No such file.', + ZipArchive::ER_NOENT => 'No such file ('.$filename.') in directory '.$dir.'.', ZipArchive::ER_NOZIP => 'Not a zip archive.', ZipArchive::ER_OPEN => "Can't open file.", ZipArchive::ER_READ => 'Read error.', @@ -144,7 +149,7 @@ class RestoreFromBackup extends Command continue; } if (@pathinfo($raw_path)['extension'] == 'sql') { - echo "Found a sql file!\n"; + \Log::debug("Found a sql file!"); $sqlfiles[] = $raw_path; $sqlfile_indices[] = $i; continue; @@ -206,7 +211,13 @@ class RestoreFromBackup extends Command $env_vars = getenv(); $env_vars['MYSQL_PWD'] = config('database.connections.mysql.password'); - $proc_results = proc_open('mysql -h '.escapeshellarg(config('database.connections.mysql.host')).' -u '.escapeshellarg(config('database.connections.mysql.username')).' '.escapeshellarg(config('database.connections.mysql.database')), // yanked -p since we pass via ENV + // TODO notes: we are stealing the dump_binary_path (which *probably* also has your copy of the mysql binary in it. But it might not, so we might need to extend this) + // we unilaterally prepend a slash to the `mysql` command. This might mean your path could look like /blah/blah/blah//mysql - which should be fine. But maybe in some environments it isn't? + $mysql_binary = config('database.connections.mysql.dump.dump_binary_path').'/mysql'; + if( ! file_exists($mysql_binary) ) { + return $this->error("mysql tool at: '$mysql_binary' does not exist, cannot restore. Please edit DB_DUMP_PATH in your .env to point to a directory that contains the mysqldump and mysql binary"); + } + $proc_results = proc_open("$mysql_binary -h ".escapeshellarg(config('database.connections.mysql.host')).' -u '.escapeshellarg(config('database.connections.mysql.username')).' '.escapeshellarg(config('database.connections.mysql.database')), // yanked -p since we pass via ENV [0 => ['pipe', 'r'], 1 => ['pipe', 'w'], 2 => ['pipe', 'w']], $pipes, null, @@ -233,9 +244,10 @@ class RestoreFromBackup extends Command return false; } - - while (($buffer = fgets($sql_contents)) !== false) { - //$this->info("Buffer is: '$buffer'"); + $bytes_read = 0; + while (($buffer = fgets($sql_contents, self::$buffer_size)) !== false) { + $bytes_read += strlen($buffer); + // \Log::debug("Buffer is: '$buffer'"); $bytes_written = fwrite($pipes[0], $buffer); if ($bytes_written === false) { $stdout = fgets($pipes[1]); @@ -246,6 +258,10 @@ class RestoreFromBackup extends Command return false; } } + if (!feof($sql_contents) || $bytes_read == 0) { + return $this->error("Not at end of file for sql file, or zero bytes read. aborting!"); + } + fclose($pipes[0]); fclose($sql_contents); @@ -273,7 +289,7 @@ class RestoreFromBackup extends Command $fp = $za->getStream($ugly_file_name); //$this->info("Weird problem, here are file details? ".print_r($file_details,true)); $migrated_file = fopen($file_details['dest'].'/'.basename($pretty_file_name), 'w'); - while (($buffer = fgets($fp)) !== false) { + while (($buffer = fgets($fp, self::$buffer_size)) !== false) { fwrite($migrated_file, $buffer); } fclose($migrated_file); diff --git a/app/Helpers/Helper.php b/app/Helpers/Helper.php index 422bef6e2..528e8851e 100644 --- a/app/Helpers/Helper.php +++ b/app/Helpers/Helper.php @@ -402,6 +402,19 @@ class Helper */ public static function ParseFloat($floatString) { + /******* + * + * WARNING: This does conversions based on *locale* - a Unix-ey-like thing. + * + * Everything else in the system tends to convert based on the Snipe-IT settings + * + * So it's very likely this is *not* what you want - instead look for the new + * + * ParseCurrency($currencyString) + * + * Which should be directly below here + * + */ $LocaleInfo = localeconv(); $floatString = str_replace(',', '', $floatString); $floatString = str_replace($LocaleInfo['decimal_point'], '.', $floatString); @@ -416,6 +429,26 @@ class Helper return floatval($floatString); } + + /** + * Format currency using comma or period for thousands, and period or comma for decimal, based on settings. + * + * @author [B. Wetherington] [] + * @since [v5.2] + * @return Float + */ + public static function ParseCurrency($currencyString) { + $without_currency = str_replace(Setting::getSettings()->default_currency, '', $currencyString); //generally shouldn't come up, since we don't do this in fields, but just in case it does... + if(Setting::getSettings()->digit_separator=='1.234,56') { + //EU format + $without_thousands = str_replace('.', '', $without_currency); + $corrected_decimal = str_replace(',', '.', $without_thousands); + } else { + $without_thousands = str_replace(',', '', $without_currency); + $corrected_decimal = $without_thousands; // decimal is already OK + } + return floatval($corrected_decimal); + } /** * Get the list of status labels in an array to make a dropdown menu diff --git a/app/Http/Controllers/Accessories/AccessoriesController.php b/app/Http/Controllers/Accessories/AccessoriesController.php index 256634f89..108f62494 100755 --- a/app/Http/Controllers/Accessories/AccessoriesController.php +++ b/app/Http/Controllers/Accessories/AccessoriesController.php @@ -66,19 +66,19 @@ class AccessoriesController extends Controller $accessory = new Accessory(); // Update the accessory data - $accessory->name = request('name'); - $accessory->category_id = request('category_id'); - $accessory->location_id = request('location_id'); - $accessory->min_amt = request('min_amt'); - $accessory->company_id = Company::getIdForCurrentUser(request('company_id')); - $accessory->order_number = request('order_number'); - $accessory->manufacturer_id = request('manufacturer_id'); - $accessory->model_number = request('model_number'); - $accessory->purchase_date = request('purchase_date'); - $accessory->purchase_cost = Helper::ParseFloat(request('purchase_cost')); - $accessory->qty = request('qty'); - $accessory->user_id = Auth::user()->id; - $accessory->supplier_id = request('supplier_id'); + $accessory->name = request('name'); + $accessory->category_id = request('category_id'); + $accessory->location_id = request('location_id'); + $accessory->min_amt = request('min_amt'); + $accessory->company_id = Company::getIdForCurrentUser(request('company_id')); + $accessory->order_number = request('order_number'); + $accessory->manufacturer_id = request('manufacturer_id'); + $accessory->model_number = request('model_number'); + $accessory->purchase_date = request('purchase_date'); + $accessory->purchase_cost = Helper::ParseCurrency(request('purchase_cost')); + $accessory->qty = request('qty'); + $accessory->user_id = Auth::user()->id; + $accessory->supplier_id = request('supplier_id'); $accessory = $request->handleImages($accessory); @@ -101,6 +101,7 @@ class AccessoriesController extends Controller */ public function edit($accessoryId = null) { + if ($item = Accessory::find($accessoryId)) { $this->authorize($item); @@ -108,8 +109,10 @@ class AccessoriesController extends Controller } return redirect()->route('accessories.index')->with('error', trans('admin/accessories/message.does_not_exist')); + } + /** * Save edited Accessory from form post * @@ -128,18 +131,18 @@ class AccessoriesController extends Controller $this->authorize($accessory); // Update the accessory data - $accessory->name = request('name'); - $accessory->location_id = request('location_id'); - $accessory->min_amt = request('min_amt'); - $accessory->category_id = request('category_id'); - $accessory->company_id = Company::getIdForCurrentUser(request('company_id')); - $accessory->manufacturer_id = request('manufacturer_id'); - $accessory->order_number = request('order_number'); - $accessory->model_number = request('model_number'); - $accessory->purchase_date = request('purchase_date'); - $accessory->purchase_cost = request('purchase_cost'); - $accessory->qty = request('qty'); - $accessory->supplier_id = request('supplier_id'); + $accessory->name = request('name'); + $accessory->location_id = request('location_id'); + $accessory->min_amt = request('min_amt'); + $accessory->category_id = request('category_id'); + $accessory->company_id = Company::getIdForCurrentUser(request('company_id')); + $accessory->manufacturer_id = request('manufacturer_id'); + $accessory->order_number = request('order_number'); + $accessory->model_number = request('model_number'); + $accessory->purchase_date = request('purchase_date'); + $accessory->purchase_cost = Helper::ParseCurrency(request('purchase_cost')); + $accessory->qty = request('qty'); + $accessory->supplier_id = request('supplier_id'); $accessory = $request->handleImages($accessory); @@ -167,6 +170,7 @@ class AccessoriesController extends Controller $this->authorize($accessory); + if ($accessory->hasUsers() > 0) { return redirect()->route('accessories.index')->with('error', trans('admin/accessories/message.assoc_users', ['count'=> $accessory->hasUsers()])); } @@ -184,6 +188,7 @@ class AccessoriesController extends Controller return redirect()->route('accessories.index')->with('success', trans('admin/accessories/message.delete.success')); } + /** * Returns a view that invokes the ajax table which contains * the content for the accessory detail view, which is generated in getDataView. diff --git a/app/Http/Controllers/Api/AssetMaintenancesController.php b/app/Http/Controllers/Api/AssetMaintenancesController.php index 2d694df02..6dcc009fc 100644 --- a/app/Http/Controllers/Api/AssetMaintenancesController.php +++ b/app/Http/Controllers/Api/AssetMaintenancesController.php @@ -21,6 +21,8 @@ use Illuminate\Support\Facades\Input; */ class AssetMaintenancesController extends Controller { + + /** * Generates the JSON response for asset maintenances listing view. * @@ -82,10 +84,12 @@ class AssetMaintenancesController extends Controller $total = $maintenances->count(); $maintenances = $maintenances->skip($offset)->take($limit)->get(); - return (new AssetMaintenancesTransformer())->transformAssetMaintenances($maintenances, $total); + + } + /** * Validates and stores the new asset maintenance * @@ -101,7 +105,7 @@ class AssetMaintenancesController extends Controller $assetMaintenance = new AssetMaintenance(); $assetMaintenance->supplier_id = $request->input('supplier_id'); $assetMaintenance->is_warranty = $request->input('is_warranty'); - $assetMaintenance->cost = e($request->input('cost')); + $assetMaintenance->cost = Helper::ParseCurrency($request->input('cost')); $assetMaintenance->notes = e($request->input('notes')); $asset = Asset::find(e($request->input('asset_id'))); @@ -129,9 +133,11 @@ class AssetMaintenancesController extends Controller // Was the asset maintenance created? if ($assetMaintenance->save()) { return response()->json(Helper::formatStandardApiResponse('success', $assetMaintenance, trans('admin/asset_maintenances/message.create.success'))); + } return response()->json(Helper::formatStandardApiResponse('error', null, $assetMaintenance->getErrors())); + } /** @@ -155,7 +161,7 @@ class AssetMaintenancesController extends Controller $assetMaintenance->supplier_id = e($request->input('supplier_id')); $assetMaintenance->is_warranty = e($request->input('is_warranty')); - $assetMaintenance->cost = Helper::ParseFloat(e($request->input('cost'))); + $assetMaintenance->cost = Helper::ParseCurrency($request->input('cost')); $assetMaintenance->notes = e($request->input('notes')); $asset = Asset::find(request('asset_id')); @@ -192,6 +198,7 @@ class AssetMaintenancesController extends Controller // Was the asset maintenance created? if ($assetMaintenance->save()) { return response()->json(Helper::formatStandardApiResponse('success', $assetMaintenance, trans('admin/asset_maintenances/message.edit.success'))); + } return response()->json(Helper::formatStandardApiResponse('error', null, $assetMaintenance->getErrors())); @@ -218,6 +225,8 @@ class AssetMaintenancesController extends Controller $assetMaintenance->delete(); return response()->json(Helper::formatStandardApiResponse('success', $assetMaintenance, trans('admin/asset_maintenances/message.delete.success'))); + + } /** @@ -237,5 +246,6 @@ class AssetMaintenancesController extends Controller } return (new AssetMaintenancesTransformer())->transformAssetMaintenance($assetMaintenance); + } } diff --git a/app/Http/Controllers/Api/AssetModelsController.php b/app/Http/Controllers/Api/AssetModelsController.php index 82e792d55..e4385032d 100644 --- a/app/Http/Controllers/Api/AssetModelsController.php +++ b/app/Http/Controllers/Api/AssetModelsController.php @@ -66,7 +66,7 @@ class AssetModelsController extends Controller ->with('category', 'depreciation', 'manufacturer', 'fieldset') ->withCount('assets as assets_count'); - if ($request->filled('status')) { + if ($request->input('status')=='deleted') { $assetmodels->onlyTrashed(); } @@ -102,6 +102,7 @@ class AssetModelsController extends Controller return (new AssetModelsTransformer)->transformAssetModels($assetmodels, $total); } + /** * Store a newly created resource in storage. * @@ -120,8 +121,9 @@ class AssetModelsController extends Controller if ($assetmodel->save()) { return response()->json(Helper::formatStandardApiResponse('success', $assetmodel, trans('admin/models/message.create.success'))); } - return response()->json(Helper::formatStandardApiResponse('error', null, $assetmodel->getErrors())); + + } /** @@ -156,6 +158,7 @@ class AssetModelsController extends Controller return (new AssetsTransformer)->transformAssets($assets, $assets->count()); } + /** * Update the specified resource in storage. * @@ -184,6 +187,7 @@ class AssetModelsController extends Controller $assetmodel->fieldset_id = $request->get('custom_fieldset_id'); } + if ($assetmodel->save()) { return response()->json(Helper::formatStandardApiResponse('success', $assetmodel, trans('admin/models/message.update.success'))); } diff --git a/app/Http/Controllers/Api/AssetsController.php b/app/Http/Controllers/Api/AssetsController.php index 32035146d..cdf37a903 100644 --- a/app/Http/Controllers/Api/AssetsController.php +++ b/app/Http/Controllers/Api/AssetsController.php @@ -171,6 +171,7 @@ class AssetsController extends Controller // case we override with the actual count, so we should return 0 items. $offset = (($assets) && ($request->get('offset') > $assets->count())) ? $assets->count() : $request->get('offset', 0); + // Check to make sure the limit is not higher than the max allowed ((config('app.max_results') >= $request->input('limit')) && ($request->filled('limit'))) ? $limit = $request->input('limit') : $limit = config('app.max_results'); @@ -188,6 +189,8 @@ class AssetsController extends Controller } } + + // This is used by the sidenav, mostly // We switched from using query scopes here because of a Laravel bug @@ -313,14 +316,28 @@ class AssetsController extends Controller $total = $assets->count(); $assets = $assets->skip($offset)->take($limit)->get(); + + + /** + * Include additional associated relationships + */ + if ($request->input('components')) { + $assets->loadMissing(['components' => function ($query) { + $query->orderBy('created_at', 'desc'); + }]); + } + + + /** * Here we're just determining which Transformer (via $transformer) to use based on the * variables we set earlier on in this method - we default to AssetsTransformer. */ - return (new $transformer)->transformAssets($assets, $total); + return (new $transformer)->transformAssets($assets, $total, $request); } + /** * Returns JSON with information about an asset (by tag) for detail view. * @@ -329,15 +346,16 @@ class AssetsController extends Controller * @since [v4.2.1] * @return JsonResponse */ - public function showByTag($tag) + public function showByTag(Request $request, $tag) { if ($asset = Asset::with('assetstatus')->with('assignedTo')->where('asset_tag', $tag)->first()) { $this->authorize('view', $asset); - return (new AssetsTransformer)->transformAsset($asset); + return (new AssetsTransformer)->transformAsset($asset, $request); } - return response()->json(Helper::formatStandardApiResponse('error', null, 'Asset not found'), 200); + + } /** @@ -348,17 +366,28 @@ class AssetsController extends Controller * @since [v4.2.1] * @return JsonResponse */ - public function showBySerial($serial) + public function showBySerial(Request $request, $serial) { $this->authorize('index', Asset::class); if ($assets = Asset::with('assetstatus')->with('assignedTo') ->withTrashed()->where('serial', $serial)->get()) { return (new AssetsTransformer)->transformAssets($assets, $assets->count()); } - return response()->json(Helper::formatStandardApiResponse('error', null, 'Asset not found'), 200); + + $assets = Asset::with('assetstatus')->with('assignedTo'); + + if ($request->input('deleted', 'false') === 'true') { + $assets = $assets->withTrashed(); } + $assets = $assets->where('serial', $serial)->get(); + if ($assets) { + return (new AssetsTransformer)->transformAssets($assets, $assets->count()); + } else { + return response()->json(Helper::formatStandardApiResponse('error', null, 'Asset not found'), 200); + } + } /** * Returns JSON with information about an asset for detail view. @@ -368,19 +397,19 @@ class AssetsController extends Controller * @since [v4.0] * @return JsonResponse */ - public function show($id) + public function show(Request $request, $id) { if ($asset = Asset::with('assetstatus')->with('assignedTo')->withTrashed() ->withCount('checkins as checkins_count', 'checkouts as checkouts_count', 'userRequests as user_requests_count')->findOrFail($id)) { $this->authorize('view', $asset); - return (new AssetsTransformer)->transformAsset($asset); + return (new AssetsTransformer)->transformAsset($asset, $request->input('components') ); } } - public function licenses($id) + public function licenses(Request $request, $id) { $this->authorize('view', Asset::class); $this->authorize('view', License::class); @@ -446,6 +475,7 @@ class AssetsController extends Controller return (new SelectlistTransformer)->transformSelectlist($assets); } + /** * Accepts a POST request to create a new asset * @@ -461,26 +491,26 @@ class AssetsController extends Controller $asset = new Asset(); $asset->model()->associate(AssetModel::find((int) $request->get('model_id'))); - $asset->name = $request->get('name'); - $asset->serial = $request->get('serial'); - $asset->company_id = Company::getIdForCurrentUser($request->get('company_id')); - $asset->model_id = $request->get('model_id'); - $asset->order_number = $request->get('order_number'); - $asset->notes = $request->get('notes'); - $asset->asset_tag = $request->get('asset_tag', Asset::autoincrement_asset()); - $asset->user_id = Auth::id(); - $asset->archived = '0'; - $asset->physical = '1'; - $asset->depreciate = '0'; - $asset->status_id = $request->get('status_id', 0); - $asset->warranty_months = $request->get('warranty_months', null); - $asset->purchase_cost = Helper::ParseFloat($request->get('purchase_cost')); - $asset->purchase_date = $request->get('purchase_date', null); - $asset->assigned_to = $request->get('assigned_to', null); - $asset->supplier_id = $request->get('supplier_id', 0); - $asset->requestable = $request->get('requestable', 0); - $asset->rtd_location_id = $request->get('rtd_location_id', null); - $asset->location_id = $request->get('rtd_location_id', null); + $asset->name = $request->get('name'); + $asset->serial = $request->get('serial'); + $asset->company_id = Company::getIdForCurrentUser($request->get('company_id')); + $asset->model_id = $request->get('model_id'); + $asset->order_number = $request->get('order_number'); + $asset->notes = $request->get('notes'); + $asset->asset_tag = $request->get('asset_tag', Asset::autoincrement_asset()); + $asset->user_id = Auth::id(); + $asset->archived = '0'; + $asset->physical = '1'; + $asset->depreciate = '0'; + $asset->status_id = $request->get('status_id', 0); + $asset->warranty_months = $request->get('warranty_months', null); + $asset->purchase_cost = Helper::ParseCurrency($request->get('purchase_cost')); // this is the API's store method, so I don't know that I want to do this? Confusing. FIXME (or not?!) + $asset->purchase_date = $request->get('purchase_date', null); + $asset->assigned_to = $request->get('assigned_to', null); + $asset->supplier_id = $request->get('supplier_id', 0); + $asset->requestable = $request->get('requestable', 0); + $asset->rtd_location_id = $request->get('rtd_location_id', null); + $asset->location_id = $request->get('rtd_location_id', null); /** * this is here just legacy reasons. Api\AssetController @@ -550,6 +580,7 @@ class AssetsController extends Controller return response()->json(Helper::formatStandardApiResponse('error', null, $asset->getErrors()), 200); } + /** * Accepts a POST request to update an asset * @@ -658,6 +689,8 @@ class AssetsController extends Controller return response()->json(Helper::formatStandardApiResponse('error', null, trans('admin/hardware/message.does_not_exist')), 200); } + + /** * Restore a soft-deleted asset. * @@ -880,7 +913,7 @@ class AssetsController extends Controller } } - return response()->json(Helper::formatStandardApiResponse('error', ['asset_tag'=> e($request->input('asset_tag'))], 'Asset with tag '.$request->input('asset_tag').' not found')); + return response()->json(Helper::formatStandardApiResponse('error', ['asset_tag'=> e($request->input('asset_tag'))], 'Asset with tag '.e($request->input('asset_tag')).' not found')); diff --git a/app/Http/Controllers/Api/ComponentsController.php b/app/Http/Controllers/Api/ComponentsController.php index b9712b278..0eb4ab9d1 100644 --- a/app/Http/Controllers/Api/ComponentsController.php +++ b/app/Http/Controllers/Api/ComponentsController.php @@ -223,7 +223,7 @@ class ComponentsController extends Controller $this->authorize('checkout', $component); - if ($component->numRemaining() > $request->get('assigned_qty')) { + if ($component->numRemaining() >= $request->get('assigned_qty')) { if (!$asset = Asset::find($request->input('assigned_to'))) { return response()->json(Helper::formatStandardApiResponse('error', null, trans('admin/hardware/message.does_not_exist'))); diff --git a/app/Http/Controllers/Api/DepartmentsController.php b/app/Http/Controllers/Api/DepartmentsController.php index 21c2ac114..9c648e635 100644 --- a/app/Http/Controllers/Api/DepartmentsController.php +++ b/app/Http/Controllers/Api/DepartmentsController.php @@ -6,6 +6,7 @@ use App\Helpers\Helper; use App\Http\Controllers\Controller; use App\Http\Transformers\DepartmentsTransformer; use App\Http\Transformers\SelectlistTransformer; +use App\Models\Company; use App\Models\Department; use Auth; use Illuminate\Http\Request; @@ -26,7 +27,7 @@ class DepartmentsController extends Controller $this->authorize('view', Department::class); $allowed_columns = ['id', 'name', 'image', 'users_count']; - $departments = Department::select([ + $departments = Company::scopeCompanyables(Department::select( 'departments.id', 'departments.name', 'departments.location_id', @@ -34,8 +35,8 @@ class DepartmentsController extends Controller 'departments.manager_id', 'departments.created_at', 'departments.updated_at', - 'departments.image', - ])->with('users')->with('location')->with('manager')->with('company')->withCount('users as users_count'); + 'departments.image'), + "company_id", "departments")->with('users')->with('location')->with('manager')->with('company')->withCount('users as users_count'); if ($request->filled('search')) { $departments = $departments->TextSearch($request->input('search')); diff --git a/app/Http/Controllers/Api/LicensesController.php b/app/Http/Controllers/Api/LicensesController.php index b8ea3b03e..ad6e75ab7 100644 --- a/app/Http/Controllers/Api/LicensesController.php +++ b/app/Http/Controllers/Api/LicensesController.php @@ -76,6 +76,18 @@ class LicensesController extends Controller $licenses->where('supplier_id', '=', $request->input('supplier_id')); } + if (($request->filled('maintained')) && ($request->input('maintained')=='true')) { + $licenses->where('maintained','=',1); + } elseif (($request->filled('maintained')) && ($request->input('maintained')=='false')) { + $licenses->where('maintained','=',0); + } + + if (($request->filled('expires')) && ($request->input('expires')=='true')) { + $licenses->whereNotNull('expiration_date'); + } elseif (($request->filled('expires')) && ($request->input('expires')=='false')) { + $licenses->whereNull('expiration_date'); + } + if ($request->filled('search')) { $licenses = $licenses->TextSearch($request->input('search')); } diff --git a/app/Http/Controllers/Api/UsersController.php b/app/Http/Controllers/Api/UsersController.php index ed6ab5bd6..2f9dc8cf2 100644 --- a/app/Http/Controllers/Api/UsersController.php +++ b/app/Http/Controllers/Api/UsersController.php @@ -68,6 +68,7 @@ class UsersController extends Controller ->withCount('assets as assets_count', 'licenses as licenses_count', 'accessories as accessories_count', 'consumables as consumables_count'); $users = Company::scopeCompanyables($users); + if (($request->filled('deleted')) && ($request->input('deleted') == 'true')) { $users = $users->onlyTrashed(); } elseif (($request->filled('all')) && ($request->input('all') == 'true')) { @@ -144,6 +145,7 @@ class UsersController extends Controller // Check to make sure the limit is not higher than the max allowed ((config('app.max_results') >= $request->input('limit')) && ($request->filled('limit'))) ? $limit = $request->input('limit') : $limit = config('app.max_results'); + switch ($request->input('sort')) { case 'manager': $users = $users->OrderManager($order); @@ -233,6 +235,8 @@ class UsersController extends Controller return (new SelectlistTransformer)->transformSelectlist($users); } + + /** * Store a newly created resource in storage. * @@ -291,6 +295,7 @@ class UsersController extends Controller return (new UsersTransformer)->transformUser($user); } + /** * Update the specified resource in storage. * @@ -320,6 +325,7 @@ class UsersController extends Controller return response()->json(Helper::formatStandardApiResponse('error', null, 'Permission denied. You cannot update user information via API on the demo.')); } + $user->fill($request->all()); if ($user->id == $request->input('manager_id')) { @@ -343,6 +349,8 @@ class UsersController extends Controller $user->permissions = $permissions_array; } + + // Update the location of any assets checked out to this user Asset::where('assigned_type', User::class) ->where('assigned_to', $user->id)->update(['location_id' => $request->input('location_id', null)]); @@ -366,6 +374,7 @@ class UsersController extends Controller $user->groups()->sync([]); } + return response()->json(Helper::formatStandardApiResponse('success', (new UsersTransformer)->transformUser($user), trans('admin/users/message.success.update'))); } @@ -427,13 +436,13 @@ class UsersController extends Controller * @param $userId * @return string JSON */ - public function assets($id) + public function assets(Request $request, $id) { $this->authorize('view', User::class); $this->authorize('view', Asset::class); $assets = Asset::where('assigned_to', '=', $id)->where('assigned_type', '=', User::class)->with('model')->get(); - return (new AssetsTransformer)->transformAssets($assets, $assets->count()); + return (new AssetsTransformer)->transformAssets($assets, $assets->count(), $request); } /** @@ -496,8 +505,9 @@ class UsersController extends Controller return response()->json(['message' => trans('admin/settings/general.two_factor_reset_error')], 500); } } - return response()->json(['message' => 'No ID provided'], 500); + + } /** diff --git a/app/Http/Controllers/AssetMaintenancesController.php b/app/Http/Controllers/AssetMaintenancesController.php index b1c28ea26..1ab24b768 100644 --- a/app/Http/Controllers/AssetMaintenancesController.php +++ b/app/Http/Controllers/AssetMaintenancesController.php @@ -98,7 +98,7 @@ class AssetMaintenancesController extends Controller $assetMaintenance = new AssetMaintenance(); $assetMaintenance->supplier_id = $request->input('supplier_id'); $assetMaintenance->is_warranty = $request->input('is_warranty'); - $assetMaintenance->cost = $request->input('cost'); + $assetMaintenance->cost = Helper::ParseCurrency($request->input('cost')); $assetMaintenance->notes = $request->input('notes'); $asset = Asset::find($request->input('asset_id')); @@ -206,7 +206,7 @@ class AssetMaintenancesController extends Controller $assetMaintenance->supplier_id = $request->input('supplier_id'); $assetMaintenance->is_warranty = $request->input('is_warranty'); - $assetMaintenance->cost = Helper::ParseFloat($request->input('cost')); + $assetMaintenance->cost = Helper::ParseCurrency($request->input('cost')); $assetMaintenance->notes = $request->input('notes'); $asset = Asset::find(request('asset_id')); diff --git a/app/Http/Controllers/Assets/AssetFilesController.php b/app/Http/Controllers/Assets/AssetFilesController.php index 276705b46..2c7d6ff9e 100644 --- a/app/Http/Controllers/Assets/AssetFilesController.php +++ b/app/Http/Controllers/Assets/AssetFilesController.php @@ -9,6 +9,7 @@ use App\Models\Actionlog; use App\Models\Asset; use Illuminate\Support\Facades\Response; use Illuminate\Support\Facades\Storage; +use enshrined\svgSanitize\Sanitizer; class AssetFilesController extends Controller { @@ -36,9 +37,29 @@ class AssetFilesController extends Controller } foreach ($request->file('file') as $file) { + $extension = $file->getClientOriginalExtension(); $file_name = 'hardware-'.$asset->id.'-'.str_random(8).'-'.str_slug(basename($file->getClientOriginalName(), '.'.$extension)).'.'.$extension; + + // Check for SVG and sanitize it + if ($extension=='svg') { + \Log::debug('This is an SVG'); + + $sanitizer = new Sanitizer(); + $dirtySVG = file_get_contents($file->getRealPath()); + $cleanSVG = $sanitizer->sanitize($dirtySVG); + + try { + Storage::put('private_uploads/assets/'.$file_name, $cleanSVG); + } catch (\Exception $e) { + \Log::debug('Upload no workie :( '); + \Log::debug($e); + } + } else { Storage::put('private_uploads/assets/'.$file_name, file_get_contents($file)); + } + + $asset->logUpload($file_name, e($request->get('notes'))); } @@ -127,7 +148,6 @@ class AssetFilesController extends Controller return redirect()->back()->with('success', trans('admin/hardware/message.deletefile.success')); } - $log->delete(); return redirect()->back() ->with('success', trans('admin/hardware/message.deletefile.success')); diff --git a/app/Http/Controllers/Assets/AssetsController.php b/app/Http/Controllers/Assets/AssetsController.php index b4ea12b6f..934573cc7 100755 --- a/app/Http/Controllers/Assets/AssetsController.php +++ b/app/Http/Controllers/Assets/AssetsController.php @@ -129,22 +129,22 @@ class AssetsController extends Controller $asset->asset_tag = $asset_tags[$a]; } - $asset->company_id = Company::getIdForCurrentUser($request->input('company_id')); - $asset->model_id = $request->input('model_id'); - $asset->order_number = $request->input('order_number'); - $asset->notes = $request->input('notes'); - $asset->user_id = Auth::id(); - $asset->archived = '0'; - $asset->physical = '1'; - $asset->depreciate = '0'; - $asset->status_id = request('status_id', 0); - $asset->warranty_months = request('warranty_months', null); - $asset->purchase_cost = Helper::ParseFloat($request->get('purchase_cost')); - $asset->purchase_date = request('purchase_date', null); - $asset->assigned_to = request('assigned_to', null); - $asset->supplier_id = request('supplier_id', 0); - $asset->requestable = request('requestable', 0); - $asset->rtd_location_id = request('rtd_location_id', null); + $asset->company_id = Company::getIdForCurrentUser($request->input('company_id')); + $asset->model_id = $request->input('model_id'); + $asset->order_number = $request->input('order_number'); + $asset->notes = $request->input('notes'); + $asset->user_id = Auth::id(); + $asset->archived = '0'; + $asset->physical = '1'; + $asset->depreciate = '0'; + $asset->status_id = request('status_id', 0); + $asset->warranty_months = request('warranty_months', null); + $asset->purchase_cost = Helper::ParseCurrency($request->get('purchase_cost')); + $asset->purchase_date = request('purchase_date', null); + $asset->assigned_to = request('assigned_to', null); + $asset->supplier_id = request('supplier_id', 0); + $asset->requestable = request('requestable', 0); + $asset->rtd_location_id = request('rtd_location_id', null); if (! empty($settings->audit_interval)) { $asset->next_audit_date = Carbon::now()->addMonths($settings->audit_interval)->toDateString(); @@ -296,7 +296,7 @@ class AssetsController extends Controller $asset->status_id = $request->input('status_id', null); $asset->warranty_months = $request->input('warranty_months', null); - $asset->purchase_cost = Helper::ParseFloat($request->input('purchase_cost', null)); + $asset->purchase_cost = Helper::ParseCurrency($request->input('purchase_cost', null)); $asset->purchase_date = $request->input('purchase_date', null); $asset->supplier_id = $request->input('supplier_id', null); $asset->expected_checkin = $request->input('expected_checkin', null); @@ -357,6 +357,7 @@ class AssetsController extends Controller } } + if ($asset->save()) { return redirect()->route('hardware.show', $assetId) ->with('success', trans('admin/hardware/message.update.success')); @@ -828,8 +829,8 @@ class AssetsController extends Controller Storage::putFileAs($path, $upload, $file_name); } - $asset->logAudit($request->input('note'), $request->input('location_id'), $file_name); + $asset->logAudit($request->input('note'), $request->input('location_id'), $file_name); return redirect()->to('hardware')->with('success', trans('admin/hardware/message.audit.success')); } } diff --git a/app/Http/Controllers/Assets/BulkAssetsController.php b/app/Http/Controllers/Assets/BulkAssetsController.php index ebc2b0873..164c0f96a 100644 --- a/app/Http/Controllers/Assets/BulkAssetsController.php +++ b/app/Http/Controllers/Assets/BulkAssetsController.php @@ -32,7 +32,8 @@ class BulkAssetsController extends Controller return redirect()->back()->with('error', 'No assets selected'); } - $asset_ids = array_keys($request->input('ids')); + + $asset_ids = array_values(array_unique($request->input('ids'))); if ($request->filled('bulk_actions')) { switch ($request->input('bulk_actions')) { @@ -51,7 +52,7 @@ class BulkAssetsController extends Controller return view('hardware/bulk-delete')->with('assets', $assets); case 'edit': return view('hardware/bulk') - ->with('assets', request('ids')) + ->with('assets', $asset_ids) ->with('statuslabel_list', Helper::statusLabelList()); } } @@ -92,6 +93,7 @@ class BulkAssetsController extends Controller || ($request->filled('model_id')) ) { foreach ($assets as $assetId) { + $this->update_array = []; $this->conditionallyAddItem('purchase_date') @@ -104,7 +106,7 @@ class BulkAssetsController extends Controller ->conditionallyAddItem('warranty_months'); if ($request->filled('purchase_cost')) { - $this->update_array['purchase_cost'] = Helper::ParseFloat($request->input('purchase_cost')); + $this->update_array['purchase_cost'] = Helper::ParseCurrency($request->input('purchase_cost')); } if ($request->filled('company_id')) { diff --git a/app/Http/Controllers/Auth/ForgotPasswordController.php b/app/Http/Controllers/Auth/ForgotPasswordController.php index 4f7e40998..8912da442 100644 --- a/app/Http/Controllers/Auth/ForgotPasswordController.php +++ b/app/Http/Controllers/Auth/ForgotPasswordController.php @@ -29,6 +29,7 @@ class ForgotPasswordController extends Controller public function __construct() { $this->middleware('guest'); + $this->middleware('throttle:5,1', ['except' => 'showLinkRequestForm']); } /** @@ -66,7 +67,7 @@ class ForgotPasswordController extends Controller * Once we have attempted to send the link, we will examine the response * then see the message we need to show to the user. Finally, we'll send out a proper response. */ - + $response = null; try { diff --git a/app/Http/Controllers/Auth/LoginController.php b/app/Http/Controllers/Auth/LoginController.php index b7bbe4536..2c94cc70b 100644 --- a/app/Http/Controllers/Auth/LoginController.php +++ b/app/Http/Controllers/Auth/LoginController.php @@ -154,6 +154,9 @@ class LoginController extends Controller { $header_name = Setting::getSettings()->login_remote_user_header_name ?: 'REMOTE_USER'; $remote_user = $request->server($header_name); + if (!isset($remote_user)) { + $remote_user = $request->server('REDIRECT_'.$header_name); + } if (Setting::getSettings()->login_remote_user_enabled == '1' && isset($remote_user) && ! empty($remote_user)) { Log::debug("Authenticating via HTTP header $header_name."); diff --git a/app/Http/Controllers/BulkAssetModelsController.php b/app/Http/Controllers/BulkAssetModelsController.php index 19cd7f11d..acb8e30b7 100644 --- a/app/Http/Controllers/BulkAssetModelsController.php +++ b/app/Http/Controllers/BulkAssetModelsController.php @@ -80,6 +80,11 @@ class BulkAssetModelsController extends Controller $update_array['depreciation_id'] = $request->input('depreciation_id'); } + if ($request->filled('requestable') != '') { + $update_array['requestable'] = $request->input('requestable'); + } + + if (count($update_array) > 0) { AssetModel::whereIn('id', $models_raw_array)->update($update_array); diff --git a/app/Http/Controllers/CheckInOutRequest.php b/app/Http/Controllers/CheckInOutRequest.php index c521c7a3e..6dd7e4aba 100644 --- a/app/Http/Controllers/CheckInOutRequest.php +++ b/app/Http/Controllers/CheckInOutRequest.php @@ -39,6 +39,8 @@ trait CheckInOutRequest switch (request('checkout_to_type')) { case 'location': $asset->location_id = $target->id; + Asset::where('assigned_type', 'App\Models\Asset')->where('assigned_to', $asset->id) + ->update(['location_id' => $asset->location_id]); break; case 'asset': $asset->location_id = $target->rtd_location_id; diff --git a/app/Http/Controllers/Components/ComponentsController.php b/app/Http/Controllers/Components/ComponentsController.php index 95bb8c5e0..664dd6493 100644 --- a/app/Http/Controllers/Components/ComponentsController.php +++ b/app/Http/Controllers/Components/ComponentsController.php @@ -6,6 +6,7 @@ use App\Http\Controllers\Controller; use App\Http\Requests\ImageUploadRequest; use App\Models\Company; use App\Models\Component; +use App\Helpers\Helper; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Input; use Illuminate\Support\Facades\Storage; @@ -36,6 +37,7 @@ class ComponentsController extends Controller return view('components/index'); } + /** * Returns a form to create a new component. * @@ -67,17 +69,17 @@ class ComponentsController extends Controller { $this->authorize('create', Component::class); $component = new Component(); - $component->name = $request->input('name'); - $component->category_id = $request->input('category_id'); - $component->location_id = $request->input('location_id'); - $component->company_id = Company::getIdForCurrentUser($request->input('company_id')); - $component->order_number = $request->input('order_number', null); - $component->min_amt = $request->input('min_amt', null); - $component->serial = $request->input('serial', null); - $component->purchase_date = $request->input('purchase_date', null); - $component->purchase_cost = $request->input('purchase_cost', null); - $component->qty = $request->input('qty'); - $component->user_id = Auth::id(); + $component->name = $request->input('name'); + $component->category_id = $request->input('category_id'); + $component->location_id = $request->input('location_id'); + $component->company_id = Company::getIdForCurrentUser($request->input('company_id')); + $component->order_number = $request->input('order_number', null); + $component->min_amt = $request->input('min_amt', null); + $component->serial = $request->input('serial', null); + $component->purchase_date = $request->input('purchase_date', null); + $component->purchase_cost = Helper::ParseCurrency($request->input('purchase_cost', null)); + $component->qty = $request->input('qty'); + $component->user_id = Auth::id(); $component = $request->handleImages($component); @@ -109,6 +111,7 @@ class ComponentsController extends Controller return redirect()->route('components.index')->with('error', trans('admin/components/message.does_not_exist')); } + /** * Return a view to edit a component. * @@ -139,16 +142,16 @@ class ComponentsController extends Controller $this->authorize('update', $component); // Update the component data - $component->name = $request->input('name'); - $component->category_id = $request->input('category_id'); - $component->location_id = $request->input('location_id'); - $component->company_id = Company::getIdForCurrentUser($request->input('company_id')); - $component->order_number = $request->input('order_number'); - $component->min_amt = $request->input('min_amt'); - $component->serial = $request->input('serial'); - $component->purchase_date = $request->input('purchase_date'); - $component->purchase_cost = request('purchase_cost'); - $component->qty = $request->input('qty'); + $component->name = $request->input('name'); + $component->category_id = $request->input('category_id'); + $component->location_id = $request->input('location_id'); + $component->company_id = Company::getIdForCurrentUser($request->input('company_id')); + $component->order_number = $request->input('order_number'); + $component->min_amt = $request->input('min_amt'); + $component->serial = $request->input('serial'); + $component->purchase_date = $request->input('purchase_date'); + $component->purchase_cost = Helper::ParseCurrency(request('purchase_cost')); + $component->qty = $request->input('qty'); $component = $request->handleImages($component); diff --git a/app/Http/Controllers/Consumables/ConsumablesController.php b/app/Http/Controllers/Consumables/ConsumablesController.php index 7b3947cab..dc81f5fee 100644 --- a/app/Http/Controllers/Consumables/ConsumablesController.php +++ b/app/Http/Controllers/Consumables/ConsumablesController.php @@ -65,19 +65,19 @@ class ConsumablesController extends Controller { $this->authorize('create', Consumable::class); $consumable = new Consumable(); - $consumable->name = $request->input('name'); - $consumable->category_id = $request->input('category_id'); - $consumable->location_id = $request->input('location_id'); - $consumable->company_id = Company::getIdForCurrentUser($request->input('company_id')); - $consumable->order_number = $request->input('order_number'); - $consumable->min_amt = $request->input('min_amt'); - $consumable->manufacturer_id = $request->input('manufacturer_id'); - $consumable->model_number = $request->input('model_number'); - $consumable->item_no = $request->input('item_no'); - $consumable->purchase_date = $request->input('purchase_date'); - $consumable->purchase_cost = Helper::ParseFloat($request->input('purchase_cost')); - $consumable->qty = $request->input('qty'); - $consumable->user_id = Auth::id(); + $consumable->name = $request->input('name'); + $consumable->category_id = $request->input('category_id'); + $consumable->location_id = $request->input('location_id'); + $consumable->company_id = Company::getIdForCurrentUser($request->input('company_id')); + $consumable->order_number = $request->input('order_number'); + $consumable->min_amt = $request->input('min_amt'); + $consumable->manufacturer_id = $request->input('manufacturer_id'); + $consumable->model_number = $request->input('model_number'); + $consumable->item_no = $request->input('item_no'); + $consumable->purchase_date = $request->input('purchase_date'); + $consumable->purchase_cost = Helper::ParseCurrency($request->input('purchase_cost')); + $consumable->qty = $request->input('qty'); + $consumable->user_id = Auth::id(); $consumable = $request->handleImages($consumable); @@ -128,18 +128,18 @@ class ConsumablesController extends Controller $this->authorize($consumable); - $consumable->name = $request->input('name'); - $consumable->category_id = $request->input('category_id'); - $consumable->location_id = $request->input('location_id'); - $consumable->company_id = Company::getIdForCurrentUser($request->input('company_id')); - $consumable->order_number = $request->input('order_number'); - $consumable->min_amt = $request->input('min_amt'); - $consumable->manufacturer_id = $request->input('manufacturer_id'); - $consumable->model_number = $request->input('model_number'); - $consumable->item_no = $request->input('item_no'); - $consumable->purchase_date = $request->input('purchase_date'); - $consumable->purchase_cost = Helper::ParseFloat($request->input('purchase_cost')); - $consumable->qty = Helper::ParseFloat($request->input('qty')); + $consumable->name = $request->input('name'); + $consumable->category_id = $request->input('category_id'); + $consumable->location_id = $request->input('location_id'); + $consumable->company_id = Company::getIdForCurrentUser($request->input('company_id')); + $consumable->order_number = $request->input('order_number'); + $consumable->min_amt = $request->input('min_amt'); + $consumable->manufacturer_id = $request->input('manufacturer_id'); + $consumable->model_number = $request->input('model_number'); + $consumable->item_no = $request->input('item_no'); + $consumable->purchase_date = $request->input('purchase_date'); + $consumable->purchase_cost = Helper::ParseCurrency($request->input('purchase_cost')); + $consumable->qty = Helper::ParseFloat($request->input('qty')); $consumable = $request->handleImages($consumable); diff --git a/app/Http/Controllers/Licenses/LicenseFilesController.php b/app/Http/Controllers/Licenses/LicenseFilesController.php index e93aaf2be..81a2f26ed 100644 --- a/app/Http/Controllers/Licenses/LicenseFilesController.php +++ b/app/Http/Controllers/Licenses/LicenseFilesController.php @@ -7,10 +7,10 @@ use App\Http\Controllers\Controller; use App\Http\Requests\AssetFileRequest; use App\Models\Actionlog; use App\Models\License; -use Illuminate\Support\Facades\Input; use Illuminate\Support\Facades\Response; use Illuminate\Support\Facades\Storage; use Symfony\Component\HttpFoundation\JsonResponse; +use enshrined\svgSanitize\Sanitizer; class LicenseFilesController extends Controller { @@ -37,26 +37,39 @@ class LicenseFilesController extends Controller Storage::makeDirectory('private_uploads/licenses', 775); } - $upload_success = false; foreach ($request->file('file') as $file) { - $file_name = 'license-'.$license->id.'-'.str_random(8).'-'.str_slug(basename($file->getClientOriginalName(), '.'.$file->getClientOriginalExtension())).'.'.$file->getClientOriginalExtension(); - $upload_success = $file->storeAs('private_uploads/licenses', $file_name); - // $upload_success = $file->storeAs('private_uploads/licenses/'.$file_name, $file); + $extension = $file->getClientOriginalExtension(); + $file_name = 'license-'.$license->id.'-'.str_random(8).'-'.str_slug(basename($file->getClientOriginalName(), '.'.$extension)).'.'.$extension; + + + // Check for SVG and sanitize it + if ($extension == 'svg') { + \Log::debug('This is an SVG'); + \Log::debug($file_name); + + $sanitizer = new Sanitizer(); + $dirtySVG = file_get_contents($file->getRealPath()); + $cleanSVG = $sanitizer->sanitize($dirtySVG); + + try { + Storage::put('private_uploads/licenses/'.$file_name, $cleanSVG); + } catch (\Exception $e) { + \Log::debug('Upload no workie :( '); + \Log::debug($e); + } + + } else { + Storage::put('private_uploads/licenses/'.$file_name, file_get_contents($file)); + } //Log the upload to the log $license->logUpload($file_name, e($request->input('notes'))); } - // This being called from a modal seems to confuse redirect()->back() - // It thinks we should go to the dashboard. As this is only used - // from the modal at present, hardcode the redirect. Longterm - // maybe we evaluate something else. - if ($upload_success) { - return redirect()->route('licenses.show', $license->id)->with('success', trans('admin/licenses/message.upload.success')); - } - return redirect()->route('licenses.show', $license->id)->with('error', trans('admin/licenses/message.upload.error')); + return redirect()->route('licenses.show', $license->id)->with('success', trans('admin/licenses/message.upload.success')); + } return redirect()->route('licenses.show', $license->id)->with('error', trans('admin/licenses/message.upload.nofiles')); @@ -153,6 +166,7 @@ class LicenseFilesController extends Controller } return StorageHelper::downloader($file); + } } } diff --git a/app/Http/Controllers/Licenses/LicensesController.php b/app/Http/Controllers/Licenses/LicensesController.php index 2d1eca696..5272164b1 100755 --- a/app/Http/Controllers/Licenses/LicensesController.php +++ b/app/Http/Controllers/Licenses/LicensesController.php @@ -76,27 +76,27 @@ class LicensesController extends Controller // create a new model instance $license = new License(); // Save the license data - $license->company_id = Company::getIdForCurrentUser($request->input('company_id')); - $license->depreciation_id = $request->input('depreciation_id'); - $license->expiration_date = $request->input('expiration_date'); - $license->license_email = $request->input('license_email'); - $license->license_name = $request->input('license_name'); - $license->maintained = $request->input('maintained', 0); - $license->manufacturer_id = $request->input('manufacturer_id'); - $license->name = $request->input('name'); - $license->notes = $request->input('notes'); - $license->order_number = $request->input('order_number'); - $license->purchase_cost = $request->input('purchase_cost'); - $license->purchase_date = $request->input('purchase_date'); - $license->purchase_order = $request->input('purchase_order'); - $license->purchase_order = $request->input('purchase_order'); - $license->reassignable = $request->input('reassignable', 0); - $license->seats = $request->input('seats'); - $license->serial = $request->input('serial'); - $license->supplier_id = $request->input('supplier_id'); - $license->category_id = $request->input('category_id'); - $license->termination_date = $request->input('termination_date'); - $license->user_id = Auth::id(); + $license->company_id = Company::getIdForCurrentUser($request->input('company_id')); + $license->depreciation_id = $request->input('depreciation_id'); + $license->expiration_date = $request->input('expiration_date'); + $license->license_email = $request->input('license_email'); + $license->license_name = $request->input('license_name'); + $license->maintained = $request->input('maintained', 0); + $license->manufacturer_id = $request->input('manufacturer_id'); + $license->name = $request->input('name'); + $license->notes = $request->input('notes'); + $license->order_number = $request->input('order_number'); + $license->purchase_cost = Helper::ParseCurrency($request->input('purchase_cost')); + $license->purchase_date = $request->input('purchase_date'); + $license->purchase_order = $request->input('purchase_order'); + $license->purchase_order = $request->input('purchase_order'); + $license->reassignable = $request->input('reassignable', 0); + $license->seats = $request->input('seats'); + $license->serial = $request->input('serial'); + $license->supplier_id = $request->input('supplier_id'); + $license->category_id = $request->input('category_id'); + $license->termination_date = $request->input('termination_date'); + $license->user_id = Auth::id(); if ($license->save()) { return redirect()->route('licenses.index')->with('success', trans('admin/licenses/message.create.success')); @@ -154,25 +154,25 @@ class LicensesController extends Controller $this->authorize('update', $license); - $license->company_id = Company::getIdForCurrentUser($request->input('company_id')); - $license->depreciation_id = $request->input('depreciation_id'); - $license->expiration_date = $request->input('expiration_date'); - $license->license_email = $request->input('license_email'); - $license->license_name = $request->input('license_name'); - $license->maintained = $request->input('maintained', 0); - $license->name = $request->input('name'); - $license->notes = $request->input('notes'); - $license->order_number = $request->input('order_number'); - $license->purchase_cost = $request->input('purchase_cost'); - $license->purchase_date = $request->input('purchase_date'); - $license->purchase_order = $request->input('purchase_order'); - $license->reassignable = $request->input('reassignable', 0); - $license->serial = $request->input('serial'); - $license->termination_date = $request->input('termination_date'); - $license->seats = e($request->input('seats')); - $license->manufacturer_id = $request->input('manufacturer_id'); - $license->supplier_id = $request->input('supplier_id'); - $license->category_id = $request->input('category_id'); + $license->company_id = Company::getIdForCurrentUser($request->input('company_id')); + $license->depreciation_id = $request->input('depreciation_id'); + $license->expiration_date = $request->input('expiration_date'); + $license->license_email = $request->input('license_email'); + $license->license_name = $request->input('license_name'); + $license->maintained = $request->input('maintained',0); + $license->name = $request->input('name'); + $license->notes = $request->input('notes'); + $license->order_number = $request->input('order_number'); + $license->purchase_cost = Helper::ParseCurrency($request->input('purchase_cost')); + $license->purchase_date = $request->input('purchase_date'); + $license->purchase_order = $request->input('purchase_order'); + $license->reassignable = $request->input('reassignable', 0); + $license->serial = $request->input('serial'); + $license->termination_date = $request->input('termination_date'); + $license->seats = e($request->input('seats')); + $license->manufacturer_id = $request->input('manufacturer_id'); + $license->supplier_id = $request->input('supplier_id'); + $license->category_id = $request->input('category_id'); if ($license->save()) { return redirect()->route('licenses.show', ['license' => $licenseId])->with('success', trans('admin/licenses/message.update.success')); diff --git a/app/Http/Controllers/ReportsController.php b/app/Http/Controllers/ReportsController.php index 8199715b9..1665ef3d1 100644 --- a/app/Http/Controllers/ReportsController.php +++ b/app/Http/Controllers/ReportsController.php @@ -14,6 +14,7 @@ use App\Models\License; use App\Models\Setting; use App\Notifications\CheckoutAssetNotification; use Carbon\Carbon; +use Illuminate\Auth\Access\AuthorizationException; use Illuminate\Http\Request; use Illuminate\Support\Facades\Notification; use Illuminate\Support\Facades\Response; @@ -556,7 +557,7 @@ class ReportsController extends Controller foreach ($customfields as $customfield) { - if (e($request->input($customfield->db_column_name())) == '1') { + if ($request->input($customfield->db_column_name()) == '1') { $header[] = $customfield->name; } } @@ -908,6 +909,7 @@ class ReportsController extends Controller * * @return mixed * @throws \Illuminate\Auth\Access\AuthorizationException + * @author Vincent Sposato * @version v1.0 */ @@ -919,17 +921,12 @@ class ReportsController extends Controller /** * Get all assets with pending checkout acceptances */ - if($showDeleted) { - $acceptances = CheckoutAcceptance::pending()->withTrashed()->with(['assignedTo' , 'checkoutable.assignedTo', 'checkoutable.model'])->get(); - } else { - $acceptances = CheckoutAcceptance::pending()->with(['assignedTo' => function ($query) { - $query->withTrashed(); - }, 'checkoutable.assignedTo', 'checkoutable.model'])->get(); - } + + $acceptances = CheckoutAcceptance::pending()->with('assignedTo')->get(); $assetsForReport = $acceptances - ->filter(function ($acceptance) { - return $acceptance->checkoutable_type == \App\Models\Asset::class; + ->filter(function($acceptance) { + return $acceptance->checkoutable_type == 'App\Models\Asset' && !is_null($acceptance->assignedTo); }) ->map(function($acceptance) { return ['assetItem' => $acceptance->checkoutable, 'acceptance' => $acceptance]; diff --git a/app/Http/Controllers/SettingsController.php b/app/Http/Controllers/SettingsController.php index a52598592..bf6ad5333 100755 --- a/app/Http/Controllers/SettingsController.php +++ b/app/Http/Controllers/SettingsController.php @@ -11,7 +11,6 @@ use App\Models\Setting; use App\Models\User; use App\Notifications\FirstAdminNotification; use App\Notifications\MailTest; -use Artisan; use Auth; use Crypt; use DB; @@ -22,6 +21,8 @@ use Image; use Input; use Redirect; use Response; +use Illuminate\Support\Str; +use Illuminate\Support\Facades\Artisan; /** * This controller handles all actions related to Settings for @@ -1018,17 +1019,25 @@ class SettingsController extends Controller $backup_files = Storage::files($path); $files_raw = []; + if (count($backup_files) > 0) { for ($f = 0; $f < count($backup_files); $f++) { // Skip dotfiles like .gitignore and .DS_STORE if ((substr(basename($backup_files[$f]), 0, 1) != '.')) { + //$lastmodified = Carbon::parse(Storage::lastModified($backup_files[$f]))->toDatetimeString(); + $file_timestamp = Storage::lastModified($backup_files[$f]); + + $files_raw[] = [ 'filename' => basename($backup_files[$f]), 'filesize' => Setting::fileSizeConvert(Storage::size($backup_files[$f])), - 'modified' => Storage::lastModified($backup_files[$f]), + 'modified_value' => $file_timestamp, + 'modified_display' => Helper::getFormattedDateObject($file_timestamp, $type = 'datetime', false), + ]; } + } } @@ -1128,6 +1137,115 @@ class SettingsController extends Controller } } + + /** + * Uploads a backup file + * + * @author [A. Gianotto] [] + * + * @since [v6.0] + * + * @return Redirect + */ + + public function postUploadBackup(Request $request) { + + if (! config('app.lock_passwords')) { + if (!$request->hasFile('file')) { + return redirect()->route('settings.backups.index')->with('error', 'No file uploaded'); + } else { + $max_file_size = Helper::file_upload_max_size(); + + $rules = [ + 'file' => 'required|mimes:zip|max:'.$max_file_size, + ]; + + $validator = \Validator::make($request->all(), $rules); + + if ($validator->passes()) { + + $upload_filename = 'uploaded-'.date('U').'-'.Str::slug(pathinfo($request->file('file')->getClientOriginalName(), PATHINFO_FILENAME)).'.zip'; + + Storage::putFileAs('app/backups', $request->file('file'), $upload_filename); + + return redirect()->route('settings.backups.index')->with('success', 'File uploaded'); + } else { + return redirect()->route('settings.backups.index')->withErrors($request->getErrors()); + } + } + + } else { + return redirect()->route('settings.backups.index')->with('error', trans('general.feature_disabled')); + } + + + + } + + /** + * Restore the backup file. + * + * @author [A. Gianotto] [] + * + * @since [v6.0] + * + * @return View + */ + public function postRestore($filename = null) + { + + if (! config('app.lock_passwords')) { + $path = 'app/backups'; + + if (Storage::exists($path.'/'.$filename)) { + + // grab the user's info so we can make sure they exist in the system + $user = User::find(Auth::user()->id); + + + // TODO: run a backup + + // TODO: add db:wipe + + + // run the restore command + Artisan::call('snipeit:restore', + [ + '--force' => true, + '--no-progress' => true, + 'filename' => storage_path($path).'/'.$filename + ]); + + $output = Artisan::output(); + + + // If it's greater than 300, it probably worked + if (strlen($output) > 300) { + \Auth::logout(); + return redirect()->route('login')->with('success', 'Your system has been restored. Please login again.'); + } else { + return redirect()->route('settings.backups.index')->with('error', $output); + + } + //dd($output); + + // TODO: insert the user if they are not there in the old one + + + + + // log the user out + + + + } else { + return redirect()->route('settings.backups.index')->with('error', trans('admin/settings/message.backup.file_not_found')); + } + } else { + return redirect()->route('settings.backups.index')->with('error', trans('general.feature_disabled')); + } + } + /** * Return a form to allow a super admin to update settings. * diff --git a/app/Http/Controllers/Users/BulkUsersController.php b/app/Http/Controllers/Users/BulkUsersController.php index 9f41448d3..4d4adee61 100644 --- a/app/Http/Controllers/Users/BulkUsersController.php +++ b/app/Http/Controllers/Users/BulkUsersController.php @@ -33,7 +33,8 @@ class BulkUsersController extends Controller // Make sure there were users selected if (($request->filled('ids')) && (count($request->input('ids')) > 0)) { // Get the list of affected users - $users = User::whereIn('id', array_keys(request('ids'))) + $user_raw_array = request('ids'); + $users = User::whereIn('id', $user_raw_array) ->with('groups', 'assets', 'licenses', 'accessories')->get(); if ($request->input('bulk_actions') == 'edit') { diff --git a/app/Http/Controllers/Users/UserFilesController.php b/app/Http/Controllers/Users/UserFilesController.php index 9599f9c66..cb4939632 100644 --- a/app/Http/Controllers/Users/UserFilesController.php +++ b/app/Http/Controllers/Users/UserFilesController.php @@ -10,6 +10,8 @@ use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Input; use Illuminate\Support\Facades\Response; use Symfony\Component\HttpFoundation\JsonResponse; +use enshrined\svgSanitize\Sanitizer; +use Illuminate\Support\Facades\Storage; class UserFilesController extends Controller { @@ -38,12 +40,32 @@ class UserFilesController extends Controller return redirect()->back()->with('error', trans('admin/users/message.upload.nofiles')); } foreach ($files as $file) { + $extension = $file->getClientOriginalExtension(); - $filename = 'user-'.$user->id.'-'.str_random(8); - $filename .= '-'.str_slug($file->getClientOriginalName()).'.'.$extension; - if (! $file->move($destinationPath, $filename)) { - return redirect()->back()->with('error', trans('admin/users/message.upload.invalidfiles')); + $file_name = 'user-'.$user->id.'-'.str_random(8).'-'.str_slug(basename($file->getClientOriginalName(), '.'.$extension)).'.'.$extension; + + + // Check for SVG and sanitize it + if ($extension == 'svg') { + \Log::debug('This is an SVG'); + \Log::debug($file_name); + + $sanitizer = new Sanitizer(); + + $dirtySVG = file_get_contents($file->getRealPath()); + $cleanSVG = $sanitizer->sanitize($dirtySVG); + + try { + Storage::put('private_uploads/users/'.$file_name, $cleanSVG); + } catch (\Exception $e) { + \Log::debug('Upload no workie :( '); + \Log::debug($e); + } + + } else { + Storage::put('private_uploads/users/'.$file_name, file_get_contents($file)); } + //Log the uploaded file to the log $logAction = new Actionlog(); $logAction->item_id = $user->id; @@ -51,8 +73,8 @@ class UserFilesController extends Controller $logAction->user_id = Auth::id(); $logAction->note = $request->input('notes'); $logAction->target_id = null; - $logAction->created_at = date('Y-m-d H:i:s'); - $logAction->filename = $filename; + $logAction->created_at = date("Y-m-d H:i:s"); + $logAction->filename = $file_name; $logAction->action_type = 'uploaded'; if (! $logAction->save()) { @@ -63,8 +85,9 @@ class UserFilesController extends Controller // dd($logActions); return redirect()->back()->with('success', trans('admin/users/message.upload.success')); } - return redirect()->back()->with('error', trans('admin/users/message.upload.nofiles')); + + } /** @@ -97,6 +120,7 @@ class UserFilesController extends Controller $error = trans('admin/users/message.user_not_found', ['id' => $userId]); // Redirect to the licence management page return redirect()->route('users.index')->with('error', $error); + } /** @@ -128,4 +152,5 @@ class UserFilesController extends Controller // Redirect to the licence management page return redirect()->route('users.index')->with('error', $error); } + } diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index dc698142c..acd42e557 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -23,6 +23,7 @@ class Kernel extends HttpKernel \App\Http\Middleware\CheckForDebug::class, \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class, \App\Http\Middleware\SecurityHeaders::class, + \App\Http\Middleware\PreventBackHistory::class, ]; diff --git a/app/Http/Livewire/CustomFieldSetDefaultValuesForModel.php b/app/Http/Livewire/CustomFieldSetDefaultValuesForModel.php index c9478c054..6816edea7 100644 --- a/app/Http/Livewire/CustomFieldSetDefaultValuesForModel.php +++ b/app/Http/Livewire/CustomFieldSetDefaultValuesForModel.php @@ -19,13 +19,22 @@ class CustomFieldSetDefaultValuesForModel extends Component { $this->model = AssetModel::find($this->model_id); // It's possible to do some clever route-model binding here, but let's keep it simple, shall we? $this->fieldset_id = $this->model->fieldset_id; - $this->fields = CustomFieldset::find($this->fieldset_id)->fields; - $this->add_default_values = ( $this->model->defaultValues->count() > 0); + + $this->fields = null; + + if ($fieldset = CustomFieldset::find($this->fieldset_id)) { + $this->fields = CustomFieldset::find($this->fieldset_id)->fields; + } + + $this->add_default_values = ($this->model->defaultValues->count() > 0); } public function updatedFieldsetId() { - $this->fields = CustomFieldset::find($this->fieldset_id)->fields; + if (CustomFieldset::find($this->fieldset_id)) { + $this->fields = CustomFieldset::find($this->fieldset_id)->fields; + } + } public function render() diff --git a/app/Http/Middleware/PreventBackHistory.php b/app/Http/Middleware/PreventBackHistory.php new file mode 100644 index 000000000..8533965b4 --- /dev/null +++ b/app/Http/Middleware/PreventBackHistory.php @@ -0,0 +1,30 @@ + 'no-cache, no-store, max-age=0, must-revalidate', + 'Pragma' => 'no-cache', + 'Expires' => 'Sun, 02 Jan 1990 00:00:00 GMT' + ]; + $response = $next($request); + foreach($headers as $key => $value) { + $response->headers->set($key, $value); + } + + return $response; + } +} \ No newline at end of file diff --git a/app/Http/Middleware/SecurityHeaders.php b/app/Http/Middleware/SecurityHeaders.php index 9ce387400..477763984 100644 --- a/app/Http/Middleware/SecurityHeaders.php +++ b/app/Http/Middleware/SecurityHeaders.php @@ -104,7 +104,12 @@ class SecurityHeaders $csp_policy[] = "object-src 'none'"; $csp_policy[] = "font-src 'self' data:"; $csp_policy[] = "img-src 'self' data: ".config('app.url').' '.env('PUBLIC_AWS_URL').' https://secure.gravatar.com http://gravatar.com maps.google.com maps.gstatic.com *.googleapis.com'; - $csp_policy = implode(';', $csp_policy); + + if (config('filesystems.disks.public.driver') == 's3') { + $csp_policy[] = "img-src 'self' data: ".config('filesystems.disks.public.url'); + } + $csp_policy = join(';', $csp_policy); + $response->headers->set('Content-Security-Policy', $csp_policy); } diff --git a/app/Http/Requests/AssetFileRequest.php b/app/Http/Requests/AssetFileRequest.php index 1aa1fadb8..f8631f23b 100644 --- a/app/Http/Requests/AssetFileRequest.php +++ b/app/Http/Requests/AssetFileRequest.php @@ -21,7 +21,7 @@ class AssetFileRequest extends Request */ public function rules() { - $max_file_size = Helper::file_upload_max_size(); + $max_file_size = \App\Helpers\Helper::file_upload_max_size(); return [ 'file.*' => 'required|mimes:png,gif,jpg,svg,jpeg,doc,docx,pdf,txt,zip,rar,xls,xlsx,lic,xml,rtf,webp|max:'.$max_file_size, diff --git a/app/Http/Requests/ImageUploadRequest.php b/app/Http/Requests/ImageUploadRequest.php index c49201111..45d7bca5e 100644 --- a/app/Http/Requests/ImageUploadRequest.php +++ b/app/Http/Requests/ImageUploadRequest.php @@ -90,11 +90,6 @@ class ImageUploadRequest extends Request $use_db_field = $db_fieldname; } - \Log::info('Image path is: '.$path); - \Log::debug('Type is: '.$type); - \Log::debug('Form fieldname is: '.$form_fieldname); - \Log::debug('DB fieldname is: '.$use_db_field); - \Log::debug('Trying to upload to '. $path); // ConvertBase64ToFiles just changes object type, // as it cannot currently insert files to $this->files diff --git a/app/Http/Transformers/AssetsTransformer.php b/app/Http/Transformers/AssetsTransformer.php index 558685e96..f3b6ba812 100644 --- a/app/Http/Transformers/AssetsTransformer.php +++ b/app/Http/Transformers/AssetsTransformer.php @@ -83,6 +83,7 @@ class AssetsTransformer 'user_can_checkout' => (bool) $asset->availableForCheckout(), ]; + if (($asset->model) && ($asset->model->fieldset) && ($asset->model->fieldset->fields->count() > 0)) { $fields_array = []; @@ -92,16 +93,19 @@ class AssetsTransformer $value = (Gate::allows('superadmin')) ? $decrypted : strtoupper(trans('admin/custom_fields/general.encrypted')); $fields_array[$field->name] = [ - 'field' => $field->convertUnicodeDbSlug(), - 'value' => $value, + 'field' => e($field->convertUnicodeDbSlug()), + 'value' => e($value), 'field_format' => $field->format, ]; + } else { $fields_array[$field->name] = [ - 'field' => $field->convertUnicodeDbSlug(), - 'value' => $asset->{$field->convertUnicodeDbSlug()}, + 'field' => e($field->convertUnicodeDbSlug()), + 'value' => e($asset->{$field->convertUnicodeDbSlug()}), 'field_format' => $field->format, ]; + + } $array['custom_fields'] = $fields_array; } @@ -110,25 +114,37 @@ class AssetsTransformer } $permissions_array['available_actions'] = [ - 'checkout' => Gate::allows('checkout', Asset::class), - 'checkin' => Gate::allows('checkin', Asset::class), - 'clone' => Gate::allows('create', Asset::class), - 'restore' => false, - 'update' => (bool) Gate::allows('update', Asset::class), - 'delete' => ($asset->assigned_to == '' && Gate::allows('delete', Asset::class)), - ]; + 'checkout' => ($asset->deleted_at=='' && Gate::allows('checkout', Asset::class)) ? true : false, + 'checkin' => ($asset->deleted_at=='' && Gate::allows('checkin', Asset::class)) ? true : false, + 'clone' => Gate::allows('create', Asset::class) ? true : false, + 'restore' => ($asset->deleted_at!='' && Gate::allows('create', Asset::class)) ? true : false, + 'update' => ($asset->deleted_at=='' && Gate::allows('update', Asset::class)) ? true : false, + 'delete' => ($asset->deleted_at=='' && $asset->assigned_to =='' && Gate::allows('delete', Asset::class)) ? true : false, + ]; + + + if (request('components')=='true') { + + if ($asset->components) { + $array['components'] = []; + + foreach ($asset->components as $component) { + $array['components'][] = [ + + 'id' => $component->id, + 'pivot_id' => $component->pivot->id, + 'name' => $component->name, + 'qty' => $component->pivot->assigned_qty, + 'price_cost' => $component->purchase_cost, + 'purchase_total' => $component->purchase_cost * $component->pivot->assigned_qty, + 'checkout_date' => Helper::getFormattedDateObject($component->pivot->created_at, 'datetime') , + + ]; + } + } - if ($asset->deleted_at != '') { - $permissions_array['available_actions'] = [ - 'checkout' => true, - 'checkin' => false, - 'clone' => Gate::allows('create', Asset::class), - 'restore' => Gate::allows('create', Asset::class), - 'update' => false, - 'delete' => false, - ]; } - + $array += $permissions_array; return $array; @@ -160,6 +176,7 @@ class AssetsTransformer ] : null; } + public function transformRequestedAssets(Collection $assets, $total) { $array = []; @@ -183,16 +200,17 @@ class AssetsTransformer 'expected_checkin' => Helper::getFormattedDateObject($asset->expected_checkin, 'date'), 'location' => ($asset->location) ? e($asset->location->name) : null, 'status'=> ($asset->assetstatus) ? $asset->present()->statusMeta : null, + 'assigned_to_self' => ($asset->assigned_to == \Auth::user()->id), ]; $permissions_array['available_actions'] = [ 'cancel' => ($asset->isRequestedBy(\Auth::user())) ? true : false, 'request' => ($asset->isRequestedBy(\Auth::user())) ? false : true, - ]; $array += $permissions_array; - return $array; + + } } diff --git a/app/Http/Transformers/LicensesTransformer.php b/app/Http/Transformers/LicensesTransformer.php index 51b193a76..56492ba45 100644 --- a/app/Http/Transformers/LicensesTransformer.php +++ b/app/Http/Transformers/LicensesTransformer.php @@ -31,8 +31,9 @@ class LicensesTransformer 'purchase_order' => e($license->purchase_order), 'purchase_date' => Helper::getFormattedDateObject($license->purchase_date, 'date'), 'termination_date' => Helper::getFormattedDateObject($license->termination_date, 'date'), - 'depreciation' => ($license->depreciation) ? ['id' => (int) $license->depreciation->id, 'name'=> e($license->depreciation->name)] : null, - 'purchase_cost' => e($license->purchase_cost), + 'depreciation' => ($license->depreciation) ? ['id' => (int) $license->depreciation->id,'name'=> e($license->depreciation->name)] : null, + 'purchase_cost' => Helper::formatCurrencyOutput($license->purchase_cost), + 'purchase_cost_numeric' => $license->purchase_cost, 'notes' => e($license->notes), 'expiration_date' => Helper::getFormattedDateObject($license->expiration_date, 'date'), 'seats' => (int) $license->seats, @@ -65,4 +66,7 @@ class LicensesTransformer { return (new DatatablesTransformer)->transformDatatables($licenses); } + + + } diff --git a/app/Importer/Importer.php b/app/Importer/Importer.php index f80b869d5..f5b0ae44d 100644 --- a/app/Importer/Importer.php +++ b/app/Importer/Importer.php @@ -76,6 +76,7 @@ abstract class Importer 'department' => 'department', 'manager_first_name' => 'manager first name', 'manager_last_name' => 'manager last name', + 'min_amt' => 'minimum quantity', ]; /** * Map of item fields->csv names @@ -196,11 +197,11 @@ abstract class Importer $val = $default; $key = $this->lookupCustomKey($key); - // $this->log("Custom Key: ${key}"); + $this->log("Custom Key: ${key}"); if (array_key_exists($key, $array)) { $val = Encoding::toUTF8(trim($array[$key])); } - // $this->log("${key}: ${val}"); + $this->log("${key}: ${val}"); return $val; } diff --git a/app/Importer/UserImporter.php b/app/Importer/UserImporter.php index 707ee0e2d..136b9bfe9 100644 --- a/app/Importer/UserImporter.php +++ b/app/Importer/UserImporter.php @@ -74,6 +74,7 @@ class UserImporter extends ItemImporter return; } + // This needs to be applied after the update logic, otherwise we'll overwrite user passwords // Issue #5408 $this->item['password'] = bcrypt($this->tempPassword); @@ -106,6 +107,7 @@ class UserImporter extends ItemImporter } $this->logError($user, 'User'); + return; } /** @@ -118,14 +120,14 @@ class UserImporter extends ItemImporter */ public function createOrFetchDepartment($department_name) { - if(is_null($department_name) || $department_name == ''){ + if (is_null($department_name) || $department_name == ''){ return null; } - + + $department = Department::where(['name' => $department_name])->first(); if ($department) { - $this->log('A matching department '.$department_name.' already exists'); - + $this->log('A matching department ' . $department_name . ' already exists'); return $department->id; } @@ -134,15 +136,14 @@ class UserImporter extends ItemImporter $department->user_id = $this->user_id; if ($department->save()) { - $this->log('department '.$department_name.' was created'); - + $this->log('department ' . $department_name . ' was created'); return $department->id; } $this->logError($department, 'Department'); - return null; } + public function sendWelcome($send = true) { diff --git a/app/Importer/import_mappings.md b/app/Importer/import_mappings.md index 7899cf679..211a68bc9 100644 --- a/app/Importer/import_mappings.md +++ b/app/Importer/import_mappings.md @@ -29,6 +29,7 @@ | serial number | serial | Asset, license | | status | status | Asset ? All | | supplier | supplier | Asset ? All | +| minimum quantity | min_amt | Consumable | | termination date | termination_date | License | | warranty months | warranty_months | Asset | | User Related Fields | assigned_to | Asset | diff --git a/app/Models/Asset.php b/app/Models/Asset.php index 8ed9ac378..7be424077 100644 --- a/app/Models/Asset.php +++ b/app/Models/Asset.php @@ -29,6 +29,8 @@ class Asset extends Depreciable { protected $presenter = \App\Presenters\AssetPresenter::class; + + use CompanyableTrait; use HasFactory, Loggable, Requestable, Presentable, SoftDeletes, ValidatingTrait, UniqueUndeletedTrait, UniqueSerialTrait; const LOCATION = 'location'; @@ -68,6 +70,17 @@ class Asset extends Depreciable protected $injectUniqueIdentifier = true; // We set these as protected dates so that they will be easily accessible via Carbon + protected $dates = [ + 'created_at', + 'updated_at', + 'deleted_at', + 'purchase_date', + 'last_checkout', + 'expected_checkin', + 'last_audit_date', + 'next_audit_date' + ]; + protected $casts = [ 'purchase_date' => 'datetime', @@ -169,6 +182,7 @@ class Asset extends Depreciable 'model.manufacturer' => ['name'], ]; + /** * This handles the custom field validation for assets * @@ -187,6 +201,7 @@ class Asset extends Depreciable return parent::save($params); } + public function getDisplayNameAttribute() { return $this->present()->name(); @@ -243,7 +258,8 @@ class Asset extends Depreciable // The asset status is not archived and is deployable if (($this->assetstatus) && ($this->assetstatus->archived == '0') - && ($this->assetstatus->deployable == '1')) { + && ($this->assetstatus->deployable == '1')) + { return true; } } @@ -370,9 +386,10 @@ class Asset extends Depreciable */ public function components() { - return $this->belongsToMany(\App\Models\Component::class, 'components_assets', 'asset_id', 'component_id')->withPivot('id', 'assigned_qty')->withTrashed(); + return $this->belongsToMany('\App\Models\Component', 'components_assets', 'asset_id', 'component_id')->withPivot('id', 'assigned_qty', 'created_at')->withTrashed(); } + /** * Get depreciation attribute from associated asset model * @@ -399,8 +416,8 @@ class Asset extends Depreciable */ public function uploads() { - return $this->hasMany(\App\Models\Actionlog::class, 'item_id') - ->where('item_type', '=', self::class) + return $this->hasMany('\App\Models\Actionlog', 'item_id') + ->where('item_type', '=', Asset::class) ->where('action_type', '=', 'uploaded') ->whereNotNull('filename') ->orderBy('created_at', 'desc'); @@ -447,6 +464,7 @@ class Asset extends Depreciable return $this->morphMany(self::class, 'assigned', 'assigned_type', 'assigned_to')->withTrashed(); } + /** * Get the asset's location based on the assigned user * @@ -475,6 +493,7 @@ class Asset extends Depreciable if ($this->assignedTo) { return $this->assignedTo; } + } if ($this->assignedType() == self::USER) { if (($this->assignedTo) && $this->assignedTo->userLoc) { @@ -533,6 +552,7 @@ class Asset extends Depreciable return false; } + /** * Get the asset's logs * @@ -592,6 +612,7 @@ class Asset extends Depreciable ->withTrashed(); } + /** * Get maintenances for this asset * @@ -617,6 +638,8 @@ class Asset extends Depreciable return $this->belongsTo(\App\Models\User::class, 'user_id'); } + + /** * Establishes the asset -> status relationship * @@ -662,6 +685,7 @@ class Asset extends Depreciable ->get(); } + /** * Establishes the asset -> assigned licenses relationship * @@ -710,6 +734,8 @@ class Asset extends Depreciable return $this->belongsTo(\App\Models\Location::class, 'location_id'); } + + /** * Get the next autoincremented asset tag * @@ -721,6 +747,7 @@ class Asset extends Depreciable { $settings = \App\Models\Setting::getSettings(); + if ($settings->auto_increment_assets == '1') { $temp_asset_tag = \DB::table('assets') ->where('physical', '=', '1') @@ -751,23 +778,28 @@ class Asset extends Depreciable */ public static function nextAutoIncrement($assets) { + $max = 1; foreach ($assets as $asset) { $results = preg_match("/\d+$/", $asset['asset_tag'], $matches); - if ($results) { + if ($results) + { $number = $matches[0]; - if ($number > $max) { + if ($number > $max) + { $max = $number; } } } - return $max + 1; + } + + /** * Add zerofilling based on Settings * @@ -807,6 +839,7 @@ class Asset extends Depreciable if (($this->model) && ($this->model->category)) { return $this->model->category->require_acceptance; } + } /** @@ -834,6 +867,7 @@ class Asset extends Depreciable return false; } + /** * ----------------------------------------------- * BEGIN QUERY SCOPES @@ -859,11 +893,13 @@ class Asset extends Depreciable }); foreach ($terms as $term) { + $query = $query ->orWhere('assets_users.first_name', 'LIKE', '%'.$term.'%') ->orWhere('assets_users.last_name', 'LIKE', '%'.$term.'%') ->orWhere('assets_users.username', 'LIKE', '%'.$term.'%') ->orWhereRaw('CONCAT('.DB::getTablePrefix().'assets_users.first_name," ",'.DB::getTablePrefix().'assets_users.last_name) LIKE ?', ["%$term%"]); + } /** @@ -875,6 +911,7 @@ class Asset extends Depreciable }); foreach ($terms as $term) { + $query = $query->orWhere('assets_locations.name', 'LIKE', '%'.$term.'%'); } @@ -888,11 +925,13 @@ class Asset extends Depreciable foreach ($terms as $term) { $query = $query->orWhere('assigned_assets.name', 'LIKE', '%'.$term.'%'); + } return $query; } + /** * Query builder scope for hardware * @@ -900,6 +939,7 @@ class Asset extends Depreciable * * @return \Illuminate\Database\Query\Builder Modified query builder */ + public function scopeHardware($query) { return $query->where('physical', '=', '1'); @@ -912,6 +952,7 @@ class Asset extends Depreciable * * @return \Illuminate\Database\Query\Builder Modified query builder */ + public function scopePending($query) { return $query->whereHas('assetstatus', function ($query) { @@ -921,6 +962,7 @@ class Asset extends Depreciable }); } + /** * Query builder scope for searching location * @@ -928,6 +970,7 @@ class Asset extends Depreciable * * @return \Illuminate\Database\Query\Builder Modified query builder */ + public function scopeAssetsByLocation($query, $location) { return $query->where(function ($query) use ($location) { @@ -949,6 +992,7 @@ class Asset extends Depreciable }); } + /** * Query builder scope for RTD assets * @@ -956,6 +1000,7 @@ class Asset extends Depreciable * * @return \Illuminate\Database\Query\Builder Modified query builder */ + public function scopeRTD($query) { return $query->whereNull('assets.assigned_to') @@ -973,6 +1018,7 @@ class Asset extends Depreciable * * @return \Illuminate\Database\Query\Builder Modified query builder */ + public function scopeUndeployable($query) { return $query->whereHas('assetstatus', function ($query) { @@ -989,6 +1035,7 @@ class Asset extends Depreciable * * @return \Illuminate\Database\Query\Builder Modified query builder */ + public function scopeNotArchived($query) { return $query->whereHas('assetstatus', function ($query) { @@ -1018,6 +1065,7 @@ class Asset extends Depreciable * * @return \Illuminate\Database\Query\Builder Modified query builder */ + public function scopeDueForAudit($query, $settings) { $interval = $settings->audit_warning_days ?? 0; @@ -1042,6 +1090,7 @@ class Asset extends Depreciable * * @return \Illuminate\Database\Query\Builder Modified query builder */ + public function scopeOverdueForAudit($query) { return $query->whereNotNull('assets.next_audit_date') @@ -1063,6 +1112,7 @@ class Asset extends Depreciable * * @return \Illuminate\Database\Query\Builder Modified query builder */ + public function scopeDueOrOverdueForAudit($query, $settings) { $interval = $settings->audit_warning_days ?? 0; @@ -1073,6 +1123,7 @@ class Asset extends Depreciable ->NotArchived(); } + /** * Query builder scope for Archived assets * @@ -1080,6 +1131,7 @@ class Asset extends Depreciable * * @return \Illuminate\Database\Query\Builder Modified query builder */ + public function scopeArchived($query) { return $query->whereHas('assetstatus', function ($query) { @@ -1096,6 +1148,7 @@ class Asset extends Depreciable * * @return \Illuminate\Database\Query\Builder Modified query builder */ + public function scopeDeployed($query) { return $query->where('assigned_to', '>', '0'); @@ -1108,6 +1161,7 @@ class Asset extends Depreciable * * @return \Illuminate\Database\Query\Builder Modified query builder */ + public function scopeRequestableAssets($query) { return Company::scopeCompanyables($query->where('requestable', '=', 1)) @@ -1118,6 +1172,7 @@ class Asset extends Depreciable }); } + /** * scopeInModelList * Get all assets in the provided listing of model ids @@ -1158,6 +1213,7 @@ class Asset extends Depreciable return $query->where('accepted', '=', 'rejected'); } + /** * Query builder scope to get accepted assets * @@ -1220,6 +1276,7 @@ class Asset extends Depreciable ->orWhere('assets.order_number', 'LIKE', '%'.$search.'%') ->orWhere('assets.notes', 'LIKE', '%'.$search.'%'); } + })->withTrashed()->whereNull('assets.deleted_at'); //workaround for laravel bug } @@ -1239,9 +1296,12 @@ class Asset extends Depreciable ->where('assets.assigned_type', '=', User::class); })->where(function ($query) use ($search) { $query->where('assets_dept_users.department_id', '=', $search); + })->withTrashed()->whereNull('assets.deleted_at'); //workaround for laravel bug } + + /** * Query builder scope to search on text filters for complex Bootstrap Tables API * @@ -1264,7 +1324,8 @@ class Asset extends Depreciable $query->where('assets.name', 'LIKE', '%'.$search_val.'%'); } - if ($fieldname == 'product_key') { + + if ($fieldname =='serial') { $query->where('assets.serial', 'LIKE', '%'.$search_val.'%'); } @@ -1296,8 +1357,8 @@ class Asset extends Depreciable }); } - if ($fieldname == 'checkedout_to') { - $query->whereHas('assigneduser', function ($query) use ($search_val) { + if ($fieldname =='assigned_to') { + $query->whereHasMorph('assignedTo', [User::class], function ($query) use ($search_val) { $query->where(function ($query) use ($search_val) { $query->where('users.first_name', 'LIKE', '%'.$search_val.'%') ->orWhere('users.last_name', 'LIKE', '%'.$search_val.'%'); @@ -1344,6 +1405,7 @@ class Asset extends Depreciable }); } + if ($fieldname == 'company') { $query->where(function ($query) use ($search_val) { $query->whereHas('company', function ($query) use ($search_val) { @@ -1359,7 +1421,7 @@ class Asset extends Depreciable }); }); } - } + /** * THIS CLUNKY BIT IS VERY IMPORTANT @@ -1381,14 +1443,22 @@ class Asset extends Depreciable * against those relationships earlier in this method. * * - snipe + * */ - if (($fieldname != 'category') && ($fieldname != 'model_number') && ($fieldname != 'rtd_location') && ($fieldname != 'location') && ($fieldname != 'supplier') - && ($fieldname != 'status_label') && ($fieldname != 'model') && ($fieldname != 'company') && ($fieldname != 'manufacturer')) { - $query->orWhere('assets.'.$fieldname, 'LIKE', '%'.$search_val.'%'); + + if (($fieldname!='category') && ($fieldname!='model_number') && ($fieldname!='rtd_location') && ($fieldname!='location') && ($fieldname!='supplier') + && ($fieldname!='status_label') && ($fieldname!='assigned_to') && ($fieldname!='model') && ($fieldname!='company') && ($fieldname!='manufacturer')) { + $query->where('assets.'.$fieldname, 'LIKE', '%' . $search_val . '%'); } + + } + + }); + } + /** * Query builder scope to order on model * @@ -1415,6 +1485,7 @@ class Asset extends Depreciable return $query->join('models', 'assets.model_id', '=', 'models.id')->orderBy('models.model_number', $order); } + /** * Query builder scope to order on assigned user * @@ -1454,6 +1525,7 @@ class Asset extends Depreciable return $query->leftJoin('companies as company_sort', 'assets.company_id', '=', 'company_sort.id')->orderBy('company_sort.name', $order); } + /** * Query builder scope to return results of a category * @@ -1482,6 +1554,8 @@ class Asset extends Depreciable ->join('manufacturers', 'models.manufacturer_id', '=', 'manufacturers.id')->where('models.manufacturer_id', '=', $manufacturer_id); } + + /** * Query builder scope to order on category * @@ -1497,6 +1571,7 @@ class Asset extends Depreciable ->orderBy('category_order.name', $order); } + /** * Query builder scope to order on manufacturer * @@ -1537,6 +1612,7 @@ class Asset extends Depreciable return $query->leftJoin('locations as rtd_asset_locations', 'rtd_asset_locations.id', '=', 'assets.rtd_location_id')->orderBy('rtd_asset_locations.name', $order); } + /** * Query builder scope to order on supplier name * @@ -1565,8 +1641,10 @@ class Asset extends Depreciable $query->where('locations.id', '=', $search); }); }); + } + /** * Query builder scope to search on depreciation name * @param \Illuminate\Database\Query\Builder $query Query builder instance @@ -1578,5 +1656,8 @@ class Asset extends Depreciable { return $query->join('models', 'assets.model_id', '=', 'models.id') ->join('depreciations', 'models.depreciation_id', '=', 'depreciations.id')->where('models.depreciation_id', '=', $search); + } + + } diff --git a/app/Models/Consumable.php b/app/Models/Consumable.php index 2d456e12c..13591123d 100644 --- a/app/Models/Consumable.php +++ b/app/Models/Consumable.php @@ -68,6 +68,7 @@ class Consumable extends SnipeModel 'purchase_cost', 'purchase_date', 'qty', + 'min_amt', 'requestable', ]; @@ -185,6 +186,7 @@ class Consumable extends SnipeModel return $this->belongsTo(\App\Models\Category::class, 'category_id'); } + /** * Establishes the component -> action logs relationship * @@ -209,8 +211,8 @@ class Consumable extends SnipeModel if ($this->image) { return Storage::disk('public')->url(app('consumables_upload_path').$this->image); } - return false; + } /** @@ -225,6 +227,7 @@ class Consumable extends SnipeModel return $this->belongsToMany(\App\Models\User::class, 'consumables_users', 'consumable_id', 'assigned_to')->withPivot('user_id')->withTrashed()->withTimestamps(); } + /** * Determine whether to send a checkin/checkout email based on * asset model category diff --git a/app/Presenters/AccessoryPresenter.php b/app/Presenters/AccessoryPresenter.php index 2ffc5e639..df855ba06 100644 --- a/app/Presenters/AccessoryPresenter.php +++ b/app/Presenters/AccessoryPresenter.php @@ -103,6 +103,7 @@ class AccessoryPresenter extends Presenter 'sortable' => true, 'title' => trans('general.purchase_cost'), 'footerFormatter' => 'sumFormatterQuantity', + 'class' => 'text-right', ], [ 'field' => 'order_number', 'searchable' => true, diff --git a/app/Presenters/AssetAuditPresenter.php b/app/Presenters/AssetAuditPresenter.php index ab43f45e1..96cf89b84 100644 --- a/app/Presenters/AssetAuditPresenter.php +++ b/app/Presenters/AssetAuditPresenter.php @@ -130,6 +130,7 @@ class AssetAuditPresenter extends Presenter 'visible' => false, 'title' => trans('general.purchase_cost'), 'footerFormatter' => 'sumFormatter', + 'class' => 'text-right', ], [ 'field' => 'order_number', 'searchable' => true, diff --git a/app/Presenters/AssetMaintenancesPresenter.php b/app/Presenters/AssetMaintenancesPresenter.php index f7a9ff022..8906b420d 100644 --- a/app/Presenters/AssetMaintenancesPresenter.php +++ b/app/Presenters/AssetMaintenancesPresenter.php @@ -100,6 +100,7 @@ class AssetMaintenancesPresenter extends Presenter 'searchable' => true, 'sortable' => true, 'title' => trans('admin/asset_maintenances/form.cost'), + 'class' => 'text-right', ], [ 'field' => 'user_id', 'searchable' => true, diff --git a/app/Presenters/AssetModelPresenter.php b/app/Presenters/AssetModelPresenter.php index 08fec1520..78e0776ac 100644 --- a/app/Presenters/AssetModelPresenter.php +++ b/app/Presenters/AssetModelPresenter.php @@ -106,6 +106,14 @@ class AssetModelPresenter extends Presenter 'visible' => true, 'formatter' => 'fieldsetsLinkObjFormatter', ], + [ + 'field' => 'requestable', + 'searchable' => false, + 'sortable' => true, + 'visible' => false, + 'title' => trans('admin/hardware/general.requestable'), + 'formatter' => 'trueFalseFormatter', + ], [ 'field' => 'notes', 'searchable' => true, diff --git a/app/Presenters/AssetPresenter.php b/app/Presenters/AssetPresenter.php index 51303408d..c60043885 100644 --- a/app/Presenters/AssetPresenter.php +++ b/app/Presenters/AssetPresenter.php @@ -146,6 +146,7 @@ class AssetPresenter extends Presenter 'sortable' => true, 'title' => trans('general.purchase_cost'), 'footerFormatter' => 'sumFormatter', + 'class' => 'text-right', ], [ 'field' => 'order_number', 'searchable' => true, diff --git a/app/Presenters/ComponentPresenter.php b/app/Presenters/ComponentPresenter.php index 31a9452e8..ca0f310f5 100644 --- a/app/Presenters/ComponentPresenter.php +++ b/app/Presenters/ComponentPresenter.php @@ -102,6 +102,7 @@ class ComponentPresenter extends Presenter 'title' => trans('general.purchase_cost'), 'visible' => true, 'footerFormatter' => 'sumFormatterQuantity', + 'class' => 'text-right', ], ]; diff --git a/app/Presenters/ConsumablePresenter.php b/app/Presenters/ConsumablePresenter.php index 68a973bf2..0fd88fe67 100644 --- a/app/Presenters/ConsumablePresenter.php +++ b/app/Presenters/ConsumablePresenter.php @@ -114,6 +114,7 @@ class ConsumablePresenter extends Presenter 'title' => trans('general.purchase_cost'), 'visible' => true, 'footerFormatter' => 'sumFormatterQuantity', + 'class' => 'text-right', ], [ 'field' => 'change', 'searchable' => false, diff --git a/app/Presenters/DepreciationReportPresenter.php b/app/Presenters/DepreciationReportPresenter.php index b34174a3e..7910c71c3 100644 --- a/app/Presenters/DepreciationReportPresenter.php +++ b/app/Presenters/DepreciationReportPresenter.php @@ -128,6 +128,7 @@ class DepreciationReportPresenter extends Presenter "visible" => true, "title" => trans('general.purchase_cost'), "footerFormatter" => 'sumFormatter', + "class" => "text-right", ], [ "field" => "order_number", "searchable" => true, @@ -148,6 +149,7 @@ class DepreciationReportPresenter extends Presenter "visible" => true, "title" => trans('admin/hardware/table.book_value'), "footerFormatter" => 'sumFormatter', + "class" => "text-right", ], [ "field" => "monthly_depreciation", "searchable" => true, @@ -161,6 +163,7 @@ class DepreciationReportPresenter extends Presenter "visible" => true, "title" => trans('admin/hardware/table.diff'), "footerFormatter" => 'sumFormatter', + "class" => "text-right", ],[ "field" => "warranty_expires", "searchable" => false, diff --git a/app/Presenters/LicensePresenter.php b/app/Presenters/LicensePresenter.php index fef6b56fb..cce2a8ecd 100644 --- a/app/Presenters/LicensePresenter.php +++ b/app/Presenters/LicensePresenter.php @@ -137,6 +137,7 @@ class LicensePresenter extends Presenter 'visible' => false, 'title' => trans('general.purchase_cost'), 'footerFormatter' => 'sumFormatterQuantity', + 'class' => 'text-right', ], [ 'field' => 'purchase_order', 'searchable' => true, diff --git a/composer.json b/composer.json index e27a0cd1e..a73cc7c6f 100644 --- a/composer.json +++ b/composer.json @@ -11,7 +11,7 @@ "license": "AGPL-3.0-or-later", "type": "project", "require": { - "php": "^7.3", + "php": ">=7.4 <8.1", "ext-curl": "*", "ext-fileinfo": "*", "ext-json": "*", @@ -19,7 +19,7 @@ "ext-pdo": "*", "adldap2/adldap2": "^10.2", "alek13/slack": "^2.0", - "bacon/bacon-qr-code": "^1.0", + "bacon/bacon-qr-code": "^2.0", "barryvdh/laravel-debugbar": "^3.6", "doctrine/cache": "^1.10", "doctrine/common": "^2.12", @@ -42,13 +42,13 @@ "laravel/tinker": "^2.6", "laravel/ui": "^3.3", "laravelcollective/html": "^6.2", - "lcobucci/clock": "1.2.0", - "lcobucci/jwt": "^3.4.5", + "lcobucci/clock": "1.2.0|2.0.0", + "lcobucci/jwt": "^3.4.5|^4.0.4", "league/csv": "^9.7", "league/flysystem-aws-s3-v3": "^1.0", "league/flysystem-cached-adapter": "^1.1", "livewire/livewire": "^2.4", - "mediconesystems/livewire-datatables": "^0.4.3", + "mediconesystems/livewire-datatables": "^0.5.0", "neitanod/forceutf8": "^2.0", "nesbot/carbon": "^2.32", "nunomaduro/collision": "^5.4", @@ -71,7 +71,7 @@ "codeception/module-laravel5": "^1.1", "codeception/module-rest": "^1.2", "codeception/module-webdriver": "^1.0", - "fzaninotto/faker": "^1.9", + "fzaninotto/faker": "master@dev", "overtrue/phplint": "^3.0", "phpunit/php-token-stream": "^3.1", "phpunit/phpunit": "^8.5", diff --git a/composer.lock b/composer.lock index aa4d99d39..b678a83a8 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "64dee2cbecb92c4250bb11ffe23f2ed0", + "content-hash": "26519057fc0f511ac96d83f7aa419000", "packages": [ { "name": "adldap2/adldap2", @@ -73,16 +73,16 @@ }, { "name": "alek13/slack", - "version": "2.1.1", + "version": "2.2.1", "source": { "type": "git", "url": "https://github.com/php-slack/slack.git", - "reference": "b039b696bd6e37296efcc58a8a3824def3156de5" + "reference": "9222449402df4e1e57d7850be87898b2c99803bd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-slack/slack/zipball/b039b696bd6e37296efcc58a8a3824def3156de5", - "reference": "b039b696bd6e37296efcc58a8a3824def3156de5", + "url": "https://api.github.com/repos/php-slack/slack/zipball/9222449402df4e1e57d7850be87898b2c99803bd", + "reference": "9222449402df4e1e57d7850be87898b2c99803bd", "shasum": "" }, "require": { @@ -103,8 +103,7 @@ }, "autoload": { "psr-4": { - "Maknz\\Slack\\": "src/", - "Slack\\Tests\\": "tests/" + "Maknz\\Slack\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -128,7 +127,7 @@ ], "support": { "issues": "https://github.com/php-slack/slack/issues", - "source": "https://github.com/php-slack/slack/tree/2.1.1" + "source": "https://github.com/php-slack/slack/tree/2.2.1" }, "funding": [ { @@ -136,7 +135,7 @@ "type": "custom" } ], - "time": "2021-09-02T12:08:47+00:00" + "time": "2021-10-20T22:52:32+00:00" }, { "name": "asm89/stack-cors", @@ -246,16 +245,16 @@ }, { "name": "aws/aws-sdk-php", - "version": "3.195.2", + "version": "3.201.0", "source": { "type": "git", "url": "https://github.com/aws/aws-sdk-php.git", - "reference": "7e0cdfe30ee3cfa2a1494f8e3b4fa5277f118102" + "reference": "d2bb0296a3fe62fbc975075d7b06c41002a6517d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/7e0cdfe30ee3cfa2a1494f8e3b4fa5277f118102", - "reference": "7e0cdfe30ee3cfa2a1494f8e3b4fa5277f118102", + "url": "https://api.github.com/repos/aws/aws-sdk-php/zipball/d2bb0296a3fe62fbc975075d7b06c41002a6517d", + "reference": "d2bb0296a3fe62fbc975075d7b06c41002a6517d", "shasum": "" }, "require": { @@ -265,7 +264,7 @@ "ext-simplexml": "*", "guzzlehttp/guzzle": "^5.3.3|^6.2.1|^7.0", "guzzlehttp/promises": "^1.4.0", - "guzzlehttp/psr7": "^1.7.0", + "guzzlehttp/psr7": "^1.7.0|^2.0", "mtdowling/jmespath.php": "^2.6", "php": ">=5.5" }, @@ -331,38 +330,41 @@ "support": { "forum": "https://forums.aws.amazon.com/forum.jspa?forumID=80", "issues": "https://github.com/aws/aws-sdk-php/issues", - "source": "https://github.com/aws/aws-sdk-php/tree/3.195.2" + "source": "https://github.com/aws/aws-sdk-php/tree/3.201.0" }, - "time": "2021-09-29T18:17:19+00:00" + "time": "2021-11-09T19:28:28+00:00" }, { "name": "bacon/bacon-qr-code", - "version": "1.0.3", + "version": "2.0.4", "source": { "type": "git", "url": "https://github.com/Bacon/BaconQrCode.git", - "reference": "5a91b62b9d37cee635bbf8d553f4546057250bee" + "reference": "f73543ac4e1def05f1a70bcd1525c8a157a1ad09" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Bacon/BaconQrCode/zipball/5a91b62b9d37cee635bbf8d553f4546057250bee", - "reference": "5a91b62b9d37cee635bbf8d553f4546057250bee", + "url": "https://api.github.com/repos/Bacon/BaconQrCode/zipball/f73543ac4e1def05f1a70bcd1525c8a157a1ad09", + "reference": "f73543ac4e1def05f1a70bcd1525c8a157a1ad09", "shasum": "" }, "require": { + "dasprid/enum": "^1.0.3", "ext-iconv": "*", - "php": "^5.4|^7.0" + "php": "^7.1 || ^8.0" }, "require-dev": { - "phpunit/phpunit": "^4.8" + "phly/keep-a-changelog": "^1.4", + "phpunit/phpunit": "^7 | ^8 | ^9", + "squizlabs/php_codesniffer": "^3.4" }, "suggest": { - "ext-gd": "to generate QR code images" + "ext-imagick": "to generate QR code images" }, "type": "library", "autoload": { - "psr-0": { - "BaconQrCode": "src/" + "psr-4": { + "BaconQrCode\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -373,7 +375,7 @@ { "name": "Ben Scholzen 'DASPRiD'", "email": "mail@dasprids.de", - "homepage": "http://www.dasprids.de", + "homepage": "https://dasprids.de/", "role": "Developer" } ], @@ -381,29 +383,29 @@ "homepage": "https://github.com/Bacon/BaconQrCode", "support": { "issues": "https://github.com/Bacon/BaconQrCode/issues", - "source": "https://github.com/Bacon/BaconQrCode/tree/master" + "source": "https://github.com/Bacon/BaconQrCode/tree/2.0.4" }, - "time": "2017-10-17T09:59:25+00:00" + "time": "2021-06-18T13:26:35+00:00" }, { "name": "barryvdh/laravel-debugbar", - "version": "v3.6.2", + "version": "v3.6.4", "source": { "type": "git", "url": "https://github.com/barryvdh/laravel-debugbar.git", - "reference": "70b89754913fd89fef16d0170a91dbc2a5cd633a" + "reference": "3c2d678269ba60e178bcd93e36f6a91c36b727f1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/70b89754913fd89fef16d0170a91dbc2a5cd633a", - "reference": "70b89754913fd89fef16d0170a91dbc2a5cd633a", + "url": "https://api.github.com/repos/barryvdh/laravel-debugbar/zipball/3c2d678269ba60e178bcd93e36f6a91c36b727f1", + "reference": "3c2d678269ba60e178bcd93e36f6a91c36b727f1", "shasum": "" }, "require": { "illuminate/routing": "^6|^7|^8", "illuminate/session": "^6|^7|^8", "illuminate/support": "^6|^7|^8", - "maximebf/debugbar": "^1.16.3", + "maximebf/debugbar": "^1.17.2", "php": ">=7.2", "symfony/debug": "^4.3|^5", "symfony/finder": "^4.3|^5" @@ -417,7 +419,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.5-dev" + "dev-master": "3.6-dev" }, "laravel": { "providers": [ @@ -456,7 +458,7 @@ ], "support": { "issues": "https://github.com/barryvdh/laravel-debugbar/issues", - "source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.6.2" + "source": "https://github.com/barryvdh/laravel-debugbar/tree/v3.6.4" }, "funding": [ { @@ -468,7 +470,7 @@ "type": "github" } ], - "time": "2021-06-14T14:29:26+00:00" + "time": "2021-10-21T10:57:31+00:00" }, { "name": "brick/math", @@ -603,6 +605,53 @@ ], "time": "2021-09-13T08:41:34+00:00" }, + { + "name": "dasprid/enum", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/DASPRiD/Enum.git", + "reference": "5abf82f213618696dda8e3bf6f64dd042d8542b2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/DASPRiD/Enum/zipball/5abf82f213618696dda8e3bf6f64dd042d8542b2", + "reference": "5abf82f213618696dda8e3bf6f64dd042d8542b2", + "shasum": "" + }, + "require-dev": { + "phpunit/phpunit": "^7 | ^8 | ^9", + "squizlabs/php_codesniffer": "^3.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "DASPRiD\\Enum\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-2-Clause" + ], + "authors": [ + { + "name": "Ben Scholzen 'DASPRiD'", + "email": "mail@dasprids.de", + "homepage": "https://dasprids.de/", + "role": "Developer" + } + ], + "description": "PHP 7.1 enum implementation", + "keywords": [ + "enum", + "map" + ], + "support": { + "issues": "https://github.com/DASPRiD/Enum/issues", + "source": "https://github.com/DASPRiD/Enum/tree/1.0.3" + }, + "time": "2020-10-02T16:03:48+00:00" + }, { "name": "defuse/php-encryption", "version": "v2.3.1", @@ -669,6 +718,81 @@ }, "time": "2021-04-09T23:57:26+00:00" }, + { + "name": "dflydev/dot-access-data", + "version": "v3.0.1", + "source": { + "type": "git", + "url": "https://github.com/dflydev/dflydev-dot-access-data.git", + "reference": "0992cc19268b259a39e86f296da5f0677841f42c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/0992cc19268b259a39e86f296da5f0677841f42c", + "reference": "0992cc19268b259a39e86f296da5f0677841f42c", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.42", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.3", + "scrutinizer/ocular": "1.6.0", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^3.14" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Dflydev\\DotAccessData\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Dragonfly Development Inc.", + "email": "info@dflydev.com", + "homepage": "http://dflydev.com" + }, + { + "name": "Beau Simensen", + "email": "beau@dflydev.com", + "homepage": "http://beausimensen.com" + }, + { + "name": "Carlos Frutos", + "email": "carlos@kiwing.it", + "homepage": "https://github.com/cfrutos" + }, + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com" + } + ], + "description": "Given a deep data structure, access data by dot notation.", + "homepage": "https://github.com/dflydev/dflydev-dot-access-data", + "keywords": [ + "access", + "data", + "dot", + "notation" + ], + "support": { + "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", + "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.1" + }, + "time": "2021-08-13T13:06:58+00:00" + }, { "name": "doctrine/annotations", "version": "1.13.2", @@ -1012,16 +1136,16 @@ }, { "name": "doctrine/dbal", - "version": "3.1.2", + "version": "3.1.3", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "3ee2622b57370c786f531678f6641208747f7bfc" + "reference": "96b0053775a544b4a6ab47654dac0621be8b4cf8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/3ee2622b57370c786f531678f6641208747f7bfc", - "reference": "3ee2622b57370c786f531678f6641208747f7bfc", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/96b0053775a544b4a6ab47654dac0621be8b4cf8", + "reference": "96b0053775a544b4a6ab47654dac0621be8b4cf8", "shasum": "" }, "require": { @@ -1034,9 +1158,9 @@ "require-dev": { "doctrine/coding-standard": "9.0.0", "jetbrains/phpstorm-stubs": "2021.1", - "phpstan/phpstan": "0.12.96", + "phpstan/phpstan": "0.12.99", "phpstan/phpstan-strict-rules": "^0.12.11", - "phpunit/phpunit": "9.5.5", + "phpunit/phpunit": "9.5.10", "psalm/plugin-phpunit": "0.16.1", "squizlabs/php_codesniffer": "3.6.0", "symfony/cache": "^5.2|^6.0", @@ -1101,7 +1225,7 @@ ], "support": { "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/3.1.2" + "source": "https://github.com/doctrine/dbal/tree/3.1.3" }, "funding": [ { @@ -1117,7 +1241,7 @@ "type": "tidelift" } ], - "time": "2021-09-12T20:56:32+00:00" + "time": "2021-10-02T16:15:05+00:00" }, { "name": "doctrine/deprecations", @@ -2090,19 +2214,20 @@ }, { "name": "facade/ignition", - "version": "2.13.1", + "version": "2.16.0", "source": { "type": "git", "url": "https://github.com/facade/ignition.git", - "reference": "e3f49bef7b4165fa4b8a9dc579e7b63fa06aef78" + "reference": "23400e6cc565c9dcae2c53704b4de1c4870c0697" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/facade/ignition/zipball/e3f49bef7b4165fa4b8a9dc579e7b63fa06aef78", - "reference": "e3f49bef7b4165fa4b8a9dc579e7b63fa06aef78", + "url": "https://api.github.com/repos/facade/ignition/zipball/23400e6cc565c9dcae2c53704b4de1c4870c0697", + "reference": "23400e6cc565c9dcae2c53704b4de1c4870c0697", "shasum": "" }, "require": { + "ext-curl": "*", "ext-json": "*", "ext-mbstring": "*", "facade/flare-client-php": "^1.9.1", @@ -2162,7 +2287,7 @@ "issues": "https://github.com/facade/ignition/issues", "source": "https://github.com/facade/ignition" }, - "time": "2021-09-13T13:01:30+00:00" + "time": "2021-10-28T11:47:23+00:00" }, { "name": "facade/ignition-contracts", @@ -2277,21 +2402,21 @@ }, { "name": "filp/whoops", - "version": "2.14.3", + "version": "2.14.4", "source": { "type": "git", "url": "https://github.com/filp/whoops.git", - "reference": "89584ce67dd32307f1063cc43846674f4679feda" + "reference": "f056f1fe935d9ed86e698905a957334029899895" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/filp/whoops/zipball/89584ce67dd32307f1063cc43846674f4679feda", - "reference": "89584ce67dd32307f1063cc43846674f4679feda", + "url": "https://api.github.com/repos/filp/whoops/zipball/f056f1fe935d9ed86e698905a957334029899895", + "reference": "f056f1fe935d9ed86e698905a957334029899895", "shasum": "" }, "require": { "php": "^5.5.9 || ^7.0 || ^8.0", - "psr/log": "^1.0.1" + "psr/log": "^1.0.1 || ^2.0 || ^3.0" }, "require-dev": { "mockery/mockery": "^0.9 || ^1.0", @@ -2336,7 +2461,7 @@ ], "support": { "issues": "https://github.com/filp/whoops/issues", - "source": "https://github.com/filp/whoops/tree/2.14.3" + "source": "https://github.com/filp/whoops/tree/2.14.4" }, "funding": [ { @@ -2344,20 +2469,20 @@ "type": "github" } ], - "time": "2021-09-19T12:00:00+00:00" + "time": "2021-10-03T12:00:00+00:00" }, { "name": "firebase/php-jwt", - "version": "v5.4.0", + "version": "v5.5.1", "source": { "type": "git", "url": "https://github.com/firebase/php-jwt.git", - "reference": "d2113d9b2e0e349796e72d2a63cf9319100382d2" + "reference": "83b609028194aa042ea33b5af2d41a7427de80e6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/firebase/php-jwt/zipball/d2113d9b2e0e349796e72d2a63cf9319100382d2", - "reference": "d2113d9b2e0e349796e72d2a63cf9319100382d2", + "url": "https://api.github.com/repos/firebase/php-jwt/zipball/83b609028194aa042ea33b5af2d41a7427de80e6", + "reference": "83b609028194aa042ea33b5af2d41a7427de80e6", "shasum": "" }, "require": { @@ -2399,9 +2524,9 @@ ], "support": { "issues": "https://github.com/firebase/php-jwt/issues", - "source": "https://github.com/firebase/php-jwt/tree/v5.4.0" + "source": "https://github.com/firebase/php-jwt/tree/v5.5.1" }, - "time": "2021-06-23T19:00:23+00:00" + "time": "2021-11-08T20:18:51+00:00" }, { "name": "fruitcake/laravel-cors", @@ -2482,16 +2607,16 @@ }, { "name": "graham-campbell/result-type", - "version": "v1.0.2", + "version": "v1.0.3", "source": { "type": "git", "url": "https://github.com/GrahamCampbell/Result-Type.git", - "reference": "84afea85c6841deeea872f36249a206e878a5de0" + "reference": "296c015dc30ec4322168c5ad3ee5cc11dae827ac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/84afea85c6841deeea872f36249a206e878a5de0", - "reference": "84afea85c6841deeea872f36249a206e878a5de0", + "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/296c015dc30ec4322168c5ad3ee5cc11dae827ac", + "reference": "296c015dc30ec4322168c5ad3ee5cc11dae827ac", "shasum": "" }, "require": { @@ -2527,7 +2652,7 @@ ], "support": { "issues": "https://github.com/GrahamCampbell/Result-Type/issues", - "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.0.2" + "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.0.3" }, "funding": [ { @@ -2539,28 +2664,29 @@ "type": "tidelift" } ], - "time": "2021-08-28T21:34:50+00:00" + "time": "2021-10-17T19:48:54+00:00" }, { "name": "guzzlehttp/guzzle", - "version": "7.3.0", + "version": "7.4.0", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "7008573787b430c1c1f650e3722d9bba59967628" + "reference": "868b3571a039f0ebc11ac8f344f4080babe2cb94" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/7008573787b430c1c1f650e3722d9bba59967628", - "reference": "7008573787b430c1c1f650e3722d9bba59967628", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/868b3571a039f0ebc11ac8f344f4080babe2cb94", + "reference": "868b3571a039f0ebc11ac8f344f4080babe2cb94", "shasum": "" }, "require": { "ext-json": "*", - "guzzlehttp/promises": "^1.4", - "guzzlehttp/psr7": "^1.7 || ^2.0", + "guzzlehttp/promises": "^1.5", + "guzzlehttp/psr7": "^1.8.3 || ^2.1", "php": "^7.2.5 || ^8.0", - "psr/http-client": "^1.0" + "psr/http-client": "^1.0", + "symfony/deprecation-contracts": "^2.2" }, "provide": { "psr/http-client-implementation": "1.0" @@ -2570,7 +2696,7 @@ "ext-curl": "*", "php-http/client-integration-tests": "^3.0", "phpunit/phpunit": "^8.5.5 || ^9.3.5", - "psr/log": "^1.1" + "psr/log": "^1.1 || ^2.0 || ^3.0" }, "suggest": { "ext-curl": "Required for CURL handler support", @@ -2580,7 +2706,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "7.3-dev" + "dev-master": "7.4-dev" } }, "autoload": { @@ -2596,19 +2722,43 @@ "MIT" ], "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" }, + { + "name": "Jeremy Lindblom", + "email": "jeremeamia@gmail.com", + "homepage": "https://github.com/jeremeamia" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, { "name": "Márk Sági-Kazár", "email": "mark.sagikazar@gmail.com", - "homepage": "https://sagikazarmark.hu" + "homepage": "https://github.com/sagikazarmark" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" } ], "description": "Guzzle is a PHP HTTP client library", - "homepage": "http://guzzlephp.org/", "keywords": [ "client", "curl", @@ -2622,7 +2772,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.3.0" + "source": "https://github.com/guzzle/guzzle/tree/7.4.0" }, "funding": [ { @@ -2634,28 +2784,24 @@ "type": "github" }, { - "url": "https://github.com/alexeyshockov", - "type": "github" - }, - { - "url": "https://github.com/gmponos", - "type": "github" + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle", + "type": "tidelift" } ], - "time": "2021-03-23T11:33:13+00:00" + "time": "2021-10-18T09:52:00+00:00" }, { "name": "guzzlehttp/promises", - "version": "1.4.1", + "version": "1.5.1", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "8e7d04f1f6450fef59366c399cfad4b9383aa30d" + "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/8e7d04f1f6450fef59366c399cfad4b9383aa30d", - "reference": "8e7d04f1f6450fef59366c399cfad4b9383aa30d", + "url": "https://api.github.com/repos/guzzle/promises/zipball/fe752aedc9fd8fcca3fe7ad05d419d32998a06da", + "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da", "shasum": "" }, "require": { @@ -2667,7 +2813,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.4-dev" + "dev-master": "1.5-dev" } }, "autoload": { @@ -2683,10 +2829,25 @@ "MIT" ], "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" } ], "description": "Guzzle promises library", @@ -2695,35 +2856,52 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/1.4.1" + "source": "https://github.com/guzzle/promises/tree/1.5.1" }, - "time": "2021-03-07T09:25:29+00:00" + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises", + "type": "tidelift" + } + ], + "time": "2021-10-22T20:56:57+00:00" }, { "name": "guzzlehttp/psr7", - "version": "1.8.2", + "version": "2.1.0", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "dc960a912984efb74d0a90222870c72c87f10c91" + "reference": "089edd38f5b8abba6cb01567c2a8aaa47cec4c72" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/dc960a912984efb74d0a90222870c72c87f10c91", - "reference": "dc960a912984efb74d0a90222870c72c87f10c91", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/089edd38f5b8abba6cb01567c2a8aaa47cec4c72", + "reference": "089edd38f5b8abba6cb01567c2a8aaa47cec4c72", "shasum": "" }, "require": { - "php": ">=5.4.0", - "psr/http-message": "~1.0", - "ralouphie/getallheaders": "^2.0.5 || ^3.0.0" + "php": "^7.2.5 || ^8.0", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.0", + "ralouphie/getallheaders": "^3.0" }, "provide": { + "psr/http-factory-implementation": "1.0", "psr/http-message-implementation": "1.0" }, "require-dev": { - "ext-zlib": "*", - "phpunit/phpunit": "~4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.10" + "bamarni/composer-bin-plugin": "^1.4.1", + "http-interop/http-factory-tests": "^0.9", + "phpunit/phpunit": "^8.5.8 || ^9.3.10" }, "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" @@ -2731,30 +2909,53 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "1.7-dev" + "dev-master": "2.1-dev" } }, "autoload": { "psr-4": { "GuzzleHttp\\Psr7\\": "src/" - }, - "files": [ - "src/functions_include.php" - ] + } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, { "name": "Michael Dowling", "email": "mtdowling@gmail.com", "homepage": "https://github.com/mtdowling" }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, { "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", "homepage": "https://github.com/Tobion" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://sagikazarmark.hu" } ], "description": "PSR-7 message implementation that also provides common utility methods", @@ -2770,22 +2971,36 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/1.8.2" + "source": "https://github.com/guzzle/psr7/tree/2.1.0" }, - "time": "2021-04-26T09:17:50+00:00" + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7", + "type": "tidelift" + } + ], + "time": "2021-10-06T17:43:30+00:00" }, { "name": "intervention/image", - "version": "2.6.1", + "version": "2.7.0", "source": { "type": "git", "url": "https://github.com/Intervention/image.git", - "reference": "0925f10b259679b5d8ca58f3a2add9255ffcda45" + "reference": "9a8cc99d30415ec0b3f7649e1647d03a55698545" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Intervention/image/zipball/0925f10b259679b5d8ca58f3a2add9255ffcda45", - "reference": "0925f10b259679b5d8ca58f3a2add9255ffcda45", + "url": "https://api.github.com/repos/Intervention/image/zipball/9a8cc99d30415ec0b3f7649e1647d03a55698545", + "reference": "9a8cc99d30415ec0b3f7649e1647d03a55698545", "shasum": "" }, "require": { @@ -2844,7 +3059,7 @@ ], "support": { "issues": "https://github.com/Intervention/image/issues", - "source": "https://github.com/Intervention/image/tree/2.6.1" + "source": "https://github.com/Intervention/image/tree/2.7.0" }, "funding": [ { @@ -2856,7 +3071,7 @@ "type": "github" } ], - "time": "2021-07-22T14:31:53+00:00" + "time": "2021-10-03T14:17:12+00:00" }, { "name": "javiereguiluz/easyslugger", @@ -2894,16 +3109,16 @@ }, { "name": "laravel/framework", - "version": "v8.62.0", + "version": "v8.70.1", "source": { "type": "git", "url": "https://github.com/laravel/framework.git", - "reference": "60a7e00488167ce2babf3a2aeb3677e48aaf39be" + "reference": "f4b69fac9292df1a8afd5eb93e77990444ad5077" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/60a7e00488167ce2babf3a2aeb3677e48aaf39be", - "reference": "60a7e00488167ce2babf3a2aeb3677e48aaf39be", + "url": "https://api.github.com/repos/laravel/framework/zipball/f4b69fac9292df1a8afd5eb93e77990444ad5077", + "reference": "f4b69fac9292df1a8afd5eb93e77990444ad5077", "shasum": "" }, "require": { @@ -2917,14 +3132,14 @@ "league/commonmark": "^1.3|^2.0.2", "league/flysystem": "^1.1", "monolog/monolog": "^2.0", - "nesbot/carbon": "^2.31", + "nesbot/carbon": "^2.53.1", "opis/closure": "^3.6", "php": "^7.3|^8.0", "psr/container": "^1.0", "psr/log": "^1.0 || ^2.0", "psr/simple-cache": "^1.0", "ramsey/uuid": "^4.2.2", - "swiftmailer/swiftmailer": "^6.0", + "swiftmailer/swiftmailer": "^6.3", "symfony/console": "^5.1.4", "symfony/error-handler": "^5.1.4", "symfony/finder": "^5.1.4", @@ -2979,22 +3194,23 @@ "illuminate/view": "self.version" }, "require-dev": { - "aws/aws-sdk-php": "^3.189.0", + "aws/aws-sdk-php": "^3.198.1", "doctrine/dbal": "^2.13.3|^3.1.2", - "filp/whoops": "^2.8", + "filp/whoops": "^2.14.3", "guzzlehttp/guzzle": "^6.5.5|^7.0.1", "league/flysystem-cached-adapter": "^1.0", "mockery/mockery": "^1.4.4", "orchestra/testbench-core": "^6.23", "pda/pheanstalk": "^4.0", "phpunit/phpunit": "^8.5.19|^9.5.8", - "predis/predis": "^1.1.2", + "predis/predis": "^1.1.9", "symfony/cache": "^5.1.4" }, "suggest": { - "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.189.0).", + "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage and SES mail driver (^3.198.1).", "brianium/paratest": "Required to run tests in parallel (^6.0).", "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.13.3|^3.1.2).", + "ext-bcmath": "Required to use the multiple_of validation rule.", "ext-ftp": "Required to use the Flysystem FTP driver.", "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().", "ext-memcached": "Required to use the memcache cache driver.", @@ -3002,7 +3218,7 @@ "ext-posix": "Required to use all features of the queue worker.", "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).", "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", - "filp/whoops": "Required for friendly error pages in development (^2.8).", + "filp/whoops": "Required for friendly error pages in development (^2.14.3).", "guzzlehttp/guzzle": "Required to use the HTTP Client, Mailgun mail driver and the ping methods on schedules (^6.5.5|^7.0.1).", "laravel/tinker": "Required to use the tinker console command (^2.0).", "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^1.0).", @@ -3012,7 +3228,7 @@ "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).", "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).", "phpunit/phpunit": "Required to use assertions and run tests (^8.5.19|^9.5.8).", - "predis/predis": "Required to use the predis connector (^1.1.2).", + "predis/predis": "Required to use the predis connector (^1.1.9).", "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^4.0|^5.0|^6.0).", "symfony/cache": "Required to PSR-6 cache bridge (^5.1.4).", @@ -3061,7 +3277,7 @@ "issues": "https://github.com/laravel/framework/issues", "source": "https://github.com/laravel/framework" }, - "time": "2021-09-28T13:30:25+00:00" + "time": "2021-11-09T16:50:33+00:00" }, { "name": "laravel/helpers", @@ -3121,16 +3337,16 @@ }, { "name": "laravel/passport", - "version": "v10.1.3", + "version": "v10.2.0", "source": { "type": "git", "url": "https://github.com/laravel/passport.git", - "reference": "a5e4471dd99b7638ab5ca3ecab6cd87cf37eb410" + "reference": "1c69a010930a3ce8db348967d8ad9585be4d7d4d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/passport/zipball/a5e4471dd99b7638ab5ca3ecab6cd87cf37eb410", - "reference": "a5e4471dd99b7638ab5ca3ecab6cd87cf37eb410", + "url": "https://api.github.com/repos/laravel/passport/zipball/1c69a010930a3ce8db348967d8ad9585be4d7d4d", + "reference": "1c69a010930a3ce8db348967d8ad9585be4d7d4d", "shasum": "" }, "require": { @@ -3194,20 +3410,20 @@ "issues": "https://github.com/laravel/passport/issues", "source": "https://github.com/laravel/passport" }, - "time": "2021-04-06T14:30:45+00:00" + "time": "2021-11-02T16:45:51+00:00" }, { "name": "laravel/serializable-closure", - "version": "v1.0.2", + "version": "v1.0.3", "source": { "type": "git", "url": "https://github.com/laravel/serializable-closure.git", - "reference": "679e24d36ff8b9be0e36f5222244ec8602e18867" + "reference": "6cfc678735f22ccedad761b8cae2bab14c3d8e5b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/679e24d36ff8b9be0e36f5222244ec8602e18867", - "reference": "679e24d36ff8b9be0e36f5222244ec8602e18867", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/6cfc678735f22ccedad761b8cae2bab14c3d8e5b", + "reference": "6cfc678735f22ccedad761b8cae2bab14c3d8e5b", "shasum": "" }, "require": { @@ -3253,7 +3469,7 @@ "issues": "https://github.com/laravel/serializable-closure/issues", "source": "https://github.com/laravel/serializable-closure" }, - "time": "2021-09-29T13:25:52+00:00" + "time": "2021-10-07T14:00:57+00:00" }, { "name": "laravel/slack-notification-channel", @@ -3386,16 +3602,16 @@ }, { "name": "laravel/ui", - "version": "v3.3.0", + "version": "v3.3.2", "source": { "type": "git", "url": "https://github.com/laravel/ui.git", - "reference": "07d725813350c695c779382cbd6dac0ab8665537" + "reference": "28f3d190fe270b6dcd6fdab4a77a392e693ceca5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laravel/ui/zipball/07d725813350c695c779382cbd6dac0ab8665537", - "reference": "07d725813350c695c779382cbd6dac0ab8665537", + "url": "https://api.github.com/repos/laravel/ui/zipball/28f3d190fe270b6dcd6fdab4a77a392e693ceca5", + "reference": "28f3d190fe270b6dcd6fdab4a77a392e693ceca5", "shasum": "" }, "require": { @@ -3438,9 +3654,9 @@ "ui" ], "support": { - "source": "https://github.com/laravel/ui/tree/v3.3.0" + "source": "https://github.com/laravel/ui/tree/v3.3.2" }, - "time": "2021-05-25T16:45:33+00:00" + "time": "2021-11-05T08:25:44+00:00" }, { "name": "laravelcollective/html", @@ -3516,36 +3732,33 @@ }, { "name": "lcobucci/clock", - "version": "1.2.0", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/lcobucci/clock.git", - "reference": "13fda71158032b805cb9c8c7544e6c99019dc267" + "reference": "353d83fe2e6ae95745b16b3d911813df6a05bfb3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/lcobucci/clock/zipball/13fda71158032b805cb9c8c7544e6c99019dc267", - "reference": "13fda71158032b805cb9c8c7544e6c99019dc267", + "url": "https://api.github.com/repos/lcobucci/clock/zipball/353d83fe2e6ae95745b16b3d911813df6a05bfb3", + "reference": "353d83fe2e6ae95745b16b3d911813df6a05bfb3", "shasum": "" }, "require": { - "php": "^7.2" + "php": "^7.4 || ^8.0" }, "require-dev": { - "infection/infection": "^0.10", - "lcobucci/coding-standard": "^1.0", - "phpstan/phpstan": "^0.10", - "phpstan/phpstan-deprecation-rules": "^0.10", - "phpstan/phpstan-phpunit": "^0.10", - "phpstan/phpstan-strict-rules": "^0.10", - "phpunit/phpunit": "^7.3" + "infection/infection": "^0.17", + "lcobucci/coding-standard": "^6.0", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-deprecation-rules": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpstan/phpstan-strict-rules": "^0.12", + "phpunit/php-code-coverage": "9.1.4", + "phpunit/phpunit": "9.3.7" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2-dev" - } - }, "autoload": { "psr-4": { "Lcobucci\\Clock\\": "src" @@ -3564,74 +3777,7 @@ "description": "Yet another clock abstraction", "support": { "issues": "https://github.com/lcobucci/clock/issues", - "source": "https://github.com/lcobucci/clock/tree/master" - }, - "time": "2018-08-12T16:47:48+00:00" - }, - { - "name": "lcobucci/jwt", - "version": "3.4.6", - "source": { - "type": "git", - "url": "https://github.com/lcobucci/jwt.git", - "reference": "3ef8657a78278dfeae7707d51747251db4176240" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/lcobucci/jwt/zipball/3ef8657a78278dfeae7707d51747251db4176240", - "reference": "3ef8657a78278dfeae7707d51747251db4176240", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "ext-openssl": "*", - "php": "^5.6 || ^7.0" - }, - "require-dev": { - "mikey179/vfsstream": "~1.5", - "phpmd/phpmd": "~2.2", - "phpunit/php-invoker": "~1.1", - "phpunit/phpunit": "^5.7 || ^7.3", - "squizlabs/php_codesniffer": "~2.3" - }, - "suggest": { - "lcobucci/clock": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.1-dev" - } - }, - "autoload": { - "psr-4": { - "Lcobucci\\JWT\\": "src" - }, - "files": [ - "compat/class-aliases.php", - "compat/json-exception-polyfill.php", - "compat/lcobucci-clock-polyfill.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Luís Otávio Cobucci Oblonczyk", - "email": "lcobucci@gmail.com", - "role": "Developer" - } - ], - "description": "A simple library to work with JSON Web Token and JSON Web Signature", - "keywords": [ - "JWS", - "jwt" - ], - "support": { - "issues": "https://github.com/lcobucci/jwt/issues", - "source": "https://github.com/lcobucci/jwt/tree/3.4.6" + "source": "https://github.com/lcobucci/clock/tree/2.0.x" }, "funding": [ { @@ -3643,46 +3789,129 @@ "type": "patreon" } ], - "time": "2021-09-28T19:18:28+00:00" + "time": "2020-08-27T18:56:02+00:00" }, { - "name": "league/commonmark", - "version": "1.6.6", + "name": "lcobucci/jwt", + "version": "4.1.5", "source": { "type": "git", - "url": "https://github.com/thephpleague/commonmark.git", - "reference": "c4228d11e30d7493c6836d20872f9582d8ba6dcf" + "url": "https://github.com/lcobucci/jwt.git", + "reference": "fe2d89f2eaa7087af4aa166c6f480ef04e000582" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/c4228d11e30d7493c6836d20872f9582d8ba6dcf", - "reference": "c4228d11e30d7493c6836d20872f9582d8ba6dcf", + "url": "https://api.github.com/repos/lcobucci/jwt/zipball/fe2d89f2eaa7087af4aa166c6f480ef04e000582", + "reference": "fe2d89f2eaa7087af4aa166c6f480ef04e000582", + "shasum": "" + }, + "require": { + "ext-hash": "*", + "ext-json": "*", + "ext-mbstring": "*", + "ext-openssl": "*", + "ext-sodium": "*", + "lcobucci/clock": "^2.0", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "infection/infection": "^0.21", + "lcobucci/coding-standard": "^6.0", + "mikey179/vfsstream": "^1.6.7", + "phpbench/phpbench": "^1.0", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-deprecation-rules": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpstan/phpstan-strict-rules": "^0.12", + "phpunit/php-invoker": "^3.1", + "phpunit/phpunit": "^9.5" + }, + "type": "library", + "autoload": { + "psr-4": { + "Lcobucci\\JWT\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Luís Cobucci", + "email": "lcobucci@gmail.com", + "role": "Developer" + } + ], + "description": "A simple library to work with JSON Web Token and JSON Web Signature", + "keywords": [ + "JWS", + "jwt" + ], + "support": { + "issues": "https://github.com/lcobucci/jwt/issues", + "source": "https://github.com/lcobucci/jwt/tree/4.1.5" + }, + "funding": [ + { + "url": "https://github.com/lcobucci", + "type": "github" + }, + { + "url": "https://www.patreon.com/lcobucci", + "type": "patreon" + } + ], + "time": "2021-09-28T19:34:56+00:00" + }, + { + "name": "league/commonmark", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/commonmark.git", + "reference": "2df87709f44b0dd733df86aef0830dce9b1f0f13" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/2df87709f44b0dd733df86aef0830dce9b1f0f13", + "reference": "2df87709f44b0dd733df86aef0830dce9b1f0f13", "shasum": "" }, "require": { "ext-mbstring": "*", - "php": "^7.1 || ^8.0" - }, - "conflict": { - "scrutinizer/ocular": "1.7.*" + "league/config": "^1.1.1", + "php": "^7.4 || ^8.0", + "psr/event-dispatcher": "^1.0", + "symfony/polyfill-php80": "^1.15" }, "require-dev": { - "cebe/markdown": "~1.0", - "commonmark/commonmark.js": "0.29.2", - "erusev/parsedown": "~1.0", + "cebe/markdown": "^1.0", + "commonmark/cmark": "0.30.0", + "commonmark/commonmark.js": "0.30.0", + "composer/package-versions-deprecated": "^1.8", + "erusev/parsedown": "^1.0", "ext-json": "*", "github/gfm": "0.29.0", - "michelf/php-markdown": "~1.4", - "mikehaertl/php-shellcommand": "^1.4", - "phpstan/phpstan": "^0.12.90", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.2", - "scrutinizer/ocular": "^1.5", - "symfony/finder": "^4.2" + "michelf/php-markdown": "^1.4", + "phpstan/phpstan": "^0.12.88", + "phpunit/phpunit": "^9.5.5", + "scrutinizer/ocular": "^1.8.1", + "symfony/finder": "^5.3", + "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0", + "unleashedtech/php-coding-standard": "^3.1", + "vimeo/psalm": "^4.7.3" + }, + "suggest": { + "symfony/yaml": "v2.3+ required if using the Front Matter extension" }, - "bin": [ - "bin/commonmark" - ], "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.1-dev" + } + }, "autoload": { "psr-4": { "League\\CommonMark\\": "src" @@ -3700,7 +3929,7 @@ "role": "Lead Developer" } ], - "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and Github-Flavored Markdown (GFM)", + "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and GitHub-Flavored Markdown (GFM)", "homepage": "https://commonmark.thephpleague.com", "keywords": [ "commonmark", @@ -3714,6 +3943,7 @@ ], "support": { "docs": "https://commonmark.thephpleague.com/", + "forum": "https://github.com/thephpleague/commonmark/discussions", "issues": "https://github.com/thephpleague/commonmark/issues", "rss": "https://github.com/thephpleague/commonmark/releases.atom", "source": "https://github.com/thephpleague/commonmark" @@ -3744,20 +3974,102 @@ "type": "tidelift" } ], - "time": "2021-07-17T17:13:23+00:00" + "time": "2021-08-14T14:06:04+00:00" }, { - "name": "league/csv", - "version": "9.7.1", + "name": "league/config", + "version": "v1.1.1", "source": { "type": "git", - "url": "https://github.com/thephpleague/csv.git", - "reference": "0ec57e8264ec92565974ead0d1724cf1026e10c1" + "url": "https://github.com/thephpleague/config.git", + "reference": "a9d39eeeb6cc49d10a6e6c36f22c4c1f4a767f3e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/csv/zipball/0ec57e8264ec92565974ead0d1724cf1026e10c1", - "reference": "0ec57e8264ec92565974ead0d1724cf1026e10c1", + "url": "https://api.github.com/repos/thephpleague/config/zipball/a9d39eeeb6cc49d10a6e6c36f22c4c1f4a767f3e", + "reference": "a9d39eeeb6cc49d10a6e6c36f22c4c1f4a767f3e", + "shasum": "" + }, + "require": { + "dflydev/dot-access-data": "^3.0.1", + "nette/schema": "^1.2", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.90", + "phpunit/phpunit": "^9.5.5", + "scrutinizer/ocular": "^1.8.1", + "unleashedtech/php-coding-standard": "^3.1", + "vimeo/psalm": "^4.7.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.2-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Config\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com", + "role": "Lead Developer" + } + ], + "description": "Define configuration arrays with strict schemas and access values with dot notation", + "homepage": "https://config.thephpleague.com", + "keywords": [ + "array", + "config", + "configuration", + "dot", + "dot-access", + "nested", + "schema" + ], + "support": { + "docs": "https://config.thephpleague.com/", + "issues": "https://github.com/thephpleague/config/issues", + "rss": "https://github.com/thephpleague/config/releases.atom", + "source": "https://github.com/thephpleague/config" + }, + "funding": [ + { + "url": "https://www.colinodell.com/sponsor", + "type": "custom" + }, + { + "url": "https://www.paypal.me/colinpodell/10.00", + "type": "custom" + }, + { + "url": "https://github.com/colinodell", + "type": "github" + } + ], + "time": "2021-08-14T12:15:32+00:00" + }, + { + "name": "league/csv", + "version": "9.7.2", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/csv.git", + "reference": "8544655c460fd01eed0ad258e514488d4b388645" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/csv/zipball/8544655c460fd01eed0ad258e514488d4b388645", + "reference": "8544655c460fd01eed0ad258e514488d4b388645", "shasum": "" }, "require": { @@ -3768,10 +4080,10 @@ "require-dev": { "ext-curl": "*", "ext-dom": "*", - "friendsofphp/php-cs-fixer": "^2.16", - "phpstan/phpstan": "^0.12.0", - "phpstan/phpstan-phpunit": "^0.12.0", - "phpstan/phpstan-strict-rules": "^0.12.0", + "friendsofphp/php-cs-fixer": "^3.0", + "phpstan/phpstan": "^0.12.99", + "phpstan/phpstan-phpunit": "^0.12.22", + "phpstan/phpstan-strict-rules": "^0.12.11", "phpunit/phpunit": "^9.5" }, "suggest": { @@ -3828,7 +4140,7 @@ "type": "github" } ], - "time": "2021-04-17T16:32:08+00:00" + "time": "2021-10-05T19:41:46+00:00" }, { "name": "league/event", @@ -4138,23 +4450,23 @@ }, { "name": "league/oauth2-server", - "version": "8.3.2", + "version": "8.3.3", "source": { "type": "git", "url": "https://github.com/thephpleague/oauth2-server.git", - "reference": "0809487d33dd8a2c8c8c04e4a599ba4aadba1ae6" + "reference": "f5698a3893eda9a17bcd48636990281e7ca77b2a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/oauth2-server/zipball/0809487d33dd8a2c8c8c04e4a599ba4aadba1ae6", - "reference": "0809487d33dd8a2c8c8c04e4a599ba4aadba1ae6", + "url": "https://api.github.com/repos/thephpleague/oauth2-server/zipball/f5698a3893eda9a17bcd48636990281e7ca77b2a", + "reference": "f5698a3893eda9a17bcd48636990281e7ca77b2a", "shasum": "" }, "require": { "defuse/php-encryption": "^2.2.1", "ext-json": "*", "ext-openssl": "*", - "lcobucci/jwt": "^3.4 || ^4.0", + "lcobucci/jwt": "^3.4.6 || ^4.0.4", "league/event": "^2.2", "php": "^7.2 || ^8.0", "psr/http-message": "^1.0.1" @@ -4213,7 +4525,7 @@ ], "support": { "issues": "https://github.com/thephpleague/oauth2-server/issues", - "source": "https://github.com/thephpleague/oauth2-server/tree/8.3.2" + "source": "https://github.com/thephpleague/oauth2-server/tree/8.3.3" }, "funding": [ { @@ -4221,20 +4533,20 @@ "type": "github" } ], - "time": "2021-07-27T08:17:08+00:00" + "time": "2021-10-11T20:41:49+00:00" }, { "name": "livewire/livewire", - "version": "v2.6.7", + "version": "v2.7.2", "source": { "type": "git", "url": "https://github.com/livewire/livewire.git", - "reference": "7e8ded3cc496858b0a35c1c9355e5af79985bd0c" + "reference": "991e5bd8a48e450d23cd55336964f916e92a6464" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/livewire/livewire/zipball/7e8ded3cc496858b0a35c1c9355e5af79985bd0c", - "reference": "7e8ded3cc496858b0a35c1c9355e5af79985bd0c", + "url": "https://api.github.com/repos/livewire/livewire/zipball/991e5bd8a48e450d23cd55336964f916e92a6464", + "reference": "991e5bd8a48e450d23cd55336964f916e92a6464", "shasum": "" }, "require": { @@ -4285,7 +4597,7 @@ "description": "A front-end framework for Laravel.", "support": { "issues": "https://github.com/livewire/livewire/issues", - "source": "https://github.com/livewire/livewire/tree/v2.6.7" + "source": "https://github.com/livewire/livewire/tree/v2.7.2" }, "funding": [ { @@ -4293,7 +4605,7 @@ "type": "github" } ], - "time": "2021-09-25T22:50:47+00:00" + "time": "2021-10-20T02:27:35+00:00" }, { "name": "maatwebsite/excel", @@ -4446,16 +4758,16 @@ }, { "name": "markbaker/complex", - "version": "2.0.3", + "version": "3.0.1", "source": { "type": "git", "url": "https://github.com/MarkBaker/PHPComplex.git", - "reference": "6f724d7e04606fd8adaa4e3bb381c3e9db09c946" + "reference": "ab8bc271e404909db09ff2d5ffa1e538085c0f22" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/MarkBaker/PHPComplex/zipball/6f724d7e04606fd8adaa4e3bb381c3e9db09c946", - "reference": "6f724d7e04606fd8adaa4e3bb381c3e9db09c946", + "url": "https://api.github.com/repos/MarkBaker/PHPComplex/zipball/ab8bc271e404909db09ff2d5ffa1e538085c0f22", + "reference": "ab8bc271e404909db09ff2d5ffa1e538085c0f22", "shasum": "" }, "require": { @@ -4471,51 +4783,7 @@ "autoload": { "psr-4": { "Complex\\": "classes/src/" - }, - "files": [ - "classes/src/functions/abs.php", - "classes/src/functions/acos.php", - "classes/src/functions/acosh.php", - "classes/src/functions/acot.php", - "classes/src/functions/acoth.php", - "classes/src/functions/acsc.php", - "classes/src/functions/acsch.php", - "classes/src/functions/argument.php", - "classes/src/functions/asec.php", - "classes/src/functions/asech.php", - "classes/src/functions/asin.php", - "classes/src/functions/asinh.php", - "classes/src/functions/atan.php", - "classes/src/functions/atanh.php", - "classes/src/functions/conjugate.php", - "classes/src/functions/cos.php", - "classes/src/functions/cosh.php", - "classes/src/functions/cot.php", - "classes/src/functions/coth.php", - "classes/src/functions/csc.php", - "classes/src/functions/csch.php", - "classes/src/functions/exp.php", - "classes/src/functions/inverse.php", - "classes/src/functions/ln.php", - "classes/src/functions/log2.php", - "classes/src/functions/log10.php", - "classes/src/functions/negative.php", - "classes/src/functions/pow.php", - "classes/src/functions/rho.php", - "classes/src/functions/sec.php", - "classes/src/functions/sech.php", - "classes/src/functions/sin.php", - "classes/src/functions/sinh.php", - "classes/src/functions/sqrt.php", - "classes/src/functions/tan.php", - "classes/src/functions/tanh.php", - "classes/src/functions/theta.php", - "classes/src/operations/add.php", - "classes/src/operations/subtract.php", - "classes/src/operations/multiply.php", - "classes/src/operations/divideby.php", - "classes/src/operations/divideinto.php" - ] + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -4535,22 +4803,22 @@ ], "support": { "issues": "https://github.com/MarkBaker/PHPComplex/issues", - "source": "https://github.com/MarkBaker/PHPComplex/tree/2.0.3" + "source": "https://github.com/MarkBaker/PHPComplex/tree/3.0.1" }, - "time": "2021-06-02T09:44:11+00:00" + "time": "2021-06-29T15:32:53+00:00" }, { "name": "markbaker/matrix", - "version": "2.1.3", + "version": "3.0.0", "source": { "type": "git", "url": "https://github.com/MarkBaker/PHPMatrix.git", - "reference": "174395a901b5ba0925f1d790fa91bab531074b61" + "reference": "c66aefcafb4f6c269510e9ac46b82619a904c576" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/MarkBaker/PHPMatrix/zipball/174395a901b5ba0925f1d790fa91bab531074b61", - "reference": "174395a901b5ba0925f1d790fa91bab531074b61", + "url": "https://api.github.com/repos/MarkBaker/PHPMatrix/zipball/c66aefcafb4f6c269510e9ac46b82619a904c576", + "reference": "c66aefcafb4f6c269510e9ac46b82619a904c576", "shasum": "" }, "require": { @@ -4570,25 +4838,7 @@ "autoload": { "psr-4": { "Matrix\\": "classes/src/" - }, - "files": [ - "classes/src/Functions/adjoint.php", - "classes/src/Functions/antidiagonal.php", - "classes/src/Functions/cofactors.php", - "classes/src/Functions/determinant.php", - "classes/src/Functions/diagonal.php", - "classes/src/Functions/identity.php", - "classes/src/Functions/inverse.php", - "classes/src/Functions/minors.php", - "classes/src/Functions/trace.php", - "classes/src/Functions/transpose.php", - "classes/src/Operations/add.php", - "classes/src/Operations/directsum.php", - "classes/src/Operations/subtract.php", - "classes/src/Operations/multiply.php", - "classes/src/Operations/divideby.php", - "classes/src/Operations/divideinto.php" - ] + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -4609,27 +4859,27 @@ ], "support": { "issues": "https://github.com/MarkBaker/PHPMatrix/issues", - "source": "https://github.com/MarkBaker/PHPMatrix/tree/2.1.3" + "source": "https://github.com/MarkBaker/PHPMatrix/tree/3.0.0" }, - "time": "2021-05-25T15:42:17+00:00" + "time": "2021-07-01T19:01:15+00:00" }, { "name": "maximebf/debugbar", - "version": "v1.17.1", + "version": "v1.17.3", "source": { "type": "git", "url": "https://github.com/maximebf/php-debugbar.git", - "reference": "0a3532556be0145603f8a9de23e76dc28eed7054" + "reference": "e8ac3499af0ea5b440908e06cc0abe5898008b3c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/0a3532556be0145603f8a9de23e76dc28eed7054", - "reference": "0a3532556be0145603f8a9de23e76dc28eed7054", + "url": "https://api.github.com/repos/maximebf/php-debugbar/zipball/e8ac3499af0ea5b440908e06cc0abe5898008b3c", + "reference": "e8ac3499af0ea5b440908e06cc0abe5898008b3c", "shasum": "" }, "require": { "php": "^7.1|^8", - "psr/log": "^1.0", + "psr/log": "^1|^2|^3", "symfony/var-dumper": "^2.6|^3|^4|^5" }, "require-dev": { @@ -4674,29 +4924,29 @@ ], "support": { "issues": "https://github.com/maximebf/php-debugbar/issues", - "source": "https://github.com/maximebf/php-debugbar/tree/v1.17.1" + "source": "https://github.com/maximebf/php-debugbar/tree/v1.17.3" }, - "time": "2021-08-01T09:19:02+00:00" + "time": "2021-10-19T12:33:27+00:00" }, { "name": "mediconesystems/livewire-datatables", - "version": "v0.4.3", + "version": "v0.5.4", "source": { "type": "git", "url": "https://github.com/MedicOneSystems/livewire-datatables.git", - "reference": "b0f3b3b9ee801d6870de898436090b27b2bc19c0" + "reference": "bf6f24d529208e6bdec58276e92792719c73c827" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/MedicOneSystems/livewire-datatables/zipball/b0f3b3b9ee801d6870de898436090b27b2bc19c0", - "reference": "b0f3b3b9ee801d6870de898436090b27b2bc19c0", + "url": "https://api.github.com/repos/MedicOneSystems/livewire-datatables/zipball/bf6f24d529208e6bdec58276e92792719c73c827", + "reference": "bf6f24d529208e6bdec58276e92792719c73c827", "shasum": "" }, "require": { "illuminate/support": "^7.0|^8.0", "livewire/livewire": "^1.2|^2.0", "maatwebsite/excel": "^3.1", - "php": "^7.2.5" + "php": "^7.2.5|^8.0" }, "require-dev": { "laravel/legacy-factories": "^1.0.4", @@ -4737,22 +4987,22 @@ ], "support": { "issues": "https://github.com/MedicOneSystems/livewire-datatables/issues", - "source": "https://github.com/MedicOneSystems/livewire-datatables/tree/v0.4.3" + "source": "https://github.com/MedicOneSystems/livewire-datatables/tree/v0.5.4" }, - "time": "2020-11-16T12:02:40+00:00" + "time": "2021-08-09T20:37:55+00:00" }, { "name": "monolog/monolog", - "version": "2.3.4", + "version": "2.3.5", "source": { "type": "git", "url": "https://github.com/Seldaek/monolog.git", - "reference": "437e7a1c50044b92773b361af77620efb76fff59" + "reference": "fd4380d6fc37626e2f799f29d91195040137eba9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/437e7a1c50044b92773b361af77620efb76fff59", - "reference": "437e7a1c50044b92773b361af77620efb76fff59", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/fd4380d6fc37626e2f799f29d91195040137eba9", + "reference": "fd4380d6fc37626e2f799f29d91195040137eba9", "shasum": "" }, "require": { @@ -4768,7 +5018,7 @@ "elasticsearch/elasticsearch": "^7", "graylog2/gelf-php": "^1.4.2", "mongodb/mongodb": "^1.8", - "php-amqplib/php-amqplib": "~2.4", + "php-amqplib/php-amqplib": "~2.4 || ^3", "php-console/php-console": "^3.1.3", "phpspec/prophecy": "^1.6.1", "phpstan/phpstan": "^0.12.91", @@ -4826,7 +5076,7 @@ ], "support": { "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/2.3.4" + "source": "https://github.com/Seldaek/monolog/tree/2.3.5" }, "funding": [ { @@ -4838,7 +5088,7 @@ "type": "tidelift" } ], - "time": "2021-09-15T11:27:21+00:00" + "time": "2021-10-01T21:08:31+00:00" }, { "name": "mtdowling/jmespath.php", @@ -5004,16 +5254,16 @@ }, { "name": "nesbot/carbon", - "version": "2.53.1", + "version": "2.54.0", "source": { "type": "git", "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "f4655858a784988f880c1b8c7feabbf02dfdf045" + "reference": "eed83939f1aed3eee517d03a33f5ec587ac529b5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/f4655858a784988f880c1b8c7feabbf02dfdf045", - "reference": "f4655858a784988f880c1b8c7feabbf02dfdf045", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/eed83939f1aed3eee517d03a33f5ec587ac529b5", + "reference": "eed83939f1aed3eee517d03a33f5ec587ac529b5", "shasum": "" }, "require": { @@ -5024,6 +5274,7 @@ "symfony/translation": "^3.4 || ^4.0 || ^5.0" }, "require-dev": { + "doctrine/dbal": "^2.0 || ^3.0", "doctrine/orm": "^2.7", "friendsofphp/php-cs-fixer": "^3.0", "kylekatarnls/multi-tester": "^2.0", @@ -5094,20 +5345,167 @@ "type": "tidelift" } ], - "time": "2021-09-06T09:29:23+00:00" + "time": "2021-11-01T21:22:20+00:00" }, { - "name": "nikic/php-parser", - "version": "v4.13.0", + "name": "nette/schema", + "version": "v1.2.2", "source": { "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "50953a2691a922aa1769461637869a0a2faa3f53" + "url": "https://github.com/nette/schema.git", + "reference": "9a39cef03a5b34c7de64f551538cbba05c2be5df" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/50953a2691a922aa1769461637869a0a2faa3f53", - "reference": "50953a2691a922aa1769461637869a0a2faa3f53", + "url": "https://api.github.com/repos/nette/schema/zipball/9a39cef03a5b34c7de64f551538cbba05c2be5df", + "reference": "9a39cef03a5b34c7de64f551538cbba05c2be5df", + "shasum": "" + }, + "require": { + "nette/utils": "^2.5.7 || ^3.1.5 || ^4.0", + "php": ">=7.1 <8.2" + }, + "require-dev": { + "nette/tester": "^2.3 || ^2.4", + "phpstan/phpstan-nette": "^0.12", + "tracy/tracy": "^2.7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "📐 Nette Schema: validating data structures against a given Schema.", + "homepage": "https://nette.org", + "keywords": [ + "config", + "nette" + ], + "support": { + "issues": "https://github.com/nette/schema/issues", + "source": "https://github.com/nette/schema/tree/v1.2.2" + }, + "time": "2021-10-15T11:40:02+00:00" + }, + { + "name": "nette/utils", + "version": "v3.2.5", + "source": { + "type": "git", + "url": "https://github.com/nette/utils.git", + "reference": "9cd80396ca58d7969ab44fc7afcf03624dfa526e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/utils/zipball/9cd80396ca58d7969ab44fc7afcf03624dfa526e", + "reference": "9cd80396ca58d7969ab44fc7afcf03624dfa526e", + "shasum": "" + }, + "require": { + "php": ">=7.2 <8.2" + }, + "conflict": { + "nette/di": "<3.0.6" + }, + "require-dev": { + "nette/tester": "~2.0", + "phpstan/phpstan": "^0.12", + "tracy/tracy": "^2.3" + }, + "suggest": { + "ext-gd": "to use Image", + "ext-iconv": "to use Strings::webalize(), toAscii(), chr() and reverse()", + "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()", + "ext-json": "to use Nette\\Utils\\Json", + "ext-mbstring": "to use Strings::lower() etc...", + "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()", + "ext-xml": "to use Strings::length() etc. when mbstring is not available" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.", + "homepage": "https://nette.org", + "keywords": [ + "array", + "core", + "datetime", + "images", + "json", + "nette", + "paginator", + "password", + "slugify", + "string", + "unicode", + "utf-8", + "utility", + "validation" + ], + "support": { + "issues": "https://github.com/nette/utils/issues", + "source": "https://github.com/nette/utils/tree/v3.2.5" + }, + "time": "2021-09-20T10:50:11+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v4.13.1", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "63a79e8daa781cac14e5195e63ed8ae231dd10fd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/63a79e8daa781cac14e5195e63ed8ae231dd10fd", + "reference": "63a79e8daa781cac14e5195e63ed8ae231dd10fd", "shasum": "" }, "require": { @@ -5148,9 +5546,9 @@ ], "support": { "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.13.0" + "source": "https://github.com/nikic/PHP-Parser/tree/v4.13.1" }, - "time": "2021-09-20T12:20:58+00:00" + "time": "2021-11-03T20:52:16+00:00" }, { "name": "nunomaduro/collision", @@ -5739,16 +6137,16 @@ }, { "name": "phpdocumentor/reflection-docblock", - "version": "5.2.2", + "version": "5.3.0", "source": { "type": "git", "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556" + "reference": "622548b623e81ca6d78b721c5e029f4ce664f170" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/069a785b2141f5bcf49f3e353548dc1cce6df556", - "reference": "069a785b2141f5bcf49f3e353548dc1cce6df556", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170", + "reference": "622548b623e81ca6d78b721c5e029f4ce664f170", "shasum": "" }, "require": { @@ -5759,7 +6157,8 @@ "webmozart/assert": "^1.9.1" }, "require-dev": { - "mockery/mockery": "~1.3.2" + "mockery/mockery": "~1.3.2", + "psalm/phar": "^4.8" }, "type": "library", "extra": { @@ -5789,22 +6188,22 @@ "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", "support": { "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", - "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/master" + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0" }, - "time": "2020-09-03T19:13:55+00:00" + "time": "2021-10-19T17:43:47+00:00" }, { "name": "phpdocumentor/type-resolver", - "version": "1.5.0", + "version": "1.5.1", "source": { "type": "git", "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "30f38bffc6f24293dadd1823936372dfa9e86e2f" + "reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/30f38bffc6f24293dadd1823936372dfa9e86e2f", - "reference": "30f38bffc6f24293dadd1823936372dfa9e86e2f", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/a12f7e301eb7258bb68acd89d4aefa05c2906cae", + "reference": "a12f7e301eb7258bb68acd89d4aefa05c2906cae", "shasum": "" }, "require": { @@ -5839,22 +6238,22 @@ "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", "support": { "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.5.0" + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.5.1" }, - "time": "2021-09-17T15:28:14+00:00" + "time": "2021-10-02T14:08:47+00:00" }, { "name": "phpoffice/phpspreadsheet", - "version": "1.18.0", + "version": "1.19.0", "source": { "type": "git", "url": "https://github.com/PHPOffice/PhpSpreadsheet.git", - "reference": "418cd304e8e6b417ea79c3b29126a25dc4b1170c" + "reference": "a9ab55bfae02eecffb3df669a2e19ba0e2f04bbf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/418cd304e8e6b417ea79c3b29126a25dc4b1170c", - "reference": "418cd304e8e6b417ea79c3b29126a25dc4b1170c", + "url": "https://api.github.com/repos/PHPOffice/PhpSpreadsheet/zipball/a9ab55bfae02eecffb3df669a2e19ba0e2f04bbf", + "reference": "a9ab55bfae02eecffb3df669a2e19ba0e2f04bbf", "shasum": "" }, "require": { @@ -5873,8 +6272,8 @@ "ext-zlib": "*", "ezyang/htmlpurifier": "^4.13", "maennchen/zipstream-php": "^2.1", - "markbaker/complex": "^2.0", - "markbaker/matrix": "^2.0", + "markbaker/complex": "^3.0", + "markbaker/matrix": "^3.0", "php": "^7.2 || ^8.0", "psr/http-client": "^1.0", "psr/http-factory": "^1.0", @@ -5943,9 +6342,9 @@ ], "support": { "issues": "https://github.com/PHPOffice/PhpSpreadsheet/issues", - "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/1.18.0" + "source": "https://github.com/PHPOffice/PhpSpreadsheet/tree/1.19.0" }, - "time": "2021-05-31T18:21:15+00:00" + "time": "2021-10-31T15:09:20+00:00" }, { "name": "phpoption/phpoption", @@ -6018,16 +6417,16 @@ }, { "name": "phpseclib/phpseclib", - "version": "3.0.10", + "version": "3.0.11", "source": { "type": "git", "url": "https://github.com/phpseclib/phpseclib.git", - "reference": "62fcc5a94ac83b1506f52d7558d828617fac9187" + "reference": "6e794226a35159eb06f355efe59a0075a16551dd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/62fcc5a94ac83b1506f52d7558d828617fac9187", - "reference": "62fcc5a94ac83b1506f52d7558d828617fac9187", + "url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/6e794226a35159eb06f355efe59a0075a16551dd", + "reference": "6e794226a35159eb06f355efe59a0075a16551dd", "shasum": "" }, "require": { @@ -6109,7 +6508,7 @@ ], "support": { "issues": "https://github.com/phpseclib/phpseclib/issues", - "source": "https://github.com/phpseclib/phpseclib/tree/3.0.10" + "source": "https://github.com/phpseclib/phpseclib/tree/3.0.11" }, "funding": [ { @@ -6125,7 +6524,7 @@ "type": "tidelift" } ], - "time": "2021-08-16T04:24:45+00:00" + "time": "2021-10-27T03:01:46+00:00" }, { "name": "phpspec/prophecy", @@ -6434,20 +6833,20 @@ }, { "name": "psr/container", - "version": "1.1.1", + "version": "1.1.2", "source": { "type": "git", "url": "https://github.com/php-fig/container.git", - "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf" + "reference": "513e0666f7216c7459170d56df27dfcefe1689ea" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/8622567409010282b7aeebe4bb841fe98b58dcaf", - "reference": "8622567409010282b7aeebe4bb841fe98b58dcaf", + "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea", + "reference": "513e0666f7216c7459170d56df27dfcefe1689ea", "shasum": "" }, "require": { - "php": ">=7.2.0" + "php": ">=7.4.0" }, "type": "library", "autoload": { @@ -6476,9 +6875,9 @@ ], "support": { "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/1.1.1" + "source": "https://github.com/php-fig/container/tree/1.1.2" }, - "time": "2021-03-05T17:36:06+00:00" + "time": "2021-11-05T16:50:12+00:00" }, { "name": "psr/event-dispatcher", @@ -6793,16 +7192,16 @@ }, { "name": "psy/psysh", - "version": "v0.10.8", + "version": "v0.10.9", "source": { "type": "git", "url": "https://github.com/bobthecow/psysh.git", - "reference": "e4573f47750dd6c92dca5aee543fa77513cbd8d3" + "reference": "01281336c4ae557fe4a994544f30d3a1bc204375" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/bobthecow/psysh/zipball/e4573f47750dd6c92dca5aee543fa77513cbd8d3", - "reference": "e4573f47750dd6c92dca5aee543fa77513cbd8d3", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/01281336c4ae557fe4a994544f30d3a1bc204375", + "reference": "01281336c4ae557fe4a994544f30d3a1bc204375", "shasum": "" }, "require": { @@ -6862,9 +7261,9 @@ ], "support": { "issues": "https://github.com/bobthecow/psysh/issues", - "source": "https://github.com/bobthecow/psysh/tree/v0.10.8" + "source": "https://github.com/bobthecow/psysh/tree/v0.10.9" }, - "time": "2021-04-10T16:23:39+00:00" + "time": "2021-10-10T13:37:39+00:00" }, { "name": "ralouphie/getallheaders", @@ -6912,16 +7311,16 @@ }, { "name": "ramsey/collection", - "version": "1.2.1", + "version": "1.2.2", "source": { "type": "git", "url": "https://github.com/ramsey/collection.git", - "reference": "eaca1dc1054ddd10cbd83c1461907bee6fb528fa" + "reference": "cccc74ee5e328031b15640b51056ee8d3bb66c0a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ramsey/collection/zipball/eaca1dc1054ddd10cbd83c1461907bee6fb528fa", - "reference": "eaca1dc1054ddd10cbd83c1461907bee6fb528fa", + "url": "https://api.github.com/repos/ramsey/collection/zipball/cccc74ee5e328031b15640b51056ee8d3bb66c0a", + "reference": "cccc74ee5e328031b15640b51056ee8d3bb66c0a", "shasum": "" }, "require": { @@ -6975,7 +7374,7 @@ ], "support": { "issues": "https://github.com/ramsey/collection/issues", - "source": "https://github.com/ramsey/collection/tree/1.2.1" + "source": "https://github.com/ramsey/collection/tree/1.2.2" }, "funding": [ { @@ -6987,7 +7386,7 @@ "type": "tidelift" } ], - "time": "2021-08-06T03:41:06+00:00" + "time": "2021-10-10T03:01:02+00:00" }, { "name": "ramsey/uuid", @@ -7748,16 +8147,16 @@ }, { "name": "swiftmailer/swiftmailer", - "version": "v6.2.7", + "version": "v6.3.0", "source": { "type": "git", "url": "https://github.com/swiftmailer/swiftmailer.git", - "reference": "15f7faf8508e04471f666633addacf54c0ab5933" + "reference": "8a5d5072dca8f48460fce2f4131fcc495eec654c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/15f7faf8508e04471f666633addacf54c0ab5933", - "reference": "15f7faf8508e04471f666633addacf54c0ab5933", + "url": "https://api.github.com/repos/swiftmailer/swiftmailer/zipball/8a5d5072dca8f48460fce2f4131fcc495eec654c", + "reference": "8a5d5072dca8f48460fce2f4131fcc495eec654c", "shasum": "" }, "require": { @@ -7769,7 +8168,7 @@ }, "require-dev": { "mockery/mockery": "^1.0", - "symfony/phpunit-bridge": "^4.4|^5.0" + "symfony/phpunit-bridge": "^4.4|^5.4" }, "suggest": { "ext-intl": "Needed to support internationalized email addresses" @@ -7807,7 +8206,7 @@ ], "support": { "issues": "https://github.com/swiftmailer/swiftmailer/issues", - "source": "https://github.com/swiftmailer/swiftmailer/tree/v6.2.7" + "source": "https://github.com/swiftmailer/swiftmailer/tree/v6.3.0" }, "funding": [ { @@ -7819,20 +8218,20 @@ "type": "tidelift" } ], - "time": "2021-03-09T12:30:35+00:00" + "time": "2021-10-18T15:26:12+00:00" }, { "name": "symfony/console", - "version": "v5.3.7", + "version": "v5.3.10", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "8b1008344647462ae6ec57559da166c2bfa5e16a" + "reference": "d4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/8b1008344647462ae6ec57559da166c2bfa5e16a", - "reference": "8b1008344647462ae6ec57559da166c2bfa5e16a", + "url": "https://api.github.com/repos/symfony/console/zipball/d4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3", + "reference": "d4e409d9fbcfbf71af0e5a940abb7b0b4bad0bd3", "shasum": "" }, "require": { @@ -7902,7 +8301,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v5.3.7" + "source": "https://github.com/symfony/console/tree/v5.3.10" }, "funding": [ { @@ -7918,7 +8317,7 @@ "type": "tidelift" } ], - "time": "2021-08-25T20:02:16+00:00" + "time": "2021-10-26T09:30:15+00:00" }, { "name": "symfony/css-selector", @@ -8495,16 +8894,16 @@ }, { "name": "symfony/http-foundation", - "version": "v5.3.7", + "version": "v5.3.10", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "e36c8e5502b4f3f0190c675f1c1f1248a64f04e5" + "reference": "9f34f02e8a5fdc7a56bafe011cea1ce97300e54c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/e36c8e5502b4f3f0190c675f1c1f1248a64f04e5", - "reference": "e36c8e5502b4f3f0190c675f1c1f1248a64f04e5", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/9f34f02e8a5fdc7a56bafe011cea1ce97300e54c", + "reference": "9f34f02e8a5fdc7a56bafe011cea1ce97300e54c", "shasum": "" }, "require": { @@ -8548,7 +8947,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v5.3.7" + "source": "https://github.com/symfony/http-foundation/tree/v5.3.10" }, "funding": [ { @@ -8564,20 +8963,20 @@ "type": "tidelift" } ], - "time": "2021-08-27T11:20:35+00:00" + "time": "2021-10-11T15:41:55+00:00" }, { "name": "symfony/http-kernel", - "version": "v5.3.9", + "version": "v5.3.10", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "ceaf46a992f60e90645e7279825a830f733a17c5" + "reference": "703e4079920468e9522b72cf47fd76ce8d795e86" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/ceaf46a992f60e90645e7279825a830f733a17c5", - "reference": "ceaf46a992f60e90645e7279825a830f733a17c5", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/703e4079920468e9522b72cf47fd76ce8d795e86", + "reference": "703e4079920468e9522b72cf47fd76ce8d795e86", "shasum": "" }, "require": { @@ -8660,7 +9059,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v5.3.9" + "source": "https://github.com/symfony/http-kernel/tree/v5.3.10" }, "funding": [ { @@ -8676,7 +9075,7 @@ "type": "tidelift" } ], - "time": "2021-09-28T10:25:11+00:00" + "time": "2021-10-29T08:36:48+00:00" }, { "name": "symfony/mime", @@ -9633,32 +10032,32 @@ }, { "name": "symfony/psr-http-message-bridge", - "version": "v2.1.1", + "version": "v2.1.2", "source": { "type": "git", "url": "https://github.com/symfony/psr-http-message-bridge.git", - "reference": "c9012994c4b4fb23e7c57dd86b763a417a04feba" + "reference": "22b37c8a3f6b5d94e9cdbd88e1270d96e2f97b34" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/c9012994c4b4fb23e7c57dd86b763a417a04feba", - "reference": "c9012994c4b4fb23e7c57dd86b763a417a04feba", + "url": "https://api.github.com/repos/symfony/psr-http-message-bridge/zipball/22b37c8a3f6b5d94e9cdbd88e1270d96e2f97b34", + "reference": "22b37c8a3f6b5d94e9cdbd88e1270d96e2f97b34", "shasum": "" }, "require": { "php": ">=7.1", "psr/http-message": "^1.0", - "symfony/http-foundation": "^4.4 || ^5.0" + "symfony/http-foundation": "^4.4 || ^5.0 || ^6.0" }, "require-dev": { "nyholm/psr7": "^1.1", "psr/log": "^1.1 || ^2 || ^3", - "symfony/browser-kit": "^4.4 || ^5.0", - "symfony/config": "^4.4 || ^5.0", - "symfony/event-dispatcher": "^4.4 || ^5.0", - "symfony/framework-bundle": "^4.4 || ^5.0", - "symfony/http-kernel": "^4.4 || ^5.0", - "symfony/phpunit-bridge": "^4.4.19 || ^5.2" + "symfony/browser-kit": "^4.4 || ^5.0 || ^6.0", + "symfony/config": "^4.4 || ^5.0 || ^6.0", + "symfony/event-dispatcher": "^4.4 || ^5.0 || ^6.0", + "symfony/framework-bundle": "^4.4 || ^5.0 || ^6.0", + "symfony/http-kernel": "^4.4 || ^5.0 || ^6.0", + "symfony/phpunit-bridge": "^5.4@dev || ^6.0" }, "suggest": { "nyholm/psr7": "For a super lightweight PSR-7/17 implementation" @@ -9701,7 +10100,7 @@ ], "support": { "issues": "https://github.com/symfony/psr-http-message-bridge/issues", - "source": "https://github.com/symfony/psr-http-message-bridge/tree/v2.1.1" + "source": "https://github.com/symfony/psr-http-message-bridge/tree/v2.1.2" }, "funding": [ { @@ -9717,7 +10116,7 @@ "type": "tidelift" } ], - "time": "2021-07-27T17:25:39+00:00" + "time": "2021-11-05T13:13:39+00:00" }, { "name": "symfony/routing", @@ -9890,16 +10289,16 @@ }, { "name": "symfony/string", - "version": "v5.3.7", + "version": "v5.3.10", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "8d224396e28d30f81969f083a58763b8b9ceb0a5" + "reference": "d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/8d224396e28d30f81969f083a58763b8b9ceb0a5", - "reference": "8d224396e28d30f81969f083a58763b8b9ceb0a5", + "url": "https://api.github.com/repos/symfony/string/zipball/d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c", + "reference": "d70c35bb20bbca71fc4ab7921e3c6bda1a82a60c", "shasum": "" }, "require": { @@ -9953,7 +10352,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v5.3.7" + "source": "https://github.com/symfony/string/tree/v5.3.10" }, "funding": [ { @@ -9969,20 +10368,20 @@ "type": "tidelift" } ], - "time": "2021-08-26T08:00:08+00:00" + "time": "2021-10-27T18:21:46+00:00" }, { "name": "symfony/translation", - "version": "v5.3.9", + "version": "v5.3.10", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "6e69f3551c1a3356cf6ea8d019bf039a0f8b6886" + "reference": "6ef197aea2ac8b9cd63e0da7522b3771714035aa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/6e69f3551c1a3356cf6ea8d019bf039a0f8b6886", - "reference": "6e69f3551c1a3356cf6ea8d019bf039a0f8b6886", + "url": "https://api.github.com/repos/symfony/translation/zipball/6ef197aea2ac8b9cd63e0da7522b3771714035aa", + "reference": "6ef197aea2ac8b9cd63e0da7522b3771714035aa", "shasum": "" }, "require": { @@ -10048,7 +10447,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v5.3.9" + "source": "https://github.com/symfony/translation/tree/v5.3.10" }, "funding": [ { @@ -10064,7 +10463,7 @@ "type": "tidelift" } ], - "time": "2021-08-26T08:22:53+00:00" + "time": "2021-10-10T06:43:24+00:00" }, { "name": "symfony/translation-contracts", @@ -10146,16 +10545,16 @@ }, { "name": "symfony/var-dumper", - "version": "v5.3.8", + "version": "v5.3.10", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "eaaea4098be1c90c8285543e1356a09c8aa5c8da" + "reference": "875432adb5f5570fff21036fd22aee244636b7d1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/eaaea4098be1c90c8285543e1356a09c8aa5c8da", - "reference": "eaaea4098be1c90c8285543e1356a09c8aa5c8da", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/875432adb5f5570fff21036fd22aee244636b7d1", + "reference": "875432adb5f5570fff21036fd22aee244636b7d1", "shasum": "" }, "require": { @@ -10214,7 +10613,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v5.3.8" + "source": "https://github.com/symfony/var-dumper/tree/v5.3.10" }, "funding": [ { @@ -10230,7 +10629,7 @@ "type": "tidelift" } ], - "time": "2021-09-24T15:59:58+00:00" + "time": "2021-10-26T09:30:15+00:00" }, { "name": "tecnickcom/tc-lib-barcode", @@ -10640,31 +11039,31 @@ }, { "name": "vlucas/phpdotenv", - "version": "v5.3.0", + "version": "v5.3.1", "source": { "type": "git", "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "b3eac5c7ac896e52deab4a99068e3f4ab12d9e56" + "reference": "accaddf133651d4b5cf81a119f25296736ffc850" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/b3eac5c7ac896e52deab4a99068e3f4ab12d9e56", - "reference": "b3eac5c7ac896e52deab4a99068e3f4ab12d9e56", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/accaddf133651d4b5cf81a119f25296736ffc850", + "reference": "accaddf133651d4b5cf81a119f25296736ffc850", "shasum": "" }, "require": { "ext-pcre": "*", - "graham-campbell/result-type": "^1.0.1", + "graham-campbell/result-type": "^1.0.2", "php": "^7.1.3 || ^8.0", - "phpoption/phpoption": "^1.7.4", - "symfony/polyfill-ctype": "^1.17", - "symfony/polyfill-mbstring": "^1.17", - "symfony/polyfill-php80": "^1.17" + "phpoption/phpoption": "^1.8", + "symfony/polyfill-ctype": "^1.23", + "symfony/polyfill-mbstring": "^1.23.1", + "symfony/polyfill-php80": "^1.23.1" }, "require-dev": { "bamarni/composer-bin-plugin": "^1.4.1", "ext-filter": "*", - "phpunit/phpunit": "^7.5.20 || ^8.5.14 || ^9.5.1" + "phpunit/phpunit": "^7.5.20 || ^8.5.21 || ^9.5.10" }, "suggest": { "ext-filter": "Required to use the boolean validator." @@ -10687,13 +11086,11 @@ "authors": [ { "name": "Graham Campbell", - "email": "graham@alt-three.com", - "homepage": "https://gjcampbell.co.uk/" + "email": "hello@gjcampbell.co.uk" }, { "name": "Vance Lucas", - "email": "vance@vancelucas.com", - "homepage": "https://vancelucas.com/" + "email": "vance@vancelucas.com" } ], "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", @@ -10704,7 +11101,7 @@ ], "support": { "issues": "https://github.com/vlucas/phpdotenv/issues", - "source": "https://github.com/vlucas/phpdotenv/tree/v5.3.0" + "source": "https://github.com/vlucas/phpdotenv/tree/v5.3.1" }, "funding": [ { @@ -10716,7 +11113,7 @@ "type": "tidelift" } ], - "time": "2021-01-20T15:23:13+00:00" + "time": "2021-10-02T19:24:42+00:00" }, { "name": "voku/portable-ascii", @@ -10908,25 +11305,24 @@ "packages-dev": [ { "name": "behat/gherkin", - "version": "v4.8.0", + "version": "v4.9.0", "source": { "type": "git", "url": "https://github.com/Behat/Gherkin.git", - "reference": "2391482cd003dfdc36b679b27e9f5326bd656acd" + "reference": "0bc8d1e30e96183e4f36db9dc79caead300beff4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Behat/Gherkin/zipball/2391482cd003dfdc36b679b27e9f5326bd656acd", - "reference": "2391482cd003dfdc36b679b27e9f5326bd656acd", + "url": "https://api.github.com/repos/Behat/Gherkin/zipball/0bc8d1e30e96183e4f36db9dc79caead300beff4", + "reference": "0bc8d1e30e96183e4f36db9dc79caead300beff4", "shasum": "" }, "require": { "php": "~7.2|~8.0" }, "require-dev": { - "cucumber/cucumber": "dev-gherkin-16.0.0", + "cucumber/cucumber": "dev-gherkin-22.0.0", "phpunit/phpunit": "~8|~9", - "symfony/phpunit-bridge": "~3|~4|~5", "symfony/yaml": "~3|~4|~5" }, "suggest": { @@ -10935,7 +11331,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "4.4-dev" + "dev-master": "4.x-dev" } }, "autoload": { @@ -10966,9 +11362,9 @@ ], "support": { "issues": "https://github.com/Behat/Gherkin/issues", - "source": "https://github.com/Behat/Gherkin/tree/v4.8.0" + "source": "https://github.com/Behat/Gherkin/tree/v4.9.0" }, - "time": "2021-02-04T12:44:21+00:00" + "time": "2021-10-12T13:05:09+00:00" }, { "name": "codeception/codeception", @@ -11291,22 +11687,22 @@ }, { "name": "codeception/module-rest", - "version": "1.3.1", + "version": "1.3.2", "source": { "type": "git", "url": "https://github.com/Codeception/module-rest.git", - "reference": "293a0103d5257b7c884ef276147a9a06914e878f" + "reference": "2f35e75d4a5a7fd1fe77d7f5bd56a9123c453e3b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Codeception/module-rest/zipball/293a0103d5257b7c884ef276147a9a06914e878f", - "reference": "293a0103d5257b7c884ef276147a9a06914e878f", + "url": "https://api.github.com/repos/Codeception/module-rest/zipball/2f35e75d4a5a7fd1fe77d7f5bd56a9123c453e3b", + "reference": "2f35e75d4a5a7fd1fe77d7f5bd56a9123c453e3b", "shasum": "" }, "require": { "codeception/codeception": "^4.0", "justinrainbow/json-schema": "~5.2.9", - "php": ">=5.6.0 <9.0", + "php": ">=5.6.6 <9.0", "softcreatr/jsonpath": "^0.5 || ^0.7" }, "require-dev": { @@ -11339,9 +11735,9 @@ ], "support": { "issues": "https://github.com/Codeception/module-rest/issues", - "source": "https://github.com/Codeception/module-rest/tree/1.3.1" + "source": "https://github.com/Codeception/module-rest/tree/1.3.2" }, - "time": "2021-04-23T08:12:24+00:00" + "time": "2021-10-08T09:33:46+00:00" }, { "name": "codeception/module-webdriver", @@ -11483,26 +11879,27 @@ }, { "name": "fzaninotto/faker", - "version": "v1.9.2", + "version": "dev-master", "source": { "type": "git", "url": "https://github.com/fzaninotto/Faker.git", - "reference": "848d8125239d7dbf8ab25cb7f054f1a630e68c2e" + "reference": "5ffe7db6c80f441f150fc88008d64e64af66634b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/848d8125239d7dbf8ab25cb7f054f1a630e68c2e", - "reference": "848d8125239d7dbf8ab25cb7f054f1a630e68c2e", + "url": "https://api.github.com/repos/fzaninotto/Faker/zipball/5ffe7db6c80f441f150fc88008d64e64af66634b", + "reference": "5ffe7db6c80f441f150fc88008d64e64af66634b", "shasum": "" }, "require": { - "php": "^5.3.3 || ^7.0" + "php": "^5.3.3 || ^7.0 || ^8.0" }, "require-dev": { "ext-intl": "*", "phpunit/phpunit": "^4.8.35 || ^5.7", "squizlabs/php_codesniffer": "^2.9.2" }, + "default-branch": true, "type": "library", "extra": { "branch-alias": { @@ -11531,10 +11928,10 @@ ], "support": { "issues": "https://github.com/fzaninotto/Faker/issues", - "source": "https://github.com/fzaninotto/Faker/tree/v1.9.2" + "source": "https://github.com/fzaninotto/Faker/tree/master" }, "abandoned": true, - "time": "2020-12-11T09:56:16+00:00" + "time": "2020-12-11T09:59:14+00:00" }, { "name": "justinrainbow/json-schema", @@ -11887,16 +12284,16 @@ }, { "name": "php-webdriver/webdriver", - "version": "1.11.1", + "version": "1.12.0", "source": { "type": "git", "url": "https://github.com/php-webdriver/php-webdriver.git", - "reference": "da16e39968f8dd5cfb7d07eef91dc2b731c69880" + "reference": "99d4856ed7dffcdf6a52eccd6551e83d8d557ceb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-webdriver/php-webdriver/zipball/da16e39968f8dd5cfb7d07eef91dc2b731c69880", - "reference": "da16e39968f8dd5cfb7d07eef91dc2b731c69880", + "url": "https://api.github.com/repos/php-webdriver/php-webdriver/zipball/99d4856ed7dffcdf6a52eccd6551e83d8d557ceb", + "reference": "99d4856ed7dffcdf6a52eccd6551e83d8d557ceb", "shasum": "" }, "require": { @@ -11905,20 +12302,19 @@ "ext-zip": "*", "php": "^5.6 || ~7.0 || ^8.0", "symfony/polyfill-mbstring": "^1.12", - "symfony/process": "^2.8 || ^3.1 || ^4.0 || ^5.0" + "symfony/process": "^2.8 || ^3.1 || ^4.0 || ^5.0 || ^6.0" }, "replace": { "facebook/webdriver": "*" }, "require-dev": { - "friendsofphp/php-cs-fixer": "^2.0", "ondram/ci-detector": "^2.1 || ^3.5 || ^4.0", "php-coveralls/php-coveralls": "^2.4", "php-mock/php-mock-phpunit": "^1.1 || ^2.0", "php-parallel-lint/php-parallel-lint": "^1.2", "phpunit/phpunit": "^5.7 || ^7 || ^8 || ^9", "squizlabs/php_codesniffer": "^3.5", - "symfony/var-dumper": "^3.3 || ^4.0 || ^5.0" + "symfony/var-dumper": "^3.3 || ^4.0 || ^5.0 || ^6.0" }, "suggest": { "ext-SimpleXML": "For Firefox profile creation" @@ -11947,9 +12343,9 @@ ], "support": { "issues": "https://github.com/php-webdriver/php-webdriver/issues", - "source": "https://github.com/php-webdriver/php-webdriver/tree/1.11.1" + "source": "https://github.com/php-webdriver/php-webdriver/tree/1.12.0" }, - "time": "2021-05-21T15:12:49+00:00" + "time": "2021-10-14T09:30:02+00:00" }, { "name": "phpunit/php-code-coverage", @@ -12861,16 +13257,16 @@ }, { "name": "squizlabs/php_codesniffer", - "version": "3.6.0", + "version": "3.6.1", "source": { "type": "git", "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "ffced0d2c8fa8e6cdc4d695a743271fab6c38625" + "reference": "f268ca40d54617c6e06757f83f699775c9b3ff2e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/ffced0d2c8fa8e6cdc4d695a743271fab6c38625", - "reference": "ffced0d2c8fa8e6cdc4d695a743271fab6c38625", + "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/f268ca40d54617c6e06757f83f699775c9b3ff2e", + "reference": "f268ca40d54617c6e06757f83f699775c9b3ff2e", "shasum": "" }, "require": { @@ -12913,7 +13309,7 @@ "source": "https://github.com/squizlabs/PHP_CodeSniffer", "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki" }, - "time": "2021-04-09T00:54:41+00:00" + "time": "2021-10-11T04:00:11+00:00" }, { "name": "symfony/browser-kit", @@ -13189,11 +13585,13 @@ ], "aliases": [], "minimum-stability": "stable", - "stability-flags": [], + "stability-flags": { + "fzaninotto/faker": 20 + }, "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": "^7.3", + "php": ">=7.4 <8.1", "ext-curl": "*", "ext-fileinfo": "*", "ext-json": "*", diff --git a/config/app.php b/config/app.php index 8a70596ae..e8d1ebae4 100755 --- a/config/app.php +++ b/config/app.php @@ -250,6 +250,9 @@ return [ 'enable_csp' => env('ENABLE_CSP', false), + + + /* |-------------------------------------------------------------------------- | Demo Mode Lockdown @@ -273,6 +276,7 @@ return [ 'min_php' => '7.2.5', + /* |-------------------------------------------------------------------------- | Autoloaded Service Providers @@ -399,6 +403,7 @@ return [ 'Carbon' => Carbon\Carbon::class, 'Helper' => App\Helpers\Helper::class, // makes it much easier to use 'Helper::blah' in blades (which is where we usually use this) + ], ]; diff --git a/config/version.php b/config/version.php index 008ac1325..98c575552 100644 --- a/config/version.php +++ b/config/version.php @@ -1,10 +1,10 @@ 'v6-pre-alpha', - 'full_app_version' => 'v6-pre-alpha - build 6109-gace7abc1a', - 'build_version' => '6109', + 'full_app_version' => 'v6-pre-alpha - build 6506-ge75a5f13e', + 'build_version' => '6506', 'prerelease_version' => '', - 'hash_version' => 'gace7abc1a', - 'full_hash' => 'v6-pre-alpha-71-gace7abc1a', - 'branch' => 'develop-v6-integration', + 'hash_version' => 'ge75a5f13e', + 'full_hash' => 'v6-pre-alpha-13-ge75a5f13e', + 'branch' => 'develop', ); \ No newline at end of file diff --git a/docker/startup.sh b/docker/startup.sh index a9b8cb5fa..70dace264 100644 --- a/docker/startup.sh +++ b/docker/startup.sh @@ -40,6 +40,7 @@ done chown -R docker:root /var/lib/snipeit/data/* chown -R docker:root /var/lib/snipeit/dumps chown -R docker:root /var/lib/snipeit/keys +chown -R docker:root /var/www/html/storage/framework/cache # Fix php settings if [ -v "PHP_UPLOAD_LIMIT" ] diff --git a/docker/supervisor-exit-event-listener b/docker/supervisor-exit-event-listener index 84201634e..409ca0565 100644 --- a/docker/supervisor-exit-event-listener +++ b/docker/supervisor-exit-event-listener @@ -1,4 +1,4 @@ -#!/usr/bin/env python +#!/usr/bin/env python3 # A supervisor event listener which terminates supervisord if any of its child # processes enter the FATAL state. # https://stackoverflow.com/a/37527488/119527 diff --git a/package-lock.json b/package-lock.json index 463ca7dc3..5b7b74c72 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2955,9 +2955,9 @@ "integrity": "sha1-EQPWvADPv6jPyaJZmrUYxVZD2j8=" }, "bootstrap-table": { - "version": "1.18.3", - "resolved": "https://registry.npmjs.org/bootstrap-table/-/bootstrap-table-1.18.3.tgz", - "integrity": "sha512-/eFLkldDlNFi37qC/d9THfRVxMUGD34E8fQBFtXJLDHLBOVKWDTq7BV+udoP7k3FfCEyhM1jWQnQ0rMQdBv//w==" + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/bootstrap-table/-/bootstrap-table-1.19.1.tgz", + "integrity": "sha512-WvV+l1AI/C+zThaKmfHmi/IuayVNB0qdFyEhFx1jyZhO0oLtNJNANkCR3rvJf6Dkh72dsLElxpE/bzK9seEQLA==" }, "brace-expansion": { "version": "1.1.11", @@ -15845,7 +15845,7 @@ "jquery": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz", - "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==" + "integrity": "sha1-xyoJ8Vwb3OFC9J2/EXC9+K2sJHA=" }, "jquery-form-validator": { "version": "2.3.79", @@ -15881,9 +15881,12 @@ "integrity": "sha1-G+i3twTdOFcVJwiu+x1KSzpp+zM=" }, "jquery-ui": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/jquery-ui/-/jquery-ui-1.12.1.tgz", - "integrity": "sha1-vLQEXI3QU5wTS8FIjN0+dop6nlE=" + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/jquery-ui/-/jquery-ui-1.13.0.tgz", + "integrity": "sha512-Osf7ECXNTYHtKBkn9xzbIf9kifNrBhfywFEKxOeB/OVctVmLlouV9mfc2qXCp6uyO4Pn72PXKOnj09qXetopCw==", + "requires": { + "jquery": ">=1.8.0 <4.0.0" + } }, "jquery-ui-bundle": { "version": "1.12.1", diff --git a/package.json b/package.json index 08a18509f..bbb2b879f 100644 --- a/package.json +++ b/package.json @@ -32,7 +32,7 @@ "bootstrap-colorpicker": "^2.5.3", "bootstrap-datepicker": "^1.9.0", "bootstrap-less": "^3.3.8", - "bootstrap-table": "^1.18.3", + "bootstrap-table": "^1.19.1", "chart.js": "^2.9.4", "css-loader": "^3.6.0", "ekko-lightbox": "^5.1.1", @@ -41,7 +41,7 @@ "imagemin": "^5.3.1", "jquery-form-validator": "^2.3.79", "jquery-slimscroll": "^1.3.8", - "jquery-ui": "^1.12.1", + "jquery-ui": "^1.13.0", "jquery-ui-bundle": "^1.12.1", "jquery.iframe-transport": "^1.0.0", "less": "^4.1.1", diff --git a/public/.htaccess b/public/.htaccess index ac2a6fa8e..34676618e 100644 --- a/public/.htaccess +++ b/public/.htaccess @@ -36,3 +36,7 @@ Options -Indexes + + + Deny from all + diff --git a/public/css/build/app.css b/public/css/build/app.css index 369566501..ffd9f4398 100644 --- a/public/css/build/app.css +++ b/public/css/build/app.css @@ -458,6 +458,8 @@ a.accordion-header { } .main-header .sidebar-toggle:before { content: "\f0c9"; + font-weight: 900; + font-family: 'Font Awesome\ 5 Free'; } .direct-chat-contacts { padding: 10px; diff --git a/public/css/build/overrides.css b/public/css/build/overrides.css index 11c0d1859..c676b59b6 100644 --- a/public/css/build/overrides.css +++ b/public/css/build/overrides.css @@ -91,6 +91,8 @@ a.accordion-header { } .main-header .sidebar-toggle:before { content: "\f0c9"; + font-weight: 900; + font-family: 'Font Awesome\ 5 Free'; } .direct-chat-contacts { padding: 10px; diff --git a/public/css/dist/all.css b/public/css/dist/all.css index 333cab25e..0c6cf6750 100644 --- a/public/css/dist/all.css +++ b/public/css/dist/all.css @@ -19168,7 +19168,7 @@ a.ui-button:active, /*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImVra28tbGlnaHRib3guY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGVBQ0UsOEJBQXlCLEFBQXpCLHVCQUF5QixBQUN6QixzQkFBb0IsQUFBcEIsbUJBQW9CLEFBQ3BCLHFCQUF3QixBQUF4Qix1QkFBd0IsQUFDeEIseUJBQTZCLENBQzlCLEFBQ0QseUJBQ0UsaUJBQW1CLENBQ3BCLEFBQ0QsZ0RBQ0Usa0JBQW1CLEFBQ25CLE1BQU8sQUFDUCxPQUFRLEFBQ1IsU0FBVSxBQUNWLFFBQVMsQUFDVCxVQUFZLENBQ2IsQUFDRCxzQkFDRSxXQUFZLEFBQ1osV0FBYSxDQUNkLEFBQ0QsMkJBQ0UsVUFBYSxBQUNiLGtCQUFtQixBQUNuQixNQUFPLEFBQ1AsT0FBUSxBQUNSLFdBQVksQUFDWixZQUFhLEFBQ2Isb0JBQWMsQUFBZCxZQUFjLENBQ2YsQUFDRCw2QkFDRSxXQUFRLEFBQVIsT0FBUSxBQUNSLG9CQUFjLEFBQWQsYUFBYyxBQUNkLHNCQUFvQixBQUFwQixtQkFBb0IsQUFDcEIsVUFBVyxBQUNYLHVCQUF5QixBQUN6QixXQUFZLEFBQ1osZUFBZ0IsQUFDaEIsU0FBYSxDQUNkLEFBQ0QsK0JBQ0Usb0JBQWEsQUFBYixXQUFhLENBQ2QsQUFDRCxvQ0FDRSxZQUFjLENBQ2YsQUFDRCxrQ0FDRSxjQUFnQixDQUNqQixBQUNELDZDQUNFLGdCQUFrQixDQUNuQixBQUNELG1DQUNFLG9CQUFzQixDQUN2QixBQUNELG1DQUNFLFlBQWMsQ0FDZixBQUNELHNDQUNFLGVBQWdCLEFBQ2hCLGlCQUFtQixDQUNwQixBQUNELHVCQUNFLFVBQVcsQUFDWCxvQkFBc0IsQ0FDdkIsQUFDRCw2QkFDRSxZQUFjLENBQ2YsQUFDRCw2QkFDRSxlQUFpQixDQUNsQixBQUNELHNCQUNFLGtCQUFtQixBQUNuQixNQUFPLEFBQ1AsT0FBUSxBQUNSLFNBQVUsQUFDVixRQUFTLEFBQ1QsV0FBWSxBQUNaLG9CQUFjLEFBQWQsYUFBYyxBQUVkLDBCQUF1QixBQUF2QixzQkFBdUIsQUFFdkIscUJBQXdCLEFBQXhCLHVCQUF3QixBQUV4QixzQkFBb0IsQUFBcEIsa0JBQW9CLENBQ3JCLEFBQ0QsMEJBQ0UsV0FBWSxBQUNaLFlBQWEsQUFDYixrQkFBbUIsQUFDbkIsaUJBQW1CLENBQ3BCLEFBQ0QsOEJBQ0UsV0FBWSxBQUNaLFlBQWEsQUFDYixrQkFBbUIsQUFDbkIsc0JBQXVCLEFBQ3ZCLFdBQWEsQUFDYixrQkFBbUIsQUFDbkIsTUFBTyxBQUNQLE9BQVEsQUFDUixtQ0FBNkMsQ0FDOUMsQUFDRCx5Q0FDRSxtQkFBcUIsQ0FDdEIsQUFDRCw0Q0FDRSxxQkFBdUIsQ0FDeEIsQUFVRCxhQUNFLE1BRUUsbUJBQW9CLEFBQ3BCLDBCQUE0QixDQUM3QixBQUNELElBQ0UsbUJBQW9CLEFBQ3BCLDBCQUE0QixDQUM3QixDQUNGIiwiZmlsZSI6ImVra28tbGlnaHRib3guY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmVra28tbGlnaHRib3gge1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nLXJpZ2h0OiAwcHghaW1wb3J0YW50O1xufVxuLmVra28tbGlnaHRib3gtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLmVra28tbGlnaHRib3gtY29udGFpbmVyID4gZGl2LmVra28tbGlnaHRib3gtaXRlbSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbn1cbi5la2tvLWxpZ2h0Ym94IGlmcmFtZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG59XG4uZWtrby1saWdodGJveC1uYXYtb3ZlcmxheSB7XG4gIHotaW5kZXg6IDEwMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG4uZWtrby1saWdodGJveC1uYXYtb3ZlcmxheSBhIHtcbiAgZmxleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAzMHB4O1xuICB6LWluZGV4OiAxMDA7XG59XG4uZWtrby1saWdodGJveC1uYXYtb3ZlcmxheSBhID4gKiB7XG4gIGZsZXgtZ3JvdzogMTtcbn1cbi5la2tvLWxpZ2h0Ym94LW5hdi1vdmVybGF5IGEgPiAqOmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTtcbn1cbi5la2tvLWxpZ2h0Ym94LW5hdi1vdmVybGF5IGEgc3BhbiB7XG4gIHBhZGRpbmc6IDAgMzBweDtcbn1cbi5la2tvLWxpZ2h0Ym94LW5hdi1vdmVybGF5IGE6bGFzdC1jaGlsZCBzcGFuIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG4uZWtrby1saWdodGJveC1uYXYtb3ZlcmxheSBhOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmVra28tbGlnaHRib3gtbmF2LW92ZXJsYXkgYTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG4uZWtrby1saWdodGJveC1uYXYtb3ZlcmxheSBhLmRpc2FibGVkIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4uZWtrby1saWdodGJveCBhOmhvdmVyIHtcbiAgb3BhY2l0eTogMTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuLmVra28tbGlnaHRib3ggLm1vZGFsLWRpYWxvZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4uZWtrby1saWdodGJveCAubW9kYWwtZm9vdGVyIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbi5la2tvLWxpZ2h0Ym94LWxvYWRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgLyogZXN0YWJsaXNoIGZsZXggY29udGFpbmVyICovXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIC8qIG1ha2UgbWFpbiBheGlzIHZlcnRpY2FsICovXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAvKiBjZW50ZXIgaXRlbXMgdmVydGljYWxseSwgaW4gdGhpcyBjYXNlICovXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG4uZWtrby1saWdodGJveC1sb2FkZXIgPiBkaXYge1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5la2tvLWxpZ2h0Ym94LWxvYWRlciA+IGRpdiA+IGRpdiB7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgb3BhY2l0eTogMC42O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYW5pbWF0aW9uOiBzay1ib3VuY2UgMnMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7XG59XG4uZWtrby1saWdodGJveC1sb2FkZXIgPiBkaXYgPiBkaXY6bGFzdC1jaGlsZCB7XG4gIGFuaW1hdGlvbi1kZWxheTogLTFzO1xufVxuLm1vZGFsLWRpYWxvZyAuZWtrby1saWdodGJveC1sb2FkZXIgPiBkaXYgPiBkaXYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzO1xufVxuQC13ZWJraXQta2V5ZnJhbWVzIHNrLWJvdW5jZSB7XG4gIDAlLFxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gIH1cbiAgNTAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cbkBrZXlmcmFtZXMgc2stYm91bmNlIHtcbiAgMCUsXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xuICB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIH1cbn1cbiJdfQ== */ /** * @author zhixin wen - * version: 1.18.3 + * version: 1.19.1 * https://github.com/wenzhixin/bootstrap-table/ */ .bootstrap-table .fixed-table-toolbar::after { @@ -19371,6 +19371,7 @@ a.ui-button:active, position: absolute; bottom: 0; width: 100%; + max-width: 100%; z-index: 1000; transition: visibility 0s, opacity 0.15s ease-in-out; opacity: 0; @@ -19998,6 +19999,8 @@ a.accordion-header { } .main-header .sidebar-toggle:before { content: "\f0c9"; + font-weight: 900; + font-family: 'Font Awesome\ 5 Free'; } .direct-chat-contacts { padding: 10px; @@ -21039,6 +21042,8 @@ a.accordion-header { } .main-header .sidebar-toggle:before { content: "\f0c9"; + font-weight: 900; + font-family: 'Font Awesome\ 5 Free'; } .direct-chat-contacts { padding: 10px; diff --git a/public/css/dist/bootstrap-table.css b/public/css/dist/bootstrap-table.css index c6485ceb4..9ea548eaf 100644 --- a/public/css/dist/bootstrap-table.css +++ b/public/css/dist/bootstrap-table.css @@ -1,6 +1,6 @@ /** * @author zhixin wen - * version: 1.18.3 + * version: 1.19.1 * https://github.com/wenzhixin/bootstrap-table/ */ .bootstrap-table .fixed-table-toolbar::after { @@ -203,6 +203,7 @@ position: absolute; bottom: 0; width: 100%; + max-width: 100%; z-index: 1000; transition: visibility 0s, opacity 0.15s ease-in-out; opacity: 0; diff --git a/public/js/build/app.js b/public/js/build/app.js index c8f37e031..2e9db85e5 100644 --- a/public/js/build/app.js +++ b/public/js/build/app.js @@ -46,235 +46,6 @@ __webpack_require__.r(__webpack_exports__); /***/ }), -/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=script&lang=js&": -/*!********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=script&lang=js& ***! - \********************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ - props: ['fieldsetId', 'modelId', 'previousInput'], - data: function data() { - return { - identifiers: { - fieldset: null, - model: null - }, - elements: { - fieldset: null, - field: null - }, - fields: null, - show: false, - error: false - }; - }, - - /** - * Initialise the component (Vue 1.x). - */ - ready: function ready() { - this.init(); - }, - - /** - * Initialise the component (Vue 2.x). - */ - mounted: function mounted() { - this.init(); - }, - methods: { - /** - * Grabs the toggle field and connected fieldset and if present, - * set up the rest of the component. Scope lookups to the component - * only so we're not traversing and/or manipulating the whole DOM - */ - init: function init() { - this.defaultValues = JSON.parse(this.previousInput); - this.identifiers.fieldset = this.fieldsetId; - this.identifiers.model = this.modelId; // This has to be jQuery because a lot of native functions/events - // do not work with select2 - - this.elements.fieldset = $('.js-fieldset-field'); - this.elements.field = document.querySelector('.js-default-values-toggler'); - - if (this.elements.fieldset && this.elements.field) { - this.addListeners(); - this.getFields(); - } - }, - - /** - * Adds event listeners for: - * - Toggle field changing - * - Fieldset field changing - * - * Using jQuery event hooks for the select2 fieldset field as - * select2 does not emit DOM events... - */ - addListeners: function addListeners() { - var _this = this; - - this.elements.field.addEventListener('change', function (e) { - return _this.updateShow(); - }); - this.elements.fieldset.on('change', function (e) { - return _this.updateFields(); - }); - }, - - /** - * Call the CustomFieldsetsController::fields() endpoint to grab - * the fields we can set default values for - */ - getFields: function getFields() { - var _this2 = this; - - if (!this.identifiers.fieldset) { - return this.fields = []; - } - - this.$http.get(this.getUrl()).then(function (response) { - return response.json(); - }).then(function (data) { - return _this2.checkResponseForError(data); - }).then(function (data) { - return _this2.fields = data.rows; - }).then(function () { - return _this2.determineIfShouldShow(); - }); - }, - getValue: function getValue(field) { - if (field.default_value) { - return field.default_value; - } - - return this.defaultValues != null ? this.defaultValues[field.id.toString()] : ''; - }, - - /** - * Generates the API URL depending on what information is available - * - * @return Router - */ - getUrl: function getUrl() { - if (this.identifiers.model) { - return route('api.fieldsets.fields-with-default-value', { - fieldset: this.identifiers.fieldset, - model: this.identifiers.model - }); - } - - return route('api.fieldsets.fields', { - fieldset: this.identifiers.fieldset - }); - }, - - /** - * Sets error state and shows error if request was not marked - * successful - */ - checkResponseForError: function checkResponseForError(data) { - this.error = data.status == 'error'; - return data; - }, - - /** - * Checks whether the toggler is checked and shows the default - * values field dependent on that - */ - updateShow: function updateShow() { - if (this.identifiers.fieldset && this.elements.field) { - this.show = this.elements.field.checked; - } - }, - - /** - * checks the 'add default values' checkbox if it is already checked - * OR this.show is already set to true OR if any fields already have - * a default value. - */ - determineIfShouldShow: function determineIfShouldShow() { - this.elements.field.checked = this.elements.field.checked || this.show || this.fields.reduce(function (accumulator, currentValue) { - return accumulator || currentValue.default_value; - }, false); - this.updateShow(); - }, - updateFields: function updateFields() { - this.identifiers.fieldset = this.elements.fieldset[0].value ? parseInt(this.elements.fieldset[0].value) : false; - this.getFields(); - } - } -}); - -/***/ }), - /***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/importer/importer-errors.vue?vue&type=script&lang=js&": /*!**************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/importer/importer-errors.vue?vue&type=script&lang=js& ***! @@ -563,6 +334,9 @@ __webpack_require__.r(__webpack_exports__); }, { id: 'model_number', text: "Model Number" + }, { + id: 'min_amt', + text: "Minimum Quantity" }], licenses: [{ id: 'asset_tag', @@ -656,6 +430,7 @@ __webpack_require__.r(__webpack_exports__); return this.columnOptions.general.concat(this.columnOptions.accessories).sort(sorter); case 'consumable': + console.log('Returned consumable'); return this.columnOptions.general.concat(this.columnOptions.consumables).sort(sorter); case 'license': @@ -1924,7 +1699,36 @@ var baseUrl = $('meta[name="baseUrl"]').attr('content'); (function ($, settings) { var Components = {}; - Components.modals = {}; // confirm delete modal + Components.modals = {}; // confirm restore modal + + Components.modals.confirmRestore = function () { + var $el = $('table'); + var events = { + 'click': function click(evnt) { + var $context = $(this); + var $restoreConfirmModal = $('#restoreConfirmModal'); + var href = $context.attr('href'); + var message = $context.attr('data-content'); + var title = $context.attr('data-title'); + $('#restoreConfirmModalLabel').text(title); + $restoreConfirmModal.find('.modal-body').text(message); + $('#restoreForm').attr('action', href); + $restoreConfirmModal.modal({ + show: true + }); + return false; + } + }; + + var render = function render() { + $el.on('click', '.restore-asset', events['click']); + }; + + return { + render: render + }; + }; // confirm delete modal + Components.modals.confirmDelete = function () { var $el = $('table'); @@ -1960,6 +1764,7 @@ var baseUrl = $('meta[name="baseUrl"]').attr('content'); $(function () { + new Components.modals.confirmRestore().render(); new Components.modals.confirmDelete().render(); }); })(jQuery, window.snipeit.settings); @@ -2115,10 +1920,10 @@ $(document).ready(function () { return x !== 0; }); // makes sure we're not selecting the same thing twice for multiples - var filteredResponse = response.items.filter(function (item) { + var filteredResponse = response.results.filter(function (item) { return currentlySelected.indexOf(+item.id) < 0; }); - var first = currentlySelected.length > 0 ? filteredResponse[0] : response.items[0]; + var first = currentlySelected.length > 0 ? filteredResponse[0] : response.results[0]; if (first && first.id) { first.selected = true; @@ -2324,7 +2129,7 @@ $(document).ready(function () { for (var i = 0; i < this.files.length; i++) { total_size += this.files[i].size; - $(id + '-info').append('' + this.files[i].name + ' (' + formatBytes(this.files[i].size) + ') '); + $(id + '-info').append('' + htmlEntities(this.files[i].name) + ' (' + formatBytes(this.files[i].size) + ') '); } console.log('Max size is: ' + max_size); @@ -2340,10 +2145,15 @@ $(document).ready(function () { } }); }); + +function htmlEntities(str) { + return String(str).replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"'); +} /** * Toggle disabled */ + (function ($) { $.fn.toggleDisabled = function (callback) { return this.each(function () { @@ -2622,8 +2432,12 @@ __webpack_require__(/*! ./bootstrap */ "./resources/assets/js/bootstrap.js"); Vue.component('passport-clients', __webpack_require__(/*! ./components/passport/Clients.vue */ "./resources/assets/js/components/passport/Clients.vue")["default"]); Vue.component('passport-authorized-clients', __webpack_require__(/*! ./components/passport/AuthorizedClients.vue */ "./resources/assets/js/components/passport/AuthorizedClients.vue")["default"]); Vue.component('passport-personal-access-tokens', __webpack_require__(/*! ./components/passport/PersonalAccessTokens.vue */ "./resources/assets/js/components/passport/PersonalAccessTokens.vue")["default"]); -Vue.component('importer', __webpack_require__(/*! ./components/importer/importer.vue */ "./resources/assets/js/components/importer/importer.vue")["default"]); -Vue.component('fieldset-default-values', __webpack_require__(/*! ./components/forms/asset-models/fieldset-default-values.vue */ "./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue")["default"]); // Commented out currently to avoid trying to load vue everywhere. +Vue.component('importer', __webpack_require__(/*! ./components/importer/importer.vue */ "./resources/assets/js/components/importer/importer.vue")["default"]); // This component has been removed and replaced with a Livewire implementation +// Vue.component( +// 'fieldset-default-values', +// require('./components/forms/asset-models/fieldset-default-values.vue').default +// ); +// Commented out currently to avoid trying to load vue everywhere. // const app = new Vue({ // el: '#app' // }); @@ -6507,6 +6321,8 @@ if (typeof jQuery === 'undefined') { /***/ ((module, exports, __webpack_require__) => { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;( function( factory ) { + "use strict"; + if ( true ) { // AMD. Register as an anonymous module. @@ -6515,13 +6331,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); } else {} -} ( function( $ ) { +} )( function( $ ) { +"use strict"; $.ui = $.ui || {}; -return $.ui.version = "1.12.1"; +return $.ui.version = "1.13.0"; -} ) ); +} ); /***/ }), @@ -6533,7 +6350,7 @@ return $.ui.version = "1.12.1"; /***/ ((module, exports, __webpack_require__) => { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! - * jQuery UI Widget 1.12.1 + * jQuery UI Widget 1.13.0 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors @@ -6548,6 +6365,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ //>>demos: http://jqueryui.com/widget/ ( function( factory ) { + "use strict"; + if ( true ) { // AMD. Register as an anonymous module. @@ -6556,25 +6375,23 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); } else {} -}( function( $ ) { +} )( function( $ ) { +"use strict"; var widgetUuid = 0; +var widgetHasOwnProperty = Array.prototype.hasOwnProperty; var widgetSlice = Array.prototype.slice; $.cleanData = ( function( orig ) { return function( elems ) { var events, elem, i; for ( i = 0; ( elem = elems[ i ] ) != null; i++ ) { - try { - // Only trigger remove when necessary to save time - events = $._data( elem, "events" ); - if ( events && events.remove ) { - $( elem ).triggerHandler( "remove" ); - } - - // Http://bugs.jquery.com/ticket/8235 - } catch ( e ) {} + // Only trigger remove when necessary to save time + events = $._data( elem, "events" ); + if ( events && events.remove ) { + $( elem ).triggerHandler( "remove" ); + } } orig( elems ); }; @@ -6596,12 +6413,12 @@ $.widget = function( name, base, prototype ) { base = $.Widget; } - if ( $.isArray( prototype ) ) { + if ( Array.isArray( prototype ) ) { prototype = $.extend.apply( null, [ {} ].concat( prototype ) ); } // Create selector for plugin - $.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) { + $.expr.pseudos[ fullName.toLowerCase() ] = function( elem ) { return !!$.data( elem, fullName ); }; @@ -6641,7 +6458,7 @@ $.widget = function( name, base, prototype ) { // inheriting from basePrototype.options = $.widget.extend( {}, basePrototype.options ); $.each( prototype, function( prop, value ) { - if ( !$.isFunction( value ) ) { + if ( typeof value !== "function" ) { proxiedPrototype[ prop ] = value; return; } @@ -6720,7 +6537,7 @@ $.widget.extend = function( target ) { for ( ; inputIndex < inputLength; inputIndex++ ) { for ( key in input[ inputIndex ] ) { value = input[ inputIndex ][ key ]; - if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) { + if ( widgetHasOwnProperty.call( input[ inputIndex ], key ) && value !== undefined ) { // Clone objects if ( $.isPlainObject( value ) ) { @@ -6769,7 +6586,8 @@ $.widget.bridge = function( name, object ) { "attempted to call method '" + options + "'" ); } - if ( !$.isFunction( instance[ options ] ) || options.charAt( 0 ) === "_" ) { + if ( typeof instance[ options ] !== "function" || + options.charAt( 0 ) === "_" ) { return $.error( "no such method '" + options + "' for " + name + " widget instance" ); } @@ -7030,12 +6848,30 @@ $.Widget.prototype = { classes: this.options.classes || {} }, options ); + function bindRemoveEvent() { + options.element.each( function( _, element ) { + var isTracked = $.map( that.classesElementLookup, function( elements ) { + return elements; + } ) + .some( function( elements ) { + return elements.is( element ); + } ); + + if ( !isTracked ) { + that._on( $( element ), { + remove: "_untrackClassesElement" + } ); + } + } ); + } + function processClassString( classes, checkOption ) { var current, i; for ( i = 0; i < classes.length; i++ ) { current = that.classesElementLookup[ classes[ i ] ] || $(); if ( options.add ) { - current = $( $.unique( current.get().concat( options.element.get() ) ) ); + bindRemoveEvent(); + current = $( $.uniqueSort( current.get().concat( options.element.get() ) ) ); } else { current = $( current.not( options.element ).get() ); } @@ -7047,10 +6883,6 @@ $.Widget.prototype = { } } - this._on( options.element, { - "remove": "_untrackClassesElement" - } ); - if ( options.keys ) { processClassString( options.keys.match( /\S+/g ) || [], true ); } @@ -7068,6 +6900,8 @@ $.Widget.prototype = { that.classesElementLookup[ key ] = $( value.not( event.target ).get() ); } } ); + + this._off( $( event.target ) ); }, _removeClass: function( element, keys, extra ) { @@ -7148,7 +6982,7 @@ $.Widget.prototype = { _off: function( element, eventName ) { eventName = ( eventName || "" ).split( " " ).join( this.eventNamespace + " " ) + this.eventNamespace; - element.off( eventName ).off( eventName ); + element.off( eventName ); // Clear the stack to avoid memory leaks (#10056) this.bindings = $( this.bindings.not( element ).get() ); @@ -7214,7 +7048,7 @@ $.Widget.prototype = { } this.element.trigger( event, data ); - return !( $.isFunction( callback ) && + return !( typeof callback === "function" && callback.apply( this.element[ 0 ], [ event ].concat( data ) ) === false || event.isDefaultPrevented() ); } @@ -7236,6 +7070,8 @@ $.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) { options = options || {}; if ( typeof options === "number" ) { options = { duration: options }; + } else if ( options === true ) { + options = {}; } hasOptions = !$.isEmptyObject( options ); @@ -7263,7 +7099,7 @@ $.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) { return $.widget; -} ) ); +} ); /***/ }), @@ -18158,30 +17994,6 @@ return jQuery; } ); -/***/ }), - -/***/ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=style&index=0&id=2adc8102&scoped=true&lang=css&": -/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=style&index=0&id=2adc8102&scoped=true&lang=css& ***! - \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js */ "./node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js"); -/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); -// Imports - -var ___CSS_LOADER_EXPORT___ = _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); -// Module -___CSS_LOADER_EXPORT___.push([module.id, "\nlegend[data-v-2adc8102] {\n font-size: 13px;\n font-weight: bold;\n border: 0;\n}\nfieldset > div[data-v-2adc8102] {\n background: #f4f4f4;\n border: 1px solid #d3d6de;\n margin: 0 15px 15px;\n padding: 20px 20px 10px;\n}\n@media (max-width: 992px) {\nlegend[data-v-2adc8102] {\n text-align: left !important;\n}\n}\n@media (min-width: 992px) {\nfieldset > div[data-v-2adc8102] {\n width: 55%;\n}\n}\n\n\n", ""]); -// Exports -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); - - /***/ }), /***/ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/passport/AuthorizedClients.vue?vue&type=style&index=0&id=2ee9fe67&scoped=true&lang=css&": @@ -35800,36 +35612,6 @@ __webpack_require__.r(__webpack_exports__); // extracted by mini-css-extract-plugin -/***/ }), - -/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=style&index=0&id=2adc8102&scoped=true&lang=css&": -/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=style&index=0&id=2adc8102&scoped=true&lang=css& ***! - \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); -/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_26_0_rules_0_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_26_0_rules_0_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_fieldset_default_values_vue_vue_type_style_index_0_id_2adc8102_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[1]!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[2]!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./fieldset-default-values.vue?vue&type=style&index=0&id=2adc8102&scoped=true&lang=css& */ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=style&index=0&id=2adc8102&scoped=true&lang=css&"); - - - -var options = {}; - -options.insert = "head"; -options.singleton = false; - -var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_26_0_rules_0_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_26_0_rules_0_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_fieldset_default_values_vue_vue_type_style_index_0_id_2adc8102_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"], options); - - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_26_0_rules_0_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_26_0_rules_0_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_fieldset_default_values_vue_vue_type_style_index_0_id_2adc8102_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {}); - /***/ }), /***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/passport/AuthorizedClients.vue?vue&type=style&index=0&id=2ee9fe67&scoped=true&lang=css&": @@ -36270,47 +36052,6 @@ component.options.__file = "resources/assets/js/components/alert.vue" /***/ }), -/***/ "./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue": -/*!***************************************************************************************!*\ - !*** ./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue ***! - \***************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _fieldset_default_values_vue_vue_type_template_id_2adc8102_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./fieldset-default-values.vue?vue&type=template&id=2adc8102&scoped=true& */ "./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=template&id=2adc8102&scoped=true&"); -/* harmony import */ var _fieldset_default_values_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./fieldset-default-values.vue?vue&type=script&lang=js& */ "./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=script&lang=js&"); -/* harmony import */ var _fieldset_default_values_vue_vue_type_style_index_0_id_2adc8102_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./fieldset-default-values.vue?vue&type=style&index=0&id=2adc8102&scoped=true&lang=css& */ "./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=style&index=0&id=2adc8102&scoped=true&lang=css&"); -/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); - - - -; - - -/* normalize component */ - -var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( - _fieldset_default_values_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], - _fieldset_default_values_vue_vue_type_template_id_2adc8102_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render, - _fieldset_default_values_vue_vue_type_template_id_2adc8102_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, - false, - null, - "2adc8102", - null - -) - -/* hot reload */ -if (false) { var api; } -component.options.__file = "resources/assets/js/components/forms/asset-models/fieldset-default-values.vue" -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); - -/***/ }), - /***/ "./resources/assets/js/components/importer/importer-errors.vue": /*!*********************************************************************!*\ !*** ./resources/assets/js/components/importer/importer-errors.vue ***! @@ -36607,22 +36348,6 @@ __webpack_require__.r(__webpack_exports__); /***/ }), -/***/ "./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=script&lang=js&": -/*!****************************************************************************************************************!*\ - !*** ./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=script&lang=js& ***! - \****************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_0_rules_0_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_fieldset_default_values_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./fieldset-default-values.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=script&lang=js&"); - /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_0_rules_0_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_fieldset_default_values_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); - -/***/ }), - /***/ "./resources/assets/js/components/importer/importer-errors.vue?vue&type=script&lang=js&": /*!**********************************************************************************************!*\ !*** ./resources/assets/js/components/importer/importer-errors.vue?vue&type=script&lang=js& ***! @@ -36733,19 +36458,6 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_0_rules_0_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_select2_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select2.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/select2.vue?vue&type=script&lang=js&"); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_0_rules_0_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_select2_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); -/***/ }), - -/***/ "./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=style&index=0&id=2adc8102&scoped=true&lang=css&": -/*!************************************************************************************************************************************************!*\ - !*** ./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=style&index=0&id=2adc8102&scoped=true&lang=css& ***! - \************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_26_0_rules_0_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_26_0_rules_0_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_fieldset_default_values_vue_vue_type_style_index_0_id_2adc8102_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../node_modules/style-loader/dist/cjs.js!../../../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[1]!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[2]!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./fieldset-default-values.vue?vue&type=style&index=0&id=2adc8102&scoped=true&lang=css& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=style&index=0&id=2adc8102&scoped=true&lang=css&"); - - /***/ }), /***/ "./resources/assets/js/components/passport/AuthorizedClients.vue?vue&type=style&index=0&id=2ee9fe67&scoped=true&lang=css&": @@ -36815,23 +36527,6 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_alert_vue_vue_type_template_id_78c7e3d5_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./alert.vue?vue&type=template&id=78c7e3d5&scoped=true& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/alert.vue?vue&type=template&id=78c7e3d5&scoped=true&"); -/***/ }), - -/***/ "./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=template&id=2adc8102&scoped=true&": -/*!**********************************************************************************************************************************!*\ - !*** ./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=template&id=2adc8102&scoped=true& ***! - \**********************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "render": () => (/* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_fieldset_default_values_vue_vue_type_template_id_2adc8102_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render), -/* harmony export */ "staticRenderFns": () => (/* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_fieldset_default_values_vue_vue_type_template_id_2adc8102_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) -/* harmony export */ }); -/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_fieldset_default_values_vue_vue_type_template_id_2adc8102_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./fieldset-default-values.vue?vue&type=template&id=2adc8102&scoped=true& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=template&id=2adc8102&scoped=true&"); - - /***/ }), /***/ "./resources/assets/js/components/importer/importer-errors.vue?vue&type=template&id=b38f57c0&scoped=true&": @@ -36993,131 +36688,6 @@ render._withStripped = true -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=template&id=2adc8102&scoped=true&": -/*!*************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=template&id=2adc8102&scoped=true& ***! - \*************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "render": () => (/* binding */ render), -/* harmony export */ "staticRenderFns": () => (/* binding */ staticRenderFns) -/* harmony export */ }); -var render = function() { - var _vm = this - var _h = _vm.$createElement - var _c = _vm._self._c || _h - return _c("div", [ - _vm.show && _vm.fields.length - ? _c("div", [ - _c("div", { staticClass: "form-group" }, [ - _c("fieldset", [ - _c("legend", { staticClass: "col-md-3 control-label" }, [ - _vm._v("Default Values") - ]), - _vm._v(" "), - _c( - "div", - { staticClass: "col-sm-8 col-xl-7" }, - [ - _vm.error - ? _c("p", [ - _vm._v( - "\n There was a problem retrieving the fields for this fieldset.\n " - ) - ]) - : _vm._e(), - _vm._v(" "), - _vm._l(_vm.fields, function(field) { - return _c("div", { staticClass: "row" }, [ - _c("div", { staticClass: "col-sm-12 col-lg-6" }, [ - _c( - "label", - { - staticClass: "control-label", - attrs: { for: "default-value" + field.id } - }, - [_vm._v(_vm._s(field.name))] - ) - ]), - _vm._v(" "), - _c("div", { staticClass: "col-sm-12 col-lg-6" }, [ - field.type == "text" - ? _c("input", { - staticClass: "form-control m-b-xs", - attrs: { - type: "text", - id: "default-value" + field.id, - name: "default_values[" + field.id + "]" - }, - domProps: { value: _vm.getValue(field) } - }) - : _vm._e(), - _vm._v(" "), - field.type == "textarea" - ? _c("textarea", { - staticClass: "form-control", - attrs: { - id: "default-value" + field.id, - name: "default_values[" + field.id + "]" - }, - domProps: { value: _vm.getValue(field) } - }) - : _vm._e(), - _c("br"), - _vm._v(" "), - field.type == "listbox" - ? _c( - "select", - { - staticClass: "form-control m-b-xs", - attrs: { - name: "default_values[" + field.id + "]" - } - }, - [ - _c("option", { attrs: { value: "" } }), - _vm._v(" "), - _vm._l(field.field_values_array, function( - field_value - ) { - return _c( - "option", - { - domProps: { - value: field_value, - selected: - _vm.getValue(field) == field_value - } - }, - [_vm._v(_vm._s(field_value))] - ) - }) - ], - 2 - ) - : _vm._e() - ]) - ]) - }) - ], - 2 - ) - ]) - ]) - ]) - : _vm._e() - ]) -} -var staticRenderFns = [] -render._withStripped = true - - - /***/ }), /***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/importer/importer-errors.vue?vue&type=template&id=b38f57c0&scoped=true&": diff --git a/public/js/build/app.js.LICENSE.txt b/public/js/build/app.js.LICENSE.txt index c50b3aa8d..eff7f713b 100644 --- a/public/js/build/app.js.LICENSE.txt +++ b/public/js/build/app.js.LICENSE.txt @@ -36,7 +36,7 @@ */ /*! - * jQuery UI Widget 1.12.1 + * jQuery UI Widget 1.13.0 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors diff --git a/public/js/dist/all.js b/public/js/dist/all.js index 2a1488633..a677c9f01 100644 --- a/public/js/dist/all.js +++ b/public/js/dist/all.js @@ -59184,235 +59184,6 @@ __webpack_require__.r(__webpack_exports__); /***/ }), -/***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=script&lang=js&": -/*!********************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=script&lang=js& ***! - \********************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -// -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({ - props: ['fieldsetId', 'modelId', 'previousInput'], - data: function data() { - return { - identifiers: { - fieldset: null, - model: null - }, - elements: { - fieldset: null, - field: null - }, - fields: null, - show: false, - error: false - }; - }, - - /** - * Initialise the component (Vue 1.x). - */ - ready: function ready() { - this.init(); - }, - - /** - * Initialise the component (Vue 2.x). - */ - mounted: function mounted() { - this.init(); - }, - methods: { - /** - * Grabs the toggle field and connected fieldset and if present, - * set up the rest of the component. Scope lookups to the component - * only so we're not traversing and/or manipulating the whole DOM - */ - init: function init() { - this.defaultValues = JSON.parse(this.previousInput); - this.identifiers.fieldset = this.fieldsetId; - this.identifiers.model = this.modelId; // This has to be jQuery because a lot of native functions/events - // do not work with select2 - - this.elements.fieldset = $('.js-fieldset-field'); - this.elements.field = document.querySelector('.js-default-values-toggler'); - - if (this.elements.fieldset && this.elements.field) { - this.addListeners(); - this.getFields(); - } - }, - - /** - * Adds event listeners for: - * - Toggle field changing - * - Fieldset field changing - * - * Using jQuery event hooks for the select2 fieldset field as - * select2 does not emit DOM events... - */ - addListeners: function addListeners() { - var _this = this; - - this.elements.field.addEventListener('change', function (e) { - return _this.updateShow(); - }); - this.elements.fieldset.on('change', function (e) { - return _this.updateFields(); - }); - }, - - /** - * Call the CustomFieldsetsController::fields() endpoint to grab - * the fields we can set default values for - */ - getFields: function getFields() { - var _this2 = this; - - if (!this.identifiers.fieldset) { - return this.fields = []; - } - - this.$http.get(this.getUrl()).then(function (response) { - return response.json(); - }).then(function (data) { - return _this2.checkResponseForError(data); - }).then(function (data) { - return _this2.fields = data.rows; - }).then(function () { - return _this2.determineIfShouldShow(); - }); - }, - getValue: function getValue(field) { - if (field.default_value) { - return field.default_value; - } - - return this.defaultValues != null ? this.defaultValues[field.id.toString()] : ''; - }, - - /** - * Generates the API URL depending on what information is available - * - * @return Router - */ - getUrl: function getUrl() { - if (this.identifiers.model) { - return route('api.fieldsets.fields-with-default-value', { - fieldset: this.identifiers.fieldset, - model: this.identifiers.model - }); - } - - return route('api.fieldsets.fields', { - fieldset: this.identifiers.fieldset - }); - }, - - /** - * Sets error state and shows error if request was not marked - * successful - */ - checkResponseForError: function checkResponseForError(data) { - this.error = data.status == 'error'; - return data; - }, - - /** - * Checks whether the toggler is checked and shows the default - * values field dependent on that - */ - updateShow: function updateShow() { - if (this.identifiers.fieldset && this.elements.field) { - this.show = this.elements.field.checked; - } - }, - - /** - * checks the 'add default values' checkbox if it is already checked - * OR this.show is already set to true OR if any fields already have - * a default value. - */ - determineIfShouldShow: function determineIfShouldShow() { - this.elements.field.checked = this.elements.field.checked || this.show || this.fields.reduce(function (accumulator, currentValue) { - return accumulator || currentValue.default_value; - }, false); - this.updateShow(); - }, - updateFields: function updateFields() { - this.identifiers.fieldset = this.elements.fieldset[0].value ? parseInt(this.elements.fieldset[0].value) : false; - this.getFields(); - } - } -}); - -/***/ }), - /***/ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/importer/importer-errors.vue?vue&type=script&lang=js&": /*!**************************************************************************************************************************************************************************************************************************************!*\ !*** ./node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/importer/importer-errors.vue?vue&type=script&lang=js& ***! @@ -59701,6 +59472,9 @@ __webpack_require__.r(__webpack_exports__); }, { id: 'model_number', text: "Model Number" + }, { + id: 'min_amt', + text: "Minimum Quantity" }], licenses: [{ id: 'asset_tag', @@ -59794,6 +59568,7 @@ __webpack_require__.r(__webpack_exports__); return this.columnOptions.general.concat(this.columnOptions.accessories).sort(sorter); case 'consumable': + console.log('Returned consumable'); return this.columnOptions.general.concat(this.columnOptions.consumables).sort(sorter); case 'license': @@ -61062,7 +60837,36 @@ var baseUrl = $('meta[name="baseUrl"]').attr('content'); (function ($, settings) { var Components = {}; - Components.modals = {}; // confirm delete modal + Components.modals = {}; // confirm restore modal + + Components.modals.confirmRestore = function () { + var $el = $('table'); + var events = { + 'click': function click(evnt) { + var $context = $(this); + var $restoreConfirmModal = $('#restoreConfirmModal'); + var href = $context.attr('href'); + var message = $context.attr('data-content'); + var title = $context.attr('data-title'); + $('#restoreConfirmModalLabel').text(title); + $restoreConfirmModal.find('.modal-body').text(message); + $('#restoreForm').attr('action', href); + $restoreConfirmModal.modal({ + show: true + }); + return false; + } + }; + + var render = function render() { + $el.on('click', '.restore-asset', events['click']); + }; + + return { + render: render + }; + }; // confirm delete modal + Components.modals.confirmDelete = function () { var $el = $('table'); @@ -61098,6 +60902,7 @@ var baseUrl = $('meta[name="baseUrl"]').attr('content'); $(function () { + new Components.modals.confirmRestore().render(); new Components.modals.confirmDelete().render(); }); })(jQuery, window.snipeit.settings); @@ -61253,10 +61058,10 @@ $(document).ready(function () { return x !== 0; }); // makes sure we're not selecting the same thing twice for multiples - var filteredResponse = response.items.filter(function (item) { + var filteredResponse = response.results.filter(function (item) { return currentlySelected.indexOf(+item.id) < 0; }); - var first = currentlySelected.length > 0 ? filteredResponse[0] : response.items[0]; + var first = currentlySelected.length > 0 ? filteredResponse[0] : response.results[0]; if (first && first.id) { first.selected = true; @@ -61462,7 +61267,7 @@ $(document).ready(function () { for (var i = 0; i < this.files.length; i++) { total_size += this.files[i].size; - $(id + '-info').append('' + this.files[i].name + ' (' + formatBytes(this.files[i].size) + ') '); + $(id + '-info').append('' + htmlEntities(this.files[i].name) + ' (' + formatBytes(this.files[i].size) + ') '); } console.log('Max size is: ' + max_size); @@ -61478,10 +61283,15 @@ $(document).ready(function () { } }); }); + +function htmlEntities(str) { + return String(str).replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"'); +} /** * Toggle disabled */ + (function ($) { $.fn.toggleDisabled = function (callback) { return this.each(function () { @@ -61760,8 +61570,12 @@ __webpack_require__(/*! ./bootstrap */ "./resources/assets/js/bootstrap.js"); Vue.component('passport-clients', __webpack_require__(/*! ./components/passport/Clients.vue */ "./resources/assets/js/components/passport/Clients.vue")["default"]); Vue.component('passport-authorized-clients', __webpack_require__(/*! ./components/passport/AuthorizedClients.vue */ "./resources/assets/js/components/passport/AuthorizedClients.vue")["default"]); Vue.component('passport-personal-access-tokens', __webpack_require__(/*! ./components/passport/PersonalAccessTokens.vue */ "./resources/assets/js/components/passport/PersonalAccessTokens.vue")["default"]); -Vue.component('importer', __webpack_require__(/*! ./components/importer/importer.vue */ "./resources/assets/js/components/importer/importer.vue")["default"]); -Vue.component('fieldset-default-values', __webpack_require__(/*! ./components/forms/asset-models/fieldset-default-values.vue */ "./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue")["default"]); // Commented out currently to avoid trying to load vue everywhere. +Vue.component('importer', __webpack_require__(/*! ./components/importer/importer.vue */ "./resources/assets/js/components/importer/importer.vue")["default"]); // This component has been removed and replaced with a Livewire implementation +// Vue.component( +// 'fieldset-default-values', +// require('./components/forms/asset-models/fieldset-default-values.vue').default +// ); +// Commented out currently to avoid trying to load vue everywhere. // const app = new Vue({ // el: '#app' // }); @@ -65645,6 +65459,8 @@ if (typeof jQuery === 'undefined') { /***/ ((module, exports, __webpack_require__) => { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;( function( factory ) { + "use strict"; + if ( true ) { // AMD. Register as an anonymous module. @@ -65653,13 +65469,14 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); } else {} -} ( function( $ ) { +} )( function( $ ) { +"use strict"; $.ui = $.ui || {}; -return $.ui.version = "1.12.1"; +return $.ui.version = "1.13.0"; -} ) ); +} ); /***/ }), @@ -65671,7 +65488,7 @@ return $.ui.version = "1.12.1"; /***/ ((module, exports, __webpack_require__) => { var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*! - * jQuery UI Widget 1.12.1 + * jQuery UI Widget 1.13.0 * http://jqueryui.com * * Copyright jQuery Foundation and other contributors @@ -65686,6 +65503,8 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ //>>demos: http://jqueryui.com/widget/ ( function( factory ) { + "use strict"; + if ( true ) { // AMD. Register as an anonymous module. @@ -65694,25 +65513,23 @@ var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_ (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__)); } else {} -}( function( $ ) { +} )( function( $ ) { +"use strict"; var widgetUuid = 0; +var widgetHasOwnProperty = Array.prototype.hasOwnProperty; var widgetSlice = Array.prototype.slice; $.cleanData = ( function( orig ) { return function( elems ) { var events, elem, i; for ( i = 0; ( elem = elems[ i ] ) != null; i++ ) { - try { - // Only trigger remove when necessary to save time - events = $._data( elem, "events" ); - if ( events && events.remove ) { - $( elem ).triggerHandler( "remove" ); - } - - // Http://bugs.jquery.com/ticket/8235 - } catch ( e ) {} + // Only trigger remove when necessary to save time + events = $._data( elem, "events" ); + if ( events && events.remove ) { + $( elem ).triggerHandler( "remove" ); + } } orig( elems ); }; @@ -65734,12 +65551,12 @@ $.widget = function( name, base, prototype ) { base = $.Widget; } - if ( $.isArray( prototype ) ) { + if ( Array.isArray( prototype ) ) { prototype = $.extend.apply( null, [ {} ].concat( prototype ) ); } // Create selector for plugin - $.expr[ ":" ][ fullName.toLowerCase() ] = function( elem ) { + $.expr.pseudos[ fullName.toLowerCase() ] = function( elem ) { return !!$.data( elem, fullName ); }; @@ -65779,7 +65596,7 @@ $.widget = function( name, base, prototype ) { // inheriting from basePrototype.options = $.widget.extend( {}, basePrototype.options ); $.each( prototype, function( prop, value ) { - if ( !$.isFunction( value ) ) { + if ( typeof value !== "function" ) { proxiedPrototype[ prop ] = value; return; } @@ -65858,7 +65675,7 @@ $.widget.extend = function( target ) { for ( ; inputIndex < inputLength; inputIndex++ ) { for ( key in input[ inputIndex ] ) { value = input[ inputIndex ][ key ]; - if ( input[ inputIndex ].hasOwnProperty( key ) && value !== undefined ) { + if ( widgetHasOwnProperty.call( input[ inputIndex ], key ) && value !== undefined ) { // Clone objects if ( $.isPlainObject( value ) ) { @@ -65907,7 +65724,8 @@ $.widget.bridge = function( name, object ) { "attempted to call method '" + options + "'" ); } - if ( !$.isFunction( instance[ options ] ) || options.charAt( 0 ) === "_" ) { + if ( typeof instance[ options ] !== "function" || + options.charAt( 0 ) === "_" ) { return $.error( "no such method '" + options + "' for " + name + " widget instance" ); } @@ -66168,12 +65986,30 @@ $.Widget.prototype = { classes: this.options.classes || {} }, options ); + function bindRemoveEvent() { + options.element.each( function( _, element ) { + var isTracked = $.map( that.classesElementLookup, function( elements ) { + return elements; + } ) + .some( function( elements ) { + return elements.is( element ); + } ); + + if ( !isTracked ) { + that._on( $( element ), { + remove: "_untrackClassesElement" + } ); + } + } ); + } + function processClassString( classes, checkOption ) { var current, i; for ( i = 0; i < classes.length; i++ ) { current = that.classesElementLookup[ classes[ i ] ] || $(); if ( options.add ) { - current = $( $.unique( current.get().concat( options.element.get() ) ) ); + bindRemoveEvent(); + current = $( $.uniqueSort( current.get().concat( options.element.get() ) ) ); } else { current = $( current.not( options.element ).get() ); } @@ -66185,10 +66021,6 @@ $.Widget.prototype = { } } - this._on( options.element, { - "remove": "_untrackClassesElement" - } ); - if ( options.keys ) { processClassString( options.keys.match( /\S+/g ) || [], true ); } @@ -66206,6 +66038,8 @@ $.Widget.prototype = { that.classesElementLookup[ key ] = $( value.not( event.target ).get() ); } } ); + + this._off( $( event.target ) ); }, _removeClass: function( element, keys, extra ) { @@ -66286,7 +66120,7 @@ $.Widget.prototype = { _off: function( element, eventName ) { eventName = ( eventName || "" ).split( " " ).join( this.eventNamespace + " " ) + this.eventNamespace; - element.off( eventName ).off( eventName ); + element.off( eventName ); // Clear the stack to avoid memory leaks (#10056) this.bindings = $( this.bindings.not( element ).get() ); @@ -66352,7 +66186,7 @@ $.Widget.prototype = { } this.element.trigger( event, data ); - return !( $.isFunction( callback ) && + return !( typeof callback === "function" && callback.apply( this.element[ 0 ], [ event ].concat( data ) ) === false || event.isDefaultPrevented() ); } @@ -66374,6 +66208,8 @@ $.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) { options = options || {}; if ( typeof options === "number" ) { options = { duration: options }; + } else if ( options === true ) { + options = {}; } hasOptions = !$.isEmptyObject( options ); @@ -66401,7 +66237,7 @@ $.each( { show: "fadeIn", hide: "fadeOut" }, function( method, defaultEffect ) { return $.widget; -} ) ); +} ); /***/ }), @@ -77296,30 +77132,6 @@ return jQuery; } ); -/***/ }), - -/***/ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=style&index=0&id=2adc8102&scoped=true&lang=css&": -/*!*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=style&index=0&id=2adc8102&scoped=true&lang=css& ***! - \*******************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../../../../../node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js */ "./node_modules/laravel-mix/node_modules/css-loader/dist/runtime/api.js"); -/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0__); -// Imports - -var ___CSS_LOADER_EXPORT___ = _node_modules_laravel_mix_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_0___default()(function(i){return i[1]}); -// Module -___CSS_LOADER_EXPORT___.push([module.id, "\nlegend[data-v-2adc8102] {\n font-size: 13px;\n font-weight: bold;\n border: 0;\n}\nfieldset > div[data-v-2adc8102] {\n background: #f4f4f4;\n border: 1px solid #d3d6de;\n margin: 0 15px 15px;\n padding: 20px 20px 10px;\n}\n@media (max-width: 992px) {\nlegend[data-v-2adc8102] {\n text-align: left !important;\n}\n}\n@media (min-width: 992px) {\nfieldset > div[data-v-2adc8102] {\n width: 55%;\n}\n}\n\n\n", ""]); -// Exports -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (___CSS_LOADER_EXPORT___); - - /***/ }), /***/ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/passport/AuthorizedClients.vue?vue&type=style&index=0&id=2ee9fe67&scoped=true&lang=css&": @@ -94938,36 +94750,6 @@ __webpack_require__.r(__webpack_exports__); // extracted by mini-css-extract-plugin -/***/ }), - -/***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=style&index=0&id=2adc8102&scoped=true&lang=css&": -/*!***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=style&index=0&id=2adc8102&scoped=true&lang=css& ***! - \***********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! !../../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js */ "./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js"); -/* harmony import */ var _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0__); -/* harmony import */ var _node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_26_0_rules_0_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_26_0_rules_0_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_fieldset_default_values_vue_vue_type_style_index_0_id_2adc8102_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! !!../../../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[1]!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[2]!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./fieldset-default-values.vue?vue&type=style&index=0&id=2adc8102&scoped=true&lang=css& */ "./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=style&index=0&id=2adc8102&scoped=true&lang=css&"); - - - -var options = {}; - -options.insert = "head"; -options.singleton = false; - -var update = _node_modules_style_loader_dist_runtime_injectStylesIntoStyleTag_js__WEBPACK_IMPORTED_MODULE_0___default()(_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_26_0_rules_0_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_26_0_rules_0_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_fieldset_default_values_vue_vue_type_style_index_0_id_2adc8102_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"], options); - - - -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_26_0_rules_0_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_26_0_rules_0_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_fieldset_default_values_vue_vue_type_style_index_0_id_2adc8102_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_1__["default"].locals || {}); - /***/ }), /***/ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/passport/AuthorizedClients.vue?vue&type=style&index=0&id=2ee9fe67&scoped=true&lang=css&": @@ -95408,47 +95190,6 @@ component.options.__file = "resources/assets/js/components/alert.vue" /***/ }), -/***/ "./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue": -/*!***************************************************************************************!*\ - !*** ./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue ***! - \***************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _fieldset_default_values_vue_vue_type_template_id_2adc8102_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./fieldset-default-values.vue?vue&type=template&id=2adc8102&scoped=true& */ "./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=template&id=2adc8102&scoped=true&"); -/* harmony import */ var _fieldset_default_values_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./fieldset-default-values.vue?vue&type=script&lang=js& */ "./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=script&lang=js&"); -/* harmony import */ var _fieldset_default_values_vue_vue_type_style_index_0_id_2adc8102_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./fieldset-default-values.vue?vue&type=style&index=0&id=2adc8102&scoped=true&lang=css& */ "./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=style&index=0&id=2adc8102&scoped=true&lang=css&"); -/* harmony import */ var _node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! !../../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js */ "./node_modules/vue-loader/lib/runtime/componentNormalizer.js"); - - - -; - - -/* normalize component */ - -var component = (0,_node_modules_vue_loader_lib_runtime_componentNormalizer_js__WEBPACK_IMPORTED_MODULE_3__["default"])( - _fieldset_default_values_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_1__["default"], - _fieldset_default_values_vue_vue_type_template_id_2adc8102_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render, - _fieldset_default_values_vue_vue_type_template_id_2adc8102_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns, - false, - null, - "2adc8102", - null - -) - -/* hot reload */ -if (false) { var api; } -component.options.__file = "resources/assets/js/components/forms/asset-models/fieldset-default-values.vue" -/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (component.exports); - -/***/ }), - /***/ "./resources/assets/js/components/importer/importer-errors.vue": /*!*********************************************************************!*\ !*** ./resources/assets/js/components/importer/importer-errors.vue ***! @@ -95745,22 +95486,6 @@ __webpack_require__.r(__webpack_exports__); /***/ }), -/***/ "./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=script&lang=js&": -/*!****************************************************************************************************************!*\ - !*** ./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=script&lang=js& ***! - \****************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "default": () => (__WEBPACK_DEFAULT_EXPORT__) -/* harmony export */ }); -/* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_0_rules_0_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_fieldset_default_values_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./fieldset-default-values.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=script&lang=js&"); - /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_0_rules_0_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_fieldset_default_values_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); - -/***/ }), - /***/ "./resources/assets/js/components/importer/importer-errors.vue?vue&type=script&lang=js&": /*!**********************************************************************************************!*\ !*** ./resources/assets/js/components/importer/importer-errors.vue?vue&type=script&lang=js& ***! @@ -95871,19 +95596,6 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _node_modules_babel_loader_lib_index_js_clonedRuleSet_5_0_rules_0_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_select2_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./select2.vue?vue&type=script&lang=js& */ "./node_modules/babel-loader/lib/index.js??clonedRuleSet-5[0].rules[0].use[0]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/select2.vue?vue&type=script&lang=js&"); /* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = (_node_modules_babel_loader_lib_index_js_clonedRuleSet_5_0_rules_0_use_0_node_modules_vue_loader_lib_index_js_vue_loader_options_select2_vue_vue_type_script_lang_js___WEBPACK_IMPORTED_MODULE_0__["default"]); -/***/ }), - -/***/ "./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=style&index=0&id=2adc8102&scoped=true&lang=css&": -/*!************************************************************************************************************************************************!*\ - !*** ./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=style&index=0&id=2adc8102&scoped=true&lang=css& ***! - \************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony import */ var _node_modules_style_loader_dist_cjs_js_node_modules_laravel_mix_node_modules_css_loader_dist_cjs_js_clonedRuleSet_26_0_rules_0_use_1_node_modules_vue_loader_lib_loaders_stylePostLoader_js_node_modules_postcss_loader_dist_cjs_js_clonedRuleSet_26_0_rules_0_use_2_node_modules_vue_loader_lib_index_js_vue_loader_options_fieldset_default_values_vue_vue_type_style_index_0_id_2adc8102_scoped_true_lang_css___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../node_modules/style-loader/dist/cjs.js!../../../../../../node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[1]!../../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../../node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[2]!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./fieldset-default-values.vue?vue&type=style&index=0&id=2adc8102&scoped=true&lang=css& */ "./node_modules/style-loader/dist/cjs.js!./node_modules/laravel-mix/node_modules/css-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[1]!./node_modules/vue-loader/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-26[0].rules[0].use[2]!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=style&index=0&id=2adc8102&scoped=true&lang=css&"); - - /***/ }), /***/ "./resources/assets/js/components/passport/AuthorizedClients.vue?vue&type=style&index=0&id=2ee9fe67&scoped=true&lang=css&": @@ -95953,23 +95665,6 @@ __webpack_require__.r(__webpack_exports__); /* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_alert_vue_vue_type_template_id_78c7e3d5_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./alert.vue?vue&type=template&id=78c7e3d5&scoped=true& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/alert.vue?vue&type=template&id=78c7e3d5&scoped=true&"); -/***/ }), - -/***/ "./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=template&id=2adc8102&scoped=true&": -/*!**********************************************************************************************************************************!*\ - !*** ./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=template&id=2adc8102&scoped=true& ***! - \**********************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "render": () => (/* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_fieldset_default_values_vue_vue_type_template_id_2adc8102_scoped_true___WEBPACK_IMPORTED_MODULE_0__.render), -/* harmony export */ "staticRenderFns": () => (/* reexport safe */ _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_fieldset_default_values_vue_vue_type_template_id_2adc8102_scoped_true___WEBPACK_IMPORTED_MODULE_0__.staticRenderFns) -/* harmony export */ }); -/* harmony import */ var _node_modules_vue_loader_lib_loaders_templateLoader_js_vue_loader_options_node_modules_vue_loader_lib_index_js_vue_loader_options_fieldset_default_values_vue_vue_type_template_id_2adc8102_scoped_true___WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! -!../../../../../../node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!../../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./fieldset-default-values.vue?vue&type=template&id=2adc8102&scoped=true& */ "./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=template&id=2adc8102&scoped=true&"); - - /***/ }), /***/ "./resources/assets/js/components/importer/importer-errors.vue?vue&type=template&id=b38f57c0&scoped=true&": @@ -96131,131 +95826,6 @@ render._withStripped = true -/***/ }), - -/***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=template&id=2adc8102&scoped=true&": -/*!*************************************************************************************************************************************************************************************************************************************************************************!*\ - !*** ./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/forms/asset-models/fieldset-default-values.vue?vue&type=template&id=2adc8102&scoped=true& ***! - \*************************************************************************************************************************************************************************************************************************************************************************/ -/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => { - -"use strict"; -__webpack_require__.r(__webpack_exports__); -/* harmony export */ __webpack_require__.d(__webpack_exports__, { -/* harmony export */ "render": () => (/* binding */ render), -/* harmony export */ "staticRenderFns": () => (/* binding */ staticRenderFns) -/* harmony export */ }); -var render = function() { - var _vm = this - var _h = _vm.$createElement - var _c = _vm._self._c || _h - return _c("div", [ - _vm.show && _vm.fields.length - ? _c("div", [ - _c("div", { staticClass: "form-group" }, [ - _c("fieldset", [ - _c("legend", { staticClass: "col-md-3 control-label" }, [ - _vm._v("Default Values") - ]), - _vm._v(" "), - _c( - "div", - { staticClass: "col-sm-8 col-xl-7" }, - [ - _vm.error - ? _c("p", [ - _vm._v( - "\n There was a problem retrieving the fields for this fieldset.\n " - ) - ]) - : _vm._e(), - _vm._v(" "), - _vm._l(_vm.fields, function(field) { - return _c("div", { staticClass: "row" }, [ - _c("div", { staticClass: "col-sm-12 col-lg-6" }, [ - _c( - "label", - { - staticClass: "control-label", - attrs: { for: "default-value" + field.id } - }, - [_vm._v(_vm._s(field.name))] - ) - ]), - _vm._v(" "), - _c("div", { staticClass: "col-sm-12 col-lg-6" }, [ - field.type == "text" - ? _c("input", { - staticClass: "form-control m-b-xs", - attrs: { - type: "text", - id: "default-value" + field.id, - name: "default_values[" + field.id + "]" - }, - domProps: { value: _vm.getValue(field) } - }) - : _vm._e(), - _vm._v(" "), - field.type == "textarea" - ? _c("textarea", { - staticClass: "form-control", - attrs: { - id: "default-value" + field.id, - name: "default_values[" + field.id + "]" - }, - domProps: { value: _vm.getValue(field) } - }) - : _vm._e(), - _c("br"), - _vm._v(" "), - field.type == "listbox" - ? _c( - "select", - { - staticClass: "form-control m-b-xs", - attrs: { - name: "default_values[" + field.id + "]" - } - }, - [ - _c("option", { attrs: { value: "" } }), - _vm._v(" "), - _vm._l(field.field_values_array, function( - field_value - ) { - return _c( - "option", - { - domProps: { - value: field_value, - selected: - _vm.getValue(field) == field_value - } - }, - [_vm._v(_vm._s(field_value))] - ) - }) - ], - 2 - ) - : _vm._e() - ]) - ]) - }) - ], - 2 - ) - ]) - ]) - ]) - : _vm._e() - ]) -} -var staticRenderFns = [] -render._withStripped = true - - - /***/ }), /***/ "./node_modules/vue-loader/lib/loaders/templateLoader.js??vue-loader-options!./node_modules/vue-loader/lib/index.js??vue-loader-options!./resources/assets/js/components/importer/importer-errors.vue?vue&type=template&id=b38f57c0&scoped=true&": diff --git a/public/js/dist/bootstrap-table.js b/public/js/dist/bootstrap-table.js index 11e73e214..452049ad2 100644 --- a/public/js/dist/bootstrap-table.js +++ b/public/js/dist/bootstrap-table.js @@ -187,9 +187,10 @@ // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 var global_1 = - /* global globalThis -- safe */ + // eslint-disable-next-line es/no-global-this -- safe check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || + // eslint-disable-next-line no-restricted-globals -- safe check(typeof self == 'object' && self) || check(typeof commonjsGlobal == 'object' && commonjsGlobal) || // eslint-disable-next-line no-new-func -- fallback @@ -205,21 +206,23 @@ // Detect IE8's incomplete defineProperty implementation var descriptors = !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7; }); - var nativePropertyIsEnumerable = {}.propertyIsEnumerable; + var $propertyIsEnumerable = {}.propertyIsEnumerable; + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe var getOwnPropertyDescriptor$4 = Object.getOwnPropertyDescriptor; // Nashorn ~ JDK8 bug - var NASHORN_BUG = getOwnPropertyDescriptor$4 && !nativePropertyIsEnumerable.call({ 1: 2 }, 1); + var NASHORN_BUG = getOwnPropertyDescriptor$4 && !$propertyIsEnumerable.call({ 1: 2 }, 1); // `Object.prototype.propertyIsEnumerable` method implementation // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable var f$4 = NASHORN_BUG ? function propertyIsEnumerable(V) { var descriptor = getOwnPropertyDescriptor$4(this, V); return !!descriptor && descriptor.enumerable; - } : nativePropertyIsEnumerable; + } : $propertyIsEnumerable; var objectPropertyIsEnumerable = { f: f$4 @@ -299,20 +302,22 @@ // Thank's IE8 for his funny defineProperty var ie8DomDefine = !descriptors && !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- requied for testing return Object.defineProperty(documentCreateElement('div'), 'a', { get: function () { return 7; } }).a != 7; }); - var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; // `Object.getOwnPropertyDescriptor` method // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor - var f$3 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + var f$3 = descriptors ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { O = toIndexedObject(O); P = toPrimitive(P, true); if (ie8DomDefine) try { - return nativeGetOwnPropertyDescriptor(O, P); + return $getOwnPropertyDescriptor(O, P); } catch (error) { /* empty */ } if (has$1(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]); }; @@ -327,16 +332,17 @@ } return it; }; - var nativeDefineProperty = Object.defineProperty; + // eslint-disable-next-line es/no-object-defineproperty -- safe + var $defineProperty = Object.defineProperty; // `Object.defineProperty` method // https://tc39.es/ecma262/#sec-object.defineproperty - var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) { + var f$2 = descriptors ? $defineProperty : function defineProperty(O, P, Attributes) { anObject(O); P = toPrimitive(P, true); anObject(Attributes); if (ie8DomDefine) try { - return nativeDefineProperty(O, P, Attributes); + return $defineProperty(O, P, Attributes); } catch (error) { /* empty */ } if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported'); if ('value' in Attributes) O[P] = Attributes.value; @@ -386,7 +392,7 @@ (module.exports = function (key, value) { return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {}); })('versions', []).push({ - version: '3.9.1', + version: '3.10.1', mode: 'global', copyright: '© 2021 Denis Pushkarev (zloirock.ru)' }); @@ -598,6 +604,7 @@ // `Object.getOwnPropertyNames` method // https://tc39.es/ecma262/#sec-object.getownpropertynames + // eslint-disable-next-line es/no-object-getownpropertynames -- safe var f$1 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { return objectKeysInternal(O, hiddenKeys); }; @@ -606,6 +613,7 @@ f: f$1 }; + // eslint-disable-next-line es/no-object-getownpropertysymbols -- safe var f = Object.getOwnPropertySymbols; var objectGetOwnPropertySymbols = { @@ -795,7 +803,7 @@ return RegExp(s, f); } - var UNSUPPORTED_Y$2 = fails(function () { + var UNSUPPORTED_Y$3 = fails(function () { // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError var re = RE('a', 'y'); re.lastIndex = 2; @@ -810,15 +818,12 @@ }); var regexpStickyHelpers = { - UNSUPPORTED_Y: UNSUPPORTED_Y$2, + UNSUPPORTED_Y: UNSUPPORTED_Y$3, BROKEN_CARET: BROKEN_CARET }; var nativeExec = RegExp.prototype.exec; - // This always refers to the native implementation, because the - // String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js, - // which loads this file before patching the method. - var nativeReplace = String.prototype.replace; + var nativeReplace = shared('native-string-replace', String.prototype.replace); var patchedExec = nativeExec; @@ -830,19 +835,19 @@ return re1.lastIndex !== 0 || re2.lastIndex !== 0; })(); - var UNSUPPORTED_Y$1 = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET; + var UNSUPPORTED_Y$2 = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET; // nonparticipating capturing group, copied from es5-shim's String#split patch. // eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined; - var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$1; + var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$2; if (PATCH) { patchedExec = function exec(str) { var re = this; var lastIndex, reCopy, match, i; - var sticky = UNSUPPORTED_Y$1 && re.sticky; + var sticky = UNSUPPORTED_Y$2 && re.sticky; var flags = regexpFlags.call(re); var source = re.source; var charsAdded = 0; @@ -927,16 +932,19 @@ var engineV8Version = version && +version; + // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () { - /* global Symbol -- required for testing */ + // eslint-disable-next-line es/no-symbol -- required for testing return !Symbol.sham && // Chrome 38 Symbol has incorrect toString conversion // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances (engineIsNode ? engineV8Version === 38 : engineV8Version > 37 && engineV8Version < 41); }); + /* eslint-disable es/no-symbol -- required for testing */ + + var useSymbolAsUid = nativeSymbol - /* global Symbol -- safe */ && !Symbol.sham && typeof Symbol.iterator == 'symbol'; @@ -961,7 +969,6 @@ - var SPECIES$5 = wellKnownSymbol('species'); var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () { @@ -980,6 +987,7 @@ // IE <= 11 replaces $0 with the whole match, as if it was $& // https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0 var REPLACE_KEEPS_$0 = (function () { + // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing return 'a'.replace(/./, '$0') === '$0'; })(); @@ -1049,7 +1057,7 @@ ) { var nativeRegExpMethod = /./[SYMBOL]; var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) { - if (regexp.exec === regexpExec) { + if (regexp.exec === RegExp.prototype.exec) { if (DELEGATES_TO_SYMBOL && !forceStringMethod) { // The native String method already delegates to @@method (this // polyfilled function), leasing to infinite recursion. @@ -1157,13 +1165,11 @@ return regexpExec.call(R, S); }; + var UNSUPPORTED_Y$1 = regexpStickyHelpers.UNSUPPORTED_Y; var arrayPush = [].push; var min$4 = Math.min; var MAX_UINT32 = 0xFFFFFFFF; - // babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError - var SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); }); - // @@split logic fixRegexpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) { var internalSplit; @@ -1246,11 +1252,11 @@ var flags = (rx.ignoreCase ? 'i' : '') + (rx.multiline ? 'm' : '') + (rx.unicode ? 'u' : '') + - (SUPPORTS_Y ? 'y' : 'g'); + (UNSUPPORTED_Y$1 ? 'g' : 'y'); // ^(? + rx + ) is needed, in combination with some S slicing, to // simulate the 'y' flag. - var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags); + var splitter = new C(UNSUPPORTED_Y$1 ? '^(?:' + rx.source + ')' : rx, flags); var lim = limit === undefined ? MAX_UINT32 : limit >>> 0; if (lim === 0) return []; if (S.length === 0) return regexpExecAbstract(splitter, S) === null ? [S] : []; @@ -1258,12 +1264,12 @@ var q = 0; var A = []; while (q < S.length) { - splitter.lastIndex = SUPPORTS_Y ? q : 0; - var z = regexpExecAbstract(splitter, SUPPORTS_Y ? S : S.slice(q)); + splitter.lastIndex = UNSUPPORTED_Y$1 ? 0 : q; + var z = regexpExecAbstract(splitter, UNSUPPORTED_Y$1 ? S.slice(q) : S); var e; if ( z === null || - (e = min$4(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p + (e = min$4(toLength(splitter.lastIndex + (UNSUPPORTED_Y$1 ? q : 0)), S.length)) === p ) { q = advanceStringIndex(S, q, unicodeMatching); } else { @@ -1280,16 +1286,58 @@ return A; } ]; - }, !SUPPORTS_Y); + }, UNSUPPORTED_Y$1); // `Object.keys` method // https://tc39.es/ecma262/#sec-object.keys + // eslint-disable-next-line es/no-object-keys -- safe var objectKeys = Object.keys || function keys(O) { return objectKeysInternal(O, enumBugKeys); }; + var propertyIsEnumerable = objectPropertyIsEnumerable.f; + + // `Object.{ entries, values }` methods implementation + var createMethod$1 = function (TO_ENTRIES) { + return function (it) { + var O = toIndexedObject(it); + var keys = objectKeys(O); + var length = keys.length; + var i = 0; + var result = []; + var key; + while (length > i) { + key = keys[i++]; + if (!descriptors || propertyIsEnumerable.call(O, key)) { + result.push(TO_ENTRIES ? [key, O[key]] : O[key]); + } + } + return result; + }; + }; + + var objectToArray = { + // `Object.entries` method + // https://tc39.es/ecma262/#sec-object.entries + entries: createMethod$1(true), + // `Object.values` method + // https://tc39.es/ecma262/#sec-object.values + values: createMethod$1(false) + }; + + var $entries = objectToArray.entries; + + // `Object.entries` method + // https://tc39.es/ecma262/#sec-object.entries + _export({ target: 'Object', stat: true }, { + entries: function entries(O) { + return $entries(O); + } + }); + // `Object.defineProperties` method // https://tc39.es/ecma262/#sec-object.defineproperties + // eslint-disable-next-line es/no-object-defineproperties -- safe var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) { anObject(O); var keys = objectKeys(Properties); @@ -1406,6 +1454,7 @@ // `IsArray` abstract operation // https://tc39.es/ecma262/#sec-isarray + // eslint-disable-next-line es/no-array-isarray -- safe var isArray = Array.isArray || function isArray(arg) { return classofRaw(arg) == 'Array'; }; @@ -1530,7 +1579,7 @@ var push = [].push; // `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation - var createMethod$1 = function (TYPE) { + var createMethod = function (TYPE) { var IS_MAP = TYPE == 1; var IS_FILTER = TYPE == 2; var IS_SOME = TYPE == 3; @@ -1570,28 +1619,28 @@ var arrayIteration = { // `Array.prototype.forEach` method // https://tc39.es/ecma262/#sec-array.prototype.foreach - forEach: createMethod$1(0), + forEach: createMethod(0), // `Array.prototype.map` method // https://tc39.es/ecma262/#sec-array.prototype.map - map: createMethod$1(1), + map: createMethod(1), // `Array.prototype.filter` method // https://tc39.es/ecma262/#sec-array.prototype.filter - filter: createMethod$1(2), + filter: createMethod(2), // `Array.prototype.some` method // https://tc39.es/ecma262/#sec-array.prototype.some - some: createMethod$1(3), + some: createMethod(3), // `Array.prototype.every` method // https://tc39.es/ecma262/#sec-array.prototype.every - every: createMethod$1(4), + every: createMethod(4), // `Array.prototype.find` method // https://tc39.es/ecma262/#sec-array.prototype.find - find: createMethod$1(5), + find: createMethod(5), // `Array.prototype.findIndex` method // https://tc39.es/ecma262/#sec-array.prototype.findIndex - findIndex: createMethod$1(6), + findIndex: createMethod(6), // `Array.prototype.filterOut` method // https://github.com/tc39/proposal-array-filtering - filterOut: createMethod$1(7) + filterOut: createMethod(7) }; var $find = arrayIteration.find; @@ -1688,6 +1737,7 @@ // https://tc39.es/ecma262/#sec-array.prototype.foreach var arrayForEach = !STRICT_METHOD$2 ? function forEach(callbackfn /* , thisArg */) { return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + // eslint-disable-next-line es/no-array-prototype-foreach -- safe } : [].forEach; for (var COLLECTION_NAME$1 in domIterables) { @@ -1721,45 +1771,7 @@ parseFloat: numberParseFloat }); - var propertyIsEnumerable = objectPropertyIsEnumerable.f; - - // `Object.{ entries, values }` methods implementation - var createMethod = function (TO_ENTRIES) { - return function (it) { - var O = toIndexedObject(it); - var keys = objectKeys(O); - var length = keys.length; - var i = 0; - var result = []; - var key; - while (length > i) { - key = keys[i++]; - if (!descriptors || propertyIsEnumerable.call(O, key)) { - result.push(TO_ENTRIES ? [key, O[key]] : O[key]); - } - } - return result; - }; - }; - - var objectToArray = { - // `Object.entries` method - // https://tc39.es/ecma262/#sec-object.entries - entries: createMethod(true), - // `Object.values` method - // https://tc39.es/ecma262/#sec-object.values - values: createMethod(false) - }; - - var $entries = objectToArray.entries; - - // `Object.entries` method - // https://tc39.es/ecma262/#sec-object.entries - _export({ target: 'Object', stat: true }, { - entries: function entries(O) { - return $entries(O); - } - }); + /* eslint-disable es/no-array-prototype-indexof -- required for testing */ var $indexOf = arrayIncludes.indexOf; @@ -1934,14 +1946,16 @@ ]; }); - var nativeAssign = Object.assign; + // eslint-disable-next-line es/no-object-assign -- safe + var $assign = Object.assign; + // eslint-disable-next-line es/no-object-defineproperty -- required for testing var defineProperty$3 = Object.defineProperty; // `Object.assign` method // https://tc39.es/ecma262/#sec-object.assign - var objectAssign = !nativeAssign || fails(function () { + var objectAssign = !$assign || fails(function () { // should have correct order of operations (Edge bug) - if (descriptors && nativeAssign({ b: 1 }, nativeAssign(defineProperty$3({}, 'a', { + if (descriptors && $assign({ b: 1 }, $assign(defineProperty$3({}, 'a', { enumerable: true, get: function () { defineProperty$3(this, 'b', { @@ -1953,12 +1967,12 @@ // should work with symbols and should have deterministic property order (V8 bug) var A = {}; var B = {}; - /* global Symbol -- required for testing */ + // eslint-disable-next-line es/no-symbol -- safe var symbol = Symbol(); var alphabet = 'abcdefghijklmnopqrst'; A[symbol] = 7; alphabet.split('').forEach(function (chr) { B[chr] = chr; }); - return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet; + return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet; }) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length` var T = toObject(target); var argumentsLength = arguments.length; @@ -1976,10 +1990,11 @@ if (!descriptors || propertyIsEnumerable.call(S, key)) T[key] = S[key]; } } return T; - } : nativeAssign; + } : $assign; // `Object.assign` method // https://tc39.es/ecma262/#sec-object.assign + // eslint-disable-next-line es/no-object-assign -- required for testing _export({ target: 'Object', stat: true, forced: Object.assign !== objectAssign }, { assign: objectAssign }); @@ -2000,6 +2015,7 @@ // `SameValue` abstract operation // https://tc39.es/ecma262/#sec-samevalue + // eslint-disable-next-line es/no-object-is -- safe var sameValue = Object.is || function is(x, y) { // eslint-disable-next-line no-self-compare -- NaN check return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; @@ -2100,11 +2116,13 @@ // `Object.setPrototypeOf` method // https://tc39.es/ecma262/#sec-object.setprototypeof // Works with __proto__ only. Old v8 can't work with null proto objects. + // eslint-disable-next-line es/no-object-setprototypeof -- safe var objectSetPrototypeOf = Object.setPrototypeOf || ('__proto__' in {} ? function () { var CORRECT_SETTER = false; var test = {}; var setter; try { + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set; setter.call(test, []); CORRECT_SETTER = test instanceof Array; @@ -2330,6 +2348,7 @@ var correctPrototypeGetter = !fails(function () { function F() { /* empty */ } F.prototype.constructor = null; + // eslint-disable-next-line es/no-object-getprototypeof -- required for testing return Object.getPrototypeOf(new F()) !== F.prototype; }); @@ -2338,6 +2357,7 @@ // `Object.getPrototypeOf` method // https://tc39.es/ecma262/#sec-object.getprototypeof + // eslint-disable-next-line es/no-object-getprototypeof -- safe var objectGetPrototypeOf = correctPrototypeGetter ? Object.getPrototypeOf : function (O) { O = toObject(O); if (has$1(O, IE_PROTO)) return O[IE_PROTO]; @@ -2355,6 +2375,7 @@ // https://tc39.es/ecma262/#sec-%iteratorprototype%-object var IteratorPrototype$2, PrototypeOfArrayIteratorPrototype, arrayIterator; + /* eslint-disable es/no-array-prototype-keys -- safe */ if ([].keys) { arrayIterator = [].keys(); // Safari 8 has buggy iterators w/o `next` @@ -2696,7 +2717,7 @@ /* eslint-disable no-unused-vars */ - var VERSION = '1.18.3'; + var VERSION = '1.19.1'; var bootstrapVersion = 4; try { @@ -2813,19 +2834,19 @@ } }, 5: { - iconsPrefix: 'fa', + iconsPrefix: 'bi', icons: { - paginationSwitchDown: 'fa-caret-square-down', - paginationSwitchUp: 'fa-caret-square-up', - refresh: 'fa-sync', - toggleOff: 'fa-toggle-off', - toggleOn: 'fa-toggle-on', - columns: 'fa-th-list', - detailOpen: 'fa-plus', - detailClose: 'fa-minus', - fullscreen: 'fa-arrows-alt', - search: 'fa-search', - clearSearch: 'fa-trash' + paginationSwitchDown: 'bi-caret-down-square', + paginationSwitchUp: 'bi-caret-up-square', + refresh: 'bi-arrow-clockwise', + toggleOff: 'bi-toggle-off', + toggleOn: 'bi-toggle-on', + columns: 'bi-list-ul', + detailOpen: 'bi-plus', + detailClose: 'bi-dash', + fullscreen: 'bi-arrows-move', + search: 'bi-search', + clearSearch: 'bi-trash' }, classes: { buttonsPrefix: 'btn', @@ -2853,7 +2874,7 @@ pagination: ['
    ', '
'], paginationItem: '
  • %s
  • ', icon: '', - inputGroup: '
    %s
    %s
    ', + inputGroup: '
    %s%s
    ', searchInput: '', searchButton: '', searchClearButton: '' @@ -2938,6 +2959,7 @@ searchHighlight: false, searchOnEnterKey: false, strictSearch: false, + regexSearch: false, searchSelector: false, visibleSearch: false, showButtonIcons: true, @@ -3089,6 +3111,9 @@ }, onScrollBody: function onScrollBody() { return false; + }, + onTogglePagination: function onTogglePagination(newState) { + return false; } }; var EN = { @@ -3229,7 +3254,9 @@ 'refresh-options.bs.table': 'onRefreshOptions', 'reset-view.bs.table': 'onResetView', 'refresh.bs.table': 'onRefresh', - 'scroll-body.bs.table': 'onScrollBody' + 'scroll-body.bs.table': 'onScrollBody', + 'toggle-pagination.bs.table': 'onTogglePagination', + 'virtual-scroll.bs.table': 'onVirtualScroll' }; Object.assign(DEFAULTS, EN); var Constants = { @@ -3256,6 +3283,43 @@ } }); + // @@match logic + fixRegexpWellKnownSymbolLogic('match', 1, function (MATCH, nativeMatch, maybeCallNative) { + return [ + // `String.prototype.match` method + // https://tc39.es/ecma262/#sec-string.prototype.match + function match(regexp) { + var O = requireObjectCoercible(this); + var matcher = regexp == undefined ? undefined : regexp[MATCH]; + return matcher !== undefined ? matcher.call(regexp, O) : new RegExp(regexp)[MATCH](String(O)); + }, + // `RegExp.prototype[@@match]` method + // https://tc39.es/ecma262/#sec-regexp.prototype-@@match + function (regexp) { + var res = maybeCallNative(nativeMatch, regexp, this); + if (res.done) return res.value; + + var rx = anObject(regexp); + var S = String(this); + + if (!rx.global) return regexpExecAbstract(rx, S); + + var fullUnicode = rx.unicode; + rx.lastIndex = 0; + var A = []; + var n = 0; + var result; + while ((result = regexpExecAbstract(rx, S)) !== null) { + var matchStr = String(result[0]); + A[n] = matchStr; + if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); + n++; + } + return n === 0 ? null : A; + } + ]; + }); + var getOwnPropertyDescriptor$1 = objectGetOwnPropertyDescriptor.f; @@ -3263,7 +3327,8 @@ - var nativeStartsWith = ''.startsWith; + // eslint-disable-next-line es/no-string-prototype-startswith -- safe + var $startsWith = ''.startsWith; var min$1 = Math.min; var CORRECT_IS_REGEXP_LOGIC$1 = correctIsRegexpLogic('startsWith'); @@ -3281,8 +3346,8 @@ notARegexp(searchString); var index = toLength(min$1(arguments.length > 1 ? arguments[1] : undefined, that.length)); var search = String(searchString); - return nativeStartsWith - ? nativeStartsWith.call(that, search, index) + return $startsWith + ? $startsWith.call(that, search, index) : that.slice(index, index + search.length) === search; } }); @@ -3294,7 +3359,8 @@ - var nativeEndsWith = ''.endsWith; + // eslint-disable-next-line es/no-string-prototype-endswith -- safe + var $endsWith = ''.endsWith; var min = Math.min; var CORRECT_IS_REGEXP_LOGIC = correctIsRegexpLogic('endsWith'); @@ -3314,8 +3380,8 @@ var len = toLength(that.length); var end = endPosition === undefined ? len : min(toLength(endPosition), len); var search = String(searchString); - return nativeEndsWith - ? nativeEndsWith.call(that, search, end) + return $endsWith + ? $endsWith.call(that, search, end) : that.slice(end - search.length, end) === search; } }); @@ -3582,19 +3648,30 @@ return true; }, + regexCompare: function regexCompare(value, search) { + try { + var regexpParts = search.match(/^\/(.*?)\/([gim]*)$/); + + if (value.toString().search(regexpParts ? new RegExp(regexpParts[1], regexpParts[2]) : new RegExp(search, 'gim')) !== -1) { + return true; + } + } catch (e) { + return false; + } + }, escapeHTML: function escapeHTML(text) { - if (typeof text === 'string') { - return text.replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"').replace(/'/g, ''').replace(/`/g, '`'); + if (!text) { + return text; } - return text; + return text.toString().replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"').replace(/'/g, '''); }, unescapeHTML: function unescapeHTML(text) { - if (typeof text === 'string') { - return text.replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, '\'').replace(/`/g, '`'); + if (!text) { + return text; } - return text; + return text.toString().replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"').replace(/'/g, '\''); }, getRealDataAttr: function getRealDataAttr(dataAttr) { for (var _i3 = 0, _Object$entries = Object.entries(dataAttr); _i3 < _Object$entries.length; _i3++) { @@ -3823,7 +3900,7 @@ if (_this.lastCluster !== (_this.lastCluster = _this.getNum())) { _this.initDOM(_this.rows); - _this.callback(); + _this.callback(_this.startIndex, _this.endIndex); } }; @@ -3863,6 +3940,8 @@ html.push(this.getExtra('bottom', data.bottomOffset)); } + this.startIndex = data.start; + this.endIndex = data.end; this.contentEl.innerHTML = html.join(''); if (fixedScroll) { @@ -3919,6 +3998,8 @@ } return { + start: start, + end: end, topOffset: topOffset, bottomOffset: bottomOffset, rowsAbove: rowsAbove, @@ -4007,12 +4088,26 @@ parts[1] = parts[1].toUpperCase(); } + var localesToExtend = {}; + if (locales[this.options.locale]) { - $__default['default'].extend(this.options, locales[this.options.locale]); + localesToExtend = locales[this.options.locale]; } else if (locales[parts.join('-')]) { - $__default['default'].extend(this.options, locales[parts.join('-')]); + localesToExtend = locales[parts.join('-')]; } else if (locales[parts[0]]) { - $__default['default'].extend(this.options, locales[parts[0]]); + localesToExtend = locales[parts[0]]; + } + + for (var _i = 0, _Object$entries = Object.entries(localesToExtend); _i < _Object$entries.length; _i++) { + var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2), + formatName = _Object$entries$_i[0], + func = _Object$entries$_i[1]; + + if (this.options[formatName] !== BootstrapTable.DEFAULTS[formatName]) { + continue; + } + + this.options[formatName] = func; } } } @@ -4199,10 +4294,10 @@ var classes = ''; if (headerStyle && headerStyle.css) { - for (var _i = 0, _Object$entries = Object.entries(headerStyle.css); _i < _Object$entries.length; _i++) { - var _Object$entries$_i = _slicedToArray(_Object$entries[_i], 2), - key = _Object$entries$_i[0], - value = _Object$entries$_i[1]; + for (var _i2 = 0, _Object$entries2 = Object.entries(headerStyle.css); _i2 < _Object$entries2.length; _i2++) { + var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i2], 2), + key = _Object$entries2$_i[0], + value = _Object$entries2$_i[1]; csses.push("".concat(key, ": ").concat(value)); } @@ -4294,16 +4389,6 @@ _this2.onSort(e); } }); - this.$header.children().children().off('keypress').on('keypress', function (e) { - if (_this2.options.sortable && $__default['default'](e.currentTarget).data().sortable) { - var code = e.keyCode || e.which; - - if (code === 13) { - // Enter keycode - _this2.onSort(e); - } - } - }); var resizeEvent = Utils.getEventName('resize.bootstrap-table', this.$el.attr('id')); $__default['default'](window).off(resizeEvent); @@ -4582,10 +4667,10 @@ }); var buttonsHtml = {}; - for (var _i2 = 0, _Object$entries2 = Object.entries(this.buttons); _i2 < _Object$entries2.length; _i2++) { - var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i2], 2), - buttonName = _Object$entries2$_i[0], - buttonConfig = _Object$entries2$_i[1]; + for (var _i3 = 0, _Object$entries3 = Object.entries(this.buttons); _i3 < _Object$entries3.length; _i3++) { + var _Object$entries3$_i = _slicedToArray(_Object$entries3[_i3], 2), + buttonName = _Object$entries3$_i[0], + buttonConfig = _Object$entries3$_i[1]; var buttonHtml = void 0; @@ -4599,10 +4684,10 @@ buttonHtml = "\n \n ") : "\n
    \n \n
    \n ") + html: function html() { + if (exportTypes.length === 1) { + return "\n
    \n \n
    \n "); + } + + var html = []; + html.push("\n
    \n \n ").concat(_this.constants.html.toolbarDropdown[0], "\n ")); + + var _iterator = _createForOfIteratorHelper(exportTypes), + _step; + + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + var type = _step.value; + + if (TYPE_NAME.hasOwnProperty(type)) { + var $item = $__default['default'](Utils.sprintf(_this.constants.html.pageDropdownItem, '', TYPE_NAME[type])); + $item.attr('data-type', type); + html.push($item.prop('outerHTML')); + } + } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } + + html.push(_this.constants.html.toolbarDropdown[1], '
    '); + return html.join(''); + } } }); } @@ -10713,40 +10902,14 @@ return; } - var $menu = $__default['default'](this.constants.html.toolbarDropdown.join('')); - var $items = this.$export; + this.updateExportButton(); + var $exportButtons = this.$export.find('[data-type]'); - if (exportTypes.length > 1) { - this.$export.append($menu); // themes support - - if ($menu.children().length) { - $menu = $menu.children().eq(0); - } - - var _iterator = _createForOfIteratorHelper(exportTypes), - _step; - - try { - for (_iterator.s(); !(_step = _iterator.n()).done;) { - var type = _step.value; - - if (TYPE_NAME.hasOwnProperty(type)) { - var $item = $__default['default'](Utils.sprintf(this.constants.html.pageDropdownItem, '', TYPE_NAME[type])); - $item.attr('data-type', type); - $menu.append($item); - } - } - } catch (err) { - _iterator.e(err); - } finally { - _iterator.f(); - } - - $items = $menu.children(); + if (exportTypes.length === 1) { + $exportButtons = this.$export.find('button'); } - this.updateExportButton(); - $items.click(function (e) { + $exportButtons.click(function (e) { e.preventDefault(); var type = $__default['default'](e.currentTarget).data('type'); var exportOptions = { @@ -11164,9 +11327,10 @@ // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 var global_1 = - /* global globalThis -- safe */ + // eslint-disable-next-line es/no-global-this -- safe check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || + // eslint-disable-next-line no-restricted-globals -- safe check(typeof self == 'object' && self) || check(typeof commonjsGlobal == 'object' && commonjsGlobal) || // eslint-disable-next-line no-new-func -- fallback @@ -11182,21 +11346,23 @@ // Detect IE8's incomplete defineProperty implementation var descriptors = !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7; }); - var nativePropertyIsEnumerable = {}.propertyIsEnumerable; + var $propertyIsEnumerable = {}.propertyIsEnumerable; + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe var getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor; // Nashorn ~ JDK8 bug - var NASHORN_BUG = getOwnPropertyDescriptor$1 && !nativePropertyIsEnumerable.call({ 1: 2 }, 1); + var NASHORN_BUG = getOwnPropertyDescriptor$1 && !$propertyIsEnumerable.call({ 1: 2 }, 1); // `Object.prototype.propertyIsEnumerable` method implementation // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable var f$4 = NASHORN_BUG ? function propertyIsEnumerable(V) { var descriptor = getOwnPropertyDescriptor$1(this, V); return !!descriptor && descriptor.enumerable; - } : nativePropertyIsEnumerable; + } : $propertyIsEnumerable; var objectPropertyIsEnumerable = { f: f$4 @@ -11276,20 +11442,22 @@ // Thank's IE8 for his funny defineProperty var ie8DomDefine = !descriptors && !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- requied for testing return Object.defineProperty(documentCreateElement('div'), 'a', { get: function () { return 7; } }).a != 7; }); - var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; // `Object.getOwnPropertyDescriptor` method // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor - var f$3 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + var f$3 = descriptors ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { O = toIndexedObject(O); P = toPrimitive(P, true); if (ie8DomDefine) try { - return nativeGetOwnPropertyDescriptor(O, P); + return $getOwnPropertyDescriptor(O, P); } catch (error) { /* empty */ } if (has$1(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]); }; @@ -11304,16 +11472,17 @@ } return it; }; - var nativeDefineProperty = Object.defineProperty; + // eslint-disable-next-line es/no-object-defineproperty -- safe + var $defineProperty = Object.defineProperty; // `Object.defineProperty` method // https://tc39.es/ecma262/#sec-object.defineproperty - var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) { + var f$2 = descriptors ? $defineProperty : function defineProperty(O, P, Attributes) { anObject(O); P = toPrimitive(P, true); anObject(Attributes); if (ie8DomDefine) try { - return nativeDefineProperty(O, P, Attributes); + return $defineProperty(O, P, Attributes); } catch (error) { /* empty */ } if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported'); if ('value' in Attributes) O[P] = Attributes.value; @@ -11363,7 +11532,7 @@ (module.exports = function (key, value) { return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {}); })('versions', []).push({ - version: '3.9.1', + version: '3.10.1', mode: 'global', copyright: '© 2021 Denis Pushkarev (zloirock.ru)' }); @@ -11575,6 +11744,7 @@ // `Object.getOwnPropertyNames` method // https://tc39.es/ecma262/#sec-object.getownpropertynames + // eslint-disable-next-line es/no-object-getownpropertynames -- safe var f$1 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { return objectKeysInternal(O, hiddenKeys); }; @@ -11583,6 +11753,7 @@ f: f$1 }; + // eslint-disable-next-line es/no-object-getownpropertysymbols -- safe var f = Object.getOwnPropertySymbols; var objectGetOwnPropertySymbols = { @@ -11682,6 +11853,7 @@ // `IsArray` abstract operation // https://tc39.es/ecma262/#sec-isarray + // eslint-disable-next-line es/no-array-isarray -- safe var isArray = Array.isArray || function isArray(arg) { return classofRaw(arg) == 'Array'; }; @@ -11720,16 +11892,19 @@ var engineV8Version = version && +version; + // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () { - /* global Symbol -- required for testing */ + // eslint-disable-next-line es/no-symbol -- required for testing return !Symbol.sham && // Chrome 38 Symbol has incorrect toString conversion // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances (engineIsNode ? engineV8Version === 38 : engineV8Version > 37 && engineV8Version < 41); }); + /* eslint-disable es/no-symbol -- required for testing */ + + var useSymbolAsUid = nativeSymbol - /* global Symbol -- safe */ && !Symbol.sham && typeof Symbol.iterator == 'symbol'; @@ -11870,7 +12045,7 @@ return RegExp(s, f); } - var UNSUPPORTED_Y$1 = fails(function () { + var UNSUPPORTED_Y$2 = fails(function () { // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError var re = RE('a', 'y'); re.lastIndex = 2; @@ -11885,15 +12060,12 @@ }); var regexpStickyHelpers = { - UNSUPPORTED_Y: UNSUPPORTED_Y$1, + UNSUPPORTED_Y: UNSUPPORTED_Y$2, BROKEN_CARET: BROKEN_CARET }; var nativeExec = RegExp.prototype.exec; - // This always refers to the native implementation, because the - // String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js, - // which loads this file before patching the method. - var nativeReplace = String.prototype.replace; + var nativeReplace = shared('native-string-replace', String.prototype.replace); var patchedExec = nativeExec; @@ -11905,19 +12077,19 @@ return re1.lastIndex !== 0 || re2.lastIndex !== 0; })(); - var UNSUPPORTED_Y = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET; + var UNSUPPORTED_Y$1 = regexpStickyHelpers.UNSUPPORTED_Y || regexpStickyHelpers.BROKEN_CARET; // nonparticipating capturing group, copied from es5-shim's String#split patch. // eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined; - var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y; + var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y$1; if (PATCH) { patchedExec = function exec(str) { var re = this; var lastIndex, reCopy, match, i; - var sticky = UNSUPPORTED_Y && re.sticky; + var sticky = UNSUPPORTED_Y$1 && re.sticky; var flags = regexpFlags.call(re); var source = re.source; var charsAdded = 0; @@ -11987,7 +12159,6 @@ - var SPECIES$1 = wellKnownSymbol('species'); var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () { @@ -12006,6 +12177,7 @@ // IE <= 11 replaces $0 with the whole match, as if it was $& // https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0 var REPLACE_KEEPS_$0 = (function () { + // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing return 'a'.replace(/./, '$0') === '$0'; })(); @@ -12075,7 +12247,7 @@ ) { var nativeRegExpMethod = /./[SYMBOL]; var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) { - if (regexp.exec === regexpExec) { + if (regexp.exec === RegExp.prototype.exec) { if (DELEGATES_TO_SYMBOL && !forceStringMethod) { // The native String method already delegates to @@method (this // polyfilled function), leasing to infinite recursion. @@ -12183,13 +12355,11 @@ return regexpExec.call(R, S); }; + var UNSUPPORTED_Y = regexpStickyHelpers.UNSUPPORTED_Y; var arrayPush = [].push; var min$1 = Math.min; var MAX_UINT32 = 0xFFFFFFFF; - // babel-minify transpiles RegExp('x', 'y') -> /x/y and it causes SyntaxError - var SUPPORTS_Y = !fails(function () { return !RegExp(MAX_UINT32, 'y'); }); - // @@split logic fixRegexpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) { var internalSplit; @@ -12272,11 +12442,11 @@ var flags = (rx.ignoreCase ? 'i' : '') + (rx.multiline ? 'm' : '') + (rx.unicode ? 'u' : '') + - (SUPPORTS_Y ? 'y' : 'g'); + (UNSUPPORTED_Y ? 'g' : 'y'); // ^(? + rx + ) is needed, in combination with some S slicing, to // simulate the 'y' flag. - var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags); + var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags); var lim = limit === undefined ? MAX_UINT32 : limit >>> 0; if (lim === 0) return []; if (S.length === 0) return regexpExecAbstract(splitter, S) === null ? [S] : []; @@ -12284,12 +12454,12 @@ var q = 0; var A = []; while (q < S.length) { - splitter.lastIndex = SUPPORTS_Y ? q : 0; - var z = regexpExecAbstract(splitter, SUPPORTS_Y ? S : S.slice(q)); + splitter.lastIndex = UNSUPPORTED_Y ? 0 : q; + var z = regexpExecAbstract(splitter, UNSUPPORTED_Y ? S.slice(q) : S); var e; if ( z === null || - (e = min$1(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p + (e = min$1(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p ) { q = advanceStringIndex(S, q, unicodeMatching); } else { @@ -12306,7 +12476,7 @@ return A; } ]; - }, !SUPPORTS_Y); + }, UNSUPPORTED_Y); var floor = Math.floor; var replace = ''.replace; @@ -12571,6 +12741,7 @@ // https://tc39.es/ecma262/#sec-array.prototype.foreach var arrayForEach = !STRICT_METHOD ? function forEach(callbackfn /* , thisArg */) { return $forEach(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + // eslint-disable-next-line es/no-array-prototype-foreach -- safe } : [].forEach; for (var COLLECTION_NAME in domIterables) { @@ -12648,12 +12819,14 @@ // `Object.keys` method // https://tc39.es/ecma262/#sec-object.keys + // eslint-disable-next-line es/no-object-keys -- safe var objectKeys = Object.keys || function keys(O) { return objectKeysInternal(O, enumBugKeys); }; // `Object.defineProperties` method // https://tc39.es/ecma262/#sec-object.defineproperties + // eslint-disable-next-line es/no-object-defineproperties -- safe var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) { anObject(O); var keys = objectKeys(Properties); @@ -12804,6 +12977,7 @@ // `SameValue` abstract operation // https://tc39.es/ecma262/#sec-samevalue + // eslint-disable-next-line es/no-object-is -- safe var sameValue = Object.is || function is(x, y) { // eslint-disable-next-line no-self-compare -- NaN check return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; @@ -12848,9 +13022,11 @@ cookieIds: { sortOrder: 'bs.table.sortOrder', sortName: 'bs.table.sortName', + sortPriority: 'bs.table.sortPriority', pageNumber: 'bs.table.pageNumber', pageList: 'bs.table.pageList', columns: 'bs.table.columns', + cardView: 'bs.table.cardView', searchText: 'bs.table.searchText', reorderColumns: 'bs.table.reorderColumns', filterControl: 'bs.table.filterControl', @@ -13106,7 +13282,7 @@ cookieSecure: null, cookieSameSite: 'Lax', cookieIdTable: '', - cookiesEnabled: ['bs.table.sortOrder', 'bs.table.sortName', 'bs.table.pageNumber', 'bs.table.pageList', 'bs.table.columns', 'bs.table.searchText', 'bs.table.filterControl', 'bs.table.filterBy', 'bs.table.reorderColumns'], + cookiesEnabled: ['bs.table.sortOrder', 'bs.table.sortName', 'bs.table.sortPriority', 'bs.table.pageNumber', 'bs.table.pageList', 'bs.table.columns', 'bs.table.searchText', 'bs.table.filterControl', 'bs.table.filterBy', 'bs.table.reorderColumns', 'bs.table.cardView'], cookieStorage: 'cookieStorage', // localStorage, sessionStorage, customStorage cookieCustomStorageGet: null, @@ -13232,35 +13408,57 @@ if (this.options.sortName === undefined || this.options.sortOrder === undefined) { UtilsCookie.deleteCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.sortName); UtilsCookie.deleteCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.sortOrder); - return; + } else { + this.options.sortPriority = null; + UtilsCookie.deleteCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.sortPriority); + UtilsCookie.setCookie(this, UtilsCookie.cookieIds.sortOrder, this.options.sortOrder); + UtilsCookie.setCookie(this, UtilsCookie.cookieIds.sortName, this.options.sortName); } - - UtilsCookie.setCookie(this, UtilsCookie.cookieIds.sortOrder, this.options.sortOrder); - UtilsCookie.setCookie(this, UtilsCookie.cookieIds.sortName, this.options.sortName); } }, { - key: "onPageNumber", - value: function onPageNumber() { + key: "onMultipleSort", + value: function onMultipleSort() { var _get5; for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { args[_key4] = arguments[_key4]; } - (_get5 = _get(_getPrototypeOf(_class.prototype), "onPageNumber", this)).call.apply(_get5, [this].concat(args)); + (_get5 = _get(_getPrototypeOf(_class.prototype), "onMultipleSort", this)).call.apply(_get5, [this].concat(args)); - UtilsCookie.setCookie(this, UtilsCookie.cookieIds.pageNumber, this.options.pageNumber); + if (this.options.sortPriority === undefined) { + UtilsCookie.deleteCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.sortPriority); + } else { + this.options.sortName = undefined; + this.options.sortOrder = undefined; + UtilsCookie.deleteCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.sortName); + UtilsCookie.deleteCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.sortOrder); + UtilsCookie.setCookie(this, UtilsCookie.cookieIds.sortPriority, JSON.stringify(this.options.sortPriority)); + } } }, { - key: "onPageListChange", - value: function onPageListChange() { + key: "onPageNumber", + value: function onPageNumber() { var _get6; for (var _len5 = arguments.length, args = new Array(_len5), _key5 = 0; _key5 < _len5; _key5++) { args[_key5] = arguments[_key5]; } - (_get6 = _get(_getPrototypeOf(_class.prototype), "onPageListChange", this)).call.apply(_get6, [this].concat(args)); + (_get6 = _get(_getPrototypeOf(_class.prototype), "onPageNumber", this)).call.apply(_get6, [this].concat(args)); + + UtilsCookie.setCookie(this, UtilsCookie.cookieIds.pageNumber, this.options.pageNumber); + } + }, { + key: "onPageListChange", + value: function onPageListChange() { + var _get7; + + for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) { + args[_key6] = arguments[_key6]; + } + + (_get7 = _get(_getPrototypeOf(_class.prototype), "onPageListChange", this)).call.apply(_get7, [this].concat(args)); UtilsCookie.setCookie(this, UtilsCookie.cookieIds.pageList, this.options.pageSize); UtilsCookie.setCookie(this, UtilsCookie.cookieIds.pageNumber, this.options.pageNumber); @@ -13268,39 +13466,39 @@ }, { key: "onPagePre", value: function onPagePre() { - var _get7; - - for (var _len6 = arguments.length, args = new Array(_len6), _key6 = 0; _key6 < _len6; _key6++) { - args[_key6] = arguments[_key6]; - } - - (_get7 = _get(_getPrototypeOf(_class.prototype), "onPagePre", this)).call.apply(_get7, [this].concat(args)); - - UtilsCookie.setCookie(this, UtilsCookie.cookieIds.pageNumber, this.options.pageNumber); - } - }, { - key: "onPageNext", - value: function onPageNext() { var _get8; for (var _len7 = arguments.length, args = new Array(_len7), _key7 = 0; _key7 < _len7; _key7++) { args[_key7] = arguments[_key7]; } - (_get8 = _get(_getPrototypeOf(_class.prototype), "onPageNext", this)).call.apply(_get8, [this].concat(args)); + (_get8 = _get(_getPrototypeOf(_class.prototype), "onPagePre", this)).call.apply(_get8, [this].concat(args)); UtilsCookie.setCookie(this, UtilsCookie.cookieIds.pageNumber, this.options.pageNumber); } }, { - key: "_toggleColumn", - value: function _toggleColumn() { + key: "onPageNext", + value: function onPageNext() { var _get9; for (var _len8 = arguments.length, args = new Array(_len8), _key8 = 0; _key8 < _len8; _key8++) { args[_key8] = arguments[_key8]; } - (_get9 = _get(_getPrototypeOf(_class.prototype), "_toggleColumn", this)).call.apply(_get9, [this].concat(args)); + (_get9 = _get(_getPrototypeOf(_class.prototype), "onPageNext", this)).call.apply(_get9, [this].concat(args)); + + UtilsCookie.setCookie(this, UtilsCookie.cookieIds.pageNumber, this.options.pageNumber); + } + }, { + key: "_toggleColumn", + value: function _toggleColumn() { + var _get10; + + for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) { + args[_key9] = arguments[_key9]; + } + + (_get10 = _get(_getPrototypeOf(_class.prototype), "_toggleColumn", this)).call.apply(_get10, [this].concat(args)); UtilsCookie.setCookie(this, UtilsCookie.cookieIds.columns, JSON.stringify(this.getVisibleColumns().map(function (column) { return column.field; @@ -13309,18 +13507,25 @@ }, { key: "_toggleAllColumns", value: function _toggleAllColumns() { - var _get10; + var _get11; - for (var _len9 = arguments.length, args = new Array(_len9), _key9 = 0; _key9 < _len9; _key9++) { - args[_key9] = arguments[_key9]; + for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) { + args[_key10] = arguments[_key10]; } - (_get10 = _get(_getPrototypeOf(_class.prototype), "_toggleAllColumns", this)).call.apply(_get10, [this].concat(args)); + (_get11 = _get(_getPrototypeOf(_class.prototype), "_toggleAllColumns", this)).call.apply(_get11, [this].concat(args)); UtilsCookie.setCookie(this, UtilsCookie.cookieIds.columns, JSON.stringify(this.getVisibleColumns().map(function (column) { return column.field; }))); } + }, { + key: "toggleView", + value: function toggleView() { + _get(_getPrototypeOf(_class.prototype), "toggleView", this).call(this); + + UtilsCookie.setCookie(this, UtilsCookie.cookieIds.cardView, this.options.cardView); + } }, { key: "selectPage", value: function selectPage(page) { @@ -13342,17 +13547,17 @@ }, { key: "initHeader", value: function initHeader() { - var _get11; + var _get12; if (this.options.reorderableColumns) { this.columnsSortOrder = JSON.parse(UtilsCookie.getCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.reorderColumns)); } - for (var _len10 = arguments.length, args = new Array(_len10), _key10 = 0; _key10 < _len10; _key10++) { - args[_key10] = arguments[_key10]; + for (var _len11 = arguments.length, args = new Array(_len11), _key11 = 0; _key11 < _len11; _key11++) { + args[_key11] = arguments[_key11]; } - (_get11 = _get(_getPrototypeOf(_class.prototype), "initHeader", this)).call.apply(_get11, [this].concat(args)); + (_get12 = _get(_getPrototypeOf(_class.prototype), "initHeader", this)).call.apply(_get12, [this].concat(args)); } }, { key: "persistReorderColumnsState", @@ -13362,13 +13567,13 @@ }, { key: "filterBy", value: function filterBy() { - var _get12; + var _get13; - for (var _len11 = arguments.length, args = new Array(_len11), _key11 = 0; _key11 < _len11; _key11++) { - args[_key11] = arguments[_key11]; + for (var _len12 = arguments.length, args = new Array(_len12), _key12 = 0; _key12 < _len12; _key12++) { + args[_key12] = arguments[_key12]; } - (_get12 = _get(_getPrototypeOf(_class.prototype), "filterBy", this)).call.apply(_get12, [this].concat(args)); + (_get13 = _get(_getPrototypeOf(_class.prototype), "filterBy", this)).call.apply(_get13, [this].concat(args)); UtilsCookie.setCookie(this, UtilsCookie.cookieIds.filterBy, JSON.stringify(this.filterColumns)); } @@ -13390,9 +13595,11 @@ var sortOrderCookie = UtilsCookie.getCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.sortOrder); var sortOrderNameCookie = UtilsCookie.getCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.sortName); + var sortPriorityCookie = UtilsCookie.getCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.sortPriority); var pageNumberCookie = UtilsCookie.getCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.pageNumber); var pageListCookie = UtilsCookie.getCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.pageList); var searchTextCookie = UtilsCookie.getCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.searchText); + var cardViewCookie = UtilsCookie.getCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.cardView); var columnsCookieValue = UtilsCookie.getCookie(this, this.options.cookieIdTable, UtilsCookie.cookieIds.columns); if (typeof columnsCookieValue === 'boolean' && !columnsCookieValue) { @@ -13405,18 +13612,42 @@ columnsCookie = JSON.parse(columnsCookieValue); } catch (e) { throw new Error('Could not parse the json of the columns cookie!', columnsCookieValue); + } + + try { + sortPriorityCookie = JSON.parse(sortPriorityCookie); + } catch (e) { + throw new Error('Could not parse the json of the sortPriority cookie!', sortPriorityCookie); } // sortOrder - this.options.sortOrder = sortOrderCookie ? sortOrderCookie : this.options.sortOrder; // sortName + this.options.sortOrder = undefined; // sortName + + this.options.sortName = undefined; + + if (!sortPriorityCookie) { + // sortOrder + this.options.sortOrder = sortOrderCookie ? sortOrderCookie : this.options.sortOrder; // sortName + + this.options.sortName = sortOrderNameCookie ? sortOrderNameCookie : this.options.sortName; + } // sortPriority + + + this.options.sortPriority = sortPriorityCookie ? sortPriorityCookie : this.options.sortPriority; + + if (this.options.sortOrder || this.options.sortName) { + // sortPriority + this.options.sortPriority = null; + } // pageNumber - this.options.sortName = sortOrderNameCookie ? sortOrderNameCookie : this.options.sortName; // pageNumber this.options.pageNumber = pageNumberCookie ? +pageNumberCookie : this.options.pageNumber; // pageSize this.options.pageSize = pageListCookie ? pageListCookie === this.options.formatAllRows() ? pageListCookie : +pageListCookie : this.options.pageSize; // searchText - this.options.searchText = searchTextCookie ? searchTextCookie : ''; + this.options.searchText = searchTextCookie ? searchTextCookie : ''; // cardView + + this.options.cardView = cardViewCookie === 'true' ? cardViewCookie : false; if (columnsCookie) { var _iterator = _createForOfIteratorHelper(this.columns), @@ -13425,7 +13656,7 @@ try { var _loop = function _loop() { var column = _step.value; - column.visible = columnsCookie.filter(function (columnField) { + var filteredColumns = columnsCookie.filter(function (columnField) { if (_this.isSelectionColumn(column)) { return true; } @@ -13441,7 +13672,8 @@ } return columnField === column.field; - }).length > 0 || !column.switchable; + }); + column.visible = (filteredColumns.length > 0 || !column.switchable) && column.visible; }; for (_iterator.s(); !(_step = _iterator.n()).done;) { @@ -13717,9 +13949,10 @@ if(r.bookProps){v.Props=u;v.Custprops=d}if(r.bookSheets&&typeof i!=="undefined") // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 var global_1 = - /* global globalThis -- safe */ + // eslint-disable-next-line es/no-global-this -- safe check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || + // eslint-disable-next-line no-restricted-globals -- safe check(typeof self == 'object' && self) || check(typeof commonjsGlobal == 'object' && commonjsGlobal) || // eslint-disable-next-line no-new-func -- fallback @@ -13735,21 +13968,23 @@ if(r.bookProps){v.Props=u;v.Custprops=d}if(r.bookSheets&&typeof i!=="undefined") // Detect IE8's incomplete defineProperty implementation var descriptors = !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7; }); - var nativePropertyIsEnumerable = {}.propertyIsEnumerable; + var $propertyIsEnumerable = {}.propertyIsEnumerable; + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe var getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor; // Nashorn ~ JDK8 bug - var NASHORN_BUG = getOwnPropertyDescriptor$1 && !nativePropertyIsEnumerable.call({ 1: 2 }, 1); + var NASHORN_BUG = getOwnPropertyDescriptor$1 && !$propertyIsEnumerable.call({ 1: 2 }, 1); // `Object.prototype.propertyIsEnumerable` method implementation // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable var f$4 = NASHORN_BUG ? function propertyIsEnumerable(V) { var descriptor = getOwnPropertyDescriptor$1(this, V); return !!descriptor && descriptor.enumerable; - } : nativePropertyIsEnumerable; + } : $propertyIsEnumerable; var objectPropertyIsEnumerable = { f: f$4 @@ -13829,20 +14064,22 @@ if(r.bookProps){v.Props=u;v.Custprops=d}if(r.bookSheets&&typeof i!=="undefined") // Thank's IE8 for his funny defineProperty var ie8DomDefine = !descriptors && !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- requied for testing return Object.defineProperty(documentCreateElement('div'), 'a', { get: function () { return 7; } }).a != 7; }); - var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; // `Object.getOwnPropertyDescriptor` method // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor - var f$3 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + var f$3 = descriptors ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { O = toIndexedObject(O); P = toPrimitive(P, true); if (ie8DomDefine) try { - return nativeGetOwnPropertyDescriptor(O, P); + return $getOwnPropertyDescriptor(O, P); } catch (error) { /* empty */ } if (has$1(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]); }; @@ -13857,16 +14094,17 @@ if(r.bookProps){v.Props=u;v.Custprops=d}if(r.bookSheets&&typeof i!=="undefined") } return it; }; - var nativeDefineProperty = Object.defineProperty; + // eslint-disable-next-line es/no-object-defineproperty -- safe + var $defineProperty = Object.defineProperty; // `Object.defineProperty` method // https://tc39.es/ecma262/#sec-object.defineproperty - var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) { + var f$2 = descriptors ? $defineProperty : function defineProperty(O, P, Attributes) { anObject(O); P = toPrimitive(P, true); anObject(Attributes); if (ie8DomDefine) try { - return nativeDefineProperty(O, P, Attributes); + return $defineProperty(O, P, Attributes); } catch (error) { /* empty */ } if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported'); if ('value' in Attributes) O[P] = Attributes.value; @@ -13916,7 +14154,7 @@ if(r.bookProps){v.Props=u;v.Custprops=d}if(r.bookSheets&&typeof i!=="undefined") (module.exports = function (key, value) { return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {}); })('versions', []).push({ - version: '3.9.1', + version: '3.10.1', mode: 'global', copyright: '© 2021 Denis Pushkarev (zloirock.ru)' }); @@ -14128,6 +14366,7 @@ if(r.bookProps){v.Props=u;v.Custprops=d}if(r.bookSheets&&typeof i!=="undefined") // `Object.getOwnPropertyNames` method // https://tc39.es/ecma262/#sec-object.getownpropertynames + // eslint-disable-next-line es/no-object-getownpropertynames -- safe var f$1 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { return objectKeysInternal(O, hiddenKeys); }; @@ -14136,6 +14375,7 @@ if(r.bookProps){v.Props=u;v.Custprops=d}if(r.bookSheets&&typeof i!=="undefined") f: f$1 }; + // eslint-disable-next-line es/no-object-getownpropertysymbols -- safe var f = Object.getOwnPropertySymbols; var objectGetOwnPropertySymbols = { @@ -14235,6 +14475,7 @@ if(r.bookProps){v.Props=u;v.Custprops=d}if(r.bookSheets&&typeof i!=="undefined") // `IsArray` abstract operation // https://tc39.es/ecma262/#sec-isarray + // eslint-disable-next-line es/no-array-isarray -- safe var isArray = Array.isArray || function isArray(arg) { return classofRaw(arg) == 'Array'; }; @@ -14273,16 +14514,19 @@ if(r.bookProps){v.Props=u;v.Custprops=d}if(r.bookSheets&&typeof i!=="undefined") var engineV8Version = version && +version; + // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () { - /* global Symbol -- required for testing */ + // eslint-disable-next-line es/no-symbol -- required for testing return !Symbol.sham && // Chrome 38 Symbol has incorrect toString conversion // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances (engineIsNode ? engineV8Version === 38 : engineV8Version > 37 && engineV8Version < 41); }); + /* eslint-disable es/no-symbol -- required for testing */ + + var useSymbolAsUid = nativeSymbol - /* global Symbol -- safe */ && !Symbol.sham && typeof Symbol.iterator == 'symbol'; @@ -14480,12 +14724,14 @@ if(r.bookProps){v.Props=u;v.Custprops=d}if(r.bookSheets&&typeof i!=="undefined") // `Object.keys` method // https://tc39.es/ecma262/#sec-object.keys + // eslint-disable-next-line es/no-object-keys -- safe var objectKeys = Object.keys || function keys(O) { return objectKeysInternal(O, enumBugKeys); }; // `Object.defineProperties` method // https://tc39.es/ecma262/#sec-object.defineproperties + // eslint-disable-next-line es/no-object-defineproperties -- safe var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) { anObject(O); var keys = objectKeys(Properties); @@ -14764,8 +15010,11 @@ if(r.bookProps){v.Props=u;v.Custprops=d}if(r.bookSheets&&typeof i!=="undefined") if (top > start && top <= end) { // ensure clone and source column widths are the same - this.$stickyHeader.find('tr:eq(0)').find('th').each(function (index, el) { - $__default['default'](el).css('min-width', _this4.$header.find('tr:eq(0)').find('th').eq(index).css('width')); + this.$stickyHeader.find('tr').each(function (indexRows, rows) { + var columns = $__default['default'](rows).find('th'); + columns.each(function (indexColumns, celd) { + $__default['default'](celd).css('min-width', _this4.$header.find("tr:eq(".concat(indexRows, ")")).find("th:eq(".concat(indexColumns, ")")).css('width')); + }); }); // match bootstrap table style this.$stickyContainer.show().addClass('fix-sticky fixed-table-container'); // stick it in position @@ -15098,9 +15347,10 @@ if(r.bookProps){v.Props=u;v.Custprops=d}if(r.bookSheets&&typeof i!=="undefined") // https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 var global_1 = - /* global globalThis -- safe */ + // eslint-disable-next-line es/no-global-this -- safe check(typeof globalThis == 'object' && globalThis) || check(typeof window == 'object' && window) || + // eslint-disable-next-line no-restricted-globals -- safe check(typeof self == 'object' && self) || check(typeof commonjsGlobal == 'object' && commonjsGlobal) || // eslint-disable-next-line no-new-func -- fallback @@ -15116,21 +15366,23 @@ if(r.bookProps){v.Props=u;v.Custprops=d}if(r.bookSheets&&typeof i!=="undefined") // Detect IE8's incomplete defineProperty implementation var descriptors = !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- required for testing return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7; }); - var nativePropertyIsEnumerable = {}.propertyIsEnumerable; + var $propertyIsEnumerable = {}.propertyIsEnumerable; + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe var getOwnPropertyDescriptor$1 = Object.getOwnPropertyDescriptor; // Nashorn ~ JDK8 bug - var NASHORN_BUG = getOwnPropertyDescriptor$1 && !nativePropertyIsEnumerable.call({ 1: 2 }, 1); + var NASHORN_BUG = getOwnPropertyDescriptor$1 && !$propertyIsEnumerable.call({ 1: 2 }, 1); // `Object.prototype.propertyIsEnumerable` method implementation // https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable var f$4 = NASHORN_BUG ? function propertyIsEnumerable(V) { var descriptor = getOwnPropertyDescriptor$1(this, V); return !!descriptor && descriptor.enumerable; - } : nativePropertyIsEnumerable; + } : $propertyIsEnumerable; var objectPropertyIsEnumerable = { f: f$4 @@ -15210,20 +15462,22 @@ if(r.bookProps){v.Props=u;v.Custprops=d}if(r.bookSheets&&typeof i!=="undefined") // Thank's IE8 for his funny defineProperty var ie8DomDefine = !descriptors && !fails(function () { + // eslint-disable-next-line es/no-object-defineproperty -- requied for testing return Object.defineProperty(documentCreateElement('div'), 'a', { get: function () { return 7; } }).a != 7; }); - var nativeGetOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; + // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe + var $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor; // `Object.getOwnPropertyDescriptor` method // https://tc39.es/ecma262/#sec-object.getownpropertydescriptor - var f$3 = descriptors ? nativeGetOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { + var f$3 = descriptors ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) { O = toIndexedObject(O); P = toPrimitive(P, true); if (ie8DomDefine) try { - return nativeGetOwnPropertyDescriptor(O, P); + return $getOwnPropertyDescriptor(O, P); } catch (error) { /* empty */ } if (has$1(O, P)) return createPropertyDescriptor(!objectPropertyIsEnumerable.f.call(O, P), O[P]); }; @@ -15238,16 +15492,17 @@ if(r.bookProps){v.Props=u;v.Custprops=d}if(r.bookSheets&&typeof i!=="undefined") } return it; }; - var nativeDefineProperty = Object.defineProperty; + // eslint-disable-next-line es/no-object-defineproperty -- safe + var $defineProperty = Object.defineProperty; // `Object.defineProperty` method // https://tc39.es/ecma262/#sec-object.defineproperty - var f$2 = descriptors ? nativeDefineProperty : function defineProperty(O, P, Attributes) { + var f$2 = descriptors ? $defineProperty : function defineProperty(O, P, Attributes) { anObject(O); P = toPrimitive(P, true); anObject(Attributes); if (ie8DomDefine) try { - return nativeDefineProperty(O, P, Attributes); + return $defineProperty(O, P, Attributes); } catch (error) { /* empty */ } if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported'); if ('value' in Attributes) O[P] = Attributes.value; @@ -15297,7 +15552,7 @@ if(r.bookProps){v.Props=u;v.Custprops=d}if(r.bookSheets&&typeof i!=="undefined") (module.exports = function (key, value) { return sharedStore[key] || (sharedStore[key] = value !== undefined ? value : {}); })('versions', []).push({ - version: '3.9.1', + version: '3.10.1', mode: 'global', copyright: '© 2021 Denis Pushkarev (zloirock.ru)' }); @@ -15509,6 +15764,7 @@ if(r.bookProps){v.Props=u;v.Custprops=d}if(r.bookSheets&&typeof i!=="undefined") // `Object.getOwnPropertyNames` method // https://tc39.es/ecma262/#sec-object.getownpropertynames + // eslint-disable-next-line es/no-object-getownpropertynames -- safe var f$1 = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { return objectKeysInternal(O, hiddenKeys); }; @@ -15517,6 +15773,7 @@ if(r.bookProps){v.Props=u;v.Custprops=d}if(r.bookSheets&&typeof i!=="undefined") f: f$1 }; + // eslint-disable-next-line es/no-object-getownpropertysymbols -- safe var f = Object.getOwnPropertySymbols; var objectGetOwnPropertySymbols = { @@ -15654,10 +15911,7 @@ if(r.bookProps){v.Props=u;v.Custprops=d}if(r.bookSheets&&typeof i!=="undefined") }; var nativeExec = RegExp.prototype.exec; - // This always refers to the native implementation, because the - // String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js, - // which loads this file before patching the method. - var nativeReplace = String.prototype.replace; + var nativeReplace = shared('native-string-replace', String.prototype.replace); var patchedExec = nativeExec; @@ -15766,16 +16020,19 @@ if(r.bookProps){v.Props=u;v.Custprops=d}if(r.bookSheets&&typeof i!=="undefined") var engineV8Version = version && +version; + // eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing var nativeSymbol = !!Object.getOwnPropertySymbols && !fails(function () { - /* global Symbol -- required for testing */ + // eslint-disable-next-line es/no-symbol -- required for testing return !Symbol.sham && // Chrome 38 Symbol has incorrect toString conversion // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances (engineIsNode ? engineV8Version === 38 : engineV8Version > 37 && engineV8Version < 41); }); + /* eslint-disable es/no-symbol -- required for testing */ + + var useSymbolAsUid = nativeSymbol - /* global Symbol -- safe */ && !Symbol.sham && typeof Symbol.iterator == 'symbol'; @@ -15800,7 +16057,6 @@ if(r.bookProps){v.Props=u;v.Custprops=d}if(r.bookSheets&&typeof i!=="undefined") - var SPECIES$2 = wellKnownSymbol('species'); var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () { @@ -15819,6 +16075,7 @@ if(r.bookProps){v.Props=u;v.Custprops=d}if(r.bookSheets&&typeof i!=="undefined") // IE <= 11 replaces $0 with the whole match, as if it was $& // https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0 var REPLACE_KEEPS_$0 = (function () { + // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing return 'a'.replace(/./, '$0') === '$0'; })(); @@ -15888,7 +16145,7 @@ if(r.bookProps){v.Props=u;v.Custprops=d}if(r.bookSheets&&typeof i!=="undefined") ) { var nativeRegExpMethod = /./[SYMBOL]; var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) { - if (regexp.exec === regexpExec) { + if (regexp.exec === RegExp.prototype.exec) { if (DELEGATES_TO_SYMBOL && !forceStringMethod) { // The native String method already delegates to @@method (this // polyfilled function), leasing to infinite recursion. @@ -15921,6 +16178,7 @@ if(r.bookProps){v.Props=u;v.Custprops=d}if(r.bookSheets&&typeof i!=="undefined") // `SameValue` abstract operation // https://tc39.es/ecma262/#sec-samevalue + // eslint-disable-next-line es/no-object-is -- safe var sameValue = Object.is || function is(x, y) { // eslint-disable-next-line no-self-compare -- NaN check return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; @@ -15975,6 +16233,7 @@ if(r.bookProps){v.Props=u;v.Custprops=d}if(r.bookSheets&&typeof i!=="undefined") // `Object.keys` method // https://tc39.es/ecma262/#sec-object.keys + // eslint-disable-next-line es/no-object-keys -- safe var objectKeys = Object.keys || function keys(O) { return objectKeysInternal(O, enumBugKeys); }; @@ -15985,14 +16244,16 @@ if(r.bookProps){v.Props=u;v.Custprops=d}if(r.bookSheets&&typeof i!=="undefined") return Object(requireObjectCoercible(argument)); }; - var nativeAssign = Object.assign; + // eslint-disable-next-line es/no-object-assign -- safe + var $assign = Object.assign; + // eslint-disable-next-line es/no-object-defineproperty -- required for testing var defineProperty = Object.defineProperty; // `Object.assign` method // https://tc39.es/ecma262/#sec-object.assign - var objectAssign = !nativeAssign || fails(function () { + var objectAssign = !$assign || fails(function () { // should have correct order of operations (Edge bug) - if (descriptors && nativeAssign({ b: 1 }, nativeAssign(defineProperty({}, 'a', { + if (descriptors && $assign({ b: 1 }, $assign(defineProperty({}, 'a', { enumerable: true, get: function () { defineProperty(this, 'b', { @@ -16004,12 +16265,12 @@ if(r.bookProps){v.Props=u;v.Custprops=d}if(r.bookSheets&&typeof i!=="undefined") // should work with symbols and should have deterministic property order (V8 bug) var A = {}; var B = {}; - /* global Symbol -- required for testing */ + // eslint-disable-next-line es/no-symbol -- safe var symbol = Symbol(); var alphabet = 'abcdefghijklmnopqrst'; A[symbol] = 7; alphabet.split('').forEach(function (chr) { B[chr] = chr; }); - return nativeAssign({}, A)[symbol] != 7 || objectKeys(nativeAssign({}, B)).join('') != alphabet; + return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet; }) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length` var T = toObject(target); var argumentsLength = arguments.length; @@ -16027,10 +16288,11 @@ if(r.bookProps){v.Props=u;v.Custprops=d}if(r.bookSheets&&typeof i!=="undefined") if (!descriptors || propertyIsEnumerable.call(S, key)) T[key] = S[key]; } } return T; - } : nativeAssign; + } : $assign; // `Object.assign` method // https://tc39.es/ecma262/#sec-object.assign + // eslint-disable-next-line es/no-object-assign -- required for testing _export({ target: 'Object', stat: true, forced: Object.assign !== objectAssign }, { assign: objectAssign }); @@ -16087,6 +16349,7 @@ if(r.bookProps){v.Props=u;v.Custprops=d}if(r.bookSheets&&typeof i!=="undefined") // `IsArray` abstract operation // https://tc39.es/ecma262/#sec-isarray + // eslint-disable-next-line es/no-array-isarray -- safe var isArray = Array.isArray || function isArray(arg) { return classofRaw(arg) == 'Array'; }; @@ -16177,6 +16440,7 @@ if(r.bookProps){v.Props=u;v.Custprops=d}if(r.bookSheets&&typeof i!=="undefined") // `Object.defineProperties` method // https://tc39.es/ecma262/#sec-object.defineproperties + // eslint-disable-next-line es/no-object-defineproperties -- safe var objectDefineProperties = descriptors ? Object.defineProperties : function defineProperties(O, Properties) { anObject(O); var keys = objectKeys(Properties); @@ -16422,6 +16686,8 @@ if(r.bookProps){v.Props=u;v.Custprops=d}if(r.bookSheets&&typeof i!=="undefined") } }); + /* eslint-disable es/no-array-prototype-indexof -- required for testing */ + var $indexOf = arrayIncludes.indexOf; @@ -16572,7 +16838,7 @@ if(r.bookProps){v.Props=u;v.Custprops=d}if(r.bookSheets&&typeof i!=="undefined") }, bootstrap5: { icons: { - advancedSearchIcon: 'fa-chevron-down' + advancedSearchIcon: 'bi-chevron-down' }, html: { modal: "\n
    \n
    \n
    \n
    \n

    %s

    \n \n
    \n
    \n
    \n
    \n
    \n
    \n \n
    \n
    \n
    \n
    \n " diff --git a/public/js/snipeit.js b/public/js/snipeit.js index cfa646d9e..81c79c884 100644 --- a/public/js/snipeit.js +++ b/public/js/snipeit.js @@ -172,6 +172,36 @@ pieOptions = { $el.on('click', '.delete-asset', events['click']); }; + return { + render: render + }; + + // confirm restore modal + Components.modals.confirmRestore = function () { + var $el = $('table'); + + var events = { + 'click': function click(evnt) { + var $context = $(this); + var $dataConfirmModal = $('#restoreConfirmModal'); + var href = $context.attr('href'); + var message = $context.attr('data-content'); + var title = $context.attr('data-title'); + + $('#myModalLabel').text(title); + $dataConfirmModal.find('.modal-body').text(message); + $('#confirmRestoreForm').attr('action', href); + $dataConfirmModal.modal({ + show: true + }); + return false; + } + }; + + var render = function render() { + $el.on('click', '.restore-modal', events['click']); + }; + return { render: render }; diff --git a/public/mix-manifest.json b/public/mix-manifest.json index e799f5307..038314dd4 100644 --- a/public/mix-manifest.json +++ b/public/mix-manifest.json @@ -1,8 +1,8 @@ { - "/js/build/app.js": "/js/build/app.js?id=6c5036c859d48a7904ea", + "/js/build/app.js": "/js/build/app.js?id=16ac5c8f218827150ce0", "/css/dist/skins/skin-blue.css": "/css/dist/skins/skin-blue.css?id=83e39e254b7f9035eddc", - "/css/build/overrides.css": "/css/build/overrides.css?id=0e07ce3ea6499c4b1858", - "/css/build/app.css": "/css/build/app.css?id=9e8e65cb121c994114f1", + "/css/build/overrides.css": "/css/build/overrides.css?id=b1866ec98d44c0a8ceea", + "/css/build/app.css": "/css/build/app.css?id=61d5535cb27cce41d422", "/css/build/AdminLTE.css": "/css/build/AdminLTE.css?id=65ca7a34198fa16ba846", "/css/dist/skins/skin-orange.css": "/css/dist/skins/skin-orange.css?id=83271cb3576583918804", "/css/dist/skins/skin-orange-dark.css": "/css/dist/skins/skin-orange-dark.css?id=d81888449b72ecd8dd24", @@ -18,15 +18,15 @@ "/css/dist/skins/skin-green.css": "/css/dist/skins/skin-green.css?id=efda2335fa5243175850", "/css/dist/skins/skin-contrast.css": "/css/dist/skins/skin-contrast.css?id=6a9d0ac448c28b88e5d6", "/css/dist/skins/skin-red.css": "/css/dist/skins/skin-red.css?id=c24716a423d375902723", - "/css/dist/all.css": "/css/dist/all.css?id=faf79327f38c87dd2894", + "/css/dist/all.css": "/css/dist/all.css?id=3480eded2be4cd65a83e", "/css/blue.png": "/css/blue.png?id=e83a6c29e04fe851f212", "/css/blue@2x.png": "/css/blue@2x.png?id=51135dd4d24f88f5de0b", "/css/dist/signature-pad.css": "/css/dist/signature-pad.css?id=6a89d3cd901305e66ced", "/css/dist/signature-pad.min.css": "/css/dist/signature-pad.min.css?id=6a89d3cd901305e66ced", - "/css/dist/bootstrap-table.css": "/css/dist/bootstrap-table.css?id=93c24b4c89490bbfd73e", + "/css/dist/bootstrap-table.css": "/css/dist/bootstrap-table.css?id=810d7e520c3057ee500e", "/js/build/vendor.js": "/js/build/vendor.js?id=651427cc4b45d8e68d0c", - "/js/dist/bootstrap-table.js": "/js/dist/bootstrap-table.js?id=867755a1544f6c0ea828", - "/js/dist/all.js": "/js/dist/all.js?id=3612a8d74beac5d5cf2d", + "/js/dist/bootstrap-table.js": "/js/dist/bootstrap-table.js?id=0f09ee116517a9573dd0", + "/js/dist/all.js": "/js/dist/all.js?id=fbc9a3fb41192f2724e8", "/css/dist/skins/skin-green.min.css": "/css/dist/skins/skin-green.min.css?id=efda2335fa5243175850", "/css/dist/skins/skin-green-dark.min.css": "/css/dist/skins/skin-green-dark.min.css?id=6e35fb4cb2f1063b3047", "/css/dist/skins/skin-black.min.css": "/css/dist/skins/skin-black.min.css?id=ec96c42439cdeb022133", diff --git a/resources/assets/js/components/importer/importer-file.vue b/resources/assets/js/components/importer/importer-file.vue index 83970614e..86a83ace2 100644 --- a/resources/assets/js/components/importer/importer-file.vue +++ b/resources/assets/js/components/importer/importer-file.vue @@ -158,6 +158,7 @@ consumables: [ {id: 'item_no', text: "Item Number"}, {id: 'model_number', text: "Model Number"}, + {id: 'min_amt', text: "Minimum Quantity"}, ], licenses: [ {id: 'asset_tag', text: 'Assigned To Asset'}, @@ -216,6 +217,7 @@ .concat(this.columnOptions.accessories) .sort(sorter); case 'consumable': + console.log('Returned consumable'); return this.columnOptions.general .concat(this.columnOptions.consumables) .sort(sorter); @@ -309,4 +311,4 @@ select2: require('../select2.vue').default } } - \ No newline at end of file + diff --git a/resources/assets/js/snipeit.js b/resources/assets/js/snipeit.js index 880260508..f55d16a87 100755 --- a/resources/assets/js/snipeit.js +++ b/resources/assets/js/snipeit.js @@ -84,6 +84,37 @@ var baseUrl = $('meta[name="baseUrl"]').attr('content'); var Components = {}; Components.modals = {}; + // confirm restore modal + Components.modals.confirmRestore = function() { + var $el = $('table'); + + var events = { + 'click': function(evnt) { + var $context = $(this); + var $restoreConfirmModal = $('#restoreConfirmModal'); + var href = $context.attr('href'); + var message = $context.attr('data-content'); + var title = $context.attr('data-title'); + + $('#restoreConfirmModalLabel').text(title); + $restoreConfirmModal.find('.modal-body').text(message); + $('#restoreForm').attr('action', href); + $restoreConfirmModal.modal({ + show: true + }); + return false; + } + }; + + var render = function() { + $el.on('click', '.restore-asset', events['click']); + }; + + return { + render: render + }; + }; + // confirm delete modal Components.modals.confirmDelete = function() { var $el = $('table'); @@ -121,6 +152,7 @@ var baseUrl = $('meta[name="baseUrl"]').attr('content'); * Component definition stays out of load event, execution only happens. */ $(function() { + new Components.modals.confirmRestore().render(); new Components.modals.confirmDelete().render(); }); }(jQuery, window.snipeit.settings)); @@ -301,11 +333,11 @@ $(document).ready(function () { }); // makes sure we're not selecting the same thing twice for multiples - var filteredResponse = response.items.filter(function(item) { + var filteredResponse = response.results.filter(function(item) { return currentlySelected.indexOf(+item.id) < 0; }); - var first = (currentlySelected.length > 0) ? filteredResponse[0] : response.items[0]; + var first = (currentlySelected.length > 0) ? filteredResponse[0] : response.results[0]; if(first && first.id) { first.selected = true; @@ -519,7 +551,7 @@ $(document).ready(function () { for (var i = 0; i < this.files.length; i++) { total_size += this.files[i].size; - $(id + '-info').append('' + this.files[i].name + ' (' + formatBytes(this.files[i].size) + ') '); + $(id + '-info').append('' + htmlEntities(this.files[i].name) + ' (' + formatBytes(this.files[i].size) + ') '); } console.log('Max size is: ' + max_size); @@ -540,6 +572,9 @@ $(document).ready(function () { }); +function htmlEntities(str) { + return String(str).replace(/&/g, '&').replace(//g, '>').replace(/"/g, '"'); +} @@ -565,4 +600,4 @@ $(document).ready(function () { }); }; -})(jQuery); \ No newline at end of file +})(jQuery); diff --git a/resources/assets/less/overrides.less b/resources/assets/less/overrides.less index 122302513..210d59274 100644 --- a/resources/assets/less/overrides.less +++ b/resources/assets/less/overrides.less @@ -144,6 +144,8 @@ a.accordion-header { .main-header .sidebar-toggle:before { content: "\f0c9"; + font-weight: 900; + font-family: 'Font Awesome\ 5 Free'; } .direct-chat-contacts { diff --git a/resources/lang/af/admin/depreciations/general.php b/resources/lang/af/admin/depreciations/general.php index 7ee137cd7..59bbb71c3 100644 --- a/resources/lang/af/admin/depreciations/general.php +++ b/resources/lang/af/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Waardevermindering Naam', 'number_of_months' => 'Aantal maande', 'update' => 'Werk waardevermindering op', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/af/admin/hardware/general.php b/resources/lang/af/admin/hardware/general.php index 750335389..de5c21786 100644 --- a/resources/lang/af/admin/hardware/general.php +++ b/resources/lang/af/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Checkout Asset', 'clone' => 'Klone Bate', 'deployable' => 'verbintenis', - 'deleted' => 'Hierdie bate is verwyder. Klik hier om dit te herstel.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Wysig bate', - 'model_deleted' => 'Hierdie batesmodel is uitgevee. Jy moet die model herstel voordat jy die Bate kan herstel.
    Klik hier om die model te herstel.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Requestable', 'requested' => 'versoek', 'restore' => 'Herstel bate', diff --git a/resources/lang/af/admin/models/general.php b/resources/lang/af/admin/models/general.php index 5274b166e..dd1a0e87a 100644 --- a/resources/lang/af/admin/models/general.php +++ b/resources/lang/af/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'Oor Asset Models', 'about_models_text' => 'Batemodelle is \'n manier om identiese bates te groepeer. "MBP 2013", "IPhone 6s", ens.', - 'deleted' => 'Hierdie model is verwyder. Klik hier om dit te herstel.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Bulk Delete Asset Models', 'bulk_delete_help' => 'Use the checkboxes below to confirm the deletion of the selected asset models. Asset models that have assets associated with them cannot be deleted until the assets are associated with a different model.', 'bulk_delete_warn' => 'You are about to delete :model_count asset models.', diff --git a/resources/lang/af/general.php b/resources/lang/af/general.php index 289640e9d..aa286fde5 100644 --- a/resources/lang/af/general.php +++ b/resources/lang/af/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Verwyder Maatskappyvereniging', 'reports' => 'Berigte', 'restored' => 'restored', + 'restore' => 'Restore', 'requested' => 'versoek', 'request_canceled' => 'Versoek gekanselleer', 'save' => 'Save', diff --git a/resources/lang/am/admin/depreciations/general.php b/resources/lang/am/admin/depreciations/general.php index 1fca0e2cb..a5dec994c 100644 --- a/resources/lang/am/admin/depreciations/general.php +++ b/resources/lang/am/admin/depreciations/general.php @@ -8,5 +8,6 @@ return array( 'depreciation_name' => 'Depreciation Name', 'number_of_months' => 'Number of Months', 'update' => 'Update Depreciation', + 'depreciation_min' => 'Minimum Value after Depreciation' ); diff --git a/resources/lang/am/admin/hardware/general.php b/resources/lang/am/admin/hardware/general.php index f1fcd4731..af2be65fc 100644 --- a/resources/lang/am/admin/hardware/general.php +++ b/resources/lang/am/admin/hardware/general.php @@ -10,9 +10,9 @@ return array( 'checkout' => 'Checkout Asset', 'clone' => 'Clone Asset', 'deployable' => 'Deployable', - 'deleted' => 'This asset has been deleted. Click here to restore it.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Edit Asset', - 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.
    Click here to restore the model.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Requestable', 'requested' => 'Requested', 'restore' => 'Restore Asset', diff --git a/resources/lang/am/admin/models/general.php b/resources/lang/am/admin/models/general.php index 3281cfe0f..d2d77e0e8 100644 --- a/resources/lang/am/admin/models/general.php +++ b/resources/lang/am/admin/models/general.php @@ -3,7 +3,7 @@ return array( 'about_models_title' => 'About Asset Models', 'about_models_text' => 'Asset Models are a way to group identical assets. "MBP 2013", "IPhone 6s", etc.', - 'deleted' => 'This model has been deleted. Click here to restore it.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Bulk Delete Asset Models', 'bulk_delete_help' => 'Use the checkboxes below to confirm the deletion of the selected asset models. Asset models that have assets associated with them cannot be deleted until the assets are associated with a different model.', 'bulk_delete_warn' => 'You are about to delete :model_count asset models.', diff --git a/resources/lang/am/general.php b/resources/lang/am/general.php index 539a01a13..446957c9a 100644 --- a/resources/lang/am/general.php +++ b/resources/lang/am/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Remove Company Association', 'reports' => 'Reports', 'restored' => 'restored', + 'restore' => 'Restore', 'requested' => 'Requested', 'request_canceled' => 'Request Canceled', 'save' => 'Save', diff --git a/resources/lang/ar/admin/depreciations/general.php b/resources/lang/ar/admin/depreciations/general.php index 48342e87d..aa8f97bae 100644 --- a/resources/lang/ar/admin/depreciations/general.php +++ b/resources/lang/ar/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'اسم الاستهلاك', 'number_of_months' => 'عدد الأشهر', 'update' => 'تحديث الاستهلاك', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/ar/admin/hardware/general.php b/resources/lang/ar/admin/hardware/general.php index d55ff5427..1f72b91e0 100644 --- a/resources/lang/ar/admin/hardware/general.php +++ b/resources/lang/ar/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'اخراج الأصل', 'clone' => 'استنساخ الأصل', 'deployable' => 'قابل للتوزيع', - 'deleted' => 'تم حذف هذا الأصل. انقر هنا لاستعادته .', + 'deleted' => 'This asset has been deleted.', 'edit' => 'تعديل الأصل', - 'model_deleted' => 'تم حذف موديل الأصل هذا. يجب عليك استعادة الموديل قبل أن تتمكن من استعادة الأصل.
    انقر هنا لاستعادة الموديل.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'قابل للطلب', 'requested' => 'تم الطلب', 'restore' => 'استعادة الأصل', diff --git a/resources/lang/ar/admin/models/general.php b/resources/lang/ar/admin/models/general.php index 4d6c5463a..24ee0d959 100644 --- a/resources/lang/ar/admin/models/general.php +++ b/resources/lang/ar/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'حول موديلات الأصول', 'about_models_text' => 'موديلات الأصول هي طريقة لتجميع الأصول المتطابقة "MBP 2013", "IPhone 6s", الخ.', - 'deleted' => 'تم حذف هذا الموديل. انقر هنا لاستعادته .', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'حذف موديلات الاصول بالجملة', 'bulk_delete_help' => 'استخدم مربعات الاختيار أدناه لتأكيد حذف موديلات الأصول المحددة. لا يمكن حذف موديلات الأصول التي تحتوي على أصول مرتبطة بها إلى أن يتم ربط الأصول بموديل مختلف.', 'bulk_delete_warn' => 'أنت على وشك حذف :model_count من موديلات الأصول.', diff --git a/resources/lang/ar/general.php b/resources/lang/ar/general.php index 656d20d24..0b9980e29 100644 --- a/resources/lang/ar/general.php +++ b/resources/lang/ar/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'إزالة جمعية الشركة', 'reports' => 'التقارير', 'restored' => 'المعاد', + 'restore' => 'Restore', 'requested' => 'طلب', 'request_canceled' => 'تم إلغاء الطلب', 'save' => 'حفظ', diff --git a/resources/lang/bg/admin/depreciations/general.php b/resources/lang/bg/admin/depreciations/general.php index 7fd6a938b..2cd93e808 100644 --- a/resources/lang/bg/admin/depreciations/general.php +++ b/resources/lang/bg/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Амортизация', 'number_of_months' => 'Брой месеци', 'update' => 'Обновяване на амортизация', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/bg/admin/hardware/general.php b/resources/lang/bg/admin/hardware/general.php index 879c621a9..86547bd9a 100644 --- a/resources/lang/bg/admin/hardware/general.php +++ b/resources/lang/bg/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Проверка на активите', 'clone' => 'Копиране на актив', 'deployable' => 'Може да бъде предоставен', - 'deleted' => 'Активът беше изтрит. Възстановяване.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Редакция на актив', - 'model_deleted' => 'Моделът актив беше изтрит.Необходимо е да възстановите моделът, преди да възстановите актива.
    Възстановяване на модел.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Може да бъде изискван', 'requested' => 'Изискан', 'restore' => 'Възстановяване на актив', diff --git a/resources/lang/bg/admin/models/general.php b/resources/lang/bg/admin/models/general.php index 8a3abef6e..2bce3d912 100644 --- a/resources/lang/bg/admin/models/general.php +++ b/resources/lang/bg/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'Относно модели на актив', 'about_models_text' => 'Модели на актив са начин за групиране на идентични активи. "MBP 2013", "IPhone 6s" и др.', - 'deleted' => 'Моделът беше изтрит. Възстановяване.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Масово изтриване на модели на активите', 'bulk_delete_help' => 'Използвайте квадратчетата за отметка по-долу, за да потвърдите изтриването на избраните модели на активи. Моделите, за които има асоциирани активи, не могат да бъдат изтрити, докато активите не се асоциират с друг модел.', 'bulk_delete_warn' => 'Ще бъдат изтрити :model_count модели на активи.', diff --git a/resources/lang/bg/general.php b/resources/lang/bg/general.php index 7547bfb43..87a9a78b5 100644 --- a/resources/lang/bg/general.php +++ b/resources/lang/bg/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Премахване на асоциация към компания', 'reports' => 'Справки', 'restored' => 'възстановени', + 'restore' => 'Restore', 'requested' => 'Изискан', 'request_canceled' => 'Заявка отменена', 'save' => 'Запис', diff --git a/resources/lang/ca/admin/depreciations/general.php b/resources/lang/ca/admin/depreciations/general.php index 1fca0e2cb..a5dec994c 100644 --- a/resources/lang/ca/admin/depreciations/general.php +++ b/resources/lang/ca/admin/depreciations/general.php @@ -8,5 +8,6 @@ return array( 'depreciation_name' => 'Depreciation Name', 'number_of_months' => 'Number of Months', 'update' => 'Update Depreciation', + 'depreciation_min' => 'Minimum Value after Depreciation' ); diff --git a/resources/lang/ca/admin/hardware/general.php b/resources/lang/ca/admin/hardware/general.php index f1fcd4731..af2be65fc 100644 --- a/resources/lang/ca/admin/hardware/general.php +++ b/resources/lang/ca/admin/hardware/general.php @@ -10,9 +10,9 @@ return array( 'checkout' => 'Checkout Asset', 'clone' => 'Clone Asset', 'deployable' => 'Deployable', - 'deleted' => 'This asset has been deleted. Click here to restore it.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Edit Asset', - 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.
    Click here to restore the model.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Requestable', 'requested' => 'Requested', 'restore' => 'Restore Asset', diff --git a/resources/lang/ca/admin/models/general.php b/resources/lang/ca/admin/models/general.php index 3281cfe0f..d2d77e0e8 100644 --- a/resources/lang/ca/admin/models/general.php +++ b/resources/lang/ca/admin/models/general.php @@ -3,7 +3,7 @@ return array( 'about_models_title' => 'About Asset Models', 'about_models_text' => 'Asset Models are a way to group identical assets. "MBP 2013", "IPhone 6s", etc.', - 'deleted' => 'This model has been deleted. Click here to restore it.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Bulk Delete Asset Models', 'bulk_delete_help' => 'Use the checkboxes below to confirm the deletion of the selected asset models. Asset models that have assets associated with them cannot be deleted until the assets are associated with a different model.', 'bulk_delete_warn' => 'You are about to delete :model_count asset models.', diff --git a/resources/lang/ca/general.php b/resources/lang/ca/general.php index 16c9baa15..5eee58d05 100644 --- a/resources/lang/ca/general.php +++ b/resources/lang/ca/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Remove Company Association', 'reports' => 'Reports', 'restored' => 'restored', + 'restore' => 'Restore', 'requested' => 'Requested', 'request_canceled' => 'Request Canceled', 'save' => 'Save', diff --git a/resources/lang/cs/admin/depreciations/general.php b/resources/lang/cs/admin/depreciations/general.php index 2e3496ac1..449088f92 100644 --- a/resources/lang/cs/admin/depreciations/general.php +++ b/resources/lang/cs/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Jméno amortizace', 'number_of_months' => 'Počet měsíců', 'update' => 'Aktualizovat amortizaci', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/cs/admin/hardware/general.php b/resources/lang/cs/admin/hardware/general.php index 93e4863b8..6d1b8579a 100644 --- a/resources/lang/cs/admin/hardware/general.php +++ b/resources/lang/cs/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Pokladní majetek', 'clone' => 'Klonovat majetek', 'deployable' => 'Připraveno k nasazení', - 'deleted' => 'Toto zařízení bylo odstraněno. Klepněte zde pro jeho obnovení.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Upravit majetek', - 'model_deleted' => 'Tento model majetku byl odstraněn. Přejete-li si obnovit zařízení, klepněte zde
    a obnovte nejdříve jeho model.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Lze vyžádat', 'requested' => 'Požadováno', 'restore' => 'Obnovit zařízení', diff --git a/resources/lang/cs/admin/models/general.php b/resources/lang/cs/admin/models/general.php index a7fe2793c..71748aa81 100644 --- a/resources/lang/cs/admin/models/general.php +++ b/resources/lang/cs/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'O modelech majetku', 'about_models_text' => 'Modely majetku jsou způsoby seskupení shodných majetků. "MBP 2013", "iPhone 6s" atd.', - 'deleted' => 'Model byl vymazán. Klikněte sem pro jeho obnovení.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Hromadné mazání modelů majetku', 'bulk_delete_help' => 'Pomocí zaškrtávacích kolonek potvrďte smazání označených modelů majetku. Modely majetku, ke kterým je přiřazen majetek nemohou být smazány dokud jim přiřazený majetek nebude přeřazen k jinému modulu.', 'bulk_delete_warn' => 'Chystáte se smazat :model_count asset models.', diff --git a/resources/lang/cs/general.php b/resources/lang/cs/general.php index a978a5311..eee066d5e 100644 --- a/resources/lang/cs/general.php +++ b/resources/lang/cs/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Odstraňte sdružení společnosti', 'reports' => 'Reporty', 'restored' => 'obnoveno', + 'restore' => 'Restore', 'requested' => 'Požadováno', 'request_canceled' => 'Žádost zrušena', 'save' => 'Uložit', diff --git a/resources/lang/cy/admin/depreciations/general.php b/resources/lang/cy/admin/depreciations/general.php index 5624f9dd4..d676e6cec 100644 --- a/resources/lang/cy/admin/depreciations/general.php +++ b/resources/lang/cy/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Enw Dibrisiant', 'number_of_months' => 'Nifer o Fisoedd', 'update' => 'Diweddaru Dibrisiant', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/cy/admin/hardware/general.php b/resources/lang/cy/admin/hardware/general.php index e047f918e..077b5727d 100644 --- a/resources/lang/cy/admin/hardware/general.php +++ b/resources/lang/cy/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Nodi Asedau Allan', 'clone' => 'Dyblygu Ased', 'deployable' => 'Gellir ei ddefnyddio', - 'deleted' => 'Mae\'r ased yma wedi dileu. Cliciwch yma i\'w adfer.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Addasu Ased', - 'model_deleted' => 'Mae\'r model yma o ased wedi\'i dileu. Rhaid i chi adfer y model cyn fedrwch chi adfer y\'r ased.
    Cliciwch yma i adfer yr ased.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Ar gael', 'requested' => 'Gofynnwyd amdano', 'restore' => 'Adfer Ased', diff --git a/resources/lang/cy/admin/models/general.php b/resources/lang/cy/admin/models/general.php index 645a53163..ecd35826a 100644 --- a/resources/lang/cy/admin/models/general.php +++ b/resources/lang/cy/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'Amdan Modelau', 'about_models_text' => 'Mae modelau o asedau yn ffordd o creu grwp o asedau. "iPhone 7, Samsung TAB 4, ayyb.', - 'deleted' => 'Mae\'r model yma wedi dileu. Cliciwch yma i\'w adfer.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Dileu Nifer o Modelau', 'bulk_delete_help' => 'Rhowch tic yn y bocsys isod i cadarnhau dileu y model. Nid oes modd dileu modelau sydd hefo asedau yn ei erbyn.', 'bulk_delete_warn' => 'Rydych am dileu :model_count o asedau.', diff --git a/resources/lang/cy/general.php b/resources/lang/cy/general.php index 1b8dfaa4e..3eda2bebf 100644 --- a/resources/lang/cy/general.php +++ b/resources/lang/cy/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Dileu Cymdeithas y Cwmni', 'reports' => 'Adroddiadau', 'restored' => 'wedi adfer', + 'restore' => 'Restore', 'requested' => 'Gofynnwyd amdano', 'request_canceled' => 'Cais wedi dileu', 'save' => 'Cadw', diff --git a/resources/lang/da/admin/depreciations/general.php b/resources/lang/da/admin/depreciations/general.php index 2fa70f1dd..3a77a799b 100644 --- a/resources/lang/da/admin/depreciations/general.php +++ b/resources/lang/da/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Afskrivningnavn', 'number_of_months' => 'Antal måneder', 'update' => 'Opdater Afskrivninger', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/da/admin/hardware/general.php b/resources/lang/da/admin/hardware/general.php index e7f2b1f46..44572d958 100644 --- a/resources/lang/da/admin/hardware/general.php +++ b/resources/lang/da/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Checkout Asset', 'clone' => 'Klonaktiver', 'deployable' => 'Deployable', - 'deleted' => 'Dette aktiv er blevet slettet. Klik her for at gendanne det.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Rediger aktiv', - 'model_deleted' => 'Denne aktivmodel er blevet slettet. Du skal gendanne modellen, før du kan gendanne Asset.
    Klik her for at gendanne model.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'kan anmodes', 'requested' => 'Anmodet', 'restore' => 'Gendan aktiv', diff --git a/resources/lang/da/admin/models/general.php b/resources/lang/da/admin/models/general.php index e6fd56632..d7d354449 100644 --- a/resources/lang/da/admin/models/general.php +++ b/resources/lang/da/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'Om aktiv modeller', 'about_models_text' => 'Aktiv modeller er en måde at gruppere identiske aktiver. "MBP 2013", "IPhone 6s", osv.', - 'deleted' => 'Denne model er blevet slettet. Klik her for at gendanne den.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Slet flere aktivmodeller', 'bulk_delete_help' => 'Brug checkboksene nedenfor til at bekræfte sletning af valgte aktivmodeller. Aktivmodeller med tilknyttede aktiver kan ikke slettes før aktivet er knyttet til en anden model.', 'bulk_delete_warn' => 'Du er ved at slette :model_count aktivmodeller.', diff --git a/resources/lang/da/general.php b/resources/lang/da/general.php index 1b5318b1b..af663e5c8 100644 --- a/resources/lang/da/general.php +++ b/resources/lang/da/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Fjern association med selskab', 'reports' => 'Rapporter', 'restored' => 'gendannet', + 'restore' => 'Restore', 'requested' => 'Anmodet', 'request_canceled' => 'Anmodning Annulleret', 'save' => 'Gem', diff --git a/resources/lang/de/admin/depreciations/general.php b/resources/lang/de/admin/depreciations/general.php index ed937636f..cf5a44858 100644 --- a/resources/lang/de/admin/depreciations/general.php +++ b/resources/lang/de/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Abschreibungs Name', 'number_of_months' => 'Anzahl der Monate', 'update' => 'Abschreibung aktualisieren', + 'depreciation_min' => 'Minimaler Wert nach Abschreibung' ]; diff --git a/resources/lang/de/admin/hardware/general.php b/resources/lang/de/admin/hardware/general.php index 44681ca95..7eaac5bee 100644 --- a/resources/lang/de/admin/hardware/general.php +++ b/resources/lang/de/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Asset herausgeben', 'clone' => 'Asset duplizieren', 'deployable' => 'Einsetzbar', - 'deleted' => 'Dieses Asset wurde gelöscht. Zur Wiederherstellung hier klicken.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Asset bearbeiten', - 'model_deleted' => 'Dieses Asset wurde gelöscht. Sie müssen das Modell Wiederherstellen bevor Sie das Asset Wiederherstellen können
    klicken Sie hier um das Modell wiederherzustellen.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Anforderbar', 'requested' => 'Angefordert', 'restore' => 'Asset wiederherstellen', diff --git a/resources/lang/de/admin/models/general.php b/resources/lang/de/admin/models/general.php index 6dfda5163..d030b73f9 100644 --- a/resources/lang/de/admin/models/general.php +++ b/resources/lang/de/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'Über Asset-Modelle', 'about_models_text' => 'Asset-Modelle sind eine Möglichkeit, identische Assets zu gruppieren. "MBP 2013", "IPhone 6 s" usw.', - 'deleted' => 'Dieses Modell wurde gelöscht.klicken Sie hier um es Wiederzuherstellen.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Massenlöschen von Asset-Modellen', 'bulk_delete_help' => 'Nutzen Sie die nachfolgenden Kontrollkästchen, um die Löschung der Asset-Modelle zu bestätigen. Asset-Modelle die noch zugewiesene Assets haben können nur dann gelöscht werden, wenn die enthaltenen Assets einem anderem Asset-Modell zugewiesen werden.', 'bulk_delete_warn' => 'Sie sind im Begriff :model_count Asset-Modelle zu löschen.', diff --git a/resources/lang/de/general.php b/resources/lang/de/general.php index 7fc9da1b8..2522da9c7 100644 --- a/resources/lang/de/general.php +++ b/resources/lang/de/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Firmenzuordnung entfernen', 'reports' => 'Berichte', 'restored' => 'wiederhergestellt', + 'restore' => 'Restore', 'requested' => 'Angefragt', 'request_canceled' => 'Anfrage abgebrochen', 'save' => 'Speichern', diff --git a/resources/lang/el/admin/depreciations/general.php b/resources/lang/el/admin/depreciations/general.php index dbde844ef..02578a214 100644 --- a/resources/lang/el/admin/depreciations/general.php +++ b/resources/lang/el/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Όνομα απόσβεσης', 'number_of_months' => 'Αριθμός των μηνών', 'update' => 'Ενημέρωση αποσβέσεων', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/el/admin/hardware/general.php b/resources/lang/el/admin/hardware/general.php index 8a876010d..07b1ea5a4 100644 --- a/resources/lang/el/admin/hardware/general.php +++ b/resources/lang/el/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Ταμείο ελέγχου', 'clone' => 'Κλώνος χρήστη', 'deployable' => 'Προς ανάπτυξη', - 'deleted' => 'Αυτό το στοιχείο έχει διαγραφεί. Κάντε κλικ εδώ για να την επαναφέρετε.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Επεξεργασία παγίων', - 'model_deleted' => 'Αυτό το μοντέλο περιουσιακών στοιχείων έχει διαγραφεί. Πρέπει να επαναφέρετε το μοντέλο για να μπορέσετε να επαναφέρετε το Asset.
    Κάντε κλικ εδώ για να επαναφέρετε το μοντέλο.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Επαναληπτικό', 'requested' => 'Ζητήθηκαν', 'restore' => 'Επαναφορά παγίου', diff --git a/resources/lang/el/admin/models/general.php b/resources/lang/el/admin/models/general.php index 08a2124b9..000ceb825 100644 --- a/resources/lang/el/admin/models/general.php +++ b/resources/lang/el/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'Σχετικά με τους τύπους παγίων', 'about_models_text' => 'Τα μοντέλα περιουσιακών στοιχείων είναι ένας τρόπος για να ομαδοποιήσετε ταυτόσημα περιουσιακά στοιχεία "MBP 2013", "IPhone 6s" κ.λπ.', - 'deleted' => 'Αυτό το μοντέλο έχει διαγραφεί. Κάντε κλικ εδώ για να την επαναφέρετε.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Μαζική διαγραφή μοντέλου Asset', 'bulk_delete_help' => 'Χρησιμοποιήστε τα παρακάτω πλαίσια ελέγχου για να επιβεβαιώσετε τη διαγραφή των επιλεγμένων μοντέλων στοιχείων. Τα μοντέλα στοιχείων που έχουν στοιχεία που σχετίζονται με αυτά δεν μπορούν να διαγραφούν έως ότου τα στοιχεία συσχετιστούν με διαφορετικό μοντέλο.', 'bulk_delete_warn' => 'Πρόκειται να διαγράψετε: asset_count περιουσιακών στοιχείων.', diff --git a/resources/lang/el/general.php b/resources/lang/el/general.php index 59ac7bb68..286f7a87f 100644 --- a/resources/lang/el/general.php +++ b/resources/lang/el/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Κατάργηση σύνδεσης εταιρείας', 'reports' => 'Αναφορές', 'restored' => 'restored', + 'restore' => 'Restore', 'requested' => 'Ζητήθηκαν', 'request_canceled' => 'Το αίτημα ακυρώθηκε', 'save' => 'Αποθήκευση', diff --git a/resources/lang/en-GB/admin/depreciations/general.php b/resources/lang/en-GB/admin/depreciations/general.php index e0b02c009..e6c86b9ff 100644 --- a/resources/lang/en-GB/admin/depreciations/general.php +++ b/resources/lang/en-GB/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Depreciation Name', 'number_of_months' => 'Number of Months', 'update' => 'Update Depreciation', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/en-GB/admin/hardware/general.php b/resources/lang/en-GB/admin/hardware/general.php index c5e5a483a..80a2c14e5 100644 --- a/resources/lang/en-GB/admin/hardware/general.php +++ b/resources/lang/en-GB/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Checkout Asset', 'clone' => 'Clone Asset', 'deployable' => 'Deployable', - 'deleted' => 'This asset has been deleted. Click here to restore it.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Edit Asset', - 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.
    Click here to restore the model.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Requestable', 'requested' => 'Requested', 'restore' => 'Restore Asset', diff --git a/resources/lang/en-GB/admin/models/general.php b/resources/lang/en-GB/admin/models/general.php index 6b3893234..046fd562e 100644 --- a/resources/lang/en-GB/admin/models/general.php +++ b/resources/lang/en-GB/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'About Asset Models', 'about_models_text' => 'Asset Models are a way to group identical assets. "MBP 2013", "IPhone 6s", etc.', - 'deleted' => 'This model has been deleted. Click here to restore it.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Bulk Delete Asset Models', 'bulk_delete_help' => 'Use the checkboxes below to confirm the deletion of the selected asset models. Asset models that have assets associated with them cannot be deleted until the assets are associated with a different model.', 'bulk_delete_warn' => 'You are about to delete :model_count asset models.', diff --git a/resources/lang/en-GB/admin/settings/general.php b/resources/lang/en-GB/admin/settings/general.php index a5ae8a269..f1ee4504c 100644 --- a/resources/lang/en-GB/admin/settings/general.php +++ b/resources/lang/en-GB/admin/settings/general.php @@ -14,7 +14,7 @@ return array( 'alerts_enabled' => 'Alerts Enabled', 'alert_interval' => 'Expiring Alerts Threshold (in days)', 'alert_inv_threshold' => 'Inventory Alert Threshold', - 'allow_user_skin' => 'Erlaube Benutzer Skin', + 'allow_user_skin' => 'Allow User Skin', 'allow_user_skin_help_text' => 'Checking this box will allow a user to override the UI skin with a different one.' , 'asset_ids' => 'Asset IDs', 'audit_interval' => 'Audit Interval', diff --git a/resources/lang/en-GB/general.php b/resources/lang/en-GB/general.php index b26a01f69..46c672b3d 100644 --- a/resources/lang/en-GB/general.php +++ b/resources/lang/en-GB/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Remove Company Association', 'reports' => 'Reports', 'restored' => 'restored', + 'restore' => 'Restore', 'requested' => 'Requested', 'request_canceled' => 'Request Canceled', 'save' => 'Save', diff --git a/resources/lang/en-ID/admin/depreciations/general.php b/resources/lang/en-ID/admin/depreciations/general.php index ca716e652..1d7883927 100644 --- a/resources/lang/en-ID/admin/depreciations/general.php +++ b/resources/lang/en-ID/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Nama Penyusutan', 'number_of_months' => 'Jumlah Bulan', 'update' => 'Perbarui pengurangan', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/en-ID/admin/hardware/general.php b/resources/lang/en-ID/admin/hardware/general.php index 5521cebf1..ed2e3e202 100644 --- a/resources/lang/en-ID/admin/hardware/general.php +++ b/resources/lang/en-ID/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Periksa aset', 'clone' => 'Gandakan aset', 'deployable' => 'Bisa dicairkan', - 'deleted' => 'Aset ini telah dihapus Klik di sini untuk memulihkannya.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Edit Asset', - 'model_deleted' => 'Model Aset ini telah dihapus. Anda harus mengembalikan model sebelum mengembalikan Aset.
    Klik di sini untuk memulihkan modelnya.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Permintaan', 'requested' => 'Diminta', 'restore' => 'Kembalikan Aset', diff --git a/resources/lang/en-ID/admin/models/general.php b/resources/lang/en-ID/admin/models/general.php index 21cf9ca3d..06f08ced7 100644 --- a/resources/lang/en-ID/admin/models/general.php +++ b/resources/lang/en-ID/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'Tentang Model Aset', 'about_models_text' => 'Model Aset adalah cara untuk mengelompokkan aset identik. "MBP 2013", "IPhone 6s", dll.', - 'deleted' => 'Model ini telah dihapus. Klik di sini untuk memulihkannya.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Bulk hapus model aset', 'bulk_delete_help' => 'Gunakan kotak centang di bawah untuk mengkonfirmasi penghapusan model aset yang dipilih. Model aset yang memiliki aset yang terkait dengannya tidak dapat dihapus sampai aset dikaitkan dengan model yang berbeda.', 'bulk_delete_warn' => 'Anda akan menghapus: model aset model_count.', diff --git a/resources/lang/en-ID/general.php b/resources/lang/en-ID/general.php index 0ff5592c5..9907d313d 100644 --- a/resources/lang/en-ID/general.php +++ b/resources/lang/en-ID/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Hapus Asosiasi Perusahaan', 'reports' => 'Laporan', 'restored' => 'dikembalikan', + 'restore' => 'Restore', 'requested' => 'Diminta', 'request_canceled' => 'Permintaan dibatalkan', 'save' => 'Simpan', diff --git a/resources/lang/en/admin/categories/general.php b/resources/lang/en/admin/categories/general.php index e9fdcf992..b4b428c6b 100644 --- a/resources/lang/en/admin/categories/general.php +++ b/resources/lang/en/admin/categories/general.php @@ -17,7 +17,7 @@ return [ 'no_default_eula' => 'No primary default EULA found. Add one in Settings.', 'update' => 'Update Category', 'use_default_eula' => 'Use the primary default EULA instead.', - 'use_default_eula_column' => 'Use default EULA', 'use_default_eula_disabled' => 'Use the primary default EULA instead. No primary default EULA is set. Please add one in Settings.', + 'use_default_eula_column' => 'Use default EULA', ]; diff --git a/resources/lang/en/admin/hardware/general.php b/resources/lang/en/admin/hardware/general.php index c5e5a483a..80a2c14e5 100644 --- a/resources/lang/en/admin/hardware/general.php +++ b/resources/lang/en/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Checkout Asset', 'clone' => 'Clone Asset', 'deployable' => 'Deployable', - 'deleted' => 'This asset has been deleted. Click here to restore it.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Edit Asset', - 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.
    Click here to restore the model.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Requestable', 'requested' => 'Requested', 'restore' => 'Restore Asset', diff --git a/resources/lang/en/admin/models/general.php b/resources/lang/en/admin/models/general.php index 6b3893234..046fd562e 100644 --- a/resources/lang/en/admin/models/general.php +++ b/resources/lang/en/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'About Asset Models', 'about_models_text' => 'Asset Models are a way to group identical assets. "MBP 2013", "IPhone 6s", etc.', - 'deleted' => 'This model has been deleted. Click here to restore it.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Bulk Delete Asset Models', 'bulk_delete_help' => 'Use the checkboxes below to confirm the deletion of the selected asset models. Asset models that have assets associated with them cannot be deleted until the assets are associated with a different model.', 'bulk_delete_warn' => 'You are about to delete :model_count asset models.', diff --git a/resources/lang/en/admin/settings/general.php b/resources/lang/en/admin/settings/general.php index 96e9baeb9..ca028be15 100644 --- a/resources/lang/en/admin/settings/general.php +++ b/resources/lang/en/admin/settings/general.php @@ -62,8 +62,6 @@ return [ 'label_logo_size' => 'Square logos look best - will be displayed in the top right of each asset label. ', 'laravel' => 'Laravel Version', 'ldap_client_tls_cert' => 'LDAP Client-Side TLS Certificate', - 'ldap_client_tls_cert_help' => 'Client-Side TLS Certificate and Key for LDAP connections are usually only useful in Google Workspace configurations with "Secure LDAP." Both are required.', - 'ldap_client_tls_key' => 'LDAP Client-Side TLS key', 'ldap_enabled' => 'LDAP enabled', 'ldap_integration' => 'LDAP Integration', 'ldap_settings' => 'LDAP Settings', diff --git a/resources/lang/en/admin/users/message.php b/resources/lang/en/admin/users/message.php index c859e63a2..ff9f38317 100644 --- a/resources/lang/en/admin/users/message.php +++ b/resources/lang/en/admin/users/message.php @@ -15,6 +15,7 @@ return [ 'password_resets_sent' => 'The selected users who are activated and have a valid email addresses have been sent a password reset link.', 'password_reset_sent' => 'A password reset link has been sent to :email!', + 'success' => [ 'create' => 'User was successfully created.', 'update' => 'User was successfully updated.', diff --git a/resources/lang/en/general.php b/resources/lang/en/general.php index 6a0971cb0..c16d464da 100644 --- a/resources/lang/en/general.php +++ b/resources/lang/en/general.php @@ -113,6 +113,8 @@ 'image' => 'Image', 'image_delete' => 'Delete Image', 'image_upload' => 'Upload Image', + 'filetypes_accepted_help' => 'Accepted filetype is :types. Max upload size allowed is :size.|Accepted filetypes are :types. Max upload size allowed is :size.', + 'filetypes_size_help' => 'Max upload size allowed is :size.', 'image_filetypes_help' => 'Accepted filetypes are jpg, webp, png, gif, and svg. Max upload size allowed is :size.', 'import' => 'Import', 'importing' => 'Importing', @@ -177,6 +179,7 @@ 'remove_company' => 'Remove Company Association', 'reports' => 'Reports', 'restored' => 'restored', + 'restore' => 'Restore', 'requested' => 'Requested', 'request_canceled' => 'Request Canceled', 'save' => 'Save', diff --git a/resources/lang/en/mail.php b/resources/lang/en/mail.php index 6471289e0..db5e15713 100644 --- a/resources/lang/en/mail.php +++ b/resources/lang/en/mail.php @@ -60,7 +60,7 @@ return [ 'test_mail_text' => 'This is a test from the Snipe-IT Asset Management System. If you got this, mail is working :)', 'the_following_item' => 'The following item has been checked in: ', 'low_inventory_alert' => 'There is :count item that is below minimum inventory or will soon be low.|There are :count items that are below minimum inventory or will soon be low.', - 'assets_warrantee_alert' => 'There is :count asset with a warrantee expiring in the next :threshold days.|There are :count assets with warrantees expiring in the next :threshold days.', + 'assets_warrantee_alert' => 'There is :count asset with a warranty expiring in the next :threshold days.|There are :count assets with warranties expiring in the next :threshold days.', 'license_expiring_alert' => 'There is :count license expiring in the next :threshold days.|There are :count licenses expiring in the next :threshold days.', 'to_reset' => 'To reset your :web password, complete this form:', 'type' => 'Type', diff --git a/resources/lang/es-CO/admin/depreciations/general.php b/resources/lang/es-CO/admin/depreciations/general.php index 9eba2c65b..5ca4dc75f 100644 --- a/resources/lang/es-CO/admin/depreciations/general.php +++ b/resources/lang/es-CO/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Nombre de Depreciación', 'number_of_months' => 'Número de Meses', 'update' => 'Actualizar Depreciación', + 'depreciation_min' => 'Valor mínimo después de depreciación' ]; diff --git a/resources/lang/es-CO/admin/hardware/general.php b/resources/lang/es-CO/admin/hardware/general.php index 5e6648e8e..bcf75f450 100644 --- a/resources/lang/es-CO/admin/hardware/general.php +++ b/resources/lang/es-CO/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Asignar Equipo', 'clone' => 'Clonar Equipo', 'deployable' => 'Desplegable', - 'deleted' => 'Este equipo ha sido eliminado. Click aquí para restaurarlo.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Editar Equipo', - 'model_deleted' => 'Este modelo de equipo ha sido borrado. Debes restaurar el modelo antes de poder restaurar el equipo.
    Hacer click aquí para restaurar el modelo.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Puede Solicitarse', 'requested' => 'Solicitado', 'restore' => 'Restaurar equipo', diff --git a/resources/lang/es-CO/admin/models/general.php b/resources/lang/es-CO/admin/models/general.php index 90bca950a..f85f093e8 100644 --- a/resources/lang/es-CO/admin/models/general.php +++ b/resources/lang/es-CO/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'Acerca de modelos de activos', 'about_models_text' => 'Los Modelos de activos son una forma de agrupar activos idénticos. "MBP 2013", "IPhone 6s", etc.', - 'deleted' => 'Este modelo ha sido borrado.Click aquí para restaurarlo.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Borrar Grandes Modelos de Activos', 'bulk_delete_help' => 'Usa las casillas de verificación para confirmar la eliminación de los modelos de activos. Los modelos de activos tienen activos asociados que no pueden ser eliminados hasta que los activos sean asociados con un modelo diferente.', 'bulk_delete_warn' => 'Estás a punto de eliminar: los modelos de activo model_count.', diff --git a/resources/lang/es-CO/general.php b/resources/lang/es-CO/general.php index 04bbf3a59..8a1615469 100644 --- a/resources/lang/es-CO/general.php +++ b/resources/lang/es-CO/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Eliminar Asociación de compañía', 'reports' => 'Informes', 'restored' => 'restaurado', + 'restore' => 'Restore', 'requested' => 'Solicitado', 'request_canceled' => 'Solicitud Cancelada', 'save' => 'Guardar', diff --git a/resources/lang/es-ES/admin/depreciations/general.php b/resources/lang/es-ES/admin/depreciations/general.php index f5f35588a..e68a9fa11 100644 --- a/resources/lang/es-ES/admin/depreciations/general.php +++ b/resources/lang/es-ES/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Nombre Amortización', 'number_of_months' => 'Meses', 'update' => 'Actualizar Amortización', + 'depreciation_min' => 'Valor mínimo después de la depreciación' ]; diff --git a/resources/lang/es-ES/admin/hardware/general.php b/resources/lang/es-ES/admin/hardware/general.php index a80910ee6..5e5165517 100644 --- a/resources/lang/es-ES/admin/hardware/general.php +++ b/resources/lang/es-ES/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Activo de pago', 'clone' => 'Clonar Equipo', 'deployable' => 'Desplegable', - 'deleted' => 'Este equipo ha sido eliminado. Click aqui para restaurarlot.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Editar Equipo', - 'model_deleted' => 'Este modelo de equipo ha sido borrado. Debe restaurar el modelo antes de poder restaurar el equipo.
    Hacer click aquí para restaurar el modelo.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Requerible', 'requested' => 'Solicitado', 'restore' => 'Restaurar equipo', diff --git a/resources/lang/es-ES/admin/models/general.php b/resources/lang/es-ES/admin/models/general.php index 90bca950a..f85f093e8 100644 --- a/resources/lang/es-ES/admin/models/general.php +++ b/resources/lang/es-ES/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'Acerca de modelos de activos', 'about_models_text' => 'Los Modelos de activos son una forma de agrupar activos idénticos. "MBP 2013", "IPhone 6s", etc.', - 'deleted' => 'Este modelo ha sido borrado.Click aquí para restaurarlo.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Borrar Grandes Modelos de Activos', 'bulk_delete_help' => 'Usa las casillas de verificación para confirmar la eliminación de los modelos de activos. Los modelos de activos tienen activos asociados que no pueden ser eliminados hasta que los activos sean asociados con un modelo diferente.', 'bulk_delete_warn' => 'Estás a punto de eliminar: los modelos de activo model_count.', diff --git a/resources/lang/es-ES/general.php b/resources/lang/es-ES/general.php index 268399c20..bb15ea9c7 100644 --- a/resources/lang/es-ES/general.php +++ b/resources/lang/es-ES/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Eliminar Asociación de compañía', 'reports' => 'Informes', 'restored' => 'restaurado', + 'restore' => 'Restore', 'requested' => 'Solicitado', 'request_canceled' => 'Solicitud Cancelada', 'save' => 'Guardar', diff --git a/resources/lang/es-MX/admin/depreciations/general.php b/resources/lang/es-MX/admin/depreciations/general.php index f5f35588a..80f58e4ab 100644 --- a/resources/lang/es-MX/admin/depreciations/general.php +++ b/resources/lang/es-MX/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Nombre Amortización', 'number_of_months' => 'Meses', 'update' => 'Actualizar Amortización', + 'depreciation_min' => 'Valor mínimo después de depreciado' ]; diff --git a/resources/lang/es-MX/admin/hardware/general.php b/resources/lang/es-MX/admin/hardware/general.php index 0547326e3..c56ab30c6 100644 --- a/resources/lang/es-MX/admin/hardware/general.php +++ b/resources/lang/es-MX/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Activo de pago', 'clone' => 'Clonar Equipo', 'deployable' => 'Desplegable', - 'deleted' => 'Este equipo ha sido eliminado. Click aqui para restaurarlot.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Editar Equipo', - 'model_deleted' => 'Este modelo de equipo ha sido borrado. Debe restaurar el modelo antes de poder restaurar el equipo.
    Hacer click aquí para restaurar el modelo.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Requerible', 'requested' => 'Solicitado', 'restore' => 'Restaurar equipo', diff --git a/resources/lang/es-MX/admin/models/general.php b/resources/lang/es-MX/admin/models/general.php index 3f7b53f56..b1ffcb9f3 100644 --- a/resources/lang/es-MX/admin/models/general.php +++ b/resources/lang/es-MX/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'Acerca de modelos de activos', 'about_models_text' => 'Los Modelos de activos son una forma de agrupar activos idénticos. "MBP 2013", "IPhone 6s", etc.', - 'deleted' => 'Este modelo ha sido borrado.Click aquí para restaurarlo.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Borrar Grandes Modelos de Activos', 'bulk_delete_help' => 'Usa las casillas de verificación para confirmar la eliminación de los modelos de activos. Los modelos de activos tienen activos asociados que no pueden ser eliminados hasta que los activos sean asociados con un modelo diferente.', 'bulk_delete_warn' => 'Estás a punto de eliminar: los modelos de activo model_count.', diff --git a/resources/lang/es-MX/general.php b/resources/lang/es-MX/general.php index 128f81a19..59b52d490 100644 --- a/resources/lang/es-MX/general.php +++ b/resources/lang/es-MX/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Eliminar Asociación de compañía', 'reports' => 'Informes', 'restored' => 'restaurado', + 'restore' => 'Restore', 'requested' => 'Solicitado', 'request_canceled' => 'Solicitud Cancelada', 'save' => 'Guardar', diff --git a/resources/lang/es-VE/admin/depreciations/general.php b/resources/lang/es-VE/admin/depreciations/general.php index dbe8fedcb..3dfb028fb 100644 --- a/resources/lang/es-VE/admin/depreciations/general.php +++ b/resources/lang/es-VE/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Nombre de Depreciación', 'number_of_months' => 'Número de Meses', 'update' => 'Actualizar Depreciación', + 'depreciation_min' => 'Valor mínimo después de la depreciación' ]; diff --git a/resources/lang/es-VE/admin/hardware/general.php b/resources/lang/es-VE/admin/hardware/general.php index f2ad99e2c..8bb7102ff 100644 --- a/resources/lang/es-VE/admin/hardware/general.php +++ b/resources/lang/es-VE/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Retirar Activo', 'clone' => 'Clonar Activo', 'deployable' => 'Enviable', - 'deleted' => 'Este activo ha sido borrado. Click aquí para restaurarlos.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Editar Activo', - 'model_deleted' => 'Este modelo de activos ha sido borrado. Debes restaurar el modelo antes de poder restaurar los activos.
    Click aquí para restaurar el modelo.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Solicitable', 'requested' => 'Solicitado', 'restore' => 'Restaurar Activo', diff --git a/resources/lang/es-VE/admin/models/general.php b/resources/lang/es-VE/admin/models/general.php index 92e527b0e..541dc18d5 100644 --- a/resources/lang/es-VE/admin/models/general.php +++ b/resources/lang/es-VE/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'Acerca de los Modelos de Activos', 'about_models_text' => 'Los Modelos de Activos son un grupo de activos idénticos. "MBP 2013", "iPhone 6S", etc.', - 'deleted' => 'Este modelo ha sido borrado. Click aquí para restaurarlo.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Eliminación Masiva de Modelos de Activos', 'bulk_delete_help' => 'Usa las casillas abajo para confirmar la eliminación de los modelos de activos seleccionados. Los modelos de activo que tienen distintos activos asociados con ellos no pueden ser borrados hasta que los activos sean asociados a un modelo diferente.', 'bulk_delete_warn' => 'Estás a punto de borrar :model_count modelos de activo.', diff --git a/resources/lang/es-VE/general.php b/resources/lang/es-VE/general.php index 3359374c9..e7f012000 100644 --- a/resources/lang/es-VE/general.php +++ b/resources/lang/es-VE/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Eliminar Asociación de la Compañía', 'reports' => 'Reportes', 'restored' => 'restaurado', + 'restore' => 'Restore', 'requested' => 'Solicitado', 'request_canceled' => 'Solicitud Cancelada', 'save' => 'Guardar', diff --git a/resources/lang/et/admin/depreciations/general.php b/resources/lang/et/admin/depreciations/general.php index db85afe76..c8cac4ed9 100644 --- a/resources/lang/et/admin/depreciations/general.php +++ b/resources/lang/et/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Amortisatsiooni nimi', 'number_of_months' => 'Kuude arv', 'update' => 'Kulumi ajakohastamine', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/et/admin/hardware/general.php b/resources/lang/et/admin/hardware/general.php index 17fc08e34..44d94a3e2 100644 --- a/resources/lang/et/admin/hardware/general.php +++ b/resources/lang/et/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Checkout Asset', 'clone' => 'Klooni vahend', 'deployable' => 'Käivitatav', - 'deleted' => 'See vara on kustutatud. Klõpsake selle taastamiseks klõpsake siia.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Muuda vahendit', - 'model_deleted' => 'See varade mudel on kustutatud. Enne varade taastamist peate mudeleid taastada. 123._5_0_321 Klõpsake mudeli taastamiseks siin.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Taodeldav', 'requested' => 'Taotletud', 'restore' => 'Taasta vara', diff --git a/resources/lang/et/admin/models/general.php b/resources/lang/et/admin/models/general.php index b2bab7baf..01ddb256d 100644 --- a/resources/lang/et/admin/models/general.php +++ b/resources/lang/et/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'Mudelitest', 'about_models_text' => 'Mudelid on selleks, et vahendeid grupeerida. "MBP 2013", "IPhone 6d", jne.', - 'deleted' => 'See mudel on kustutatud. Kliki siin selle taastamiseks.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Bulk Delete Asset Models', 'bulk_delete_help' => 'Use the checkboxes below to confirm the deletion of the selected asset models. Asset models that have assets associated with them cannot be deleted until the assets are associated with a different model.', 'bulk_delete_warn' => 'You are about to delete :model_count asset models.', diff --git a/resources/lang/et/general.php b/resources/lang/et/general.php index 17e1897b0..2993511fd 100644 --- a/resources/lang/et/general.php +++ b/resources/lang/et/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Eemalda ettevõtteühing', 'reports' => 'Aruanded', 'restored' => 'taastatud', + 'restore' => 'Restore', 'requested' => 'Taotletud', 'request_canceled' => 'Taotlus tühistati', 'save' => 'Salvesta', diff --git a/resources/lang/fa/admin/accessories/message.php b/resources/lang/fa/admin/accessories/message.php index e62b5df4b..96b6bd522 100644 --- a/resources/lang/fa/admin/accessories/message.php +++ b/resources/lang/fa/admin/accessories/message.php @@ -2,7 +2,7 @@ return [ - 'does_not_exist' => 'The accessory [:id] does not exist.', + 'does_not_exist' => 'ابزار/وسیله [:id] وجود ندارد.', 'assoc_users' => 'این وسیله هم اکنون:آیتم های چک شده به کاربران را حساب کنید.لطفا در لوازم جانبی چک کنید و دوباره امتحان کنید', 'create' => [ diff --git a/resources/lang/fa/admin/asset_maintenances/general.php b/resources/lang/fa/admin/asset_maintenances/general.php index 3b99098ec..acb2d8563 100644 --- a/resources/lang/fa/admin/asset_maintenances/general.php +++ b/resources/lang/fa/admin/asset_maintenances/general.php @@ -8,7 +8,7 @@ 'repair' => 'بازسازی', 'maintenance' => 'نگهداشت', 'upgrade' => 'ارتقا', - 'calibration' => 'Calibration', - 'software_support' => 'Software Support', - 'hardware_support' => 'Hardware Support', + 'calibration' => 'کالیبره کردن', + 'software_support' => 'پشتیبانی نرم‌افزار', + 'hardware_support' => 'پشتیبانی سخت‌افزار', ]; diff --git a/resources/lang/fa/admin/depreciations/general.php b/resources/lang/fa/admin/depreciations/general.php index f48f75a9c..a966f33f1 100644 --- a/resources/lang/fa/admin/depreciations/general.php +++ b/resources/lang/fa/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'نام استهلاک', 'number_of_months' => 'تعداد ماه ها', 'update' => 'کمبود به روزرسانی', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/fa/admin/hardware/general.php b/resources/lang/fa/admin/hardware/general.php index fe5750348..09339fc0b 100644 --- a/resources/lang/fa/admin/hardware/general.php +++ b/resources/lang/fa/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'دارایی پرداخت', 'clone' => 'دارایی شگرف', 'deployable' => 'گسترش', - 'deleted' => 'این دارایی حذف شده است. اینجا به بازگرداندن آن کلیک کنید .', + 'deleted' => 'This asset has been deleted.', 'edit' => 'ویرایش دارایی', - 'model_deleted' => 'این مدل دارایی حذف شده است. شما باید مدل بازگرداندن قبل از شما می توانید دارایی بازگرداندن کنید.
    برای بازگرداندن مدل را اینجا را کلیک کنید.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'در خواست شد', 'requested' => 'درخواست شده', 'restore' => 'بازیابی دارایی', diff --git a/resources/lang/fa/admin/models/general.php b/resources/lang/fa/admin/models/general.php index c6aa189cd..08b636bcc 100644 --- a/resources/lang/fa/admin/models/general.php +++ b/resources/lang/fa/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'درباره مدل های دارایی', 'about_models_text' => 'مدل های دارایی یک راه برای گروه بندی دارایی های یکسان هستند. "MBP 2013"، "IPhone 6s" و غیره', - 'deleted' => 'این مدل حذف شده است. اینجا برای بازگرداندن کلیک کنید it.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Bulk Delete Asset Models', 'bulk_delete_help' => 'Use the checkboxes below to confirm the deletion of the selected asset models. Asset models that have assets associated with them cannot be deleted until the assets are associated with a different model.', 'bulk_delete_warn' => 'You are about to delete :model_count asset models.', diff --git a/resources/lang/fa/general.php b/resources/lang/fa/general.php index 3aec724cf..023a4d4f6 100644 --- a/resources/lang/fa/general.php +++ b/resources/lang/fa/general.php @@ -179,6 +179,7 @@ 'remove_company' => 'حذف انجمن شرکت', 'reports' => 'گزارش‌ها', 'restored' => 'restored', + 'restore' => 'Restore', 'requested' => 'در خواست شده', 'request_canceled' => 'درخواست لغو شد', 'save' => 'ذخیره کردن', diff --git a/resources/lang/fi/admin/depreciations/general.php b/resources/lang/fi/admin/depreciations/general.php index 80eec3d9a..c0f77c8bf 100644 --- a/resources/lang/fi/admin/depreciations/general.php +++ b/resources/lang/fi/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Poiston nimi', 'number_of_months' => 'Kuukausien lukumäärä', 'update' => 'Päivitä poistot', + 'depreciation_min' => 'Minimiarvo poistojen jälkeen' ]; diff --git a/resources/lang/fi/admin/hardware/general.php b/resources/lang/fi/admin/hardware/general.php index 832d5fd7e..720007d54 100644 --- a/resources/lang/fi/admin/hardware/general.php +++ b/resources/lang/fi/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Luovuta laite', 'clone' => 'Monista laite', 'deployable' => 'Käyttöönotettavissa', - 'deleted' => 'Tämä laite on poistettu. Klikkaa tästä palauttaaksesi sen.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Muokkaa laitetta', - 'model_deleted' => 'Tämä laitemalli on poistettu. Sinun on palautettava malli ennen kuin voit palauttaa laitteen.
    Klikkaa tästä palauttaaksesi mallin.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Pyydettävissä', 'requested' => 'Pyydetty', 'restore' => 'Palauta laite', diff --git a/resources/lang/fi/admin/models/general.php b/resources/lang/fi/admin/models/general.php index 8cdca9361..db5e09aea 100644 --- a/resources/lang/fi/admin/models/general.php +++ b/resources/lang/fi/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'Tietoja laitemalleista', 'about_models_text' => 'Laitemalleilla ryhmitellään samankaltaiset laitteet. "Elitebook 820 G3", "IPhone 6s" jne.', - 'deleted' => 'Tämä malli on poistettu. Vaihda tästä palauttaaksesi sen.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Massapoista laitemalleja', 'bulk_delete_help' => 'Käytä alla olevia valintaruutuja vahvistaaksesi laitemallien poistaminen. Laitemalleja, joissa on niihin liittyviä laitteita, ei voida poistaa ennen kuin laitteet on liitetty toiseen malliin.', 'bulk_delete_warn' => 'Olet poistamassa :model_count laitemallia.', diff --git a/resources/lang/fi/general.php b/resources/lang/fi/general.php index 8ae0dcd02..9e227135a 100644 --- a/resources/lang/fi/general.php +++ b/resources/lang/fi/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Poista', 'reports' => 'Raportit', 'restored' => 'palautettu', + 'restore' => 'Restore', 'requested' => 'Pyydetty', 'request_canceled' => 'Pyyntö peruutettu', 'save' => 'Tallenna', diff --git a/resources/lang/fil/admin/depreciations/general.php b/resources/lang/fil/admin/depreciations/general.php index a71875d68..bb6dd3a39 100644 --- a/resources/lang/fil/admin/depreciations/general.php +++ b/resources/lang/fil/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Ang Pangalan ng Depresasyon', 'number_of_months' => 'Ang Bilang ng mga Buwan', 'update' => 'I-update ang Depresasyon', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/fil/admin/hardware/general.php b/resources/lang/fil/admin/hardware/general.php index 0241ca872..f6f76a7b9 100644 --- a/resources/lang/fil/admin/hardware/general.php +++ b/resources/lang/fil/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'I-checkout ang Asset', 'clone' => 'I-clone ang Asset', 'deployable' => 'Pwedeng mai-deploy', - 'deleted' => 'Ang asset na ito ay nai-delete na. I-klick dito para ibalik sa dati.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'I-edit ang Asset', - 'model_deleted' => 'Ang model ng mga Asset na ito ay nai-delete na. Dapat mo munang ibalik sa dati ang model bago ibalik sa dati ang Asset.
    I-klick dito para ibalik sa dati ang model.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Pwedeng Ma-rekwest', 'requested' => 'Ni-rekwest', 'restore' => 'Ibalik sa dati ang Asset', diff --git a/resources/lang/fil/admin/models/general.php b/resources/lang/fil/admin/models/general.php index e494ba183..bda8bb8e1 100644 --- a/resources/lang/fil/admin/models/general.php +++ b/resources/lang/fil/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'Ang Tungkol sa mga Modelo ng Asset', 'about_models_text' => 'Ang mga Modelo ng Asset ay isang paraan para i-grupo ang magkakaparehong mga asset. "MBP 2013", "IPhone 6s", atbp.', - 'deleted' => 'Ang modelong ito ay nai-delete na. I-klik dito para maibalik sa dati.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Ang Maramihang Pag-delete sa mga Modelo ng Asset', 'bulk_delete_help' => 'Gamitin ang mga checkboxes sa ibaba para i-komperma ang pag-delete sa mga napiling mga modelo ng asset. Ang mga modelo ng asset na mayroong mga asset na nai-ugnay sa mga ito ay hindi pwedeng i-delete hanggang sa ang lahat ng mga asset ay nai-ugnay sa ibat-ibang modelo.', 'bulk_delete_warn' => 'Ikaw ay mag-delete ng :model_count mga modelo ng asset.', diff --git a/resources/lang/fil/general.php b/resources/lang/fil/general.php index 18f765fe8..e17d23231 100644 --- a/resources/lang/fil/general.php +++ b/resources/lang/fil/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Tanggalin ang Assosasyon ng Kompanya', 'reports' => 'Mga Ulat', 'restored' => 'ibinalik sa dati', + 'restore' => 'Restore', 'requested' => 'Ang Nirekwest', 'request_canceled' => 'Ang mga Rekwest ay Nakansela', 'save' => 'I-save', diff --git a/resources/lang/fr/admin/depreciations/general.php b/resources/lang/fr/admin/depreciations/general.php index f3bed046a..1cfd3ff04 100644 --- a/resources/lang/fr/admin/depreciations/general.php +++ b/resources/lang/fr/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Nom d\'Amortissement', 'number_of_months' => 'Mois', 'update' => 'Actualiser l\'amortissement', + 'depreciation_min' => 'Valeur minimale après amortissement' ]; diff --git a/resources/lang/fr/admin/hardware/general.php b/resources/lang/fr/admin/hardware/general.php index d975bf8f8..6451bb04b 100644 --- a/resources/lang/fr/admin/hardware/general.php +++ b/resources/lang/fr/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Commander l\'actif', 'clone' => 'Cloner le Bien', 'deployable' => 'Déployable', - 'deleted' => 'Cet actif a été détruit. Cliquez ici pour le restaurer.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Editer le Bien', - 'model_deleted' => 'Ce modèle d\'actif a été supprimé. Vous devez le restaurer avant de restaurer l\'actif.
    Cliquez ici pour le restaurer.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Réquisitionnable', 'requested' => 'Demandé', 'restore' => 'Restaurer l\'actif', diff --git a/resources/lang/fr/admin/models/general.php b/resources/lang/fr/admin/models/general.php index d8d9f6527..2ecd09b12 100644 --- a/resources/lang/fr/admin/models/general.php +++ b/resources/lang/fr/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'A propos des modèles actifs', 'about_models_text' => 'Les modèles actifs sont une façon de regrouper les actifs identiques. « MBP 2013", « IPhone 6 s », etc.', - 'deleted' => 'Ce modèle a été détruit. Cliquez ici pour le restaurer.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Suppression en masse des modèles d\'actifs', 'bulk_delete_help' => 'Cochez la case ci-dessous pour confirmer la suppression des modèles d\'actifs sélectionnés. Les modèles d\'actifs associés à des actifs ne peuvent pas être supprimés tant que les actifs ne sont pas associés à un modèle différent.', 'bulk_delete_warn' => 'Vous êtes sur le points de suppimer :model_count modèles d\'actifs.', diff --git a/resources/lang/fr/general.php b/resources/lang/fr/general.php index 6af49daf3..a25365f80 100644 --- a/resources/lang/fr/general.php +++ b/resources/lang/fr/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Retirer l\'association avec l\'organisation', 'reports' => 'Rapports', 'restored' => 'restauré', + 'restore' => 'Restore', 'requested' => 'Demandé', 'request_canceled' => 'Demande annulée', 'save' => 'Sauvegarder', diff --git a/resources/lang/ga-IE/admin/depreciations/general.php b/resources/lang/ga-IE/admin/depreciations/general.php index ad04513ad..974fcf92e 100644 --- a/resources/lang/ga-IE/admin/depreciations/general.php +++ b/resources/lang/ga-IE/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Ainm Dímheas', 'number_of_months' => 'Líon na Míonna', 'update' => 'Dímheas Nuashonraigh', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/ga-IE/admin/hardware/general.php b/resources/lang/ga-IE/admin/hardware/general.php index 1e2cc4048..82e22f0d9 100644 --- a/resources/lang/ga-IE/admin/hardware/general.php +++ b/resources/lang/ga-IE/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Seiceáil Seiceáil', 'clone' => 'Sócmhainn Clón', 'deployable' => 'Infheidhmithe', - 'deleted' => 'Scriosadh an tsócmhainn seo. Cliceáil anseo chun é a chur ar ais.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Athraigh Sócmhainn', - 'model_deleted' => 'Scriosadh an tsamhail Sócmhainní seo. Caithfidh tú an tsamhail a chur ar ais sular féidir leat an Sócmhainn a athbhunú.
    Cliceáil anseo chun an tsamhail a chur ar ais.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Inrianaithe', 'requested' => 'Iarrtar', 'restore' => 'Athchóirigh Sócmhainn', diff --git a/resources/lang/ga-IE/admin/models/general.php b/resources/lang/ga-IE/admin/models/general.php index 2faf9f326..e705301c6 100644 --- a/resources/lang/ga-IE/admin/models/general.php +++ b/resources/lang/ga-IE/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'Maidir le Múnlaí Sócmhainne', 'about_models_text' => 'Tá modhanna sócmhainne ina bhealach chun sócmhainní comhionanna a ghrúpáil. "MBP 2013", "iPhone 6s", etc.', - 'deleted' => 'Scriosadh an múnla seo. Cliceáil anseo chun é a chur ar ais.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Bulk Delete Asset Models', 'bulk_delete_help' => 'Use the checkboxes below to confirm the deletion of the selected asset models. Asset models that have assets associated with them cannot be deleted until the assets are associated with a different model.', 'bulk_delete_warn' => 'You are about to delete :model_count asset models.', diff --git a/resources/lang/ga-IE/general.php b/resources/lang/ga-IE/general.php index 7483e27b6..4082c4acb 100644 --- a/resources/lang/ga-IE/general.php +++ b/resources/lang/ga-IE/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Bain Cuideachta Chomhlachais', 'reports' => 'Tuarascálacha', 'restored' => 'restored', + 'restore' => 'Restore', 'requested' => 'Iarrtar', 'request_canceled' => 'Iarratas Ar Ceal', 'save' => 'Sábháil', diff --git a/resources/lang/he/admin/depreciations/general.php b/resources/lang/he/admin/depreciations/general.php index 2ab968882..c9cc3bcfe 100644 --- a/resources/lang/he/admin/depreciations/general.php +++ b/resources/lang/he/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'שם פחת', 'number_of_months' => 'מספר החודשים', 'update' => 'עדכון פחת', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/he/admin/hardware/general.php b/resources/lang/he/admin/hardware/general.php index e3555b6df..719f18502 100644 --- a/resources/lang/he/admin/hardware/general.php +++ b/resources/lang/he/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'רכוש Checkout', 'clone' => 'נכס משוכפל', 'deployable' => 'ניתן לפריסה', - 'deleted' => 'הנכס הזה נמחק. לחץ כאן כדי לשחזר אותו .', + 'deleted' => 'This asset has been deleted.', 'edit' => 'ערוך נכס', - 'model_deleted' => 'מודל נכסים זה נמחק. עליך לשחזר את המודל לפני שתוכל לשחזר את הנכס
    לחץ כאן כדי לשחזר את המודל .', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'ניתן לבקש', 'requested' => 'מבוקש', 'restore' => 'שחזור נכס', diff --git a/resources/lang/he/admin/models/general.php b/resources/lang/he/admin/models/general.php index 3417dfcd2..7d98ce709 100644 --- a/resources/lang/he/admin/models/general.php +++ b/resources/lang/he/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'על מודלים הנכסים', 'about_models_text' => 'מודלים של נכסים הם דרך לקבץ נכסים זהים. "MBP 2013", "iPhone 6s", וכו \'', - 'deleted' => 'מודל זה נמחק. לחץ כאן כדי לשחזר אותו .', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Bulk Delete Asset Models', 'bulk_delete_help' => 'Use the checkboxes below to confirm the deletion of the selected asset models. Asset models that have assets associated with them cannot be deleted until the assets are associated with a different model.', 'bulk_delete_warn' => 'You are about to delete :model_count asset models.', diff --git a/resources/lang/he/general.php b/resources/lang/he/general.php index b1848d81f..1ea277800 100644 --- a/resources/lang/he/general.php +++ b/resources/lang/he/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'הסר התאחדות החברה', 'reports' => 'דיווחים', 'restored' => 'שוחזר', + 'restore' => 'Restore', 'requested' => 'מבוקש', 'request_canceled' => 'הבקשה בוטלה', 'save' => 'להציל', diff --git a/resources/lang/hr/admin/depreciations/general.php b/resources/lang/hr/admin/depreciations/general.php index 95c38f0a1..f786ce817 100644 --- a/resources/lang/hr/admin/depreciations/general.php +++ b/resources/lang/hr/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Naziv amortizacije', 'number_of_months' => 'Broj mjeseci', 'update' => 'Ažuriraj amortizaciju', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/hr/admin/hardware/general.php b/resources/lang/hr/admin/hardware/general.php index 682937096..6e2053e89 100644 --- a/resources/lang/hr/admin/hardware/general.php +++ b/resources/lang/hr/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Asset Checkout', 'clone' => 'Klonska imovina', 'deployable' => 'razmjestiti', - 'deleted' => 'Ova je imovina izbrisana. Kliknite ovdje da biste ga vratili.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Uređivanje imovine', - 'model_deleted' => 'Model ove stavke je izbrisan. Morate vratiti model prije nego što vratite Asset.
    Kliknite ovdje da biste vratili model.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Requestable', 'requested' => 'Traženi', 'restore' => 'Vraćanje imovine', diff --git a/resources/lang/hr/admin/models/general.php b/resources/lang/hr/admin/models/general.php index 93e487b8c..d1f4c70c3 100644 --- a/resources/lang/hr/admin/models/general.php +++ b/resources/lang/hr/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'O modelu imovine', 'about_models_text' => 'Modeli imovine su način grupiranja identične imovine. "MBP 2013", "IPhone 6s" itd.', - 'deleted' => 'Ovaj je model izbrisan. Kliknite ovdje da biste ga vratili.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Skupno brisanje modela imovine', 'bulk_delete_help' => 'Koristeći checkbox-ove niže potvrdite brisanje odabranih modela imovine. Modeli imovine koji na sebi imaju povezanu imovinu se ne mogu brisati dok se imovina ne poveže sa drugim modelom.', 'bulk_delete_warn' => 'Izbrisati ćete :model_count model(a) imovine.', diff --git a/resources/lang/hr/general.php b/resources/lang/hr/general.php index 964c9b5a1..b519e7a5c 100644 --- a/resources/lang/hr/general.php +++ b/resources/lang/hr/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Ukloni Udruženje tvrtki', 'reports' => 'Izvještaji', 'restored' => 'obnovljeno', + 'restore' => 'Restore', 'requested' => 'Traženi', 'request_canceled' => 'Zahtjev je otkazan', 'save' => 'Uštedjeti', diff --git a/resources/lang/hu/admin/depreciations/general.php b/resources/lang/hu/admin/depreciations/general.php index d20d51aca..9033768e2 100644 --- a/resources/lang/hu/admin/depreciations/general.php +++ b/resources/lang/hu/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Értékcsökkenés neve', 'number_of_months' => 'Hónapok száma', 'update' => 'Értékcsökkenés frissítése', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/hu/admin/hardware/general.php b/resources/lang/hu/admin/hardware/general.php index 580ea321a..6bdb89e77 100644 --- a/resources/lang/hu/admin/hardware/general.php +++ b/resources/lang/hu/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Checkout Asset', 'clone' => 'Eszköz klónozása', 'deployable' => 'Kiadható', - 'deleted' => 'Ez az eszköz törölve lett. Kattintson ide a visszaállításához.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Eszköz módosítása', - 'model_deleted' => 'Ez az Eszközök modell törölve lett. Vissza kell állítania a modellt, mielőtt visszaállíthatja az Eszközt.
    Kattintson ide a modell visszaállításához.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'lehívási', 'requested' => 'Kérve', 'restore' => 'Visszaállítás eszköz', diff --git a/resources/lang/hu/admin/models/general.php b/resources/lang/hu/admin/models/general.php index 80f18e259..b309e9e6c 100644 --- a/resources/lang/hu/admin/models/general.php +++ b/resources/lang/hu/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'Az Asset Models-ról', 'about_models_text' => 'Az eszköz-modellek lehetővé teszik az azonos eszközök csoportosítását. "MBP 2013", "IPhone 6s" stb.', - 'deleted' => 'Ez a modell törölve lett. Itt visszaállíthatod.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Eszköz modellek csoportos törlése', 'bulk_delete_help' => 'Az alábbi jelölőnégyzetek segítségével, kérem, erősítse meg, hogy valóban törölni szeretné a kiválasztott eszköz modelleket! Azok az eszköz modellek, melyeknek vannak hozzárendelt eszközei, egészen addig nem törölhetőek, amíg ezeket az eszközöket egy másik modellhez nem rendeli.', 'bulk_delete_warn' => 'Törlődni fog :model_count eszköz modell.', diff --git a/resources/lang/hu/general.php b/resources/lang/hu/general.php index c8d7f60a2..c8d340723 100644 --- a/resources/lang/hu/general.php +++ b/resources/lang/hu/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Vállati kapcsolat megszüntetése', 'reports' => 'Jelentések', 'restored' => 'visszaállítva', + 'restore' => 'Restore', 'requested' => 'Kérve', 'request_canceled' => 'A kérelem törölve', 'save' => 'Mentés', diff --git a/resources/lang/id/admin/depreciations/general.php b/resources/lang/id/admin/depreciations/general.php index a4ce2f5f4..88f2c8d73 100644 --- a/resources/lang/id/admin/depreciations/general.php +++ b/resources/lang/id/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Nama Penyusutan', 'number_of_months' => 'Jumlah bulan', 'update' => 'Perbaharui Penyusutan', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/id/admin/hardware/general.php b/resources/lang/id/admin/hardware/general.php index 1f6081df0..988dcc51c 100644 --- a/resources/lang/id/admin/hardware/general.php +++ b/resources/lang/id/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Aset Checkout', 'clone' => 'Klon Aset', 'deployable' => 'Dapat digunakan', - 'deleted' => 'Aset ini telah di hapus. Klik disini untuk memulihkan.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Sunting Aset', - 'model_deleted' => 'Model aset telah di hapus. Anda harus memulihkan model dahulu sebelum memulihkan aset.
    Klik disini untuk memulihkan model.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Dapat diminta', 'requested' => 'Telah diminta', 'restore' => 'Mengembalikan aset', diff --git a/resources/lang/id/admin/models/general.php b/resources/lang/id/admin/models/general.php index 54702d193..8e717eb43 100644 --- a/resources/lang/id/admin/models/general.php +++ b/resources/lang/id/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'Tentang Model Aset', 'about_models_text' => 'Model Aset adalah cara untuk mengelompokkan aset identik. "MBP 2013", "IPhone 6s", dll.', - 'deleted' => 'Model ini telah dihapus. Click di sini untuk memulihkan.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Menghapus massal aset model', 'bulk_delete_help' => 'Centang kotak di bawah untuk mengkonfirmasi penghapusan model aset yang dipilih. Model aset yang memiliki aset yang terkait dengannya tidak dapat dihapus sampai aset dikaitkan dengan model yang berbeda.', 'bulk_delete_warn' => 'Anda akan menghapus :model_count asset models.', diff --git a/resources/lang/id/general.php b/resources/lang/id/general.php index 8c0fc3d3a..360b6f1f1 100644 --- a/resources/lang/id/general.php +++ b/resources/lang/id/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Hapus Asosiasi Perusahaan', 'reports' => 'Laporan', 'restored' => 'kembalikan', + 'restore' => 'Restore', 'requested' => 'Diminta', 'request_canceled' => 'Permintaan Dibatalkan', 'save' => 'Simpan', diff --git a/resources/lang/is/admin/depreciations/general.php b/resources/lang/is/admin/depreciations/general.php index 81fb66eb5..844e5d962 100644 --- a/resources/lang/is/admin/depreciations/general.php +++ b/resources/lang/is/admin/depreciations/general.php @@ -8,5 +8,6 @@ return array( 'depreciation_name' => 'Heiti fyrningarflokks', 'number_of_months' => 'Fjöldi mánaða', 'update' => 'Uppfæra fyrningarflokk', + 'depreciation_min' => 'Minimum Value after Depreciation' ); diff --git a/resources/lang/is/admin/hardware/general.php b/resources/lang/is/admin/hardware/general.php index 547b97034..cba616417 100644 --- a/resources/lang/is/admin/hardware/general.php +++ b/resources/lang/is/admin/hardware/general.php @@ -10,9 +10,9 @@ return array( 'checkout' => 'Ráðstafa eign', 'clone' => 'Clone Asset', 'deployable' => 'Nothæfar', - 'deleted' => 'This asset has been deleted. Click here to restore it.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Breyta eign', - 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.
    Click here to restore the model.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Requestable', 'requested' => 'Requested', 'restore' => 'Restore Asset', diff --git a/resources/lang/is/admin/models/general.php b/resources/lang/is/admin/models/general.php index 6b3893234..046fd562e 100644 --- a/resources/lang/is/admin/models/general.php +++ b/resources/lang/is/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'About Asset Models', 'about_models_text' => 'Asset Models are a way to group identical assets. "MBP 2013", "IPhone 6s", etc.', - 'deleted' => 'This model has been deleted. Click here to restore it.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Bulk Delete Asset Models', 'bulk_delete_help' => 'Use the checkboxes below to confirm the deletion of the selected asset models. Asset models that have assets associated with them cannot be deleted until the assets are associated with a different model.', 'bulk_delete_warn' => 'You are about to delete :model_count asset models.', diff --git a/resources/lang/is/admin/suppliers/message.php b/resources/lang/is/admin/suppliers/message.php index 5460f8eeb..614c3768e 100644 --- a/resources/lang/is/admin/suppliers/message.php +++ b/resources/lang/is/admin/suppliers/message.php @@ -11,7 +11,7 @@ return array( ), 'update' => array( - 'error' => 'Supplier was not updated, please try again', + 'error' => 'Þessi birgi var ekki skráður. Vinsamlegast reyndu aftur', 'success' => 'Supplier updated successfully.' ), diff --git a/resources/lang/is/button.php b/resources/lang/is/button.php index a18e1c9a8..bf78c2b2b 100644 --- a/resources/lang/is/button.php +++ b/resources/lang/is/button.php @@ -1,6 +1,6 @@ 'Aðgerðir', 'add' => 'Bæta við nýjum', 'cancel' => 'Hætta við', @@ -11,7 +11,7 @@ return [ 'request' => 'Óska eftir', 'submit' => 'Staðfesta', 'upload' => 'Hlaða upp', - 'select_file' => 'Velja skrá...', + 'select_file' => 'Velja skrá...', 'select_files' => 'Velja skrár...', - 'generate_labels' => '{1} Generate Label|[2,*] Generate Labels', -]; + 'generate_labels' => 'Útbúa límmiða', +); diff --git a/resources/lang/is/general.php b/resources/lang/is/general.php index f0f52f0a1..8c04a02f2 100644 --- a/resources/lang/is/general.php +++ b/resources/lang/is/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Remove Company Association', 'reports' => 'Skýrslur', 'restored' => 'endurheimt', + 'restore' => 'Restore', 'requested' => 'Óskað eftir', 'request_canceled' => 'Beiðni endurkölluð', 'save' => 'Vista', diff --git a/resources/lang/it/admin/depreciations/general.php b/resources/lang/it/admin/depreciations/general.php index 733a34565..d30f344b5 100644 --- a/resources/lang/it/admin/depreciations/general.php +++ b/resources/lang/it/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Nome Obsolescenza', 'number_of_months' => 'Numero di Mesi', 'update' => 'Aggiorna l\'ammortamento', + 'depreciation_min' => 'Valore minimo di svalutazione' ]; diff --git a/resources/lang/it/admin/hardware/general.php b/resources/lang/it/admin/hardware/general.php index e562867dc..404e8e3d2 100644 --- a/resources/lang/it/admin/hardware/general.php +++ b/resources/lang/it/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Asset Checkout', 'clone' => 'Copia Asset', 'deployable' => 'Distribuibile', - 'deleted' => 'Questo asset è stato cancellato. Clicca qui per ripristinarlo.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Modifica Asset', - 'model_deleted' => 'Questo modello di Asset è stato cancellato. Devi ripristinare il modello prima di poter ripristinare L\'asset.
    Clicca qui per ripristinare il modello.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Disponibile', 'requested' => 'richiesto', 'restore' => 'Ripristina Asset', diff --git a/resources/lang/it/admin/models/general.php b/resources/lang/it/admin/models/general.php index 785223fb4..b60c9e0b9 100644 --- a/resources/lang/it/admin/models/general.php +++ b/resources/lang/it/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'Informazioni sui modelli di Asset', 'about_models_text' => 'I modelli sono un modo per raggruppare Asset identici. "MBP 2016", "IPhone 6s", etc.', - 'deleted' => 'Questo modello è stato eliminato.Clicca qui per ripristinarlo.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Eliminazione di massa di modelli Asset', 'bulk_delete_help' => 'Utilizza le caselle di controllo in basso per confermare la cancellazione dei modelli di asset selezionati. I modelli di asset con asset ad essi associati non possono essere eliminati finché le risorse non sono associate a un modello diverso.', 'bulk_delete_warn' => 'Stai per cancellare :asset_count assets.', diff --git a/resources/lang/it/general.php b/resources/lang/it/general.php index 092bf5040..8971b2f3b 100644 --- a/resources/lang/it/general.php +++ b/resources/lang/it/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Rimuovi associazioni azienda', 'reports' => 'Reports', 'restored' => 'ripristinato', + 'restore' => 'Restore', 'requested' => 'Richiesto', 'request_canceled' => 'Richiesta annullata', 'save' => 'Salva', diff --git a/resources/lang/iu/admin/depreciations/general.php b/resources/lang/iu/admin/depreciations/general.php index e0b02c009..e6c86b9ff 100644 --- a/resources/lang/iu/admin/depreciations/general.php +++ b/resources/lang/iu/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Depreciation Name', 'number_of_months' => 'Number of Months', 'update' => 'Update Depreciation', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/iu/admin/hardware/general.php b/resources/lang/iu/admin/hardware/general.php index c5e5a483a..80a2c14e5 100644 --- a/resources/lang/iu/admin/hardware/general.php +++ b/resources/lang/iu/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Checkout Asset', 'clone' => 'Clone Asset', 'deployable' => 'Deployable', - 'deleted' => 'This asset has been deleted. Click here to restore it.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Edit Asset', - 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.
    Click here to restore the model.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Requestable', 'requested' => 'Requested', 'restore' => 'Restore Asset', diff --git a/resources/lang/iu/admin/models/general.php b/resources/lang/iu/admin/models/general.php index 6b3893234..046fd562e 100644 --- a/resources/lang/iu/admin/models/general.php +++ b/resources/lang/iu/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'About Asset Models', 'about_models_text' => 'Asset Models are a way to group identical assets. "MBP 2013", "IPhone 6s", etc.', - 'deleted' => 'This model has been deleted. Click here to restore it.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Bulk Delete Asset Models', 'bulk_delete_help' => 'Use the checkboxes below to confirm the deletion of the selected asset models. Asset models that have assets associated with them cannot be deleted until the assets are associated with a different model.', 'bulk_delete_warn' => 'You are about to delete :model_count asset models.', diff --git a/resources/lang/iu/general.php b/resources/lang/iu/general.php index 9bb3f84e4..c1931af8d 100644 --- a/resources/lang/iu/general.php +++ b/resources/lang/iu/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Remove Company Association', 'reports' => 'Reports', 'restored' => 'restored', + 'restore' => 'Restore', 'requested' => 'Requested', 'request_canceled' => 'Request Canceled', 'save' => 'Save', diff --git a/resources/lang/ja/admin/depreciations/general.php b/resources/lang/ja/admin/depreciations/general.php index aab918f72..c48af9782 100644 --- a/resources/lang/ja/admin/depreciations/general.php +++ b/resources/lang/ja/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => '減価償却名', 'number_of_months' => '月数', 'update' => '減価償却の更新', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/ja/admin/hardware/general.php b/resources/lang/ja/admin/hardware/general.php index b2c4f5866..d37d1f50a 100644 --- a/resources/lang/ja/admin/hardware/general.php +++ b/resources/lang/ja/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => '資産をチェックアウト', 'clone' => '資産を複製', 'deployable' => '配備可能', - 'deleted' => 'この資産は削除されました。復元するにはココをクリックして下さい。', + 'deleted' => 'This asset has been deleted.', 'edit' => '資産を編集', - 'model_deleted' => 'この資産型番は削除されました。資産を戻すためには型番を復元する必要があります。
    型番を復元するにはココをクリックして下さい。', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => '要求可能', 'requested' => '要求済', 'restore' => '資産を復元', diff --git a/resources/lang/ja/admin/kits/general.php b/resources/lang/ja/admin/kits/general.php index 0dfad8246..233edf96e 100644 --- a/resources/lang/ja/admin/kits/general.php +++ b/resources/lang/ja/admin/kits/general.php @@ -1,17 +1,17 @@ 'About Predefined Kits', - 'about_kits_text' => 'Predefined Kits let you quickly check out a collection of items (assets, licenses, etc) to a user. This can be helpful when your onboarding process is consistent across many users and all users receive the same items.', - 'checkout' => 'Checkout Kit ', - 'create_success' => 'Kit was successfully created.', - 'create' => 'Create Predefined Kit', - 'update' => 'Update Predefined Kit', - 'delete_success' => 'Kit was successfully deleted.', - 'update_success' => 'Kit was successfully updated.', - 'none_models' => 'There are not enough available assets for :model to checkout. :qty are required. ', - 'none_licenses' => 'There are not enough available seats for :license to checkout. :qty are required. ', - 'none_consumables' => 'There are not enough available units of :consumable to checkout. :qty are required. ', - 'none_accessory' => 'There are not enough available units of :accessory to checkout. :qty are required. ', +return array( + 'about_kits_title' => '製品セットについて', + 'about_kits_text' => '製品セットを用いると、アイテム(アセット、ライセンスなど)のコレクションをすばやくユーザーに払い出す(チェックアウトする)ことができます。例えば、組織のオンボーディングプロセスが一貫している場合に、すべてのユーザーが同じアイテムを使用する場合に役立ちます。', + 'checkout' => 'チェックアウト', + 'create_success' => '製品セットは正常に作成されました。', + 'create' => '製品セットを作成', + 'update' => '製品セットを更新', + 'delete_success' => '製品セットは正常に削除されました。', + 'update_success' => '製品セットは正常に更新されました。', + 'none_models' => ':modelをチェックアウトするのに十分な資産がありません。:qtyが必要です。 ', + 'none_licenses' => ':licenseをチェックアウトするのに十分なシートがありません。:qtyが必要です。 ', + 'none_consumables' => ':consumableをチェックアウトするのに十分な数がありません。:qtyが必要です。 ', + 'none_accessory' => ':accessoryをチェックアウトするのに十分な数がありません。:qtyが必要です。 ', -]; +); diff --git a/resources/lang/ja/admin/models/general.php b/resources/lang/ja/admin/models/general.php index 7b763a40a..e72bcb7fb 100644 --- a/resources/lang/ja/admin/models/general.php +++ b/resources/lang/ja/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => '資産モデルについて', 'about_models_text' => '資産モデルは、同一資産をグループ化する方法です。(例:「MBP 2013」、「IPhone 6」など)', - 'deleted' => 'この型番は削除されました。元に戻すにはココをクリックして下さい。.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => '資産モデルの一括削除', 'bulk_delete_help' => '下のチェックボックスを使用して、選択した資産モデルの削除を確認します。資産が関連付けられている資産モデルは、資産が別のモデルに関連付けられるまで削除できません。', 'bulk_delete_warn' => ':model_count 件の資産モデルを削除しようとしています。', diff --git a/resources/lang/ja/auth/general.php b/resources/lang/ja/auth/general.php index 2fb1fe62b..81cf25a53 100644 --- a/resources/lang/ja/auth/general.php +++ b/resources/lang/ja/auth/general.php @@ -11,5 +11,5 @@ return [ 'ldap_reset_password' => 'LDAPパスワードをリセットするにはここをクリックしてください', 'remember_me' => 'ログイン状態を維持する', 'username_help_top' => 'パスワードリセットリンクを送信する対象の ユーザー名 を入力してください。', - 'username_help_bottom' => 'Your username and email address may be the same, but may not be, depending on your configuration. If you cannot remember your username, contact your administrator.

    Usernames without an associated email address will not be emailed a password reset link. ', + 'username_help_bottom' => 'ユーザー名とメールアドレスは、設定によって同じ場合もありますが、そうでない場合もあります。ユーザー名を思い出せない場合は、管理者にお問い合わせください。

    メールアドレスが関連付けられていないユーザー名には、パスワードリセットのリンクがメールで送信されません。 ', ]; diff --git a/resources/lang/ja/general.php b/resources/lang/ja/general.php index 8e4931c3e..658faea33 100644 --- a/resources/lang/ja/general.php +++ b/resources/lang/ja/general.php @@ -90,12 +90,12 @@ 'firstname_lastname_format' => '名 姓 (jane.smith@example.com)', 'firstname_lastname_underscore_format' => '名 姓 (jane_smith@example.com)', 'lastnamefirstinitial_format' => '姓 イニシャル(smithj@example.com)', - 'firstintial_dot_lastname_format' => 'First Initial Last Name (j.smith@example.com)', + 'firstintial_dot_lastname_format' => '名のイニシャルと姓 (j.smith@example.com)', 'first' => '最初', - 'firstnamelastname' => 'First Name Last Name (janesmith@example.com)', - 'lastname_firstinitial' => 'Last Name First Initial (smith_j@example.com)', - 'firstinitial.lastname' => 'First Initial Last Name (j.smith@example.com)', - 'firstnamelastinitial' => 'First Name Last Initial (janes@example.com)', + 'firstnamelastname' => '名と姓 (janesmith@example.com)', + 'lastname_firstinitial' => '姓と名のイニシャル (smith_j@example.com)', + 'firstinitial.lastname' => '名のイニシャルと姓 (j.smith@example.com)', + 'firstnamelastinitial' => '名のイニシャルと姓 (janes@example.com)', 'first_name' => '姓', 'first_name_format' => '名 (jane@example.com)', 'files' => 'ファイル', @@ -122,7 +122,7 @@ 'asset_maintenances' => '資産管理', 'item' => 'アイテム', 'insufficient_permissions' => '権限が不足しています。', - 'kits' => 'Predefined Kits', + 'kits' => '製品セット', 'language' => '言語', 'last' => '最後', 'last_login' => '最終ログイン', @@ -137,7 +137,7 @@ 'feature_disabled' => 'この機能は、デモインストールでは無効化されています。', 'location' => '設置場所', 'locations' => '設置場所の数', - 'logo_size' => 'Square logos look best with Logo + Text. Logo maximum display size is 50px high x 500px wide. ', + 'logo_size' => '正方形のロゴの場合は、「ロゴ+文字」で表示されます。ロゴの最大表示サイズは、縦50px×横500pxです。 ', 'logout' => 'ログアウト', 'lookup_by_tag' => '資産タグで参照', 'maintenances' => 'メンテナンス', @@ -176,6 +176,7 @@ 'remove_company' => '会社の団体を取り除く', 'reports' => 'レポート', 'restored' => '復元', + 'restore' => 'Restore', 'requested' => '要求済', 'request_canceled' => 'リクエストキャンセル', 'save' => '保存', @@ -199,7 +200,7 @@ 'sign_in' => 'サインイン', 'signature' => '署名', 'skin' => 'スキン', - 'slack_test_msg' => 'Oh hai! Looks like your Slack integration with Snipe-IT is working!', + 'slack_test_msg' => 'こんにちは!SlackとSnipe-ITの連携がうまくいっているようです!', 'some_features_disabled' => 'デモモード : いくつかの機能はこのインストールでは無効化されます', 'site_name' => 'サイト名', 'state' => '都道府県', @@ -227,7 +228,7 @@ 'declined' => '却下済', 'unaccepted_asset_report' => '未許可資産', 'users' => '利用者', - 'viewall' => 'View All', + 'viewall' => 'すべて表示', 'viewassets' => '割当済み資産を表示', 'website' => 'ウェブサイト', 'welcome' => 'ようこそ、 :name さん', @@ -236,14 +237,14 @@ 'zip' => '郵便番号', 'noimage' => 'イメージはアップロードされていません または イメージは見つかりませんでした', 'token_expired' => 'セッションが失効しました。再度ログインしてください。', - 'login_enabled' => 'Login Enabled', - 'audit_due' => 'Due for Audit', - 'audit_overdue' => 'Overdue for Audit', - 'accept' => 'Accept :asset', - 'i_accept' => 'I accept', - 'i_decline' => 'I decline', - 'sign_tos' => 'Sign below to indicate that you agree to the terms of service:', - 'clear_signature' => 'Clear Signature', + 'login_enabled' => 'ログイン可能', + 'audit_due' => '監査期日', + 'audit_overdue' => '監査期日を超過', + 'accept' => ':assetを承認', + 'i_accept' => '承認', + 'i_decline' => '却下', + 'sign_tos' => '利用規約に同意された方は、ご署名ください。', + 'clear_signature' => '署名をクリア', 'show_help' => 'ヘルプを表示', 'hide_help' => 'ヘルプを非表示', ]; diff --git a/resources/lang/ko/admin/depreciations/general.php b/resources/lang/ko/admin/depreciations/general.php index 0bfcb1a5c..f2d449784 100644 --- a/resources/lang/ko/admin/depreciations/general.php +++ b/resources/lang/ko/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => '감가 상각 명', 'number_of_months' => '개월 수', 'update' => '감가 상각 갱신', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/ko/admin/hardware/general.php b/resources/lang/ko/admin/hardware/general.php index 395bf6384..e93983116 100644 --- a/resources/lang/ko/admin/hardware/general.php +++ b/resources/lang/ko/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => '반출 자산', 'clone' => '자산 복제', 'deployable' => '사용가능', - 'deleted' => '이 자산은 삭제되었습니다. 복원하려면 여기를 클릭하세요.', + 'deleted' => 'This asset has been deleted.', 'edit' => '자산 수정', - 'model_deleted' => '이 자산 모델은 삭제되었습니다. 자산을 복원하기 전에 모델을 복원해야 합니다.
    모델을 복원하려면 여기를 클릭하세요.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => '요청가능', 'requested' => '요청됨', 'restore' => '자산 복원', diff --git a/resources/lang/ko/admin/models/general.php b/resources/lang/ko/admin/models/general.php index 1f33741f9..0dc6ef3ab 100644 --- a/resources/lang/ko/admin/models/general.php +++ b/resources/lang/ko/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => '자산 모델이란', 'about_models_text' => '자산 모델은 동일한 자산들을 그룹화 하는 방법입니다. "MBP 2013", "IPhone 6들", 등등.', - 'deleted' => '이 모델은 삭제되었습니다. 복원 하려면 여기를 클릭하세요.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => '자산 모델 대량 삭제', 'bulk_delete_help' => '선택한 자산 모델의 삭제를 확인하려면 아래 체크박스를 사용하십시오. 자산에 연결된 자산 모델은 자산이 다른 모델과 연결될 때까지 삭제할 수 없습니다.', 'bulk_delete_warn' => '다음을 삭제하려 합니다:model_count asset models.', diff --git a/resources/lang/ko/general.php b/resources/lang/ko/general.php index 9b55a8122..324cd06fd 100644 --- a/resources/lang/ko/general.php +++ b/resources/lang/ko/general.php @@ -176,6 +176,7 @@ 'remove_company' => '공급자 연결 제거', 'reports' => '보고서', 'restored' => '복원됨', + 'restore' => 'Restore', 'requested' => '요청됨', 'request_canceled' => '요청 취소', 'save' => '저장', diff --git a/resources/lang/lt/admin/depreciations/general.php b/resources/lang/lt/admin/depreciations/general.php index 97ea5903d..3aada18c1 100644 --- a/resources/lang/lt/admin/depreciations/general.php +++ b/resources/lang/lt/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Nusidėvėjimo pavadinimas', 'number_of_months' => 'Mėnesių skaičius', 'update' => 'Atnaujinti nusidėvėjimą', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/lt/admin/hardware/general.php b/resources/lang/lt/admin/hardware/general.php index d66d2cbb1..31dc14fa9 100644 --- a/resources/lang/lt/admin/hardware/general.php +++ b/resources/lang/lt/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Patikros turtas', 'clone' => 'Kopijuoti įrangą', 'deployable' => 'Naudojamas', - 'deleted' => 'Ši įranga buvo ištrinta. Paspauskit čia ją atkurti.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Keisti įrangą', - 'model_deleted' => 'Įrangos modelis buvo ištrintas. Jūs privalote atkurti modelį prieš atkurdami įrangą.
    Spauskite čia atkurti modelį.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Reiklaujamas', 'requested' => 'Užklausta', 'restore' => 'Atkurti įrangą', diff --git a/resources/lang/lt/admin/models/general.php b/resources/lang/lt/admin/models/general.php index 63b4fbff3..38f205085 100644 --- a/resources/lang/lt/admin/models/general.php +++ b/resources/lang/lt/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'Apie turto modelius', 'about_models_text' => 'Turto modeliai yra būdas grupuoti identišką turtą. "MBP 2013", "IPhone 6s" ir kt.', - 'deleted' => 'Šis modelis ištrintas. Spauskite atkurti modelį čia.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Ištrinti pažymėtus turto modelius', 'bulk_delete_help' => '„Pažymėkite žemiau esantį langelį, kad patvirtintumėte pasirinktų turto modelių ištrynimą. Turto modeliai, kuriuose yra su jais susijęs turtas, negali būti ištrinti, išskyrus tuos atvejus, kai tas turtas yra susietas su kitu modeliu.“.', 'bulk_delete_warn' => 'Ketinate ištrinti :model_count turto modelius.', diff --git a/resources/lang/lt/general.php b/resources/lang/lt/general.php index 723936c68..6b530beb0 100644 --- a/resources/lang/lt/general.php +++ b/resources/lang/lt/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Panaikinti kompanijos asociaciją', 'reports' => 'Ataskaitos', 'restored' => 'atkurta', + 'restore' => 'Restore', 'requested' => 'Užklausta', 'request_canceled' => 'Prašymas atšauktas', 'save' => 'Išsaugoti', diff --git a/resources/lang/lv/admin/depreciations/general.php b/resources/lang/lv/admin/depreciations/general.php index 81be6da6f..f029af4fa 100644 --- a/resources/lang/lv/admin/depreciations/general.php +++ b/resources/lang/lv/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Nolietojuma nosaukums', 'number_of_months' => 'Mēnešu skaits', 'update' => 'Atjaunināt nolietojumu', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/lv/admin/hardware/general.php b/resources/lang/lv/admin/hardware/general.php index 460184019..de4e26c43 100644 --- a/resources/lang/lv/admin/hardware/general.php +++ b/resources/lang/lv/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Checkout Asset', 'clone' => 'Clone Asset', 'deployable' => 'Izvietojams', - 'deleted' => 'Šis īpašums ir dzēsts. Noklikšķiniet šeit, lai to atjaunotu.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Rediģēt īpašumu', - 'model_deleted' => 'Šis Assets modelis ir izdzēsts. Jums ir jāatjauno modelis, lai varētu atjaunot Asset.
    Noklikšķiniet šeit, lai atjaunotu modeli.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Pieļaujams', 'requested' => 'Pieprasīts', 'restore' => 'Atjaunot aktīvus', diff --git a/resources/lang/lv/admin/models/general.php b/resources/lang/lv/admin/models/general.php index ced11fcd1..e765e2ce4 100644 --- a/resources/lang/lv/admin/models/general.php +++ b/resources/lang/lv/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'Par īpašuma modeļiem', 'about_models_text' => 'Aktīvu modeļi ir veids, kā grupēt identiskus aktīvus. "MBP 2013", "IPhone 6s" uc', - 'deleted' => 'Šis modelis ir dzēsts. Noklikšķiniet šeit, lai to atjaunotu.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Līdzekļu modeļu lielapjoma dzēšana', 'bulk_delete_help' => 'Lai apstiprinātu izvēlēto līdzekļu modeļu dzēšanu, ir jāatzīmē zemāk esošās izvēles rūtiņas. Līdzekļu modeļi, kuriem ir piesaistīti aktīvi, nevar tikt dzēsti, kamēr līdzekļi nav piesaistīti citam modelim.', 'bulk_delete_warn' => 'Tiks dzēsti :model_count līdzekļu modeļi.', diff --git a/resources/lang/lv/general.php b/resources/lang/lv/general.php index 41c4e640d..18665df6c 100644 --- a/resources/lang/lv/general.php +++ b/resources/lang/lv/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Noņemt uzņēmumu asociāciju', 'reports' => 'Ziņojumi', 'restored' => 'atjaunots', + 'restore' => 'Restore', 'requested' => 'Pieprasīts', 'request_canceled' => 'Pieprasījums atcelts', 'save' => 'Saglabājiet', diff --git a/resources/lang/mi/admin/depreciations/general.php b/resources/lang/mi/admin/depreciations/general.php index 33cb4fa38..4a2d2ce4d 100644 --- a/resources/lang/mi/admin/depreciations/general.php +++ b/resources/lang/mi/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Te Ingoa Taweke', 'number_of_months' => 'Tau o Marama', 'update' => 'Whakahouhia te whakahekenga', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/mi/admin/hardware/general.php b/resources/lang/mi/admin/hardware/general.php index 19ec3961d..547cb2446 100644 --- a/resources/lang/mi/admin/hardware/general.php +++ b/resources/lang/mi/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Whakaritehia te Ahua', 'clone' => 'Te Tino Tae', 'deployable' => 'Kaore e taea', - 'deleted' => 'Kua mukua tenei taonga. Kia tuhia ki konei hei whakaora i te reira.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Whakatikahia te Ahua', - 'model_deleted' => 'Kua mukua tenei tauira Ahua. Me whakahou e koe te tauira i mua i to hokinga mai i te Asset.
    Kia huri ki konei kia whakahokia mai te tauira.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Ka taea te tuku', 'requested' => 'I tonohia', 'restore' => 'Whakaorangia te Ahua', diff --git a/resources/lang/mi/admin/models/general.php b/resources/lang/mi/admin/models/general.php index 2f8d673db..31c7a97c5 100644 --- a/resources/lang/mi/admin/models/general.php +++ b/resources/lang/mi/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'Mō nga tauira Ahua', 'about_models_text' => 'Ko nga Momo Ahuatanga he huarahi ki te whakariterite i nga rawa taatai. "MBP 2013", "IPhone 6s", etc.', - 'deleted' => 'Kua mukua tenei tauira. Kua tuhia ki konei hei whakaora i te reira.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Bulk Delete Asset Models', 'bulk_delete_help' => 'Use the checkboxes below to confirm the deletion of the selected asset models. Asset models that have assets associated with them cannot be deleted until the assets are associated with a different model.', 'bulk_delete_warn' => 'You are about to delete :model_count asset models.', diff --git a/resources/lang/mi/general.php b/resources/lang/mi/general.php index 915957262..7fc63b38c 100644 --- a/resources/lang/mi/general.php +++ b/resources/lang/mi/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Tangohia te Kamupene Kamupene', 'reports' => 'Ngā pūrongo', 'restored' => 'restored', + 'restore' => 'Restore', 'requested' => 'I tonohia', 'request_canceled' => 'Tono Whakamutua', 'save' => 'Tiaki', diff --git a/resources/lang/mk/admin/depreciations/general.php b/resources/lang/mk/admin/depreciations/general.php index 753192d1b..0eed649d9 100644 --- a/resources/lang/mk/admin/depreciations/general.php +++ b/resources/lang/mk/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Име на амортизационен план', 'number_of_months' => 'Број на месеци', 'update' => 'Ажурирај амортизационен план', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/mk/admin/hardware/general.php b/resources/lang/mk/admin/hardware/general.php index 6a30fcf73..d43d66689 100644 --- a/resources/lang/mk/admin/hardware/general.php +++ b/resources/lang/mk/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Задолжи основно средство', 'clone' => 'Клонирај основно средство', 'deployable' => 'Распоредливи', - 'deleted' => 'Ова средство е избришано. Кликнете овде за да го вратите.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Уредување на основно средство', - 'model_deleted' => 'Овој модел на основни средства е избришан. Мора да го вратите моделот пред да можете да го вратите основното средство.
    Кликни тука за да го вратиш моделот.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Може да се побара', 'requested' => 'Побарано', 'restore' => 'Врати основно средство', diff --git a/resources/lang/mk/admin/models/general.php b/resources/lang/mk/admin/models/general.php index 545f6f983..5638d1658 100644 --- a/resources/lang/mk/admin/models/general.php +++ b/resources/lang/mk/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'За моделите на основни средства', 'about_models_text' => 'Моделите на основни средства служат да се групираат идентични средства. Пр. "IPhone 6s", "ThinkPad T470" итн.', - 'deleted' => 'Овој модел е избришан. Кликнете овде за да го вратите.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Масовно бришење на модели', 'bulk_delete_help' => 'Користете ги полињата подолу за да го потврдите бришењето на избраните модели. Моделите кои имаат основни средства поврзани со нив не може да се избришат додека средствата не се поврзанат со друг модел.', 'bulk_delete_warn' => 'Ќе избришете :model_count модели.', diff --git a/resources/lang/mk/general.php b/resources/lang/mk/general.php index 60a775344..423b00911 100644 --- a/resources/lang/mk/general.php +++ b/resources/lang/mk/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Отстрани поврзување со компанија', 'reports' => 'Извештаи', 'restored' => 'вратено', + 'restore' => 'Restore', 'requested' => 'Побарано', 'request_canceled' => 'Барањето е откажано', 'save' => 'Зачувај', diff --git a/resources/lang/ml-IN/admin/depreciations/general.php b/resources/lang/ml-IN/admin/depreciations/general.php index e0b02c009..e6c86b9ff 100644 --- a/resources/lang/ml-IN/admin/depreciations/general.php +++ b/resources/lang/ml-IN/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Depreciation Name', 'number_of_months' => 'Number of Months', 'update' => 'Update Depreciation', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/ml-IN/admin/hardware/general.php b/resources/lang/ml-IN/admin/hardware/general.php index c5e5a483a..80a2c14e5 100644 --- a/resources/lang/ml-IN/admin/hardware/general.php +++ b/resources/lang/ml-IN/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Checkout Asset', 'clone' => 'Clone Asset', 'deployable' => 'Deployable', - 'deleted' => 'This asset has been deleted. Click here to restore it.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Edit Asset', - 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.
    Click here to restore the model.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Requestable', 'requested' => 'Requested', 'restore' => 'Restore Asset', diff --git a/resources/lang/ml-IN/admin/models/general.php b/resources/lang/ml-IN/admin/models/general.php index 6b3893234..046fd562e 100644 --- a/resources/lang/ml-IN/admin/models/general.php +++ b/resources/lang/ml-IN/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'About Asset Models', 'about_models_text' => 'Asset Models are a way to group identical assets. "MBP 2013", "IPhone 6s", etc.', - 'deleted' => 'This model has been deleted. Click here to restore it.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Bulk Delete Asset Models', 'bulk_delete_help' => 'Use the checkboxes below to confirm the deletion of the selected asset models. Asset models that have assets associated with them cannot be deleted until the assets are associated with a different model.', 'bulk_delete_warn' => 'You are about to delete :model_count asset models.', diff --git a/resources/lang/ml-IN/general.php b/resources/lang/ml-IN/general.php index 9bb3f84e4..c1931af8d 100644 --- a/resources/lang/ml-IN/general.php +++ b/resources/lang/ml-IN/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Remove Company Association', 'reports' => 'Reports', 'restored' => 'restored', + 'restore' => 'Restore', 'requested' => 'Requested', 'request_canceled' => 'Request Canceled', 'save' => 'Save', diff --git a/resources/lang/mn/admin/depreciations/general.php b/resources/lang/mn/admin/depreciations/general.php index e023a663d..d46c4b0dc 100644 --- a/resources/lang/mn/admin/depreciations/general.php +++ b/resources/lang/mn/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Элэгдэл Нэр', 'number_of_months' => 'Сарын тоо', 'update' => 'Элэгдэл шинэчлэх', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/mn/admin/hardware/general.php b/resources/lang/mn/admin/hardware/general.php index b5437436a..2a651cefb 100644 --- a/resources/lang/mn/admin/hardware/general.php +++ b/resources/lang/mn/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Тооцоот Хөрөнгийн', 'clone' => 'Clone Asset', 'deployable' => 'Даалгавартай', - 'deleted' => 'Энэ хөрөнгө устгагдсан байна. Дахин оруулна уу.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Хөрөнгийг засварлах', - 'model_deleted' => 'Энэ активын загвар устгагдсан байна. Хөрөнгийг сэргээхээс өмнө загварыг сэргээх хэрэгтэй.
    Загвар-г сэргээхийн тулд энд дарна уу.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Уучлаарай', 'requested' => 'Хүсэлт гаргасан', 'restore' => 'Хөрөнгийг дахин сэргээх', diff --git a/resources/lang/mn/admin/models/general.php b/resources/lang/mn/admin/models/general.php index 37c5819c3..25d7618d4 100644 --- a/resources/lang/mn/admin/models/general.php +++ b/resources/lang/mn/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'Активын загварууд', 'about_models_text' => 'Хөрөнгийн загвар нь ижил төрлийн хөрөнгийг бүлэглэх арга юм. "MBP 2013", "IPhone 6s", гэх мэт.', - 'deleted' => 'Энэ загварыг устгасан. Дахин оруулна уу.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Бөөнөөр хөрөнгийн загварыг устгах', 'bulk_delete_help' => 'Сонгосон хөрөнгийн загварыг устгахыг баталгаажуулж доорх хайрцгийг ашиглана уу. Хөрөнгөтэй холбоотой хөрөнгийн загварыг өөр загвартай холбох хүртэл устгах боломжгүй.', 'bulk_delete_warn' => 'Та :asset_count ширхэг хөрөнгийн загвар устгах гэж байна.', diff --git a/resources/lang/mn/general.php b/resources/lang/mn/general.php index a9f21bb5a..c59a25acc 100644 --- a/resources/lang/mn/general.php +++ b/resources/lang/mn/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Компанийн холбоог устгах', 'reports' => 'Тайлан', 'restored' => 'сэргээгдсэн', + 'restore' => 'Restore', 'requested' => 'Хүсэлт гаргасан', 'request_canceled' => 'Хүсэлтийг цуцалсан', 'save' => 'Хадгалах', diff --git a/resources/lang/ms/admin/depreciations/general.php b/resources/lang/ms/admin/depreciations/general.php index bc75e6698..47bf5cc8f 100644 --- a/resources/lang/ms/admin/depreciations/general.php +++ b/resources/lang/ms/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Nama Susut Nilai', 'number_of_months' => 'Bilangan Bulan', 'update' => 'Kemas kini Susutnilai', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/ms/admin/hardware/general.php b/resources/lang/ms/admin/hardware/general.php index 6bb40ab7d..cb6cf3376 100644 --- a/resources/lang/ms/admin/hardware/general.php +++ b/resources/lang/ms/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Aset Checkout', 'clone' => 'Pendua Harta', 'deployable' => 'Deployable', - 'deleted' => 'Aset ini telah dipadamkan. Klik di sini untuk memulihkannya.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Kemaskini Harta', - 'model_deleted' => 'Model Aset ini telah dipadam. Anda mesti memulihkan model sebelum anda boleh memulihkan Asset.
    Klik di sini untuk memulihkan model.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Diminta', 'requested' => 'Diminta', 'restore' => 'Pulihkan Asset', diff --git a/resources/lang/ms/admin/models/general.php b/resources/lang/ms/admin/models/general.php index 15aff4021..9c19dbb47 100644 --- a/resources/lang/ms/admin/models/general.php +++ b/resources/lang/ms/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'Mengenai Model Asset', 'about_models_text' => 'Model Aset adalah cara untuk mengumpulkan aset yang sama. "MBP 2013", "IPhone 6s", dan sebagainya.', - 'deleted' => 'Model ini telah dipadamkan. Klik di sini untuk memulihkannya.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Padam Secara Pukal Model Aset', 'bulk_delete_help' => 'Gunakan kotak semakan di bawah untuk mengesahkan penghapusan model aset terpilih. Model aset yang mempunyai aset yang berkaitan dengannya tidak boleh dihapuskan sehingga aset dikaitkan dengan model yang berbeza.', 'bulk_delete_warn' => 'Anda akan hapus :model_count model aset.', diff --git a/resources/lang/ms/general.php b/resources/lang/ms/general.php index d80b154c3..feedcf5a0 100644 --- a/resources/lang/ms/general.php +++ b/resources/lang/ms/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Keluarkan Persatuan Syarikat', 'reports' => 'Laporan', 'restored' => 'restored', + 'restore' => 'Restore', 'requested' => 'Diminta', 'request_canceled' => 'Permintaan Dibatalkan', 'save' => 'Simpan', diff --git a/resources/lang/nl/admin/depreciations/general.php b/resources/lang/nl/admin/depreciations/general.php index 72ee8bccb..52c502628 100644 --- a/resources/lang/nl/admin/depreciations/general.php +++ b/resources/lang/nl/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Afschrijvingsnaam', 'number_of_months' => 'Aantal maanden', 'update' => 'Afschrijving bijwerken', + 'depreciation_min' => 'Minimale waarde na afschrijving' ]; diff --git a/resources/lang/nl/admin/hardware/general.php b/resources/lang/nl/admin/hardware/general.php index 1f3d46a94..682774805 100644 --- a/resources/lang/nl/admin/hardware/general.php +++ b/resources/lang/nl/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Asset uitchecken', 'clone' => 'Dupliceer Asset', 'deployable' => 'Uitgeefbaar', - 'deleted' => 'Dit asset is verwijderd. Klik hier om het te herstellen.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Asset bewerken', - 'model_deleted' => 'Dit Assets model is verwijderd. U moet het model herstellen voordat u het Asset kunt herstellen.
    Klik hier om het model te herstellen.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Aanvraagbaar', 'requested' => 'Aangevraagd', 'restore' => 'Herstel Asset', diff --git a/resources/lang/nl/admin/models/general.php b/resources/lang/nl/admin/models/general.php index 90b2dfbae..968b1a447 100644 --- a/resources/lang/nl/admin/models/general.php +++ b/resources/lang/nl/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'Over Asset Modellen', 'about_models_text' => 'Assetmodellen zijn een manier om identieke assets te groeperen. "MBP 2013", "iPhone 6s", enz.', - 'deleted' => 'Dit asset is verwijderd. Klik hier om het te herstellen.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'In bulk verwijderen van assetmodellen', 'bulk_delete_help' => 'Gebruik de selectievakjes hieronder om het verwijderen van de geselecteerde assetmodellen te bevestigen. Assetmodellen waarbij assets gekoppeld zijn, kunnen niet verwijderd worden totdat de assets gekoppeld zijn aan een ander model.', 'bulk_delete_warn' => 'Je staat op het punt om :model_count assetmodellen te verwijderen.', diff --git a/resources/lang/nl/general.php b/resources/lang/nl/general.php index 4a8240a1a..da5f9cad4 100644 --- a/resources/lang/nl/general.php +++ b/resources/lang/nl/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Verwijder bedrijfsverbinding', 'reports' => 'Rapporten', 'restored' => 'hersteld', + 'restore' => 'Restore', 'requested' => 'Aangevraagd', 'request_canceled' => 'Aanvraag geannuleerd', 'save' => 'Opslaan', diff --git a/resources/lang/no/admin/depreciations/general.php b/resources/lang/no/admin/depreciations/general.php index 0aef1ff61..52fc626c4 100644 --- a/resources/lang/no/admin/depreciations/general.php +++ b/resources/lang/no/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Avskrivningsnavn', 'number_of_months' => 'Antall måneder', 'update' => 'Oppdater avskrivninger', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/no/admin/hardware/general.php b/resources/lang/no/admin/hardware/general.php index 2360993d3..24d496817 100644 --- a/resources/lang/no/admin/hardware/general.php +++ b/resources/lang/no/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Sjekk ut asset', 'clone' => 'Klon eiendel', 'deployable' => 'Utleverbar', - 'deleted' => 'Denne eiendelen har blitt slettet. Klikk for å gjenopprette den.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Rediger eiendel', - 'model_deleted' => 'Denne eiendelsmodellen er slettet. Du må gjenopprette modellen før du kan gjenopprette eiendelen.
    Klikk her for å gjenopprette modellen.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Forespørrbar', 'requested' => 'Forespurt', 'restore' => 'Gjenopprett eiendel', diff --git a/resources/lang/no/admin/models/general.php b/resources/lang/no/admin/models/general.php index ea633beee..f8c759668 100644 --- a/resources/lang/no/admin/models/general.php +++ b/resources/lang/no/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'Om asset modeller', 'about_models_text' => 'Asset modeller er en måte å gruppere identiske eiendeler. "MBP 2013", "IPhone 6s", etc.', - 'deleted' => 'Denne modellen er slettet. Klikk her for å gjenopprette.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Bulk slett modeller', 'bulk_delete_help' => 'Bruk merkeboksene nedenfor til å bekrefte sletting av de merkede modellene. Modeller som har eiendeler tilknyttet kan ikke slettes før eiendelene har blitt tilknyttet en annen modell.', 'bulk_delete_warn' => 'Du er i ferd med å slette :model_count modeller.', diff --git a/resources/lang/no/general.php b/resources/lang/no/general.php index 8a6fb4a8b..68bf2f669 100644 --- a/resources/lang/no/general.php +++ b/resources/lang/no/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Fjern tilknytning til bedrift', 'reports' => 'Rapporter', 'restored' => 'gjenopprettet', + 'restore' => 'Restore', 'requested' => 'Forespurt', 'request_canceled' => 'Forespørsel avbrutt', 'save' => 'Lagre', diff --git a/resources/lang/pl/admin/depreciations/general.php b/resources/lang/pl/admin/depreciations/general.php index 00d5c5983..2eac13ae6 100644 --- a/resources/lang/pl/admin/depreciations/general.php +++ b/resources/lang/pl/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Nazwa amortyzacji', 'number_of_months' => 'Numer miesiąca', 'update' => 'Aktualizuj amortyzację', + 'depreciation_min' => 'Minimalna wartość po spadku wartości' ]; diff --git a/resources/lang/pl/admin/hardware/general.php b/resources/lang/pl/admin/hardware/general.php index 1b63c2bd2..724b589d2 100644 --- a/resources/lang/pl/admin/hardware/general.php +++ b/resources/lang/pl/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Przypisz zasób', 'clone' => 'Klonuj zasób', 'deployable' => 'Gotowe do wdrożenia', - 'deleted' => 'To aktywo zostało usunięte. Kliknij tutaj, aby je przywrócić.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Edytuj zasób', - 'model_deleted' => 'Model aktywa został usunięty. Należy przywrócić model przed przywróceniem aktywa.
    Kliknij tutaj aby przywrócić model/.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Żądane', 'requested' => 'Zamówione', 'restore' => 'Przywróć aktywa', diff --git a/resources/lang/pl/admin/models/general.php b/resources/lang/pl/admin/models/general.php index 5aaf26113..4ca81431e 100644 --- a/resources/lang/pl/admin/models/general.php +++ b/resources/lang/pl/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'O Modelach aktywów', 'about_models_text' => 'Modele aktywów są sposobem grupowania identycznych aktywów. "MBP 2013", "IPhone 6s", itp.', - 'deleted' => 'Model został usunięty. Kliknij aby przywrócić.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Zbiorcze usuwanie modeli aktywów', 'bulk_delete_help' => 'Użyj poniższych pól wyboru, aby potwierdzić usunięcie wybranych modeli zasobów. Modele zasobów z którymi są powiązane zasoby, nie mogą zostać usunięte, dopóki zasoby nie zostaną powiązane z innym modelem.', 'bulk_delete_warn' => 'Zamierzasz usunąć :model_count modeli aktywów.', diff --git a/resources/lang/pl/general.php b/resources/lang/pl/general.php index 3950bd7a3..1a2d5f605 100644 --- a/resources/lang/pl/general.php +++ b/resources/lang/pl/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Usuń powiązanie firmy', 'reports' => 'Raporty', 'restored' => 'przywrócone', + 'restore' => 'Restore', 'requested' => 'Wymagane', 'request_canceled' => 'Żądanie anulowane', 'save' => 'Zapisz', diff --git a/resources/lang/pl/mail.php b/resources/lang/pl/mail.php index 4ffe0200a..4afcf9eae 100644 --- a/resources/lang/pl/mail.php +++ b/resources/lang/pl/mail.php @@ -9,7 +9,7 @@ return [ 'asset' => 'Sprzęt:', 'asset_name' => 'Nazwa sprzętu:', 'asset_requested' => 'Wystosowane zapotrzebowanie na sprzęt', - 'asset_tag' => 'Artykół Tag', + 'asset_tag' => 'Tag sprzętu', 'assigned_to' => 'Przypisane do', 'best_regards' => 'Pozdrawiam', 'canceled' => 'Anulowane:', diff --git a/resources/lang/pt-BR/admin/depreciations/general.php b/resources/lang/pt-BR/admin/depreciations/general.php index fdc1c0b9c..7ac282408 100644 --- a/resources/lang/pt-BR/admin/depreciations/general.php +++ b/resources/lang/pt-BR/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Nome da Depreciação', 'number_of_months' => 'Número de Meses', 'update' => 'Atualizar Depreciação', + 'depreciation_min' => 'Valor Mínimo após Depreciação' ]; diff --git a/resources/lang/pt-BR/admin/hardware/general.php b/resources/lang/pt-BR/admin/hardware/general.php index e17dcf153..9f85a2596 100644 --- a/resources/lang/pt-BR/admin/hardware/general.php +++ b/resources/lang/pt-BR/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Checkout de Ativo', 'clone' => 'Clonar Ativo', 'deployable' => 'Implementável', - 'deleted' => 'Este ativo foi excluído. Clique aqui para restaurá-lo.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Editar Ativo', - 'model_deleted' => 'Este modelo de Ativos foi excluído. Você deve restaurar o modelo antes de restaurar o Ativo.
    Clique aqui para restaurar o modelo.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Solicitável', 'requested' => 'Solicitado', 'restore' => 'Restaurar Ativo', diff --git a/resources/lang/pt-BR/admin/models/general.php b/resources/lang/pt-BR/admin/models/general.php index 4e52e9ed8..a7298d6fc 100644 --- a/resources/lang/pt-BR/admin/models/general.php +++ b/resources/lang/pt-BR/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'Sobre os Modelos de Ativos', 'about_models_text' => 'Os Modelos dos ativos são uma maneira para agrupar ativos idênticos. "MBP 2013", "iPhone 6s", etc.', - 'deleted' => 'Este modelo foi excluído. Clique aqui para o restaurar.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Bulk deletar modelos de ativos', 'bulk_delete_help' => 'Use a caixa abaixo para confirmar a exlusão dos modelos de ativos selecionados. Modelos de ativos que tem ativos associados a eles não podem ser deletados a não ser que esses ativos sejam associados a um modelo diferente.', 'bulk_delete_warn' => 'Você está prestes a exluir :model_count asset models.', diff --git a/resources/lang/pt-BR/general.php b/resources/lang/pt-BR/general.php index 7a5d333ef..535f920d1 100644 --- a/resources/lang/pt-BR/general.php +++ b/resources/lang/pt-BR/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Remover associação de empresa', 'reports' => 'Relatórios', 'restored' => 'restaurado', + 'restore' => 'Restore', 'requested' => 'Solicitado', 'request_canceled' => 'Pedido cancelado', 'save' => 'Salvar', diff --git a/resources/lang/pt-PT/admin/depreciations/general.php b/resources/lang/pt-PT/admin/depreciations/general.php index 3e7f14380..e5ddf2d6c 100644 --- a/resources/lang/pt-PT/admin/depreciations/general.php +++ b/resources/lang/pt-PT/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Nome da depreciação', 'number_of_months' => 'Número de mêses', 'update' => 'Actualizar depreciação', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/pt-PT/admin/hardware/general.php b/resources/lang/pt-PT/admin/hardware/general.php index eb6291d70..0f3413c8c 100644 --- a/resources/lang/pt-PT/admin/hardware/general.php +++ b/resources/lang/pt-PT/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Ativo de compras', 'clone' => 'Clonar Ativo', 'deployable' => 'Implementável', - 'deleted' => 'Este ativo foi removido. Clique aqui para restaurar.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Editar artigo', - 'model_deleted' => 'Este modelo de ativo foi removido. Deve restaurar o modelo para poder restaurar o Ativo.
    Clique aqui para restaurar o modelo.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Solicitavel', 'requested' => 'Requisitado', 'restore' => 'Restaurar ativo', diff --git a/resources/lang/pt-PT/admin/models/general.php b/resources/lang/pt-PT/admin/models/general.php index b941b7ac2..31dc2787d 100644 --- a/resources/lang/pt-PT/admin/models/general.php +++ b/resources/lang/pt-PT/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'Sobre os modelos dos artigos', 'about_models_text' => 'Os Modelos dos artigos são uma maneira para agrupar artigos idênticos. "MBP 2013", "IPhone 6s", etc.', - 'deleted' => 'O modelo foi removido. Clique aqui para o restaurar.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Eliminar modelos de artigos em massa', 'bulk_delete_help' => 'Use as caixas de selecção abaixo para confirmar a eliminação dos modelos de artigos selecionados. Modelos de artigos que contenham artigos associados não serão eliminados até que estes artigos sejam associados a um modelo diferente.', 'bulk_delete_warn' => 'Esta prestes a eliminar :model_count modelos de artigos.', diff --git a/resources/lang/pt-PT/general.php b/resources/lang/pt-PT/general.php index 824fc8598..aac569c5a 100644 --- a/resources/lang/pt-PT/general.php +++ b/resources/lang/pt-PT/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Remover associação de empresa', 'reports' => 'Relatórios', 'restored' => 'restaurado', + 'restore' => 'Restore', 'requested' => 'Solicitado', 'request_canceled' => 'Pedido cancelado', 'save' => 'Guardar', diff --git a/resources/lang/ro/admin/depreciations/general.php b/resources/lang/ro/admin/depreciations/general.php index 72ae25fe8..abb936017 100644 --- a/resources/lang/ro/admin/depreciations/general.php +++ b/resources/lang/ro/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Nume depreciere', 'number_of_months' => 'Numarul de luni', 'update' => 'Actualizați amortizarea', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/ro/admin/hardware/general.php b/resources/lang/ro/admin/hardware/general.php index c0997717f..fd01e1ab7 100644 --- a/resources/lang/ro/admin/hardware/general.php +++ b/resources/lang/ro/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Checkout Asset', 'clone' => 'Cloneaza activ', 'deployable' => 'Lansabil', - 'deleted' => 'Acest activ a fost șters. Faceți clic aici pentru a le restabili.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Editeaza activ', - 'model_deleted' => 'Acest model de Active a fost șters. Trebuie să restabiliți modelul înainte de a putea să-l restabiliți. 123_45_0_321 Faceți clic aici pentru a restabili modelul.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Requestable', 'requested' => 'Solicitat', 'restore' => 'Restabilirea activului', diff --git a/resources/lang/ro/admin/models/general.php b/resources/lang/ro/admin/models/general.php index dd3d631db..35cc654b4 100644 --- a/resources/lang/ro/admin/models/general.php +++ b/resources/lang/ro/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'Despre modelele de active', 'about_models_text' => 'Modelele de activ sunt o modalitate de a grupa active identice. "MBP 2013", "iPhone 6s" etc.', - 'deleted' => 'Modelul a fost sters. Apasati aici pentru a-l restaura.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Stergere in masa a modelelor de echipamente', 'bulk_delete_help' => 'Utilizați casetele de selectare de mai jos pentru a confirma ștergerea modelelor de echipamente selectate. Modelele care au echipamente asociate cu acestea nu pot fi șterse până când activele nu sunt asociate cu un alt model.', 'bulk_delete_warn' => 'Sunteți pe cale să ștergeți modelul de echipament: model_count.', diff --git a/resources/lang/ro/admin/settings/general.php b/resources/lang/ro/admin/settings/general.php index b3bb5f76e..b38d257a6 100644 --- a/resources/lang/ro/admin/settings/general.php +++ b/resources/lang/ro/admin/settings/general.php @@ -43,13 +43,13 @@ return [ 'display_eol' => 'Arata EOL in tabel', 'display_qr' => 'Afișați codurile pătrată', 'display_alt_barcode' => 'Afișați coduri de bare 1D', - 'email_logo' => 'Email Logo', + 'email_logo' => 'Logo e-mail', 'barcode_type' => 'Tip de cod de bare 2D', 'alt_barcode_type' => 'Tip de cod de bare 1D', 'email_logo_size' => 'Square logos in email look best. ', 'eula_settings' => 'Setările EULA', 'eula_markdown' => 'Această licență EULA permite Github aromdown markdown.', - 'favicon' => 'Favicon', + 'favicon' => 'Pictogramă', 'favicon_format' => 'Accepted filetypes are ico, png, and gif. Other image formats may not work in all browsers.', 'favicon_size' => 'Favicons should be square images, 16x16 pixels.', 'footer_text' => 'Textul suplimentar în subsol ', @@ -58,7 +58,7 @@ return [ 'generate_backup' => 'Generați Backup', 'header_color' => 'Culoarea antetului', 'info' => 'Aceste setari va lasa sa modificati anumite aspecte ale instalarii.', - 'label_logo' => 'Label Logo', + 'label_logo' => 'Sigla etichetei', 'label_logo_size' => 'Square logos look best - will be displayed in the top right of each asset label. ', 'laravel' => 'Versiune Laravel', 'ldap_enabled' => 'LDAP activat', diff --git a/resources/lang/ro/admin/users/general.php b/resources/lang/ro/admin/users/general.php index ff390201a..4a1e070ff 100644 --- a/resources/lang/ro/admin/users/general.php +++ b/resources/lang/ro/admin/users/general.php @@ -1,7 +1,8 @@ 'This user can login', + +return array( + 'activated_help_text' => 'Acest utilizator se poate conecta', 'activated_disabled_help_text' => 'You cannot edit activation status for your own account.', 'assets_user' => 'Activul desemnat catre :name', 'bulk_update_warn' => 'Sunteți pe punctul de a edita proprietățile utilizatorilor: user_count. Rețineți că nu puteți modifica propriile atribute ale utilizatorilor utilizând acest formular și trebuie să efectuați modificări individuale ale propriului dvs. utilizator.', @@ -12,7 +13,7 @@ return [ 'edit' => 'Editeaza utilizator', 'filetype_info' => 'Tipurile de fișiere permise sunt png, gif, jpg, jpeg, doc, docx, pdf, txt, zip și rar.', 'history_user' => 'Istoric pentru :name', - 'info' => 'Info', + 'info' => 'Info', 'restore_user' => 'Faceți clic aici pentru a le restaura.', 'last_login' => 'Ultima logare', 'ldap_config_text' => 'Setările de configurare LDAP pot fi găsite pe Administrator> Setări. Locația selectată (opțional) va fi setată pentru toți utilizatorii importați.', @@ -24,4 +25,4 @@ return [ 'two_factor_admin_optin_help' => 'Setările dvs. actuale de administrare permit executarea selectivă a autentificării cu două factori.', 'two_factor_enrolled' => 'Dispozitivul 2FA Înregistrat', 'two_factor_active' => '2FA Active', - ]; + ); diff --git a/resources/lang/ro/general.php b/resources/lang/ro/general.php index c22a52280..d13bb7987 100644 --- a/resources/lang/ro/general.php +++ b/resources/lang/ro/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Eliminați asocierea companiilor', 'reports' => 'Rapoarte', 'restored' => 'restored', + 'restore' => 'Restore', 'requested' => 'Cereri', 'request_canceled' => 'Cerere anulată', 'save' => 'Salveaza', diff --git a/resources/lang/ru/admin/depreciations/general.php b/resources/lang/ru/admin/depreciations/general.php index 1b2963637..325ce7fdd 100644 --- a/resources/lang/ru/admin/depreciations/general.php +++ b/resources/lang/ru/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Название амортизации', 'number_of_months' => 'Количество месяцев', 'update' => 'Обновить амортизацию', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/ru/admin/hardware/general.php b/resources/lang/ru/admin/hardware/general.php index a153f7854..5ef3078a4 100644 --- a/resources/lang/ru/admin/hardware/general.php +++ b/resources/lang/ru/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Выдать актив пользователю', 'clone' => 'Клонировать актив', 'deployable' => 'Доступные', - 'deleted' => 'Этот актив был удален. Нажмите, чтобы восстановить.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Редактировать актив', - 'model_deleted' => 'Эта модель актива была удалена. Необходимо сначала восстановить модель актива прежде чем восстанавливать сам актив.
    Нажмите здесь, чтобы восстановить модель.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Готов к выдаче', 'requested' => 'Запрошенное', 'restore' => 'Восстановить актив', diff --git a/resources/lang/ru/admin/models/general.php b/resources/lang/ru/admin/models/general.php index 8fbc01e29..a81922408 100644 --- a/resources/lang/ru/admin/models/general.php +++ b/resources/lang/ru/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'О моделях активов', 'about_models_text' => 'Модели активов это способ группировки идентичных активов. Например, "MacBookPro 2013, iPhone 6s", и т. д.', - 'deleted' => 'Эта модель была удалена. Нажмите здесь, чтобы восстановить.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Массовое удаление моделей активов', 'bulk_delete_help' => 'Установите флажки ниже, чтобы подтвердить удаление выбранных моделей активов. Модели, имеющие связанные с ними активы, не могут быть удалены до тех пор, пока активы не будут связаны с другой моделью.', 'bulk_delete_warn' => 'Вы собираетесь удалить :model_count моделей активов.', diff --git a/resources/lang/ru/general.php b/resources/lang/ru/general.php index bc63098f3..2701edde0 100644 --- a/resources/lang/ru/general.php +++ b/resources/lang/ru/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Удалить привязку компании', 'reports' => 'Отчеты', 'restored' => 'восстановлено', + 'restore' => 'Restore', 'requested' => 'Запрошено', 'request_canceled' => 'Запрос отменен', 'save' => 'Сохранить', diff --git a/resources/lang/ru/mail.php b/resources/lang/ru/mail.php index 4847e5193..a78e59fba 100644 --- a/resources/lang/ru/mail.php +++ b/resources/lang/ru/mail.php @@ -20,10 +20,10 @@ return [ 'click_on_the_link_asset' => 'Пожалуйста, перейдите по ссылке внизу, чтобы подтвердить получение актива.', 'Confirm_Asset_Checkin' => 'Подтверждение возврата активов', 'Confirm_Accessory_Checkin' => 'Подтвердить возврат аксессуара', - 'Confirm_accessory_delivery' => 'Accessory delivery confirmation', - 'Confirm_license_delivery' => 'License delivery confirmation', - 'Confirm_asset_delivery' => 'Asset delivery confirmation', - 'Confirm_consumable_delivery' => 'Consumable delivery confirmation', + 'Confirm_accessory_delivery' => 'Подтвердить доставку аксессуара', + 'Confirm_license_delivery' => 'Подтвердите получение лицензии', + 'Confirm_asset_delivery' => 'Подтвердить доставку актива', + 'Confirm_consumable_delivery' => 'Подтвердить доставку расходников', 'current_QTY' => 'Текущее количество', 'Days' => 'Дни', 'days' => 'Дни', diff --git a/resources/lang/si-LK/admin/depreciations/general.php b/resources/lang/si-LK/admin/depreciations/general.php index 1fca0e2cb..a5dec994c 100644 --- a/resources/lang/si-LK/admin/depreciations/general.php +++ b/resources/lang/si-LK/admin/depreciations/general.php @@ -8,5 +8,6 @@ return array( 'depreciation_name' => 'Depreciation Name', 'number_of_months' => 'Number of Months', 'update' => 'Update Depreciation', + 'depreciation_min' => 'Minimum Value after Depreciation' ); diff --git a/resources/lang/si-LK/admin/hardware/general.php b/resources/lang/si-LK/admin/hardware/general.php index f1fcd4731..af2be65fc 100644 --- a/resources/lang/si-LK/admin/hardware/general.php +++ b/resources/lang/si-LK/admin/hardware/general.php @@ -10,9 +10,9 @@ return array( 'checkout' => 'Checkout Asset', 'clone' => 'Clone Asset', 'deployable' => 'Deployable', - 'deleted' => 'This asset has been deleted. Click here to restore it.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Edit Asset', - 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.
    Click here to restore the model.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Requestable', 'requested' => 'Requested', 'restore' => 'Restore Asset', diff --git a/resources/lang/si-LK/admin/models/general.php b/resources/lang/si-LK/admin/models/general.php index 3281cfe0f..d2d77e0e8 100644 --- a/resources/lang/si-LK/admin/models/general.php +++ b/resources/lang/si-LK/admin/models/general.php @@ -3,7 +3,7 @@ return array( 'about_models_title' => 'About Asset Models', 'about_models_text' => 'Asset Models are a way to group identical assets. "MBP 2013", "IPhone 6s", etc.', - 'deleted' => 'This model has been deleted. Click here to restore it.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Bulk Delete Asset Models', 'bulk_delete_help' => 'Use the checkboxes below to confirm the deletion of the selected asset models. Asset models that have assets associated with them cannot be deleted until the assets are associated with a different model.', 'bulk_delete_warn' => 'You are about to delete :model_count asset models.', diff --git a/resources/lang/si-LK/general.php b/resources/lang/si-LK/general.php index 539a01a13..446957c9a 100644 --- a/resources/lang/si-LK/general.php +++ b/resources/lang/si-LK/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Remove Company Association', 'reports' => 'Reports', 'restored' => 'restored', + 'restore' => 'Restore', 'requested' => 'Requested', 'request_canceled' => 'Request Canceled', 'save' => 'Save', diff --git a/resources/lang/sk/admin/depreciations/general.php b/resources/lang/sk/admin/depreciations/general.php index 60ffbdcc8..8f8250c0e 100644 --- a/resources/lang/sk/admin/depreciations/general.php +++ b/resources/lang/sk/admin/depreciations/general.php @@ -8,5 +8,6 @@ return array( 'depreciation_name' => 'Názov odpisovania', 'number_of_months' => 'Počet mesiacov', 'update' => 'Upraviť odpisovanie', + 'depreciation_min' => 'Minimum Value after Depreciation' ); diff --git a/resources/lang/sk/admin/hardware/general.php b/resources/lang/sk/admin/hardware/general.php index f33503a59..4eafc6bf6 100644 --- a/resources/lang/sk/admin/hardware/general.php +++ b/resources/lang/sk/admin/hardware/general.php @@ -10,9 +10,9 @@ return array( 'checkout' => 'Vyskladniť majetok', 'clone' => 'Duplikovať majetok', 'deployable' => 'Vyskladniteľný', - 'deleted' => 'Tento majetok bol odstránený. Kliknite sem pre jeho obnovenie.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Upraviť majetok', - 'model_deleted' => 'Tento model majetku bol odstránený. Pred obnovením majetku musíte najprv obnoviť model.
    Pre obnovenie modelu kliknite sem.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Vyžiadateľný', 'requested' => 'Vyžiadané', 'restore' => 'Obnoviť majetok', diff --git a/resources/lang/sk/admin/models/general.php b/resources/lang/sk/admin/models/general.php index 3281cfe0f..d2d77e0e8 100644 --- a/resources/lang/sk/admin/models/general.php +++ b/resources/lang/sk/admin/models/general.php @@ -3,7 +3,7 @@ return array( 'about_models_title' => 'About Asset Models', 'about_models_text' => 'Asset Models are a way to group identical assets. "MBP 2013", "IPhone 6s", etc.', - 'deleted' => 'This model has been deleted. Click here to restore it.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Bulk Delete Asset Models', 'bulk_delete_help' => 'Use the checkboxes below to confirm the deletion of the selected asset models. Asset models that have assets associated with them cannot be deleted until the assets are associated with a different model.', 'bulk_delete_warn' => 'You are about to delete :model_count asset models.', diff --git a/resources/lang/sk/general.php b/resources/lang/sk/general.php index 539a01a13..446957c9a 100644 --- a/resources/lang/sk/general.php +++ b/resources/lang/sk/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Remove Company Association', 'reports' => 'Reports', 'restored' => 'restored', + 'restore' => 'Restore', 'requested' => 'Requested', 'request_canceled' => 'Request Canceled', 'save' => 'Save', diff --git a/resources/lang/sl/admin/depreciations/general.php b/resources/lang/sl/admin/depreciations/general.php index 4ca4be5ac..2710cccf8 100644 --- a/resources/lang/sl/admin/depreciations/general.php +++ b/resources/lang/sl/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Ime amortizacije', 'number_of_months' => 'Število mesecev', 'update' => 'Posodobi amortizacijo', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/sl/admin/hardware/general.php b/resources/lang/sl/admin/hardware/general.php index ca9d916e0..0eee65ec5 100644 --- a/resources/lang/sl/admin/hardware/general.php +++ b/resources/lang/sl/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Izdaja sredstev', 'clone' => 'Klonska sredstvo', 'deployable' => 'Razdeljeno', - 'deleted' => 'To sredstvo je bilo izbrisano. Kliknite tukaj, da ga obnovite.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Urejanje sredstva', - 'model_deleted' => 'Ta model sredsteva je bil izbrisan. Pred obnovitvijo sredstva morate obnoviti model.
    Kliknite tukaj, da obnovite model.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Zahtevano', 'requested' => 'Zahtevano', 'restore' => 'Obnovitev sredstev', diff --git a/resources/lang/sl/admin/models/general.php b/resources/lang/sl/admin/models/general.php index 94efac83d..f78ee3924 100644 --- a/resources/lang/sl/admin/models/general.php +++ b/resources/lang/sl/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'O modelih sredstev', 'about_models_text' => 'Modeli sredstev so način za združevanje identičnih sredstev. "MBP 2013", "IPhone 6s" itd.', - 'deleted' => 'Ta model je bil izbrisan. Kliknite tukaj, da ga obnovite.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Množično brisanje modelov sredstva', 'bulk_delete_help' => 'S potrditvenimi polji spodaj potrdite izbris izbranih modelov sredstev. Modelov sredstev, ki imajo z njimi povezana sredstva, ni mogoče izbrisati, dokler sredstva niso povezana z drugačnim modelom.', 'bulk_delete_warn' => 'Izbrisali boste :modelov_count modelov sredstev.', diff --git a/resources/lang/sl/general.php b/resources/lang/sl/general.php index 518ecc9f6..3ffcb52d7 100644 --- a/resources/lang/sl/general.php +++ b/resources/lang/sl/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Odstrani povezavo do podjetja', 'reports' => 'Poročila', 'restored' => 'obnovljena', + 'restore' => 'Restore', 'requested' => 'Zahtevano', 'request_canceled' => 'Zahteva je bila preklicana', 'save' => 'Shrani', diff --git a/resources/lang/sr-CS/admin/accessories/message.php b/resources/lang/sr-CS/admin/accessories/message.php index f80643a3f..223354ebf 100644 --- a/resources/lang/sr-CS/admin/accessories/message.php +++ b/resources/lang/sr-CS/admin/accessories/message.php @@ -2,7 +2,7 @@ return [ - 'does_not_exist' => 'The accessory [:id] does not exist.', + 'does_not_exist' => 'Pribor [:Id] ne postoji.', 'assoc_users' => 'Ovaj pribor trenutno ima :count stavku označenu korisnicima. Proverite pribor i pokušajte ponovo. ', 'create' => [ diff --git a/resources/lang/sr-CS/admin/asset_maintenances/general.php b/resources/lang/sr-CS/admin/asset_maintenances/general.php index 1c4031777..381b7cf3f 100644 --- a/resources/lang/sr-CS/admin/asset_maintenances/general.php +++ b/resources/lang/sr-CS/admin/asset_maintenances/general.php @@ -9,6 +9,6 @@ 'maintenance' => 'Održavanje', 'upgrade' => 'Nadogradnja', 'calibration' => 'Calibration', - 'software_support' => 'Software Support', - 'hardware_support' => 'Hardware Support', + 'software_support' => 'Podrška Softver', + 'hardware_support' => 'Podrška Hardware', ]; diff --git a/resources/lang/sr-CS/admin/depreciations/general.php b/resources/lang/sr-CS/admin/depreciations/general.php index 6cefe0cea..8456f982a 100644 --- a/resources/lang/sr-CS/admin/depreciations/general.php +++ b/resources/lang/sr-CS/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Naziv amortizacije', 'number_of_months' => 'Broj meseci', 'update' => 'Ažuriraj amortizaciju', + 'depreciation_min' => 'Minimalna vrednost nakon amortizacije' ]; diff --git a/resources/lang/sr-CS/admin/hardware/general.php b/resources/lang/sr-CS/admin/hardware/general.php index cf89f0bb4..dac937017 100644 --- a/resources/lang/sr-CS/admin/hardware/general.php +++ b/resources/lang/sr-CS/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Checkout Asset', 'clone' => 'Kloniraj imovinu', 'deployable' => 'Može se razmestiti', - 'deleted' => 'Ova je imovina izbrisana. Kliknite ovdje da biste je vratili.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Uređivanje imovine', - 'model_deleted' => 'Model ove stavke je izbrisan. Morate vratiti model prije nego što vratite Asset.
    Kliknite ovde da biste vratili model.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Može da se potražuje', 'requested' => 'Zatraženo', 'restore' => 'Restore Asset', diff --git a/resources/lang/sr-CS/admin/models/general.php b/resources/lang/sr-CS/admin/models/general.php index c59854046..4b42fe622 100644 --- a/resources/lang/sr-CS/admin/models/general.php +++ b/resources/lang/sr-CS/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'O modelu imovine', 'about_models_text' => 'Modeli imovine su način grupisanja identične imovine. "MBP 2013", "IPhone 6s" itd.', - 'deleted' => 'Ovaj je model izbrisan. Kliknite ovde da biste ga vratili.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Skupno brisanje modela imovine', 'bulk_delete_help' => 'Use the checkboxes below to confirm the deletion of the selected asset models. Asset models that have assets associated with them cannot be deleted until the assets are associated with a different model.', 'bulk_delete_warn' => 'Želite da obrišete :model_count asset models.', diff --git a/resources/lang/sr-CS/general.php b/resources/lang/sr-CS/general.php index ed3237cb9..7490d6134 100644 --- a/resources/lang/sr-CS/general.php +++ b/resources/lang/sr-CS/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Ukloni asocijaciju sa firmom', 'reports' => 'Izveštaji', 'restored' => 'vraćeno u prethodno stanje', + 'restore' => 'Restore', 'requested' => 'Tražena', 'request_canceled' => 'Zahtev je otkazan', 'save' => 'Sačuvaj', diff --git a/resources/lang/sv-SE/admin/depreciations/general.php b/resources/lang/sv-SE/admin/depreciations/general.php index c96f70bcf..d30c3dcbb 100644 --- a/resources/lang/sv-SE/admin/depreciations/general.php +++ b/resources/lang/sv-SE/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Avskrivningsnamn', 'number_of_months' => 'Antal Månader', 'update' => 'Uppdatera avskrivningar', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/sv-SE/admin/hardware/general.php b/resources/lang/sv-SE/admin/hardware/general.php index 832949dc7..cb24dd856 100644 --- a/resources/lang/sv-SE/admin/hardware/general.php +++ b/resources/lang/sv-SE/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Checkout Asset', 'clone' => 'Klon tillgång', 'deployable' => 'Deployable', - 'deleted' => 'Den här tillgången har tagits bort. Klicka här för att återställa det.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Redigera tillgång', - 'model_deleted' => 'Denna tillgångsmodell har raderats. Du måste återställa modellen innan du kan återställa Asset.
    Klick här för att återställa modellen.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Tillgängliga', 'requested' => 'Begärda', 'restore' => 'Återställ tillgången', diff --git a/resources/lang/sv-SE/admin/models/general.php b/resources/lang/sv-SE/admin/models/general.php index 193d00c4c..f0de34fe4 100644 --- a/resources/lang/sv-SE/admin/models/general.php +++ b/resources/lang/sv-SE/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'Om modeller', 'about_models_text' => 'Modeller är ett sätt att gruppera identiska tillgångar. "Galaxy S20", "iPhone 12", etc.', - 'deleted' => 'Den här modellen har tagits bort. Klicka här för att återskapa.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Bulk Radera modeller', 'bulk_delete_help' => 'Använd kryssrutan här under för att bekräfta borttagning av valda modeller. Modeller som har tillgångar kopplade till sig kan inte raderas innan dessa är kopplade till en annan modell.', 'bulk_delete_warn' => 'Du håller på att ta bort: model_count modeller.', diff --git a/resources/lang/sv-SE/general.php b/resources/lang/sv-SE/general.php index 419182bdf..a7372e83b 100644 --- a/resources/lang/sv-SE/general.php +++ b/resources/lang/sv-SE/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Ta bort företagsföreningen', 'reports' => 'Rapporter', 'restored' => 'återställd', + 'restore' => 'Restore', 'requested' => 'Begärda', 'request_canceled' => 'Förfrågan annulleras', 'save' => 'Spara', diff --git a/resources/lang/ta/admin/depreciations/general.php b/resources/lang/ta/admin/depreciations/general.php index bbcc9bdd3..410cdf8ac 100644 --- a/resources/lang/ta/admin/depreciations/general.php +++ b/resources/lang/ta/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'தேய்மானி பெயர்', 'number_of_months' => 'மாதங்களின் எண்ணிக்கை', 'update' => 'தேய்மானம் புதுப்பிக்கவும்', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/ta/admin/hardware/general.php b/resources/lang/ta/admin/hardware/general.php index 113c9ff19..c4f78bc7a 100644 --- a/resources/lang/ta/admin/hardware/general.php +++ b/resources/lang/ta/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'சரிபார்ப்புச் சொத்து', 'clone' => 'குளோன் சொத்து', 'deployable' => 'அணியப்படுத்தக்', - 'deleted' => 'இந்த சொத்து நீக்கப்பட்டது. அதை மீட்டமைக்க இங்கு கிளிக் செய்க. .', + 'deleted' => 'This asset has been deleted.', 'edit' => 'சொத்து திருத்து', - 'model_deleted' => 'இந்த சொத்து மாடல் நீக்கப்பட்டது. நீங்கள் சொத்து மீட்டமைக்கப்படுவதற்கு முன் மாடலை நீங்கள் மீட்டெடுக்க வேண்டும்.
    model ஐ மீட்டமைக்க இங்கே கிளிக் செய்க.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Requestable', 'requested' => 'கோரப்பட்டது', 'restore' => 'சொத்து மீட்டமை', diff --git a/resources/lang/ta/admin/models/general.php b/resources/lang/ta/admin/models/general.php index 04bb24352..4eb03f9dd 100644 --- a/resources/lang/ta/admin/models/general.php +++ b/resources/lang/ta/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'சொத்து மாடல்களைப் பற்றி', 'about_models_text' => 'சொத்து மாதிரிகள் ஒரே மாதிரியான சொத்துக்களை குழுவாக மாற்றுகின்றன. "MBP 2013", "ஐபோன் 6s", முதலியன', - 'deleted' => 'இந்த மாதிரி நீக்கப்பட்டது. அதை மீட்டமைக்க இங்கு கிளிக் செய்க. .', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Bulk Delete Asset Models', 'bulk_delete_help' => 'Use the checkboxes below to confirm the deletion of the selected asset models. Asset models that have assets associated with them cannot be deleted until the assets are associated with a different model.', 'bulk_delete_warn' => 'You are about to delete :model_count asset models.', diff --git a/resources/lang/ta/general.php b/resources/lang/ta/general.php index 092446f6f..691290674 100644 --- a/resources/lang/ta/general.php +++ b/resources/lang/ta/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'நிறுவன சங்கத்தை அகற்று', 'reports' => 'அறிக்கைகள்', 'restored' => 'restored', + 'restore' => 'Restore', 'requested' => 'கோரப்பட்டது', 'request_canceled' => 'கோரிக்கை ரத்து செய்யப்பட்டது', 'save' => 'சேமி', diff --git a/resources/lang/th/admin/depreciations/general.php b/resources/lang/th/admin/depreciations/general.php index 1eb8ffd54..1015d3f93 100644 --- a/resources/lang/th/admin/depreciations/general.php +++ b/resources/lang/th/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'ชื่อค่าเสื่อมราคา', 'number_of_months' => 'จำนวนเดือน', 'update' => 'อัปเดตค่าเสื่อมราคา', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/th/admin/hardware/general.php b/resources/lang/th/admin/hardware/general.php index 0d83abf81..cbf70f5c0 100644 --- a/resources/lang/th/admin/hardware/general.php +++ b/resources/lang/th/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'ตรวจสอบสินทรัพย์', 'clone' => 'คัดลอกแบบสินทรัพย์', 'deployable' => 'สามารถใช้งานได้', - 'deleted' => 'สินทรัพย์นี้ถูกลบแล้ว คลิกที่นี่เพื่อกู้คืน.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'แก้ไขสินทรัพย์', - 'model_deleted' => 'รุ่นสินทรัพย์นี้ถูกลบ ก่อนที่คุณจะสามารถกู้คืนสินทรัพย์นี้ คุณต้องกู้คืนรุ่นสินทรัพย์นี้
    คลิกที่นี่เพื้อกู้คืนรุ่น.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'ร้องขอได้', 'requested' => 'การขอใช้บริการ', 'restore' => 'กู้คืนสินทรัพย์', diff --git a/resources/lang/th/admin/models/general.php b/resources/lang/th/admin/models/general.php index edf863e11..34212d704 100644 --- a/resources/lang/th/admin/models/general.php +++ b/resources/lang/th/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'เกี่ยวกับโมเดลสินทรัพย์', 'about_models_text' => 'โมเดลสินทรัพย์คือวิธีการจัดกลุ่มเนื้อหาที่เหมือนกัน "MBP 2013", "IPhone 6s" ฯลฯ', - 'deleted' => 'โมเดลนี้ถูกลบแล้ว Click here to restore it.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'การลบรายการเป็นกลุ่ม', 'bulk_delete_help' => 'ใช้ช่องทำเครื่องหมายด้านล่างเพื่อยืนยันการลบโมเดลเนื้อหาที่เลือก โมเดลสินทรัพย์ที่มีเนื้อหาเกี่ยวข้องกับเนื้อหาเหล่านั้นไม่สามารถลบออกได้จนกว่าสินทรัพย์จะเชื่อมโยงกับโมเดลอื่น', 'bulk_delete_warn' => 'คุณกำลังจะลบ: asset_count', diff --git a/resources/lang/th/general.php b/resources/lang/th/general.php index 0b1781d43..5ce8781f4 100644 --- a/resources/lang/th/general.php +++ b/resources/lang/th/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'นำออกสมาคม บริษัท', 'reports' => 'รายงาน', 'restored' => 'คืนค่า', + 'restore' => 'Restore', 'requested' => 'คำร้องขอ', 'request_canceled' => 'คำขอยกเลิกแล้ว', 'save' => 'บันทึก', diff --git a/resources/lang/tl/admin/depreciations/general.php b/resources/lang/tl/admin/depreciations/general.php index e0b02c009..e6c86b9ff 100644 --- a/resources/lang/tl/admin/depreciations/general.php +++ b/resources/lang/tl/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Depreciation Name', 'number_of_months' => 'Number of Months', 'update' => 'Update Depreciation', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/tl/admin/hardware/general.php b/resources/lang/tl/admin/hardware/general.php index c5e5a483a..80a2c14e5 100644 --- a/resources/lang/tl/admin/hardware/general.php +++ b/resources/lang/tl/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Checkout Asset', 'clone' => 'Clone Asset', 'deployable' => 'Deployable', - 'deleted' => 'This asset has been deleted. Click here to restore it.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Edit Asset', - 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.
    Click here to restore the model.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Requestable', 'requested' => 'Requested', 'restore' => 'Restore Asset', diff --git a/resources/lang/tl/admin/models/general.php b/resources/lang/tl/admin/models/general.php index 6b3893234..046fd562e 100644 --- a/resources/lang/tl/admin/models/general.php +++ b/resources/lang/tl/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'About Asset Models', 'about_models_text' => 'Asset Models are a way to group identical assets. "MBP 2013", "IPhone 6s", etc.', - 'deleted' => 'This model has been deleted. Click here to restore it.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Bulk Delete Asset Models', 'bulk_delete_help' => 'Use the checkboxes below to confirm the deletion of the selected asset models. Asset models that have assets associated with them cannot be deleted until the assets are associated with a different model.', 'bulk_delete_warn' => 'You are about to delete :model_count asset models.', diff --git a/resources/lang/tl/general.php b/resources/lang/tl/general.php index 9bb3f84e4..c1931af8d 100644 --- a/resources/lang/tl/general.php +++ b/resources/lang/tl/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Remove Company Association', 'reports' => 'Reports', 'restored' => 'restored', + 'restore' => 'Restore', 'requested' => 'Requested', 'request_canceled' => 'Request Canceled', 'save' => 'Save', diff --git a/resources/lang/tr/admin/depreciations/general.php b/resources/lang/tr/admin/depreciations/general.php index c710cea18..47b427964 100644 --- a/resources/lang/tr/admin/depreciations/general.php +++ b/resources/lang/tr/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Amortisman Adı', 'number_of_months' => 'Ay Sayısı', 'update' => 'Değer Kaybını Güncelle', + 'depreciation_min' => 'Değişiklik sonrası minumum değer' ]; diff --git a/resources/lang/tr/admin/hardware/general.php b/resources/lang/tr/admin/hardware/general.php index cdd2677fb..c5e3565a3 100644 --- a/resources/lang/tr/admin/hardware/general.php +++ b/resources/lang/tr/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Ödenme Öğe', 'clone' => 'Demirbaşı Kopyala', 'deployable' => 'Dağıtılabilir', - 'deleted' => 'Bu demirbaş silindi. Geri getirmek için tıklayınız.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Demirbaşı Düzenle', - 'model_deleted' => 'Bu demirbaş modeli silindi. Bu demirbaşı geri getirmek için önce modeli geri getiriniz.
    Modeli geri getirmek için tıklayınız.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Talep edilebilir', 'requested' => 'Talep edildi', 'restore' => 'Demirbaşı Geri Getir', diff --git a/resources/lang/tr/admin/models/general.php b/resources/lang/tr/admin/models/general.php index f1806a249..2653cefc1 100644 --- a/resources/lang/tr/admin/models/general.php +++ b/resources/lang/tr/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'Varlık Modelleri Hakkında', 'about_models_text' => 'Varlık Modelleri, özdeş varlıkları gruplamanın bir yoludur. Örn: "Tiny M73", "Samsung A7", vb.', - 'deleted' => 'Model silindi. Geri getirmek için buraya tıklayınız.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Varlık Modellerini Toplu Silme', 'bulk_delete_help' => 'Seçilen varlık modelleri silme işlemini onaylamak için aşağıdaki onay kutularını kullanın. Başka bir varlık modeli ile ilişkilendirilmiş olan varlık modelleri, başka bir varlık modeli ile ilişkilendirilmeden silinemez.', 'bulk_delete_warn' => ':model_count varlık modellerini silmek üzeresiniz.', diff --git a/resources/lang/tr/general.php b/resources/lang/tr/general.php index cf791957a..00ae2dc5e 100644 --- a/resources/lang/tr/general.php +++ b/resources/lang/tr/general.php @@ -179,6 +179,7 @@ Context | Request Context 'remove_company' => 'Firma bağlantısını sil', 'reports' => 'Raporlar', 'restored' => 'geri yüklendi', + 'restore' => 'Restore', 'requested' => 'Talep Edilen', 'request_canceled' => 'Talep iptal edildi', 'save' => 'Kaydet', diff --git a/resources/lang/uk/admin/depreciations/general.php b/resources/lang/uk/admin/depreciations/general.php index 041b64d04..e848d825b 100644 --- a/resources/lang/uk/admin/depreciations/general.php +++ b/resources/lang/uk/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Depreciation Name', 'number_of_months' => 'Кількість місяців', 'update' => 'Update Depreciation', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/uk/admin/hardware/general.php b/resources/lang/uk/admin/hardware/general.php index c14a76e52..f7f274cf5 100644 --- a/resources/lang/uk/admin/hardware/general.php +++ b/resources/lang/uk/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Видати актив', 'clone' => 'Клонувати актив', 'deployable' => 'Deployable', - 'deleted' => 'This asset has been deleted. Click here to restore it.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Редагувати актив', - 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.
    Click here to restore the model.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Requestable', 'requested' => 'Requested', 'restore' => 'Restore Asset', diff --git a/resources/lang/uk/admin/models/general.php b/resources/lang/uk/admin/models/general.php index 24858c418..ae3ed8994 100644 --- a/resources/lang/uk/admin/models/general.php +++ b/resources/lang/uk/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'Про моделі активів', 'about_models_text' => 'Моделі активів це спосіб групування ідентичних активів. Наприклад, «Lenovo G700», «Nokia 3310», тощо.', - 'deleted' => 'Цю мадель видалено. Натисніть для її відновлення.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Bulk Delete Asset Models', 'bulk_delete_help' => 'Use the checkboxes below to confirm the deletion of the selected asset models. Asset models that have assets associated with them cannot be deleted until the assets are associated with a different model.', 'bulk_delete_warn' => 'You are about to delete :model_count asset models.', diff --git a/resources/lang/uk/general.php b/resources/lang/uk/general.php index f18ff6bfe..3b97644fd 100644 --- a/resources/lang/uk/general.php +++ b/resources/lang/uk/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Remove Company Association', 'reports' => 'Звіти', 'restored' => 'відновлено', + 'restore' => 'Restore', 'requested' => 'Запрошено користувачем', 'request_canceled' => 'Запит скасовано', 'save' => 'Зберегти', diff --git a/resources/lang/ur-PK/admin/depreciations/general.php b/resources/lang/ur-PK/admin/depreciations/general.php index e0b02c009..e6c86b9ff 100644 --- a/resources/lang/ur-PK/admin/depreciations/general.php +++ b/resources/lang/ur-PK/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Depreciation Name', 'number_of_months' => 'Number of Months', 'update' => 'Update Depreciation', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/ur-PK/admin/hardware/general.php b/resources/lang/ur-PK/admin/hardware/general.php index c5e5a483a..80a2c14e5 100644 --- a/resources/lang/ur-PK/admin/hardware/general.php +++ b/resources/lang/ur-PK/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Checkout Asset', 'clone' => 'Clone Asset', 'deployable' => 'Deployable', - 'deleted' => 'This asset has been deleted. Click here to restore it.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Edit Asset', - 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.
    Click here to restore the model.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Requestable', 'requested' => 'Requested', 'restore' => 'Restore Asset', diff --git a/resources/lang/ur-PK/admin/models/general.php b/resources/lang/ur-PK/admin/models/general.php index 6b3893234..046fd562e 100644 --- a/resources/lang/ur-PK/admin/models/general.php +++ b/resources/lang/ur-PK/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'About Asset Models', 'about_models_text' => 'Asset Models are a way to group identical assets. "MBP 2013", "IPhone 6s", etc.', - 'deleted' => 'This model has been deleted. Click here to restore it.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Bulk Delete Asset Models', 'bulk_delete_help' => 'Use the checkboxes below to confirm the deletion of the selected asset models. Asset models that have assets associated with them cannot be deleted until the assets are associated with a different model.', 'bulk_delete_warn' => 'You are about to delete :model_count asset models.', diff --git a/resources/lang/ur-PK/general.php b/resources/lang/ur-PK/general.php index 9bb3f84e4..c1931af8d 100644 --- a/resources/lang/ur-PK/general.php +++ b/resources/lang/ur-PK/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Remove Company Association', 'reports' => 'Reports', 'restored' => 'restored', + 'restore' => 'Restore', 'requested' => 'Requested', 'request_canceled' => 'Request Canceled', 'save' => 'Save', diff --git a/resources/lang/vi/admin/depreciations/general.php b/resources/lang/vi/admin/depreciations/general.php index 8f3afd9b5..bd45ee262 100644 --- a/resources/lang/vi/admin/depreciations/general.php +++ b/resources/lang/vi/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Tên khấu hao', 'number_of_months' => 'Số lượng tháng', 'update' => 'Cập nhật khấu hao', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/vi/admin/hardware/general.php b/resources/lang/vi/admin/hardware/general.php index fe8b90f34..1db379cd8 100644 --- a/resources/lang/vi/admin/hardware/general.php +++ b/resources/lang/vi/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Tài sản thanh toán', 'clone' => 'Nhân đôi tài sản', 'deployable' => 'Cho phép cấp phát', - 'deleted' => 'Tài sản này đã bị xóa. Nhấn vào đây để phục hồi.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Sửa tài sản', - 'model_deleted' => 'Kiểu tài sản này đã bị xóa. Bạn phải phục hồi kiểu tài sản trước khi bạn phục hồi Tài sản.
    Nhấn vào đây để phục hồi kiểu tài sản.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Cho phép đề xuất', 'requested' => 'Yêu cầu', 'restore' => 'Phục hồi tài sản', diff --git a/resources/lang/vi/admin/models/general.php b/resources/lang/vi/admin/models/general.php index 15fabe32d..4c085343b 100644 --- a/resources/lang/vi/admin/models/general.php +++ b/resources/lang/vi/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'Giới thiệu về Mô hình Tài sản', 'about_models_text' => 'Mô hình Tài sản là một cách để nhóm các tài sản giống nhau. "MBP 2013", "IPhone 6", v.v ...', - 'deleted' => 'Model này đã bị xoá. Bấm vào đây để khôi phục lại.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Xóa hàng loạt Kiểu tài sản', 'bulk_delete_help' => 'Sử dụng hộp kiểm bên dưới để xác nhận việc sẽ xóa kiểu tài sản đã lựa chọn. Kiểu tài sản đó có liên kết với tài sản thì sẽ không thể xóa cho đến khi tài sản đó được chuyển đến kiểu tài sản khác.', 'bulk_delete_warn' => 'Bạn sắp xóa :model_count asset models.', diff --git a/resources/lang/vi/general.php b/resources/lang/vi/general.php index c8fbef223..736328c46 100644 --- a/resources/lang/vi/general.php +++ b/resources/lang/vi/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Xóa Hiệp hội Công ty', 'reports' => 'Các báo cáo', 'restored' => 'khôi phục', + 'restore' => 'Restore', 'requested' => 'Đã yêu cầu', 'request_canceled' => 'Yêu cầu Đã Hủy', 'save' => 'Lưu', diff --git a/resources/lang/zh-CN/admin/depreciations/general.php b/resources/lang/zh-CN/admin/depreciations/general.php index 62deac96a..96f2918cc 100644 --- a/resources/lang/zh-CN/admin/depreciations/general.php +++ b/resources/lang/zh-CN/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => '折旧名称', 'number_of_months' => '月数', 'update' => '更新折旧', + 'depreciation_min' => '最底折旧值' ]; diff --git a/resources/lang/zh-CN/admin/hardware/general.php b/resources/lang/zh-CN/admin/hardware/general.php index f90cdd3c1..4ed665959 100644 --- a/resources/lang/zh-CN/admin/hardware/general.php +++ b/resources/lang/zh-CN/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => '借出资产', 'clone' => '复制资产', 'deployable' => '可部署', - 'deleted' => '该资产已删除。 点击此处恢复.', + 'deleted' => 'This asset has been deleted.', 'edit' => '编辑资产', - 'model_deleted' => '这个资产模型将被删除,恢复资产之前需要先恢复模型。
    单击这里备份模型.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => '可申领', 'requested' => '已申请', 'restore' => '还原资产', diff --git a/resources/lang/zh-CN/admin/models/general.php b/resources/lang/zh-CN/admin/models/general.php index 165236383..0cce521bb 100644 --- a/resources/lang/zh-CN/admin/models/general.php +++ b/resources/lang/zh-CN/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => '关于资产型号', 'about_models_text' => '资产型号是将相同资产分组的一种方式。"MBP 2013"、"IPhone 6s"等。', - 'deleted' => '此型号已被删除。点击此处恢复。', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => '批量删除资产型号', 'bulk_delete_help' => '使用下面的复选框确认删除所选资产型号。若有与之关联的资产,该资产型号则不能删除,除非将关联资产关联到别的资产型号。', 'bulk_delete_warn' => '您即将删除:model_count资产型号。', diff --git a/resources/lang/zh-CN/general.php b/resources/lang/zh-CN/general.php index e89f07ed9..111d1488c 100644 --- a/resources/lang/zh-CN/general.php +++ b/resources/lang/zh-CN/general.php @@ -176,6 +176,7 @@ 'remove_company' => '移除公司关联', 'reports' => '报告', 'restored' => '恢复', + 'restore' => 'Restore', 'requested' => '已申请', 'request_canceled' => '取消请求', 'save' => '保存​​', diff --git a/resources/lang/zh-HK/admin/depreciations/general.php b/resources/lang/zh-HK/admin/depreciations/general.php index e21ef85f9..a5dec994c 100644 --- a/resources/lang/zh-HK/admin/depreciations/general.php +++ b/resources/lang/zh-HK/admin/depreciations/general.php @@ -1,12 +1,13 @@ '關於資產折舊', - 'about_depreciations' => '您可以設置資產折舊期限', - 'asset_depreciations' => '資產折舊', - 'create' => '新建折舊', - 'depreciation_name' => '折舊名稱', - 'number_of_months' => '月數', - 'update' => '更新折舊', +return array( + 'about_asset_depreciations' => 'About Asset Depreciations', + 'about_depreciations' => 'You can set up asset depreciations to depreciate assets based on straight-line depreciation.', + 'asset_depreciations' => 'Asset Depreciations', + 'create' => 'Create Depreciation', + 'depreciation_name' => 'Depreciation Name', + 'number_of_months' => 'Number of Months', + 'update' => 'Update Depreciation', + 'depreciation_min' => 'Minimum Value after Depreciation' -]; +); diff --git a/resources/lang/zh-HK/admin/hardware/general.php b/resources/lang/zh-HK/admin/hardware/general.php index c5e5a483a..80a2c14e5 100644 --- a/resources/lang/zh-HK/admin/hardware/general.php +++ b/resources/lang/zh-HK/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'Checkout Asset', 'clone' => 'Clone Asset', 'deployable' => 'Deployable', - 'deleted' => 'This asset has been deleted. Click here to restore it.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Edit Asset', - 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.
    Click here to restore the model.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Requestable', 'requested' => 'Requested', 'restore' => 'Restore Asset', diff --git a/resources/lang/zh-HK/admin/models/general.php b/resources/lang/zh-HK/admin/models/general.php index ae7a7a422..d2d77e0e8 100644 --- a/resources/lang/zh-HK/admin/models/general.php +++ b/resources/lang/zh-HK/admin/models/general.php @@ -1,18 +1,18 @@ '關於資產型號', - 'about_models_text' => '資產型號是將相同資產分組的一種方式,例如:"MBP 2013"、"iPhone 6s"... 等。', - 'deleted' => '此型號已被刪除。點擊此處恢復。', - 'bulk_delete' => '批次刪除資產型號', - 'bulk_delete_help' => '使用下面的核取方塊確認刪除選定的資產型號。不能刪除具有資產與之關聯的資產模型。', - 'bulk_delete_warn' => '您即將刪除資產型號 :model_count。', - 'restore' => '恢復型號', - 'requestable' => '使用者可申請此型號', - 'show_mac_address' => '在型號資產中顯示MAC地址', - 'view_deleted' => '檢視已刪除', - 'view_models' => '檢視型號', - 'fieldset' => '欄位集', - 'no_custom_field' => '沒有自訂欄位', - 'add_default_values' => '新增預設值', -]; +return array( + 'about_models_title' => 'About Asset Models', + 'about_models_text' => 'Asset Models are a way to group identical assets. "MBP 2013", "IPhone 6s", etc.', + 'deleted' => 'This model has been deleted.', + 'bulk_delete' => 'Bulk Delete Asset Models', + 'bulk_delete_help' => 'Use the checkboxes below to confirm the deletion of the selected asset models. Asset models that have assets associated with them cannot be deleted until the assets are associated with a different model.', + 'bulk_delete_warn' => 'You are about to delete :model_count asset models.', + 'restore' => 'Restore Model', + 'requestable' => 'Users may request this model', + 'show_mac_address' => 'Show MAC address field in assets in this model', + 'view_deleted' => 'View Deleted', + 'view_models' => 'View Models', + 'fieldset' => 'Fieldset', + 'no_custom_field' => 'No custom fields', + 'add_default_values' => 'Add default values', +); diff --git a/resources/lang/zh-HK/general.php b/resources/lang/zh-HK/general.php index 9bb3f84e4..c1931af8d 100644 --- a/resources/lang/zh-HK/general.php +++ b/resources/lang/zh-HK/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Remove Company Association', 'reports' => 'Reports', 'restored' => 'restored', + 'restore' => 'Restore', 'requested' => 'Requested', 'request_canceled' => 'Request Canceled', 'save' => 'Save', diff --git a/resources/lang/zh-TW/admin/depreciations/general.php b/resources/lang/zh-TW/admin/depreciations/general.php index e21ef85f9..8c5760727 100644 --- a/resources/lang/zh-TW/admin/depreciations/general.php +++ b/resources/lang/zh-TW/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => '折舊名稱', 'number_of_months' => '月數', 'update' => '更新折舊', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/zh-TW/admin/hardware/general.php b/resources/lang/zh-TW/admin/hardware/general.php index db1f57fc0..b82ed8b85 100644 --- a/resources/lang/zh-TW/admin/hardware/general.php +++ b/resources/lang/zh-TW/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => '借出資產', 'clone' => '複製資產', 'deployable' => '可部署', - 'deleted' => '此資產已刪除。點擊此處恢復.', + 'deleted' => 'This asset has been deleted.', 'edit' => '編輯資產', - 'model_deleted' => '此資產型號已被刪除,恢復資產前需要先恢復型號。
    點擊此處恢復型號。', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => '可申領', 'requested' => '已申領', 'restore' => '還原資產', diff --git a/resources/lang/zh-TW/admin/models/general.php b/resources/lang/zh-TW/admin/models/general.php index ae7a7a422..8932563bc 100644 --- a/resources/lang/zh-TW/admin/models/general.php +++ b/resources/lang/zh-TW/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => '關於資產型號', 'about_models_text' => '資產型號是將相同資產分組的一種方式,例如:"MBP 2013"、"iPhone 6s"... 等。', - 'deleted' => '此型號已被刪除。點擊此處恢復。', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => '批次刪除資產型號', 'bulk_delete_help' => '使用下面的核取方塊確認刪除選定的資產型號。不能刪除具有資產與之關聯的資產模型。', 'bulk_delete_warn' => '您即將刪除資產型號 :model_count。', diff --git a/resources/lang/zh-TW/general.php b/resources/lang/zh-TW/general.php index 042893247..8e69a4acb 100644 --- a/resources/lang/zh-TW/general.php +++ b/resources/lang/zh-TW/general.php @@ -176,6 +176,7 @@ 'remove_company' => '移除公司關聯', 'reports' => '報告', 'restored' => '還原', + 'restore' => 'Restore', 'requested' => '已申請', 'request_canceled' => '取消申請', 'save' => '儲存', diff --git a/resources/lang/zu/admin/depreciations/general.php b/resources/lang/zu/admin/depreciations/general.php index 99f5e909a..0e5806dcc 100644 --- a/resources/lang/zu/admin/depreciations/general.php +++ b/resources/lang/zu/admin/depreciations/general.php @@ -8,5 +8,6 @@ return [ 'depreciation_name' => 'Igama lokunciphisa', 'number_of_months' => 'Inani lezinyanga', 'update' => 'Buyekeza ukwehla kwenani', + 'depreciation_min' => 'Minimum Value after Depreciation' ]; diff --git a/resources/lang/zu/admin/hardware/general.php b/resources/lang/zu/admin/hardware/general.php index 9a49c9014..946d1c756 100644 --- a/resources/lang/zu/admin/hardware/general.php +++ b/resources/lang/zu/admin/hardware/general.php @@ -10,9 +10,9 @@ return [ 'checkout' => 'I-Asset ye-Checkout', 'clone' => 'Clone Asset', 'deployable' => 'Iyasebenza', - 'deleted' => 'Lefa isusiwe. Chofoza lapha ukuze ubuyiselwe.', + 'deleted' => 'This asset has been deleted.', 'edit' => 'Hlela Impahla', - 'model_deleted' => 'Le model ye-Assets isusiwe. Kumelwe ubuyisele imodeli ngaphambi kokuthi ubuyisele i-Asset.
    Chofoza lapha ukuze ubuyisele imodeli.', + 'model_deleted' => 'This Assets model has been deleted. You must restore the model before you can restore the Asset.', 'requestable' => 'Iyadingeka', 'requested' => 'Kuceliwe', 'restore' => 'Buyisela imali', diff --git a/resources/lang/zu/admin/models/general.php b/resources/lang/zu/admin/models/general.php index e217426f1..7c7941bfa 100644 --- a/resources/lang/zu/admin/models/general.php +++ b/resources/lang/zu/admin/models/general.php @@ -3,7 +3,7 @@ return [ 'about_models_title' => 'Mayelana namamodeli asefa', 'about_models_text' => 'Amamodeli asefa kuyindlela yokuqoqa amafa afanayo. "MBP 2013", "IPhone 6s", njll.', - 'deleted' => 'Le model isusiwe. Chofoza lapha ukuze ubuyiselwe.', + 'deleted' => 'This model has been deleted.', 'bulk_delete' => 'Bulk Delete Asset Models', 'bulk_delete_help' => 'Use the checkboxes below to confirm the deletion of the selected asset models. Asset models that have assets associated with them cannot be deleted until the assets are associated with a different model.', 'bulk_delete_warn' => 'You are about to delete :model_count asset models.', diff --git a/resources/lang/zu/general.php b/resources/lang/zu/general.php index 1e86c3340..572430783 100644 --- a/resources/lang/zu/general.php +++ b/resources/lang/zu/general.php @@ -176,6 +176,7 @@ 'remove_company' => 'Susa Inkampani Yenkampani', 'reports' => 'Imibiko', 'restored' => 'restored', + 'restore' => 'Restore', 'requested' => 'Kuceliwe', 'request_canceled' => 'Isicelo sikhanseliwe', 'save' => 'Londoloza', diff --git a/resources/views/account/profile.blade.php b/resources/views/account/profile.blade.php index 1ddba08a2..465034062 100755 --- a/resources/views/account/profile.blade.php +++ b/resources/views/account/profile.blade.php @@ -125,10 +125,10 @@ @if ($snipeSettings->two_factor_enabled=='1') -
    +
    @can('self.two_factor') -
    - @endif @@ -193,6 +197,20 @@
    + @if ($asset->deleted_at!='') +
    +
    + {{ trans('general.deleted') }} +
    +
    + {{ \App\Helpers\Helper::getFormattedDateObject($asset->deleted_at, 'date', false) }} + +
    +
    + @endif + + + @if ($asset->assetstatus)
    @@ -782,13 +800,22 @@ @if (($asset->image) || (($asset->model) && ($asset->model->image!=''))) -
    + @endif + @if ($asset->deleted_at!='') +
    +
    + @csrf + +
    +
    + @endif + @if ($snipeSettings->qr_code=='1') QR code for {{ $asset->getDisplayNameAttribute() }} @endif @@ -905,7 +932,8 @@ {{ $component->name }} {{ $component->pivot->assigned_qty }} - {{ $component->purchase_cost }} each + {{ Helper::formatCurrencyOutput($component->purchase_cost) }} each + purchase_cost *$component->pivot->assigned_qty) ?> @endif diff --git a/resources/views/layouts/default.blade.php b/resources/views/layouts/default.blade.php index ef065c3b7..ac0f297e7 100644 --- a/resources/views/layouts/default.blade.php +++ b/resources/views/layouts/default.blade.php @@ -109,14 +109,14 @@ @if ($snipeSettings->brand == '3') @elseif ($snipeSettings->brand == '2') @@ -355,10 +355,17 @@ @endcan
  • - - - {{ trans('general.logout') }} + + + {{ trans('general.logout') }} + {{ csrf_field() }} + + + +
  • @@ -831,7 +838,7 @@ -
    - diff --git a/resources/views/models/edit.blade.php b/resources/views/models/edit.blade.php index 9f8b22a24..436e42517 100755 --- a/resources/views/models/edit.blade.php +++ b/resources/views/models/edit.blade.php @@ -48,7 +48,7 @@ {{ Form::checkbox('image_delete', '1', old('image_delete'), array('class' => 'minimal', 'aria-label'=>'required')) }}
    - Image for {{ $item->name }} + Image for {{ $item->name }} {!! $errors->first('image_delete', '') !!}
    diff --git a/resources/views/models/index.blade.php b/resources/views/models/index.blade.php index b1c1dab87..16b2040a4 100755 --- a/resources/views/models/index.blade.php +++ b/resources/views/models/index.blade.php @@ -69,7 +69,7 @@ data-sort-order="asc" id="asssetModelsTable" class="table table-striped snipe-table" - data-url="{{ route('api.models.index') }}" + data-url="{{ route('api.models.index', ['status' => request('status')]) }}" data-export-options='{ "fileName": "export-models-{{ date('Y-m-d') }}", "ignoreColumn": ["actions","image","change","checkbox","checkincheckout","icon"] diff --git a/resources/views/partials/bootstrap-table.blade.php b/resources/views/partials/bootstrap-table.blade.php index 61ac230f6..6e69b9cc5 100644 --- a/resources/views/partials/bootstrap-table.blade.php +++ b/resources/views/partials/bootstrap-table.blade.php @@ -75,12 +75,17 @@ export: 'fa-download', clearSearch: 'fa-times' }, + exportOptions: { + htmlContent: true, + }, + exportTypes: ['csv', 'excel', 'doc', 'txt','json', 'xml', 'pdf'], onLoadSuccess: function () { $('[data-toggle="tooltip"]').tooltip(); // Needed to attach tooltips after ajax call } }); + }); @@ -95,25 +100,47 @@ } + // These methods dynamically add/remove hidden input values in the bulk actions form + $('.snipe-table').on('check.bs.table .btSelectItem', function (row, $element) { + $('#bulkEdit').removeAttr('disabled'); + $('#bulkEdit').prepend(''); + }); + + $('.snipe-table').on('uncheck.bs.table .btSelectItem', function (row, $element) { + $( "#checkbox_" + $element.id).remove(); + }); + + // Handle whether or not the edit button should be disabled - $('.snipe-table').on('check.bs.table', function () { - $('#bulkEdit').removeAttr('disabled'); - }); - - $('.snipe-table').on('check-all.bs.table', function () { - $('#bulkEdit').removeAttr('disabled'); - }); - $('.snipe-table').on('uncheck.bs.table', function () { if ($('.snipe-table').bootstrapTable('getSelections').length == 0) { $('#bulkEdit').attr('disabled', 'disabled'); } }); - $('.snipe-table').on('uncheck-all.bs.table', function (e, row) { + $('.snipe-table').on('uncheck-all.bs.table', function (event, rowsAfter, rowsBefore) { $('#bulkEdit').attr('disabled', 'disabled'); + //console.dir(rowsBefore); + + for (var i in rowsBefore) { + $( "#checkbox_" + rowsBefore[i].id).remove(); + } + }); + $('.snipe-table').on('check-all.bs.table', function (event, rowsAfter, rowsBefore) { + + $('#bulkEdit').removeAttr('disabled'); + //console.dir(rowsAfter); + + for (var i in rowsAfter) { + // console.log(rowsAfter[i].id); + $('#bulkEdit').prepend(''); + } + }); + + + // This only works for model index pages because it uses the row's model ID function genericRowLinkFormatter(destination) { return function (value,row) { @@ -209,7 +236,7 @@ } if ((row.available_actions) && (row.available_actions.update === true)) { - actions += 'Update '; + actions += '{{ trans('general.update') }} '; } if ((row.available_actions) && (row.available_actions.delete === true)) { @@ -224,7 +251,10 @@ } if ((row.available_actions) && (row.available_actions.restore === true)) { - actions += ' '; + actions += '
    '; + actions += '@csrf'; + actions += ' '; + actions += '{{ trans('general.restore') }}
     '; } actions +=''; @@ -333,7 +363,9 @@ // This is only used by the requestable assets section function assetRequestActionsFormatter (row, value) { - if (value.available_actions.cancel == true) { + if (value.assigned_to_self == true){ + return ''; + } else if (value.available_actions.cancel == true) { return '
    '; } else if (value.available_actions.request == true) { return '
    '; @@ -601,8 +633,8 @@ } if ("{{$snipeSettings->digit_separator}}" == "1.234,56") { // yank periods, change commas to periods - periodless = number.toString().replace("\.",""); - decimalfixed = periodless.replace(",","."); + periodless = number.toString().replace(/\./g,""); + decimalfixed = periodless.replace(/,/g,"."); } else { // yank commas, that's it. decimalfixed = number.toString().replace(",",""); diff --git a/resources/views/partials/forms/edit/permissions-base.blade.php b/resources/views/partials/forms/edit/permissions-base.blade.php index 00e7c601a..a3d95b2c5 100644 --- a/resources/views/partials/forms/edit/permissions-base.blade.php +++ b/resources/views/partials/forms/edit/permissions-base.blade.php @@ -19,22 +19,31 @@ @if (($localPermission['permission'] == 'superuser') && (!Auth::user()->isSuperUser())) {{ Form::radio('permission['.$localPermission['permission'].']', '1',$userPermissions[$localPermission['permission'] ] == '1',['disabled'=>"disabled", 'class'=>'minimal', 'aria-label'=> 'permission['.$localPermission['permission'].']']) }} + @elseif (($localPermission['permission'] == 'admin') && (!Auth::user()->hasAccess('admin'))) + {{ Form::radio('permission['.$localPermission['permission'].']', '1',$userPermissions[$localPermission['permission'] ] == '1',['disabled'=>"disabled", 'class'=>'minimal', 'aria-label'=> 'permission['.$localPermission['permission'].']']) }} @else {{ Form::radio('permission['.$localPermission['permission'].']', '1',$userPermissions[$localPermission['permission'] ] == '1',['value'=>"grant", 'class'=>'minimal', 'aria-label'=> 'permission['.$localPermission['permission'].']']) }} @endif + + @if (($localPermission['permission'] == 'superuser') && (!Auth::user()->isSuperUser())) {{ Form::radio('permission['.$localPermission['permission'].']', '-1',$userPermissions[$localPermission['permission'] ] == '-1',['disabled'=>"disabled", 'class'=>'minimal', 'aria-label'=> 'permission['.$localPermission['permission'].']']) }} + @elseif (($localPermission['permission'] == 'admin') && (!Auth::user()->hasAccess('admin'))) + {{ Form::radio('permission['.$localPermission['permission'].']', '-1',$userPermissions[$localPermission['permission'] ] == '-1',['disabled'=>"disabled", 'class'=>'minimal', 'aria-label'=> 'permission['.$localPermission['permission'].']']) }} @else {{ Form::radio('permission['.$localPermission['permission'].']', '-1',$userPermissions[$localPermission['permission'] ] == '-1',['value'=>"deny", 'class'=>'minimal', 'aria-label'=> 'permission['.$localPermission['permission'].']']) }} @endif - + @if (($localPermission['permission'] == 'superuser') && (!Auth::user()->isSuperUser())) {{ Form::radio('permission['.$localPermission['permission'].']','0',$userPermissions[$localPermission['permission'] ] == '0',['disabled'=>"disabled",'class'=>'minimal', 'aria-label'=> 'permission['.$localPermission['permission'].']'] ) }} + @elseif (($localPermission['permission'] == 'admin') && (!Auth::user()->hasAccess('admin'))) + {{ Form::radio('permission['.$localPermission['permission'].']','0',$userPermissions[$localPermission['permission'] ] == '0',['disabled'=>"disabled",'class'=>'minimal', 'aria-label'=> 'permission['.$localPermission['permission'].']'] ) }} @else {{ Form::radio('permission['.$localPermission['permission'].']','0',$userPermissions[$localPermission['permission'] ] == '0',['value'=>"inherit", 'class'=>'minimal', 'aria-label'=> 'permission['.$localPermission['permission'].']'] ) }} @endif diff --git a/resources/views/settings/backups.blade.php b/resources/views/settings/backups.blade.php index 78537bb92..2018fe121 100644 --- a/resources/views/settings/backups.blade.php +++ b/resources/views/settings/backups.blade.php @@ -7,7 +7,15 @@ @stop @section('header_right') - {{ trans('general.back') }} + + {{ trans('general.back') }} + + +
    + {{ Form::hidden('_token', csrf_token()) }} + +
    + @stop {{-- Page content --}} @@ -15,10 +23,16 @@
    -
    + +
    +
    + + +
    + - - - + + + + + + @foreach ($files as $file) @@ -43,52 +60,164 @@ {{ $file['filename'] }} - + + @endforeach
    FileCreatedSize
    FileCreatedSize {{ trans('general.delete') }}
    {{ date("M d, Y g:i A", $file['modified']) }} {{ $file['modified_display'] }} {{ $file['modified_value'] }} {{ $file['filesize'] }} @can('superadmin') + class="btn delete-asset btn-danger btn-sm {{ (config('app.lock_passwords')) ? ' disabled': '' }}" data-toggle="modal" href="{{ route('settings.backups.destroy', $file['filename']) }}" data-content="{{ trans('admin/settings/message.backup.delete_confirm') }}" data-title="{{ trans('general.delete') }} {{ e($file['filename']) }} ?" onClick="return false;"> {{ trans('general.delete') }} + + + + Restore + + @endcan
    +
    +
    +
    +
    + + +
    + +
    +
    +

    + + Upload Backup

    +
    +
    +
    + +
    + +

    Backup files on the server are stored in: {{ $path }}

    + + @if (config('app.lock_passwords')===true) +

    {{ trans('general.feature_disabled') }}

    + @else + + {{ Form::open([ + 'method' => 'POST', + 'route' => 'settings.backups.upload', + 'files' => true, + 'class' => 'form-horizontal' ]) }} + @csrf + + +
    +
    + + + + + +
    +
    + +
    +
    + +

    + +

    {{ trans_choice('general.filetypes_accepted_help', 1, ['size' => Helper::file_upload_max_size_readable(), 'types' => '.zip']) }}

    + {!! $errors->first('image', '') !!} + + +
    + +
    + + {{ Form::close() }} + @endif
    -
    -
    - -
    - -
    - {{ Form::hidden('_token', csrf_token()) }} - -

    - -

    - - @if (config('app.lock_passwords')) -

    {{ trans('general.feature_disabled') }}

    - @endif - - -
    -

    Backup files are located in: {{ $path }}

    - +
    +
    +

    + Restoring from Backup

    +
    +
    +
    +
    + +

    + Use the restore button to + restore from a previous backup. (This does not currently with with S3 file storage.)

    + +

    Your entire {{ config('app.name') }} database and any uploaded files will be completely replaced by what's in the backup file. +

    + +

    + You will be logged out once your restore is complete. +

    +

    + Very large backups may time out on the restore attempt and may still need to be run via command line. +

    + +
    + +
    +
    +
    +
    @stop @section('moar_scripts') + @include ('partials.bootstrap-table') + + + @stop diff --git a/resources/views/suppliers/view.blade.php b/resources/views/suppliers/view.blade.php index 5b5100ebf..17e3d85ed 100755 --- a/resources/views/suppliers/view.blade.php +++ b/resources/views/suppliers/view.blade.php @@ -191,7 +191,7 @@ {{ $improvement->start_date }} {{ $improvement->completion_date }} {{ $improvement->is_warranty ? trans('admin/asset_maintenances/message.warranty') : trans('admin/asset_maintenances/message.not_warranty') }} - {{ sprintf( $snipeSettings->default_currency. '%01.2f', $improvement->cost) }} + {{ $snipeSettings->default_currency. ' '. Helper::formatCurrencyOutput($improvement->cost) }} cost; ?> @@ -207,7 +207,7 @@ - {{sprintf($snipeSettings->default_currency . '%01.2f', $totalCost)}} + {{ $snipeSettings->default_currency . ' '.Helper::formatCurrencyOutput($totalCost) }} diff --git a/resources/views/users/bulk-edit.blade.php b/resources/views/users/bulk-edit.blade.php index 4916287dd..991c64702 100644 --- a/resources/views/users/bulk-edit.blade.php +++ b/resources/views/users/bulk-edit.blade.php @@ -73,7 +73,7 @@
    @@ -113,7 +113,7 @@ @endforeach
    - diff --git a/resources/views/users/edit.blade.php b/resources/views/users/edit.blade.php index 2d4904331..f19bb20e1 100755 --- a/resources/views/users/edit.blade.php +++ b/resources/views/users/edit.blade.php @@ -509,6 +509,10 @@ @if (!Auth::user()->isSuperUser())

    Only superadmins may grant a user superadmin access.

    @endif + + @if (!Auth::user()->hasAccess('admin')) +

    Only users with admins rights or greater may grant a user admin access.

    + @endif diff --git a/resources/views/users/view.blade.php b/resources/views/users/view.blade.php index 3dd8e179a..df3d96154 100755 --- a/resources/views/users/view.blade.php +++ b/resources/views/users/view.blade.php @@ -629,7 +629,7 @@ @endcan @@ -742,7 +742,7 @@
    -
    - {{ $license->purchase_cost }} + {{ Helper::formatCurrencyOutput($license->purchase_cost) }} {{ $license->purchase_order }} @@ -681,7 +681,7 @@
    {!!$accessory->present()->nameUrl()!!} - {!! $accessory->purchase_cost !!} + {!! Helper::formatCurrencyOutput($accessory->purchase_cost) !!} @can('checkin', $accessory) @@ -727,7 +727,7 @@
    {!! $consumable->present()->nameUrl() !!} - {!! $consumable->purchase_cost !!} + {!! Helper::formatCurrencyOutput($consumable->purchase_cost) !!} {{ $consumable->created_at }}
    +
    @@ -820,7 +820,7 @@
    -
    {{ trans('general.notes') }}
    +
    diff --git a/routes/web.php b/routes/web.php index 96f638f28..a17c51151 100644 --- a/routes/web.php +++ b/routes/web.php @@ -189,6 +189,14 @@ Route::group(['prefix' => 'admin', 'middleware' => ['auth', 'authorize:superuser [SettingsController::class, 'postBackups'] )->name('settings.backups.create'); + Route::post('/restore/{filename}', + [SettingsController::class, 'postRestore'] + )->name('settings.backups.restore'); + + Route::post('/upload', + [SettingsController::class, 'postUploadBackup'] + )->name('settings.backups.upload'); + Route::get('/', [SettingsController::class, 'getBackups'])->name('settings.backups.index'); }); @@ -341,6 +349,7 @@ Route::get( [LoginController::class, 'legacyAuthRedirect'] ); + /* |-------------------------------------------------------------------------- | Setup Routes @@ -360,6 +369,7 @@ Route::group(['prefix' => 'setup', 'middleware' => 'web'], function () { [SettingsController::class, 'postSaveFirstAdmin'] )->name('setup.user.save'); + Route::get( 'migrate', [SettingsController::class, 'getSetupMigrate'] diff --git a/routes/web/components.php b/routes/web/components.php index 2cff63e65..e0cb04d05 100644 --- a/routes/web/components.php +++ b/routes/web/components.php @@ -23,7 +23,7 @@ Route::group(['prefix' => 'components', 'middleware' => ['auth']], function () { Route::post( '{componentID}/checkin/{backto?}', [Components\ComponentCheckinController::class, 'store'] - )->name('checkout/component'); + )->name('component.checkin.save'); }); diff --git a/routes/web/fields.php b/routes/web/fields.php index 50fd46efe..312138985 100644 --- a/routes/web/fields.php +++ b/routes/web/fields.php @@ -8,51 +8,39 @@ use Illuminate\Support\Facades\Route; * Custom Fields Routes */ -Route::group(['prefix' => 'fields', 'middleware' => ['auth']], function () { - Route::get( + +Route::group([ 'prefix' => 'fields','middleware' => ['auth'] ], function () { + + Route::post( 'required/{fieldset_id}/{field_id}', - [ - CustomFieldsetsController::class, - 'makeFieldRequired' - ] + [CustomFieldsetsController::class, 'makeFieldRequired'] )->name('fields.required'); - Route::get( + Route::post( 'optional/{fieldset_id}/{field_id}', - [ - CustomFieldsetsController::class, - 'makeFieldOptional' - ] + [CustomFieldsetsController::class, 'makeFieldOptional'] )->name('fields.optional'); - Route::get( + Route::post( '{field_id}/fieldset/{fieldset_id}/disassociate', - [ - CustomFieldsetsController::class, - 'deleteFieldFromFieldset' - ] + [CustomFieldsController::class, 'deleteFieldFromFieldset'] )->name('fields.disassociate'); Route::post( 'fieldsets/{id}/associate', - [ - CustomFieldsetsController::class, - 'associate' - ] + [CustomFieldsController::class, 'associate'] )->name('fieldsets.associate'); Route::resource('fieldsets', CustomFieldsetsController::class, [ - 'parameters' => ['fieldset' => 'field_id', 'field' => 'field_id'], - ]); + 'parameters' => ['fieldset' => 'field_id', 'field' => 'field_id'] + ]); }); - Route::resource('fields', CustomFieldsController::class, [ - 'parameters' => ['field' => 'field_id'], + 'middleware' => ['auth'], + 'parameters' => ['field' => 'field_id', 'fieldset' => 'fieldset_id'], ]); - - diff --git a/routes/web/models.php b/routes/web/models.php index e1acd9bad..591edb9f2 100644 --- a/routes/web/models.php +++ b/routes/web/models.php @@ -33,7 +33,7 @@ Route::group(['prefix' => 'models', 'middleware' => ['auth']], function () { ] )->name('view/model'); - Route::get( + Route::post( '{modelID}/restore', [ AssetModelsController::class, diff --git a/routes/web/users.php b/routes/web/users.php index af856d725..bc6cd32c6 100644 --- a/routes/web/users.php +++ b/routes/web/users.php @@ -1,9 +1,50 @@ name('restore/user'); + + Route::get( + '{userId}/unsuspend', + [ + Users\UsersController::class, + 'getUnsuspend' + ] + )->name('unsuspend/user'); + + Route::post( + '{userId}/upload', + [ + Users\UserFilesController::class, + 'store' + ] + )->name('upload/user'); + + Route::delete( + '{userId}/deletefile/{fileId}', + [ + Users\UserFilesController::class, + 'destroy' + ] + )->name('userfile.destroy'); + Route::group(['prefix' => 'users', 'middleware' => ['auth']], function () { diff --git a/upgrade.php b/upgrade.php index e5d00aea2..09937e6c2 100644 --- a/upgrade.php +++ b/upgrade.php @@ -178,7 +178,7 @@ echo "--------------------------------------------------------\n\n"; // can cause issues with funky caching $unused_files = [ "bootstrap/cache/compiled.php", - "bootsrap/cache/services.php", + "bootstrap/cache/services.php", "bootstrap/cache/config.php", ];
    {{ trans('general.name') }}