Merge remote-tracking branch 'remotes/upstream/develop' into develop

This commit is contained in:
Minaev Dmitriy
2018-10-19 19:00:53 +03:00
1265 changed files with 62531 additions and 326825 deletions
+4
View File
@@ -21,6 +21,7 @@ $factory->state(App\Models\Accessory::class, 'apple-bt-keyboard', function ($fak
return [
'name' => 'Bluetooth Keyboard',
'image' => 'bluetooth.jpg',
'category_id' => 8,
'manufacturer_id' => 1,
'qty' => 10,
@@ -34,6 +35,7 @@ $factory->state(App\Models\Accessory::class, 'apple-usb-keyboard', function ($fa
return [
'name' => 'USB Keyboard',
'image' => 'usb-keyboard.jpg',
'category_id' => 8,
'manufacturer_id' => 1,
'qty' => 15,
@@ -47,6 +49,7 @@ $factory->state(App\Models\Accessory::class, 'apple-mouse', function ($faker) {
return [
'name' => 'Magic Mouse',
'image' => 'magic-mouse.jpg',
'category_id' => 9,
'manufacturer_id' => 1,
'qty' => 13,
@@ -60,6 +63,7 @@ $factory->state(App\Models\Accessory::class, 'microsoft-mouse', function ($faker
return [
'name' => 'Sculpt Comfort Mouse',
'image' => 'comfort-mouse.jpg',
'category_id' => 9,
'manufacturer_id' => 2,
'qty' => 13,
+12
View File
@@ -33,6 +33,7 @@ $factory->state(App\Models\AssetModel::class, 'mbp-13-model', function ($faker)
'eol' => '36',
'depreciation_id' => 1,
'image' => 'mbp.jpg',
'fieldset_id' => 2,
];
});
@@ -45,6 +46,7 @@ $factory->state(App\Models\AssetModel::class, 'mbp-air-model', function ($faker)
'eol' => '36',
'depreciation_id' => 1,
'image' => 'macbookair.jpg',
'fieldset_id' => 2,
];
});
@@ -57,6 +59,7 @@ $factory->state(App\Models\AssetModel::class, 'surface-model', function ($faker)
'eol' => '36',
'depreciation_id' => 1,
'image' => 'surface.jpg',
'fieldset_id' => 2,
];
});
@@ -69,6 +72,7 @@ $factory->state(App\Models\AssetModel::class, 'xps13-model', function ($faker) {
'eol' => '36',
'depreciation_id' => 1,
'image' => 'xps.jpg',
'fieldset_id' => 2,
];
});
@@ -81,6 +85,7 @@ $factory->state(App\Models\AssetModel::class, 'zenbook-model', function ($faker)
'eol' => '36',
'depreciation_id' => 1,
'image' => 'zenbook.jpg',
'fieldset_id' => 2,
];
});
@@ -93,6 +98,7 @@ $factory->state(App\Models\AssetModel::class, 'spectre-model', function ($faker)
'eol' => '36',
'depreciation_id' => 1,
'image' => 'spectre.jpg',
'fieldset_id' => 2,
];
});
@@ -105,6 +111,7 @@ $factory->state(App\Models\AssetModel::class, 'yoga-model', function ($faker) {
'eol' => '36',
'depreciation_id' => 1,
'image' => 'yoga.png',
'fieldset_id' => 2,
];
});
@@ -123,6 +130,7 @@ $factory->state(App\Models\AssetModel::class, 'macpro-model', function ($faker)
'eol' => '24',
'depreciation_id' => 1,
'image' => 'imacpro.jpg',
'fieldset_id' => 2,
];
});
@@ -134,6 +142,7 @@ $factory->state(App\Models\AssetModel::class, 'lenovo-i5-model', function ($fake
'eol' => '24',
'depreciation_id' => 1,
'image' => 'lenovoi5.png',
'fieldset_id' => 2,
];
});
@@ -146,6 +155,7 @@ $factory->state(App\Models\AssetModel::class, 'optiplex-model', function ($faker
'eol' => '24',
'depreciation_id' => 1,
'image' => 'optiplex.jpg',
'fieldset_id' => 2,
];
});
@@ -224,6 +234,7 @@ $factory->state(App\Models\AssetModel::class, 'iphone6s-model', function ($faker
'eol' => '12',
'depreciation_id' => 3,
'image' => 'iphone6.jpg',
'fieldset_id' => 1,
];
});
@@ -235,6 +246,7 @@ $factory->state(App\Models\AssetModel::class, 'iphone7-model', function ($faker)
'eol' => '12',
'depreciation_id' => 1,
'image' => 'iphone7.jpg',
'fieldset_id' => 1,
];
});
+34 -3
View File
@@ -9,9 +9,40 @@ $factory->define(App\Models\CustomField::class, function (Faker\Generator $faker
];
});
$factory->define(App\Models\CustomFieldset::class, function (Faker\Generator $faker) {
$factory->state(App\Models\CustomField::class, 'imei', function ($faker) {
return [
'name' => $faker->catchPhrase,
'user_id' => Auth::id()
'name' => 'IMEI',
'help_text' => 'The IMEI number for this device.',
'format' => 'regex:/^[0-9]{15}$/',
];
});
$factory->state(App\Models\CustomField::class, 'phone', function ($faker) {
return [
'name' => 'Phone Number',
'help_text' => 'Enter the phone number for this device.',
];
});
$factory->state(App\Models\CustomField::class, 'ram', function ($faker) {
return [
'name' => 'RAM',
'help_text' => 'The amount of RAM this device has.',
];
});
$factory->state(App\Models\CustomField::class, 'cpu', function ($faker) {
return [
'name' => 'CPU',
'help_text' => 'The speed of the processor on this device.',
];
});
$factory->state(App\Models\CustomField::class, 'mac-address', function ($faker) {
return [
'name' => 'MAC Address',
'format' => 'regex:/^([0-9a-fA-F]{2}[:-]){5}[0-9a-fA-F]{2}$/',
];
});
@@ -0,0 +1,23 @@
<?php
$factory->define(App\Models\CustomFieldset::class, function (Faker\Generator $faker) {
return [
'name' => $faker->catchPhrase,
];
});
$factory->state(App\Models\CustomFieldset::class, 'mobile', function ($faker) {
return [
'name' => 'Mobile Devices',
];
});
$factory->state(App\Models\CustomFieldset::class, 'computer', function ($faker) {
return [
'name' => 'Laptops and Desktops',
];
});
@@ -0,0 +1,41 @@
<?php
use Illuminate\Support\Facades\Schema;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Database\Migrations\Migration;
class CreateCheckoutAcceptancesTable extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::create('checkout_acceptances', function (Blueprint $table) {
$table->increments('id');
$table->morphs('checkoutable');
$table->integer('assigned_to_id')->unsigned();
$table->string('signature_filename')->nullable();
$table->timestamp('accepted_at')->nullable();
$table->timestamp('declined_at')->nullable();
$table->timestamps();
$table->softDeletes();
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::dropIfExists('checkout_acceptances');
}
}
@@ -0,0 +1,43 @@
<?php
use App\Models\Actionlog;
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;
class CreateCheckoutAcceptancesForUnacceptedAssets extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
// Get all assets not accepted
$assets = DB::table('assets')->where('assigned_type', 'App\Models\User')->where('accepted', 'pending')->get();
$acceptances = [];
foreach($assets as $asset) {
$acceptances[] = [
'checkoutable_type' => 'App\Models\Asset',
'checkoutable_id' => $asset->id,
'assigned_to_id' => $asset->assigned_to,
];
}
DB::table('checkout_acceptances')->insert($acceptances);
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
//
}
}
+26
View File
@@ -13,5 +13,31 @@ class AccessorySeeder extends Seeder
factory(Accessory::class, 1)->states('apple-bt-keyboard')->create();
factory(Accessory::class, 1)->states('apple-mouse')->create();
factory(Accessory::class, 1)->states('microsoft-mouse')->create();
$src = public_path('/img/demo/accessories/');
$dst = 'accessories'.'/';
$del_files = Storage::files($dst);
foreach($del_files as $del_file){ // iterate files
$file_to_delete = str_replace($src,'',$del_file);
\Log::debug('Deleting: '.$file_to_delete);
try {
Storage::disk('public')->delete($dst.$del_file);
} catch (\Exception $e) {
\Log::debug($e);
}
}
$add_files = glob($src."/*.*");
foreach($add_files as $add_file){
$file_to_copy = str_replace($src,'',$add_file);
\Log::debug('Copying: '.$file_to_copy);
try {
Storage::disk('public')->put($dst.$file_to_copy, file_get_contents($src.$file_to_copy));
} catch (\Exception $e) {
\Log::debug($e);
}
}
}
}
+18 -8
View File
@@ -2,6 +2,7 @@
use Illuminate\Database\Seeder;
use App\Models\AssetModel;
use Illuminate\Support\Facades\Storage;
class AssetModelSeeder extends Seeder
{
@@ -39,21 +40,30 @@ class AssetModelSeeder extends Seeder
factory(AssetModel::class, 1)->states('ultrafine')->create(); // 17
factory(AssetModel::class, 1)->states('ultrasharp')->create(); // 18
$src = public_path('/img/demo/models');
$dst = public_path('/uploads/models');
$del_files = glob($dst."/*.*");
$src = public_path('/img/demo/models/');
$dst = 'assetmodels'.'/';
$del_files = Storage::files($dst);
foreach($del_files as $del_file){ // iterate files
if(is_file($del_file))
unlink($del_file); // delete file
$file_to_delete = str_replace($src,'',$del_file);
\Log::debug('Deleting: '.$file_to_delete);
try {
Storage::disk('public')->delete($dst.$del_file);
} catch (\Exception $e) {
\Log::debug($e);
}
}
$add_files = glob($src."/*.*");
foreach($add_files as $add_file){
$file_to_copy = str_replace($src,$dst,$add_file);
copy($add_file, $file_to_copy);
$file_to_copy = str_replace($src,'',$add_file);
\Log::debug('Copying: '.$file_to_copy);
try {
Storage::disk('public')->put($dst.$file_to_copy, file_get_contents($src.$file_to_copy));
} catch (\Exception $e) {
\Log::debug($e);
}
}
+8 -7
View File
@@ -1,7 +1,7 @@
<?php
use Illuminate\Database\Seeder;
use App\Models\Asset;
use Illuminate\Support\Facades\Storage;
class AssetSeeder extends Seeder
{
@@ -35,13 +35,14 @@ class AssetSeeder extends Seeder
factory(Asset::class, 10)->states('ultrasharp')->create();
$dst = public_path('/uploads/assets');
$del_files = glob($dst."/*.*");
$del_files = Storage::files('companies');
foreach($del_files as $del_file){ // iterate files
if(is_file($del_file))
unlink($del_file); // delete file
\Log::debug('Deleting: '.$del_files);
try {
Storage::disk('public')->delete('assets'.'/'.$del_files);
} catch (\Exception $e) {
\Log::debug($e);
}
}
DB::table('checkout_requests')->truncate();
+19 -8
View File
@@ -12,26 +12,37 @@ class CompanySeeder extends Seeder
*/
public function run()
{
//
\Log::debug('Seed companies');
Company::truncate();
factory(Company::class, 4)->create();
$src = public_path('/img/demo/companies');
$dst = public_path('/uploads/companies');
$del_files = glob($dst."/*.*");
$src = public_path('/img/demo/companies/');
$dst = 'companies'.'/';
$del_files = Storage::files('companies/'.$dst);
foreach($del_files as $del_file){ // iterate files
if(is_file($del_file))
unlink($del_file); // delete file
$file_to_delete = str_replace($src,'',$del_file);
\Log::debug('Deleting: '.$file_to_delete);
try {
Storage::disk('public')->delete($dst.$del_file);
} catch (\Exception $e) {
\Log::debug($e);
}
}
$add_files = glob($src."/*.*");
foreach($add_files as $add_file){
$file_to_copy = str_replace($src,$dst,$add_file);
copy($add_file, $file_to_copy);
$file_to_copy = str_replace($src,'',$add_file);
\Log::debug('Copying: '.$file_to_copy);
try {
Storage::disk('public')->put($dst.$file_to_copy, file_get_contents($src.$file_to_copy));
} catch (\Exception $e) {
\Log::debug($e);
}
}
}
}
+35 -1
View File
@@ -24,7 +24,41 @@ class CustomFieldSeeder extends Seeder
CustomField::truncate();
CustomFieldset::truncate();
DB::table('custom_field_custom_fieldset')->truncate();
factory(CustomField::class, 4)->create();
factory(CustomFieldset::class, 1)->states('mobile')->create();
factory(CustomFieldset::class, 1)->states('computer')->create();
factory(CustomField::class, 1)->states('imei')->create();
factory(CustomField::class, 1)->states('phone')->create();
factory(CustomField::class, 1)->states('ram')->create();
factory(CustomField::class, 1)->states('cpu')->create();
factory(CustomField::class, 1)->states('mac-address')->create();
DB::table('custom_field_custom_fieldset')->insert([
[
'custom_field_id' => '1',
'custom_fieldset_id' => '1'
],
[
'custom_field_id' => '2',
'custom_fieldset_id' => '1'
],
[
'custom_field_id' => '3',
'custom_fieldset_id' => '2'
],
[
'custom_field_id' => '4',
'custom_fieldset_id' => '2'
],
[
'custom_field_id' => '5',
'custom_fieldset_id' => '2'
],
]);
}
}
+7 -4
View File
@@ -15,6 +15,12 @@ class DatabaseSeeder extends Seeder
{
Model::unguard();
// Only create default settings if they do not exist in the db.
if(!Setting::first()) {
// factory(Setting::class)->create();
$this->call(SettingsSeeder::class);
}
$this->call(CompanySeeder::class);
$this->call(CategorySeeder::class);
$this->call(UserSeeder::class);
@@ -34,10 +40,7 @@ class DatabaseSeeder extends Seeder
$this->call(ActionlogSeeder::class);
$this->call(CustomFieldSeeder::class);
// Only create default settings if they do not exist in the db.
if(!Setting::first()) {
factory(Setting::class)->create();
}
Artisan::call('snipeit:sync-asset-locations', ['--output' => 'all']);
$output = Artisan::output();
\Log::info($output);
+18 -9
View File
@@ -1,7 +1,7 @@
<?php
use Illuminate\Database\Seeder;
use App\Models\Location;
use Illuminate\Support\Facades\Storage;
class LocationSeeder extends Seeder
{
@@ -10,21 +10,30 @@ class LocationSeeder extends Seeder
Location::truncate();
factory(Location::class, 10)->create();
$src = public_path('/img/demo/locations');
$dst = public_path('/uploads/locations');
$del_files = glob($dst."/*.*");
$src = public_path('/img/demo/locations/');
$dst = 'locations'.'/';
$del_files = Storage::files($dst);
foreach($del_files as $del_file){ // iterate files
if(is_file($del_file))
unlink($del_file); // delete file
$file_to_delete = str_replace($src,'',$del_file);
\Log::debug('Deleting: '.$file_to_delete);
try {
Storage::disk('public')->delete($dst.$del_file);
} catch (\Exception $e) {
\Log::debug($e);
}
}
$add_files = glob($src."/*.*");
foreach($add_files as $add_file){
$file_to_copy = str_replace($src,$dst,$add_file);
copy($add_file, $file_to_copy);
$file_to_copy = str_replace($src,'',$add_file);
\Log::debug('Copying: '.$file_to_copy);
try {
Storage::disk('public')->put($dst.$file_to_copy, file_get_contents($src.$file_to_copy));
} catch (\Exception $e) {
\Log::debug($e);
}
}
}
+18 -8
View File
@@ -1,6 +1,7 @@
<?php
use Illuminate\Database\Seeder;
use App\Models\Manufacturer;
use Illuminate\Support\Facades\Storage;
class ManufacturerSeeder extends Seeder
{
@@ -19,21 +20,30 @@ class ManufacturerSeeder extends Seeder
factory(Manufacturer::class, 1)->states('avery')->create(); // 10
factory(Manufacturer::class, 1)->states('crucial')->create(); // 10
$src = public_path('/img/demo/manufacturers');
$dst = public_path('/uploads/manufacturers');
$del_files = glob($dst."/*.*");
$src = public_path('/img/demo/manufacturers/');
$dst = 'manufacturers'.'/';
$del_files = Storage::files($dst);
foreach($del_files as $del_file){ // iterate files
if(is_file($del_file))
unlink($del_file); // delete file
$file_to_delete = str_replace($src,'',$del_file);
\Log::debug('Deleting: '.$file_to_delete);
try {
Storage::disk('public')->delete($dst.$del_file);
} catch (\Exception $e) {
\Log::debug($e);
}
}
$add_files = glob($src."/*.*");
foreach($add_files as $add_file){
$file_to_copy = str_replace($src,$dst,$add_file);
copy($add_file, $file_to_copy);
$file_to_copy = str_replace($src,'',$add_file);
\Log::debug('Copying: '.$file_to_copy);
try {
Storage::disk('public')->put($dst.$file_to_copy, file_get_contents($src.$file_to_copy));
} catch (\Exception $e) {
\Log::debug($e);
}
}
+43
View File
@@ -0,0 +1,43 @@
<?php
use Illuminate\Database\Seeder;
use App\Models\Setting;
use App\Models\User;
class SettingsSeeder extends Seeder
{
public function run()
{
Setting::truncate();
$settings = new Setting;
$settings->per_page = 20;
$settings->site_name = 'Snipe-IT Demo';
$settings->auto_increment_assets = 1;
$settings->logo = 'logo.png';
$settings->alert_email = 'service@snipe-it.io';
$settings->header_color = null;
$settings->barcode_type = 'QRCODE';
$settings->default_currency = 'USD';
$settings->brand = 3;
$settings->ldap_enabled = 0;
$settings->full_multiple_companies_support = 0;
$settings->alt_barcode = 'C128';
$settings->skin = '';
$settings->email_domain = 'example.org';
$settings->email_format = 'filastname';
$settings->username_format = 'filastname';
$settings->date_display_format = 'D M d, Y';
$settings->time_display_format = 'g:iA';
$settings->thumbnail_max_h = '30';
$settings->locale = 'en';
$settings->version_footer = 'on';
$settings->support_footer = 'on';
$settings->pwd_secure_min = '542321';
$settings->save();
if ($user = User::where('username', '=', 'admin')->first()) {
$user->locale = 'en';
$user->save();
}
}
}
-17
View File
@@ -9,22 +9,5 @@ class SupplierSeeder extends Seeder
Supplier::truncate();
factory(Supplier::class, 5)->create();
$src = public_path('/img/demo/suppliers');
$dst = public_path('/uploads/suppliers');
$del_files = glob($dst."/*.*");
foreach($del_files as $del_file){ // iterate files
if(is_file($del_file))
unlink($del_file); // delete file
}
$add_files = glob($src."/*.*");
foreach($add_files as $add_file){
$file_to_copy = str_replace($src,$dst,$add_file);
copy($add_file, $file_to_copy);
}
}
}