mirror of
https://github.com/snipe/snipe-it.git
synced 2024-11-14 09:34:10 -08:00
bb874012d9
Working mail from notification. Still requires testing/cleaning Add tests around checkout notification. This also removes the ability to check out an asset to a location|asset that requires acceptance/a Eula. For 4.1 we may think about how to support such a thing, but at present it seems to make sense to only alow such assets to be checked out to users, who can be responsible for the items.
116 lines
3.8 KiB
PHP
116 lines
3.8 KiB
PHP
<?php
|
|
|
|
use App\Models\Asset;
|
|
use App\Models\AssetModel;
|
|
use App\Models\Category;
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Model Factories
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Factories related exclusively to modelling assets.
|
|
|
|
|
*/
|
|
|
|
$factory->define(Asset::class, function (Faker\Generator $faker) {
|
|
return [
|
|
'name' => $faker->catchPhrase,
|
|
'model_id' => function () {
|
|
return factory(App\Models\AssetModel::class)->create()->id;
|
|
},
|
|
'rtd_location_id' => function () {
|
|
return factory(App\Models\Location::class)->create()->id;
|
|
},
|
|
'serial' => $faker->uuid,
|
|
'status_id' => function () {
|
|
return factory(App\Models\Statuslabel::class)->states('rtd')->create()->id;
|
|
},
|
|
'user_id' => function () {
|
|
return factory(App\Models\User::class)->create()->id;
|
|
},
|
|
'asset_tag' => $faker->unixTime('now'),
|
|
'notes' => $faker->sentence,
|
|
'purchase_date' => $faker->dateTime(),
|
|
'purchase_cost' => $faker->randomFloat(2),
|
|
'order_number' => $faker->numberBetween(1000000, 50000000),
|
|
'supplier_id' => function () {
|
|
return factory(App\Models\Supplier::class)->create()->id;
|
|
},
|
|
'company_id' => function () {
|
|
return factory(App\Models\Company::class)->create()->id;
|
|
},
|
|
'requestable' => $faker->boolean()
|
|
];
|
|
});
|
|
|
|
$factory->state(Asset::class, 'deleted', function ($faker) {
|
|
return [
|
|
'deleted_at' => $faker->dateTime(),
|
|
];
|
|
});
|
|
|
|
$factory->state(Asset::class, 'assigned-to-user', function ($faker) {
|
|
return [
|
|
'assigned_to' => factory(App\Models\User::class)->create()->id,
|
|
'assigned_type' => App\Models\User::class,
|
|
];
|
|
});
|
|
|
|
$factory->state(Asset::class, 'assigned-to-location', function ($faker) {
|
|
return [
|
|
'assigned_to' => factory(App\Models\Location::class)->create()->id,
|
|
'assigned_type' => App\Models\Location::class,
|
|
];
|
|
});
|
|
|
|
$factory->state(Asset::class, 'assigned-to-asset', function ($faker) {
|
|
return [
|
|
'assigned_to' => factory(App\Models\Asset::class)->create()->id,
|
|
'assigned_type' => App\Models\Asset::class,
|
|
];
|
|
});
|
|
|
|
$factory->state(Asset::class, 'requires-acceptance', function ($faker) {
|
|
$cat = factory(Category::class)->states('asset-category', 'requires-acceptance')->create();
|
|
$model = factory(AssetModel::class)->create(['category_id' => $cat->id]);
|
|
return [
|
|
'model_id' => $model->id
|
|
];
|
|
});
|
|
|
|
$factory->define(App\Models\AssetModel::class, function (Faker\Generator $faker) {
|
|
return [
|
|
'name' => $faker->catchPhrase,
|
|
'manufacturer_id' => function () {
|
|
return factory(App\Models\Manufacturer::class)->create()->id;
|
|
},
|
|
'category_id' => function () {
|
|
return factory(App\Models\Category::class)->states('asset-category')->create()->id;
|
|
},
|
|
'model_number' => $faker->numberBetween(1000000, 50000000),
|
|
'eol' => 1,
|
|
'notes' => $faker->paragraph(),
|
|
'requestable' => $faker->boolean(),
|
|
'depreciation_id' => function () {
|
|
return factory(App\Models\Depreciation::class)->create()->id;
|
|
},
|
|
];
|
|
});
|
|
|
|
$factory->define(App\Models\AssetMaintenance::class, function (Faker\Generator $faker) {
|
|
return [
|
|
'asset_id' => function () {
|
|
return factory(App\Models\Asset::class)->create()->id;
|
|
},
|
|
'supplier_id' => function () {
|
|
return factory(App\Models\Supplier::class)->create()->id;
|
|
},
|
|
'asset_maintenance_type' => $faker->randomElement(['maintenance', 'repair', 'upgrade']),
|
|
'title' => $faker->sentence,
|
|
'start_date' => $faker->date(),
|
|
'is_warranty' => $faker->boolean(),
|
|
'notes' => $faker->paragraph(),
|
|
];
|
|
});
|