mirror of
https://github.com/snipe/snipe-it.git
synced 2025-01-11 05:47:28 -08:00
Importer: Add License Importer and refactor (#3143)
* Major code simplification of the importers. Move towards using Model::fill and Model::update rather than reinventing the wheel. This makes the updating/creating logic a lot clearer, and allows for the deletion of a lot of code. Also allows for supporting of more fields in the future really easily. * Cleanup constructors and use setters instead. * Set the LC_MONETARY locale, and use it to strip currency symbols in Helper::parseFloat() * Move licenseseat creation/deletion logic into an event handler on the model rather than the controller. * Move the logging of parsed values to array_smart_fetch rather than writing it out everywhere * Move to storing dates as carbon rather than strings. Allows for the parsing of more arbitrary strings from the importer * Add a license importer with support for checking out to users or assets. * Make a directory for sample/mock import csvs and populate it * Adjust how we store/retrieve dates to fix some issues the tests found.
This commit is contained in:
parent
57d2b88900
commit
44683c784f
|
@ -70,16 +70,13 @@ class ObjectImportCommand extends Command
|
|||
$filename = $this->argument('filename');
|
||||
$class = title_case($this->option('item-type'));
|
||||
$classString = "App\\Importer\\{$class}Importer";
|
||||
$importer = new $classString(
|
||||
$filename,
|
||||
[$this, 'log'],
|
||||
[$this, 'progress'],
|
||||
[$this, 'errorCallback'],
|
||||
$this->option('testrun'),
|
||||
$this->option('user_id'),
|
||||
$this->option('update'),
|
||||
$this->option('username_format')
|
||||
);
|
||||
$importer = new $classString($filename);
|
||||
$importer->setCallbacks([$this, 'log'], [$this, 'progress'], [$this, 'errorCallback'])
|
||||
->setTestRun($this->option('testrun'))
|
||||
->setUserId($this->option('user_id'))
|
||||
->setUpdating($this->option('update'))
|
||||
->setUsernameFormat($this->option('username_format'));
|
||||
|
||||
$logFile = $this->option('logfile');
|
||||
\Log::useFiles($logFile);
|
||||
if ($this->option('testrun')) {
|
||||
|
|
|
@ -124,6 +124,8 @@ class Helper
|
|||
$LocaleInfo = localeconv();
|
||||
$floatString = str_replace(",", "", $floatString);
|
||||
$floatString = str_replace($LocaleInfo["decimal_point"], ".", $floatString);
|
||||
// Strip Currency symbol
|
||||
$floatString = str_replace($LocaleInfo['currency_symbol'], '', $floatString);
|
||||
return floatval($floatString);
|
||||
}
|
||||
|
||||
|
|
|
@ -116,19 +116,7 @@ class LicensesController extends Controller
|
|||
// Was the license created?
|
||||
if ($license->save()) {
|
||||
$license->logCreate();
|
||||
$insertedId = $license->id;
|
||||
// Save the license seat data
|
||||
DB::transaction(function () use (&$insertedId, &$license) {
|
||||
for ($x=0; $x<$license->seats; $x++) {
|
||||
$license_seat = new LicenseSeat();
|
||||
$license_seat->license_id = $insertedId;
|
||||
$license_seat->user_id = Auth::id();
|
||||
$license_seat->assigned_to = null;
|
||||
$license_seat->notes = null;
|
||||
$license_seat->save();
|
||||
}
|
||||
});
|
||||
// Redirect to the new license page
|
||||
return redirect()->route("licenses.index")->with('success', trans('admin/licenses/message.create.success'));
|
||||
}
|
||||
return redirect()->back()->withInput()->withErrors($license->getErrors());
|
||||
|
@ -201,70 +189,16 @@ class LicensesController extends Controller
|
|||
$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');
|
||||
$license->reassignable = $request->input('reassignable', 0);
|
||||
$license->serial = $request->input('serial');
|
||||
$license->termination_date = $request->input('termination_date');
|
||||
|
||||
//Are we changing the total number of seats?
|
||||
if ($license->seats != $request->input('seats')) {
|
||||
//Determine how many seats we are dealing with
|
||||
$difference = $request->input('seats') - $license->licenseseats()->count();
|
||||
|
||||
if ($difference < 0) {
|
||||
//Filter out any license which have a user attached;
|
||||
$seats = $license->licenseseats->filter(function ($seat) {
|
||||
return is_null($seat->user);
|
||||
});
|
||||
|
||||
//If the remaining collection is as large or larger than the number of seats we want to delete
|
||||
if ($seats->count() >= abs($difference)) {
|
||||
for ($i=1; $i <= abs($difference); $i++) {
|
||||
//Delete the appropriate number of seats
|
||||
$seats->pop()->delete();
|
||||
}
|
||||
|
||||
//Log the deletion of seats to the log
|
||||
$logAction = new Actionlog();
|
||||
$logAction->item_type = License::class;
|
||||
$logAction->item_id = $license->id;
|
||||
$logAction->user_id = Auth::user()->id;
|
||||
$logAction->note = '-'.abs($difference)." seats";
|
||||
$logAction->target_id = null;
|
||||
$logAction->logaction('delete seats');
|
||||
} else {
|
||||
// Redirect to the license edit page
|
||||
return redirect()->to("admin/licenses/$licenseId/edit")->with('error', trans('admin/licenses/message.assoc_users'));
|
||||
}
|
||||
} else {
|
||||
|
||||
for ($i=1; $i <= $difference; $i++) {
|
||||
//Create a seat for this license
|
||||
$license_seat = new LicenseSeat();
|
||||
$license_seat->license_id = $license->id;
|
||||
$license_seat->user_id = Auth::user()->id;
|
||||
$license_seat->assigned_to = null;
|
||||
$license_seat->notes = null;
|
||||
$license_seat->save();
|
||||
}
|
||||
|
||||
//Log the addition of license to the log.
|
||||
$logAction = new Actionlog();
|
||||
$logAction->item_type = License::class;
|
||||
$logAction->item_id = $license->id;
|
||||
$logAction->user_id = Auth::user()->id;
|
||||
$logAction->note = '+'.abs($difference)." seats";
|
||||
$logAction->target_id = null;
|
||||
$logAction->logaction('add seats');
|
||||
}
|
||||
$license->seats = e($request->input('seats'));
|
||||
}
|
||||
$license->seats = e($request->input('seats'));
|
||||
|
||||
if ($license->save()) {
|
||||
return redirect()->route('licenses.show', ['license' => $licenseId])->with('success', trans('admin/licenses/message.update.success'));
|
||||
}
|
||||
return redirect()->to("admin/licenses/$licenseId/edit")->with('error', trans('admin/licenses/message.update.error'));
|
||||
// If we can't adjust the number of seats, the error is flashed to the session by the event handler in License.php
|
||||
return redirect()->back()->withInput()->withErrors($license->getErrors());
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -35,16 +35,11 @@ class ItemImportRequest extends FormRequest
|
|||
$filename = config('app.private_uploads') . '/imports/assets/' . $this->get('filename');
|
||||
$class = title_case($this->input('import-type'));
|
||||
$classString = "App\\Importer\\{$class}Importer";
|
||||
$importer = new $classString(
|
||||
$filename,
|
||||
[$this, 'log'],
|
||||
[$this, 'progress'],
|
||||
[$this, 'errorCallback'],
|
||||
false, /*testrun*/
|
||||
Auth::id(),
|
||||
$this->has('import-update'),
|
||||
'firstname.lastname'
|
||||
);
|
||||
$importer = new $classString($filename);
|
||||
$importer->setCallbacks([$this, 'log'], [$this, 'progress'], [$this, 'errorCallback'])
|
||||
->setUserId(Auth::id())
|
||||
->setUpdating($this->has('import-update'))
|
||||
->setUsernameFormat('firstname.lastname');
|
||||
|
||||
$importer->import();
|
||||
return $this->errors;
|
||||
|
|
|
@ -1,10 +1,4 @@
|
|||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: parallelgrapefruit
|
||||
* Date: 12/24/16
|
||||
* Time: 12:56 PM
|
||||
*/
|
||||
|
||||
namespace App\Importer;
|
||||
|
||||
|
@ -14,9 +8,9 @@ use App\Models\Accessory;
|
|||
class AccessoryImporter extends ItemImporter
|
||||
{
|
||||
protected $accessories;
|
||||
function __construct($filename, $logCallback, $progressCallback, $errorCallback, $testRun = false, $user_id = -1, $updating = false, $usernameFormat = null)
|
||||
public function __construct($filename)
|
||||
{
|
||||
parent::__construct($filename, $logCallback, $progressCallback, $errorCallback, $testRun, $user_id, $updating, $usernameFormat);
|
||||
parent::__construct($filename);
|
||||
$this->accessories = Accessory::all();
|
||||
}
|
||||
|
||||
|
@ -34,76 +28,36 @@ class AccessoryImporter extends ItemImporter
|
|||
*/
|
||||
public function createAccessoryIfNotExists()
|
||||
{
|
||||
$accessory = null;
|
||||
$editingAccessory = false;
|
||||
$this->log("Creating Accessory");
|
||||
$accessory = $this->accessories->search(function ($key) {
|
||||
return strcasecmp($key->name, $this->item['item_name']) == 0;
|
||||
$accessoryId = $this->accessories->search(function ($key) {
|
||||
return strcasecmp($key->name, $this->item['name']) == 0;
|
||||
});
|
||||
if ($accessory !== false) {
|
||||
$editingAccessory = true;
|
||||
if ($accessoryId !== false) {
|
||||
if (!$this->updating) {
|
||||
$this->log('A matching Accessory ' . $this->item["item_name"] . ' already exists. ');
|
||||
$this->log('A matching Accessory ' . $this->item["name"] . ' already exists. ');
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
$this->log("No Matching Accessory, Creating a new one");
|
||||
$accessory = new Accessory();
|
||||
}
|
||||
|
||||
if (!$editingAccessory) {
|
||||
$accessory->name = $this->item["item_name"];
|
||||
}
|
||||
|
||||
if (!empty($this->item["purchase_date"])) {
|
||||
$accessory->purchase_date = $this->item["purchase_date"];
|
||||
} else {
|
||||
$accessory->purchase_date = null;
|
||||
}
|
||||
if (!empty($this->item["purchase_cost"])) {
|
||||
$accessory->purchase_cost = Helper::ParseFloat($this->item["purchase_cost"]);
|
||||
}
|
||||
|
||||
if (isset($this->item["location"])) {
|
||||
$accessory->location_id = $this->item["location"]->id;
|
||||
}
|
||||
$accessory->user_id = $this->user_id;
|
||||
if (isset($this->item["company"])) {
|
||||
$accessory->company_id = $this->item["company"]->id;
|
||||
}
|
||||
if (!empty($this->item["order_number"])) {
|
||||
$accessory->order_number = $this->item["order_number"];
|
||||
}
|
||||
if (isset($this->item["category"])) {
|
||||
$accessory->category_id = $this->item["category"]->id;
|
||||
}
|
||||
|
||||
//TODO: Implement
|
||||
// $accessory->notes = e($item_notes);
|
||||
if (!empty($this->item["requestable"])) {
|
||||
$accessory->requestable = filter_var($this->item["requestable"], FILTER_VALIDATE_BOOLEAN);
|
||||
}
|
||||
|
||||
//Must have at least zero of the item if we import it.
|
||||
if (!empty($this->item["quantity"])) {
|
||||
if ($this->item["quantity"] > -1) {
|
||||
$accessory->qty = $this->item["quantity"];
|
||||
} else {
|
||||
$accessory->qty = 1;
|
||||
$this->log('Updating Accessory');
|
||||
$accessory = $this->accessories[$accessoryId];
|
||||
$accessory->update($this->sanitizeItemForUpdating($accessory));
|
||||
if (!$this->testRun) {
|
||||
$accessory->save();
|
||||
}
|
||||
return;
|
||||
}
|
||||
$this->log("No Matching Accessory, Creating a new one");
|
||||
$accessory = new Accessory();
|
||||
$accessory->fill($this->sanitizeItemForStoring($accessory));
|
||||
|
||||
if ($this->testRun) {
|
||||
$this->log('TEST RUN - Accessory ' . $this->item["name"] . ' not created');
|
||||
return;
|
||||
}
|
||||
|
||||
if (!$this->testRun) {
|
||||
if ($accessory->save()) {
|
||||
$accessory->logCreate('Imported using CSV Importer');
|
||||
$this->log('Accessory ' . $this->item["item_name"] . ' was created');
|
||||
// $this->comment('Accessory ' . $this->item["item_name"] . ' was created');
|
||||
|
||||
} else {
|
||||
$this->jsonError($accessory, 'Accessory', $accessory->getErrors()) ;
|
||||
}
|
||||
} else {
|
||||
$this->log('TEST RUN - Accessory ' . $this->item["item_name"] . ' not created');
|
||||
if ($accessory->save()) {
|
||||
$accessory->logCreate('Imported using CSV Importer');
|
||||
$this->log('Accessory ' . $this->item["name"] . ' was created');
|
||||
}
|
||||
$this->jsonError($accessory, 'Accessory');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,10 +1,4 @@
|
|||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: parallelgrapefruit
|
||||
* Date: 12/24/16
|
||||
* Time: 12:45 PM
|
||||
*/
|
||||
|
||||
namespace App\Importer;
|
||||
|
||||
|
@ -16,9 +10,9 @@ use App\Models\Manufacturer;
|
|||
class AssetImporter extends ItemImporter
|
||||
{
|
||||
protected $assets;
|
||||
function __construct($filename, $logCallback, $progressCallback, $errorCallback, $testRun = false, $user_id = -1, $updating = false, $usernameFormat = null)
|
||||
public function __construct($filename)
|
||||
{
|
||||
parent::__construct($filename, $logCallback, $progressCallback, $errorCallback, $testRun, $user_id, $updating, $usernameFormat);
|
||||
parent::__construct($filename);
|
||||
$this->assets = Asset::all();
|
||||
}
|
||||
|
||||
|
@ -46,130 +40,66 @@ class AssetImporter extends ItemImporter
|
|||
*/
|
||||
public function createAssetIfNotExists(array $row)
|
||||
{
|
||||
$asset = null;
|
||||
$editingAsset = false;
|
||||
$asset = $this->assets->search(function ($key) {
|
||||
$asset = new Asset;
|
||||
$asset_id = $this->assets->search(function ($key) {
|
||||
return strcasecmp($key->asset_tag, $this->item['asset_tag']) == 0;
|
||||
});
|
||||
if ($asset !== false) {
|
||||
$editingAsset = true;
|
||||
if ($asset_id !== false) {
|
||||
if (!$this->updating) {
|
||||
$this->log('A matching Asset ' . $this->item['asset_tag'] . ' already exists');
|
||||
return $asset;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (!$asset) {
|
||||
$this->log("Updating Asset");
|
||||
$editingAsset = true;
|
||||
$asset = $this->assets[$asset_id];
|
||||
} else {
|
||||
$this->log("No Matching Asset, Creating a new one");
|
||||
$asset = new Asset;
|
||||
}
|
||||
$asset_serial = $this->array_smart_fetch($row, "serial number");
|
||||
$asset_image = $this->array_smart_fetch($row, "image");
|
||||
$asset_warranty_months = intval($this->array_smart_fetch($row, "warranty months"));
|
||||
if (empty($asset_warranty_months)) {
|
||||
$asset_warranty_months = null;
|
||||
$this->item['serial'] = $this->array_smart_fetch($row, "serial number");
|
||||
$this->item['image'] = $this->array_smart_fetch($row, "image");
|
||||
$this->item['warranty_months'] = intval($this->array_smart_fetch($row, "warranty months"));
|
||||
if ($this->item['asset_model'] = $this->createOrFetchAssetModel($row)) {
|
||||
$this->item['model_id'] = $this->item['asset_model']->id;
|
||||
}
|
||||
// Check for the asset model match and create it if it doesn't exist
|
||||
if (!($editingAsset && empty($this->array_smart_fetch($row, 'model name')))) {
|
||||
// Ignore the asset_model
|
||||
isset($this->item["category"]) || $this->item["category"] = new Category();
|
||||
isset($this->item["manufacturer"]) || $this->item["manufacturer"] = new Manufacturer();
|
||||
$asset_model = $this->createOrFetchAssetModel($row, $this->item["category"], $this->item["manufacturer"]);
|
||||
}
|
||||
$item_supplier = $this->array_smart_fetch($row, "supplier");
|
||||
// If we're editing, only update if value isn't empty
|
||||
if (!($editingAsset && empty($item_supplier))) {
|
||||
$supplier = $this->createOrFetchSupplier($item_supplier);
|
||||
}
|
||||
|
||||
$this->log('Serial No: '.$asset_serial);
|
||||
$this->log('Asset Tag: '.$this->item['asset_tag']);
|
||||
$this->log('Notes: '.$this->item["notes"]);
|
||||
$this->log('Warranty Months: ' . $asset_warranty_months);
|
||||
|
||||
|
||||
if (isset($this->item["status_label"])) {
|
||||
$status_id = $this->item["status_label"]->id;
|
||||
} elseif (!$editingAsset) {
|
||||
// Assume if we are editing, we already have a status and can ignore.
|
||||
$this->log("No status field found, defaulting to first status.");
|
||||
$status_id = $this->status_labels->first()->id;
|
||||
$this->item['status_id'] = $this->item["status_label"]->id;
|
||||
}
|
||||
// We should require a status or come up with a better way of doing this..
|
||||
// elseif (!$editingAsset) {
|
||||
// // Assume if we are editing, we already have a status and can ignore.
|
||||
// $this->log("No status field found, defaulting to first status.");
|
||||
// $status_id = $this->status_labels->first()->id;
|
||||
// }
|
||||
|
||||
if (!$editingAsset) {
|
||||
$asset->asset_tag = $this->item['asset_tag']; // This doesn't need to be guarded for empty because it's the key we use to identify the asset.
|
||||
}
|
||||
if (!empty($this->item['item_name'])) {
|
||||
$asset->name = $this->item["item_name"];
|
||||
}
|
||||
if (!empty($this->item["purchase_date"])) {
|
||||
$asset->purchase_date = $this->item["purchase_date"];
|
||||
}
|
||||
|
||||
// By default we're set this to location_id in the item.
|
||||
$item = $this->sanitizeItemForStoring($asset, $editingAsset);
|
||||
if (isset($this->item["location"])) {
|
||||
$item['rtd_location_id'] = $this->item['location_id'];
|
||||
unset($item['location_id']);
|
||||
}
|
||||
if ($editingAsset) {
|
||||
$asset->update($item);
|
||||
} else {
|
||||
$asset->fill($item);
|
||||
}
|
||||
if (array_key_exists('custom_fields', $this->item)) {
|
||||
foreach ($this->item['custom_fields'] as $custom_field => $val) {
|
||||
$asset->{$custom_field} = $val;
|
||||
}
|
||||
}
|
||||
|
||||
if (!empty($this->item["purchase_cost"])) {
|
||||
//TODO How to generalize this for not USD?
|
||||
$purchase_cost = substr($this->item["purchase_cost"], 0, 1) === '$' ? substr($this->item["purchase_cost"], 1) : $this->item["purchase_cost"];
|
||||
// $asset->purchase_cost = number_format($purchase_cost, 2, '.', '');
|
||||
$asset->purchase_cost = Helper::ParseFloat($purchase_cost);
|
||||
$this->log("Asset cost parsed: " . $asset->purchase_cost);
|
||||
} else {
|
||||
$asset->purchase_cost = 0.00;
|
||||
}
|
||||
if (!empty($asset_serial)) {
|
||||
$asset->serial = $asset_serial;
|
||||
}
|
||||
if (!empty($asset_warranty_months)) {
|
||||
$asset->warranty_months = $asset_warranty_months;
|
||||
}
|
||||
|
||||
if (isset($asset_model)) {
|
||||
$asset->model_id = $asset_model->id;
|
||||
}
|
||||
|
||||
if ($this->item["user"]) {
|
||||
$asset->assigned_to = $this->item["user"]->id;
|
||||
}
|
||||
|
||||
if (isset($this->item["location"])) {
|
||||
$asset->rtd_location_id = $this->item["location"]->id;
|
||||
}
|
||||
|
||||
$asset->user_id = $this->user_id;
|
||||
if (isset($status_id)) {
|
||||
$asset->status_id = $status_id;
|
||||
}
|
||||
if (isset($this->item["company"])) {
|
||||
$asset->company_id = $this->item["company"]->id;
|
||||
}
|
||||
if ($this->item["order_number"]) {
|
||||
$asset->order_number = $this->item["order_number"];
|
||||
}
|
||||
|
||||
if (isset($supplier)) {
|
||||
$asset->supplier_id = $supplier->id;
|
||||
}
|
||||
if ($this->item["notes"]) {
|
||||
$asset->notes = $this->item["notes"];
|
||||
}
|
||||
if (!empty($asset_image)) {
|
||||
$asset->image = $asset_image;
|
||||
}
|
||||
if (!$editingAsset) {
|
||||
$this->assets->add($asset);
|
||||
}
|
||||
if (!$this->testRun) {
|
||||
if ($asset->save()) {
|
||||
$asset->logCreate('Imported using csv importer');
|
||||
$this->log('Asset ' . $this->item["item_name"] . ' with serial number ' . $asset_serial . ' was created');
|
||||
} else {
|
||||
$this->jsonError($asset, 'Asset', $asset->getErrors());
|
||||
$this->log('Asset ' . $this->item["name"] . ' with serial number ' . $this->item['serial'] . ' was created');
|
||||
return;
|
||||
}
|
||||
$this->jsonError($asset, 'Asset "' . $this->item['name'].'"');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,29 +1,22 @@
|
|||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: parallelgrapefruit
|
||||
* Date: 12/24/16
|
||||
* Time: 1:03 PM
|
||||
*/
|
||||
|
||||
namespace App\Importer;
|
||||
|
||||
use App\Helpers\Helper;
|
||||
use App\Models\Asset;
|
||||
use App\Models\Component;
|
||||
|
||||
class ComponentImporter extends ItemImporter
|
||||
{
|
||||
protected $components;
|
||||
function __construct($filename, $logCallback, $progressCallback, $errorCallback, $testRun = false, $user_id = -1, $updating = false, $usernameFormat = null)
|
||||
public function __construct($filename)
|
||||
{
|
||||
parent::__construct($filename, $logCallback, $progressCallback, $errorCallback, $testRun, $user_id, $updating, $usernameFormat);
|
||||
parent::__construct($filename);
|
||||
$this->components = Component::all();
|
||||
}
|
||||
|
||||
protected function handle($row)
|
||||
{
|
||||
parent::handle($row); // TODO: Change the autogenerated stub
|
||||
parent::handle($row);
|
||||
$this->createComponentIfNotExists();
|
||||
}
|
||||
|
||||
|
@ -38,67 +31,40 @@ class ComponentImporter extends ItemImporter
|
|||
$component = null;
|
||||
$editingComponent = false;
|
||||
$this->log("Creating Component");
|
||||
$component = $this->components->search(function ($key) {
|
||||
return strcasecmp($key->name, $this->item['item_name']) == 0;
|
||||
$componentId = $this->components->search(function ($key) {
|
||||
return strcasecmp($key->name, $this->item['name']) == 0;
|
||||
});
|
||||
if ($component !== false) {
|
||||
|
||||
if ($componentId !== false) {
|
||||
$editingComponent = true;
|
||||
$this->log('A matching Component ' . $this->item["name"] . ' already exists. ');
|
||||
if (!$this->updating) {
|
||||
$this->log('A matching Component ' . $this->item["item_name"] . ' already exists. ');
|
||||
$this->log("Skipping Component");
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
$this->log("No matching component, creating one");
|
||||
$component = new Component();
|
||||
}
|
||||
|
||||
if (!$editingComponent) {
|
||||
$component->name = $this->item["item_name"];
|
||||
}
|
||||
if (!empty($this->item["purchase_date"])) {
|
||||
$component->purchase_date = $this->item["purchase_date"];
|
||||
} else {
|
||||
$component->purchase_date = null;
|
||||
}
|
||||
|
||||
if (!empty($this->item["purchase_cost"])) {
|
||||
$component->purchase_cost = Helper::ParseFloat($this->item["purchase_cost"]);
|
||||
}
|
||||
if (isset($this->item["location"])) {
|
||||
$component->location_id = $this->item["location"]->id;
|
||||
}
|
||||
$component->user_id = $this->user_id;
|
||||
if (isset($this->item["company"])) {
|
||||
$component->company_id = $this->item["company"]->id;
|
||||
}
|
||||
if (!empty($this->item["order_number"])) {
|
||||
$component->order_number = $this->item["order_number"];
|
||||
}
|
||||
if (isset($this->item["category"])) {
|
||||
$component->category_id = $this->item["category"]->id;
|
||||
}
|
||||
|
||||
// TODO:Implement
|
||||
//$component->notes= e($this->item_notes);
|
||||
if (!empty($this->item["requestable"])) {
|
||||
$component->requestable = filter_var($this->item["requestable"], FILTER_VALIDATE_BOOLEAN);
|
||||
}
|
||||
|
||||
$component->qty = 1;
|
||||
if ( (!empty($this->item["quantity"])) && ($this->item["quantity"] > -1)) {
|
||||
$component->qty = $this->item["quantity"];
|
||||
}
|
||||
|
||||
if ($this->testRun) {
|
||||
$this->log('TEST RUN - Component ' . $this->item['item_name'] . ' not created');
|
||||
$this->log("Updating Component");
|
||||
$component = $this->components[$componentId];
|
||||
$component->update($this->sanitizeItemFor($component));
|
||||
if (!$this->testRun) {
|
||||
$component->save();
|
||||
}
|
||||
return;
|
||||
}
|
||||
$this->log("No matching component, creating one");
|
||||
$component = new Component;
|
||||
$component->fill($$this->sanitizeItemForStoring($component));
|
||||
|
||||
if ($this->testRun) {
|
||||
$this->log('TEST RUN - Component ' . $this->item["name"] . ' not created');
|
||||
return;
|
||||
}
|
||||
|
||||
if ($component->save()) {
|
||||
$component->logCreate('Imported using CSV Importer');
|
||||
$this->log("Component " . $this->item["item_name"] . ' was created');
|
||||
$this->log("Component " . $this->item["name"] . ' was created');
|
||||
|
||||
// If we have an asset tag, checkout to that asset.
|
||||
if(isset($this->item['asset_tag']) && ($asset = Asset::where('asset_tag', $this->item['asset_tag'])->first()) ) {
|
||||
if (isset($this->item['asset_tag']) && ($asset = Asset::where('asset_tag', $this->item['asset_tag'])->first())) {
|
||||
$component->assets()->attach($component->id, [
|
||||
'component_id' => $component->id,
|
||||
'user_id' => $this->user_id,
|
||||
|
@ -109,6 +75,6 @@ class ComponentImporter extends ItemImporter
|
|||
}
|
||||
return;
|
||||
}
|
||||
$this->jsonError($component, 'Component', $component->getErrors());
|
||||
$this->jsonError($component, 'Component');
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,10 +1,4 @@
|
|||
<?php
|
||||
/**
|
||||
* Created by PhpStorm.
|
||||
* User: parallelgrapefruit
|
||||
* Date: 12/24/16
|
||||
* Time: 1:03 PM
|
||||
*/
|
||||
|
||||
namespace App\Importer;
|
||||
|
||||
|
@ -14,9 +8,9 @@ use App\Models\Consumable;
|
|||
class ConsumableImporter extends ItemImporter
|
||||
{
|
||||
protected $consumables;
|
||||
function __construct($filename, $logCallback, $progressCallback, $errorCallback, $testRun = false, $user_id = -1, $updating = false, $usernameFormat = null)
|
||||
public function __construct($filename)
|
||||
{
|
||||
parent::__construct($filename, $logCallback, $progressCallback, $errorCallback, $testRun, $user_id, $updating, $usernameFormat);
|
||||
parent::__construct($filename);
|
||||
$this->consumables = Consumable::all();
|
||||
}
|
||||
|
||||
|
@ -34,71 +28,36 @@ class ConsumableImporter extends ItemImporter
|
|||
*/
|
||||
public function createConsumableIfNotExists()
|
||||
{
|
||||
$consumable = null;
|
||||
$editingConsumable = false;
|
||||
$this->log("Creating Consumable");
|
||||
$consumable = $this->consumables->search(function ($key) {
|
||||
return strcasecmp($key->name, $this->item['item_name']) == 0;
|
||||
$consumableId = $this->consumables->search(function ($key) {
|
||||
return strcasecmp($key->name, $this->item['name']) == 0;
|
||||
});
|
||||
if ($consumable !== false) {
|
||||
$editingConsumable = true;
|
||||
if ($consumableId !== false) {
|
||||
if (!$this->updating) {
|
||||
$this->log('A matching Consumable ' . $this->item["item_name"] . ' already exists. ');
|
||||
$this->log('A matching Consumable ' . $this->item["name"] . ' already exists. ');
|
||||
return;
|
||||
}
|
||||
} else {
|
||||
$this->log("No matching consumable, creating one");
|
||||
$consumable = new Consumable();
|
||||
}
|
||||
if (!$editingConsumable) {
|
||||
$consumable->name = $this->item["item_name"];
|
||||
}
|
||||
if (!empty($this->item["purchase_date"])) {
|
||||
$consumable->purchase_date = $this->item["purchase_date"];
|
||||
} else {
|
||||
$consumable->purchase_date = null;
|
||||
}
|
||||
|
||||
if (!empty($this->item["purchase_cost"])) {
|
||||
$consumable->purchase_cost = Helper::ParseFloat($this->item["purchase_cost"]);
|
||||
}
|
||||
if (isset($this->item["location"])) {
|
||||
$consumable->location_id = $this->item["location"]->id;
|
||||
}
|
||||
$consumable->user_id = $this->user_id;
|
||||
if (isset($this->item["company"])) {
|
||||
$consumable->company_id = $this->item["company"]->id;
|
||||
}
|
||||
if (!empty($this->item["order_number"])) {
|
||||
$consumable->order_number = $this->item["order_number"];
|
||||
}
|
||||
if (isset($this->item["category"])) {
|
||||
$consumable->category_id = $this->item["category"]->id;
|
||||
}
|
||||
// TODO:Implement
|
||||
//$consumable->notes= e($this->item_notes);
|
||||
if (!empty($this->item["requestable"])) {
|
||||
$consumable->requestable = filter_var($this->item["requestable"], FILTER_VALIDATE_BOOLEAN);
|
||||
}
|
||||
|
||||
if (!empty($this->item["quantity"])) {
|
||||
if ($this->item["quantity"] > -1) {
|
||||
$consumable->qty = $this->item["quantity"];
|
||||
} else {
|
||||
$consumable->qty = 1;
|
||||
$this->log('Updating Consumable');
|
||||
$consumable = $this->consumables[$consumableId];
|
||||
$consumable->update($this->sanitizeItemForUpdating($consumable));
|
||||
if (!$this->testRun) {
|
||||
$consumable->save();
|
||||
}
|
||||
return;
|
||||
}
|
||||
$this->log("No matching consumable, creating one");
|
||||
$consumable = new Consumable();
|
||||
$consumable->fill($this->sanitizeItemForStoring($consumable));
|
||||
|
||||
if (!$this->testRun) {
|
||||
if ($consumable->save()) {
|
||||
$consumable->logCreate('Imported using CSV Importer');
|
||||
$this->log("Consumable " . $this->item["item_name"] . ' was created');
|
||||
|
||||
} else {
|
||||
$this->jsonError($consumable, 'Consumable', $consumable->getErrors());
|
||||
}
|
||||
} else {
|
||||
$this->log('TEST RUN - Consumable ' . $this->item['item_name'] . ' not created');
|
||||
if ($this->testRun) {
|
||||
$this->log('TEST RUN - Consumable ' . $this->item['name'] . ' not created');
|
||||
return;
|
||||
}
|
||||
if ($consumable->save()) {
|
||||
$consumable->logCreate('Imported using CSV Importer');
|
||||
$this->log("Consumable " . $this->item["name"] . ' was created');
|
||||
return;
|
||||
}
|
||||
$this->jsonError($consumable, 'Consumable');
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -68,16 +68,7 @@ abstract class Importer
|
|||
* @param bool $updating
|
||||
* @param null $usernameFormat
|
||||
*/
|
||||
function __construct(
|
||||
string $filename,
|
||||
$logCallback,
|
||||
$progressCallback,
|
||||
$errorCallback,
|
||||
$testRun = false,
|
||||
$user_id = -1,
|
||||
$updating = false,
|
||||
$usernameFormat = null
|
||||
) {
|
||||
function __construct(string $filename) {
|
||||
|
||||
$this->filename = $filename;
|
||||
$this->csv = Reader::createFromPath($filename);
|
||||
|
@ -85,17 +76,7 @@ abstract class Importer
|
|||
if (! ini_get("auto_detect_line_endings")) {
|
||||
ini_set("auto_detect_line_endings", '1');
|
||||
}
|
||||
$this->testRun = $testRun;
|
||||
if ($user_id == -1) {
|
||||
$user_id = Auth::id();
|
||||
}
|
||||
$this->user_id = $user_id;
|
||||
$this->updating = $updating;
|
||||
$this->logCallback = $logCallback;
|
||||
$this->tempPassword = substr(str_shuffle("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"), 0, 20);
|
||||
$this->progressCallback = $progressCallback;
|
||||
$this->usernameFormat = $usernameFormat;
|
||||
$this->errorCallback = $errorCallback;
|
||||
}
|
||||
// Cached Values for import lookups
|
||||
protected $locations;
|
||||
|
@ -112,23 +93,16 @@ abstract class Importer
|
|||
|
||||
public function import()
|
||||
{
|
||||
// dd($this->csv->fetchAssoc());
|
||||
$results = $this->normalizeInputArray($this->csv->fetchAssoc());
|
||||
$this->initializeLookupArrays();
|
||||
DB::transaction(function () use (&$results) {
|
||||
Model::unguard();
|
||||
$resultsCount = sizeof($results);
|
||||
foreach ($results as $row) {
|
||||
|
||||
// Let's just map some of these entries to more user friendly words
|
||||
|
||||
// Fetch general items here, fetch item type specific items in respective methods
|
||||
/** @var Asset, License, Accessory, or Consumable $item_type */
|
||||
$this->handle($row);
|
||||
call_user_func($this->progressCallback, $resultsCount);
|
||||
|
||||
$this->log('------------- Action Summary ----------------');
|
||||
|
||||
}
|
||||
});
|
||||
}
|
||||
|
@ -177,7 +151,13 @@ abstract class Importer
|
|||
*/
|
||||
public function array_smart_fetch(array $array, $key, $default = '')
|
||||
{
|
||||
return array_key_exists(trim($key), $array) ? e(Encoding::fixUTF8(trim($array[ $key ]))) : $default;
|
||||
$val = $default;
|
||||
if (array_key_exists(trim($key), $array)) {
|
||||
$val = e(Encoding::fixUTF8(trim($array[ $key ])));
|
||||
}
|
||||
$key = title_case($key);
|
||||
$this->log("${key}: ${val}");
|
||||
return $val;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -199,9 +179,9 @@ abstract class Importer
|
|||
call_user_func($this->logCallback, $string);
|
||||
}
|
||||
|
||||
protected function jsonError($item, $field, $errorString)
|
||||
protected function jsonError($item, $field)
|
||||
{
|
||||
call_user_func($this->errorCallback, $item, $field, $errorString);
|
||||
call_user_func($this->errorCallback, $item, $field, $item->getErrors());
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -251,13 +231,6 @@ abstract class Importer
|
|||
}
|
||||
}
|
||||
}
|
||||
$this->log("--- User Data ---");
|
||||
$this->log('Full Name: ' . $user_name);
|
||||
$this->log('First Name: ' . $first_name);
|
||||
$this->log('Last Name: ' . $last_name);
|
||||
$this->log('Username: ' . $user_username);
|
||||
$this->log('Email: ' . $user_email);
|
||||
$this->log('--- End User Data ---');
|
||||
|
||||
$user = new User;
|
||||
if ($this->testRun) {
|
||||
|
@ -279,10 +252,99 @@ abstract class Importer
|
|||
if ($user->save()) {
|
||||
$this->log('User '.$first_name.' created');
|
||||
} else {
|
||||
$this->jsonError($user, 'User "' . $first_name . '"', $user->getErrors());
|
||||
$this->jsonError($user, 'User "' . $first_name . '"');
|
||||
}
|
||||
}
|
||||
}
|
||||
return $user;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Sets the value of filename.
|
||||
*
|
||||
* @param string $filename the filename
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function setFilename($filename)
|
||||
{
|
||||
$this->filename = $filename;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the Should we persist to database?.
|
||||
*
|
||||
* @param bool $testRun the test run
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function setTestRun($testRun)
|
||||
{
|
||||
$this->testRun = $testRun;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the Id of User performing import.
|
||||
*
|
||||
* @param mixed $user_id the user id
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function setUserId($user_id)
|
||||
{
|
||||
$this->user_id = $user_id;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the Are we updating items in the import.
|
||||
*
|
||||
* @param bool $updating the updating
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function setUpdating($updating)
|
||||
{
|
||||
$this->updating = $updating;
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the callbacks for the import
|
||||
*
|
||||
* @param callable $logCallback Function to call when we have data to log
|
||||
* @param callable $progressCallback Function to call to display progress
|
||||
* @param callable $errorCallback Function to call when we have errors
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function setCallbacks(callable $logCallback, callable $progressCallback, callable $errorCallback)
|
||||
{
|
||||
$this->logCallback = $logCallback;
|
||||
$this->progressCallback = $progressCallback;
|
||||
$this->errorCallback = $errorCallback;
|
||||
|
||||
return $this;
|
||||
}
|
||||
/**
|
||||
* Sets the value of usernameFormat.
|
||||
*
|
||||
* @param string $usernameFormat the username format
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function setUsernameFormat($usernameFormat)
|
||||
{
|
||||
$this->usernameFormat = $usernameFormat;
|
||||
|
||||
return $this;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -13,52 +13,124 @@ use App\Models\Supplier;
|
|||
class ItemImporter extends Importer
|
||||
{
|
||||
protected $item;
|
||||
function __construct($filename, $logCallback, $progressCallback, $errorCallback, $testRun = false, $user_id = -1, $updating = false, $usernameFormat = null)
|
||||
public function __construct($filename)
|
||||
{
|
||||
parent::__construct($filename, $logCallback, $progressCallback, $errorCallback, $testRun, $user_id, $updating, $usernameFormat);
|
||||
parent::__construct($filename);
|
||||
}
|
||||
|
||||
protected function handle($row)
|
||||
{
|
||||
// TODO: CHeck if this interferes with checkout to user.. it shouldn't..
|
||||
$this->item["user_id"] = $this->user_id;
|
||||
$item_category = $this->array_smart_fetch($row, "category");
|
||||
$item_company_name = $this->array_smart_fetch($row, "company");
|
||||
$item_location = $this->array_smart_fetch($row, "location");
|
||||
$item_manufacturer = $this->array_smart_fetch($row, "manufacturer");
|
||||
$item_status_name = $this->array_smart_fetch($row, "status");
|
||||
$this->item["item_name"] = $this->array_smart_fetch($row, "item name");
|
||||
$item_supplier = $this->array_smart_fetch($row, "supplier");
|
||||
$this->item["name"] = $this->array_smart_fetch($row, "item name");
|
||||
$this->item["purchase_date"] = null;
|
||||
if ($this->array_smart_fetch($row, "purchase date")!='') {
|
||||
$this->item["purchase_date"] = date("Y-m-d 00:00:01", strtotime($this->array_smart_fetch($row, "purchase date")));
|
||||
} else {
|
||||
$this->item["purchase_date"] = null;
|
||||
}
|
||||
|
||||
$this->item["purchase_cost"] = $this->array_smart_fetch($row, "purchase cost");
|
||||
$this->item["order_number"] = $this->array_smart_fetch($row, "order number");
|
||||
$this->item["notes"] = $this->array_smart_fetch($row, "notes");
|
||||
$this->item["quantity"] = $this->array_smart_fetch($row, "quantity");
|
||||
$this->item["qty"] = $this->array_smart_fetch($row, "quantity");
|
||||
$this->item["requestable"] = $this->array_smart_fetch($row, "requestable");
|
||||
$this->item["asset_tag"] = $this->array_smart_fetch($row, "asset tag");
|
||||
|
||||
$this->item["user"] = $this->createOrFetchUser($row);
|
||||
|
||||
if (!($this->updating && empty($item_location))) {
|
||||
$this->item["location"] = $this->createOrFetchLocation($item_location);
|
||||
}
|
||||
if (!($this->updating && empty($item_category))) {
|
||||
$this->item["category"] = $this->createOrFetchCategory($item_category);
|
||||
}
|
||||
if (!($this->updating && empty($item_manufacturer))) {
|
||||
$this->item["manufacturer"] = $this->createOrFetchManufacturer($item_manufacturer);
|
||||
}
|
||||
if (!($this->updating && empty($item_company_name))) {
|
||||
$this->item["company"] = $this->createOrFetchCompany($item_company_name);
|
||||
if ($this->item["user"] = $this->createOrFetchUser($row)) {
|
||||
$this->item['assigned_to'] = $this->item['user']->id;
|
||||
}
|
||||
|
||||
if (!($this->updating && empty($item_status_name))) {
|
||||
$this->item["status_label"] = $this->createOrFetchStatusLabel($item_status_name);
|
||||
if ($this->shouldUpdateField($item_location)) {
|
||||
if ($this->item["location"] = $this->createOrFetchLocation($item_location)) {
|
||||
$this->item["location_id"] = $this->item["location"]->id;
|
||||
}
|
||||
}
|
||||
if ($this->shouldUpdateField($item_category)) {
|
||||
if ($this->item["category"] = $this->createOrFetchCategory($item_category)) {
|
||||
$this->item["category_id"] = $this->item["category"]->id;
|
||||
}
|
||||
}
|
||||
if ($this->shouldUpdateField($item_manufacturer)) {
|
||||
if ($this->item["manufacturer"] = $this->createOrFetchManufacturer($item_manufacturer)) {
|
||||
$this->item["manufacturer_id"] = $this->item["manufacturer"]->id;
|
||||
}
|
||||
}
|
||||
if ($this->shouldUpdateField($item_company_name)) {
|
||||
if ($this->item["company"] = $this->createOrFetchCompany($item_company_name)) {
|
||||
$this->item["company_id"] = $this->item["company"]->id;
|
||||
}
|
||||
}
|
||||
if ($this->shouldUpdateField($item_status_name)) {
|
||||
if ($this->item["status_label"] = $this->createOrFetchStatusLabel($item_status_name)) {
|
||||
$this->item["status_label_id"] = $this->item["status_label"]->id;
|
||||
}
|
||||
}
|
||||
if ($this->shouldUpdateField($item_supplier)) {
|
||||
if ($this->item['supplier'] = $this->createOrFetchSupplier($item_supplier)) {
|
||||
$this->item['supplier_id'] = $this->item['supplier']->id;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Cleanup the $item array before storing.
|
||||
* We need to remove any values that are not part of the fillable fields.
|
||||
* Also, if updating, we remove any fields from the array that are empty.
|
||||
*
|
||||
* @author Daniel Melzter
|
||||
* @since 4.0
|
||||
* @param $model SnipeModel Model that's being updated.
|
||||
* @param $updating boolean Should we remove blank values?
|
||||
* @return array
|
||||
*/
|
||||
|
||||
protected function sanitizeItemForStoring($model, $updating = false)
|
||||
{
|
||||
// Create a collection for all manipulations to come.
|
||||
$item = collect($this->item);
|
||||
// First Filter the item down to the model's fillable fields
|
||||
|
||||
$item = $item->only($model->getFillable());
|
||||
// Then iterate through the item and, if we are updating, remove any blank values.
|
||||
if ($updating) {
|
||||
$item = $item->reject(function ($value) {
|
||||
return empty($value);
|
||||
});
|
||||
}
|
||||
|
||||
return $item->toArray();
|
||||
}
|
||||
|
||||
/**
|
||||
* Convenience function for updating that strips the empty values.
|
||||
*
|
||||
*
|
||||
*/
|
||||
protected function sanitizeItemForUpdating($model)
|
||||
{
|
||||
return $this->sanitizeItemForStoring($model, true);
|
||||
}
|
||||
|
||||
/**
|
||||
* Determines if a field needs updating
|
||||
* Follows the following rules:
|
||||
* If we are not updating, we should update the field
|
||||
* If We are updating, we only update the field if it's not empty.
|
||||
*
|
||||
* @author Daniel Melzter
|
||||
* @since 4.0
|
||||
* @param $field string
|
||||
* @return boolean
|
||||
*/
|
||||
private function shouldUpdateField($field)
|
||||
{
|
||||
return !($this->updating && empty($field));
|
||||
}
|
||||
/**
|
||||
* Select the asset model if it exists, otherwise create it.
|
||||
*
|
||||
|
@ -70,60 +142,59 @@ class ItemImporter extends Importer
|
|||
* @return AssetModel
|
||||
* @internal param $asset_modelno string
|
||||
*/
|
||||
public function createOrFetchAssetModel(array $row, $category, $manufacturer)
|
||||
public function createOrFetchAssetModel(array $row)
|
||||
{
|
||||
$asset_model_name = $this->array_smart_fetch($row, "model name");
|
||||
$asset_modelNumber = $this->array_smart_fetch($row, "model number");
|
||||
// TODO: At the moment, this means we can't update the model number if the model name stays the same.
|
||||
if (!$this->shouldUpdateField($asset_model_name)) {
|
||||
return;
|
||||
}
|
||||
if ((empty($asset_model_name)) && (!empty($asset_modelNumber))) {
|
||||
$asset_model_name = $asset_modelNumber;
|
||||
} elseif ((empty($asset_model_name)) && (empty($asset_modelNumber))) {
|
||||
$asset_model_name ='Unknown';
|
||||
}
|
||||
$this->log('Model Name: ' . $asset_model_name);
|
||||
$this->log('Model No: ' . $asset_modelNumber);
|
||||
|
||||
$asset_model = null;
|
||||
$editingModel = $this->updating;
|
||||
$asset_model = $this->asset_models->search(function ($key) use ($asset_model_name, $asset_modelNumber) {
|
||||
$asset_model_id = $this->asset_models->search(function ($key) use ($asset_model_name, $asset_modelNumber) {
|
||||
return strcasecmp($key->name, $asset_model_name) ==0
|
||||
&& $key->model_number == $asset_modelNumber;
|
||||
});
|
||||
// We need strict compare here because the index returned above can be 0.
|
||||
// This casts to false and causes false positives
|
||||
if (($asset_model !== false) && !$editingModel) {
|
||||
return $this->asset_models[$asset_model];
|
||||
} else {
|
||||
$this->log("No Matching Model, Creating a new one");
|
||||
$asset_model = new AssetModel();
|
||||
}
|
||||
if (($editingModel && ($asset_model_name != "Unknown"))
|
||||
|| (!$editingModel)) {
|
||||
$asset_model->name = $asset_model_name;
|
||||
}
|
||||
isset($manufacturer) && $manufacturer->exists() && $asset_model->manufacturer_id = $manufacturer->id;
|
||||
isset($asset_modelNumber) && $asset_model->model_number = $asset_modelNumber;
|
||||
if (isset($category) && $category->exists()) {
|
||||
$asset_model->category_id = $category->id;
|
||||
}
|
||||
$asset_model->user_id = $this->user_id;
|
||||
|
||||
if (!$editingModel) {
|
||||
$this->asset_models->add($asset_model);
|
||||
}
|
||||
if (!$this->testRun) {
|
||||
if ($asset_model->save()) {
|
||||
$this->log('Asset Model ' . $asset_model_name . ' with model number ' . $asset_modelNumber . ' was created');
|
||||
return $asset_model;
|
||||
} else {
|
||||
$this->jsonError($asset_model, 'Asset Model "' . $asset_model_name . '"', $asset_model->getErrors());
|
||||
$this->log('Asset Model "' . $asset_model_name . '"' . $asset_model->getErrors());
|
||||
$asset_model = new AssetModel;
|
||||
$item = $this->sanitizeItemForStoring($asset_model, $editingModel);
|
||||
$item['name'] = $asset_model_name;
|
||||
$item['model_number'] = $asset_modelNumber;
|
||||
if ($asset_model_id !== false) {
|
||||
$asset_model = $this->asset_models[$asset_model_id];
|
||||
if (!$this->updating) {
|
||||
$this->log("A matching model already exists, returning it.");
|
||||
return $asset_model;
|
||||
}
|
||||
} else {
|
||||
$this->asset_models->add($asset_model);
|
||||
$this->log("Matching Model found, updating it.");
|
||||
$asset_model->update($item);
|
||||
if (!$this->testRun) {
|
||||
$asset_model->save();
|
||||
}
|
||||
return $asset_model;
|
||||
}
|
||||
$this->log("No Matching Model, Creating a new one");
|
||||
$asset_model = new AssetModel();
|
||||
$asset_model->fill($item);
|
||||
$this->asset_models->add($asset_model);
|
||||
|
||||
if ($this->testRun) {
|
||||
$this->log('TEST RUN - asset_model ' . $asset_model->name . ' not created');
|
||||
return $asset_model;
|
||||
}
|
||||
|
||||
if ($asset_model->save()) {
|
||||
$this->log('Asset Model ' . $asset_model_name . ' with model number ' . $asset_modelNumber . ' was created');
|
||||
return $asset_model;
|
||||
}
|
||||
$this->jsonError($asset_model, 'Asset Model "' . $asset_model_name . '"');
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -155,25 +226,21 @@ class ItemImporter extends Importer
|
|||
}
|
||||
|
||||
$category = new Category();
|
||||
|
||||
$category->name = $asset_category;
|
||||
$category->category_type = $item_type;
|
||||
$category->user_id = $this->user_id;
|
||||
|
||||
if (!$this->testRun) {
|
||||
if ($category->save()) {
|
||||
$this->categories->add($category);
|
||||
$this->log('Category ' . $asset_category . ' was created');
|
||||
return $category;
|
||||
} else {
|
||||
$this->jsonError($category, 'Category "'. $asset_category. '"', $category->getErrors());
|
||||
return $category;
|
||||
}
|
||||
} else {
|
||||
if ($this->testRun) {
|
||||
$this->categories->add($category);
|
||||
return $category;
|
||||
}
|
||||
if ($category->save()) {
|
||||
$this->categories->add($category);
|
||||
$this->log('Category ' . $asset_category . ' was created');
|
||||
return $category;
|
||||
}
|
||||
|
||||
$this->jsonError($category, 'Category "'. $asset_category. '"');
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -198,18 +265,17 @@ class ItemImporter extends Importer
|
|||
$company = new Company();
|
||||
$company->name = $asset_company_name;
|
||||
|
||||
if (!$this->testRun) {
|
||||
if ($company->save()) {
|
||||
$this->companies->add($company);
|
||||
$this->log('Company ' . $asset_company_name . ' was created');
|
||||
return $company;
|
||||
} else {
|
||||
$this->log('Company', $company->getErrors());
|
||||
}
|
||||
} else {
|
||||
if ($this->testRun) {
|
||||
$this->companies->add($company);
|
||||
return $company;
|
||||
}
|
||||
if ($company->save()) {
|
||||
$this->companies->add($company);
|
||||
$this->log('Company ' . $asset_company_name . ' was created');
|
||||
return $company;
|
||||
}
|
||||
$this->jsonError($company, 'Company');
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -218,7 +284,7 @@ class ItemImporter extends Importer
|
|||
* @author Daniel Melzter
|
||||
* @since 3.0
|
||||
* @param string $asset_statuslabel_name
|
||||
* @return Statuslabel
|
||||
* @return Statuslabel|null
|
||||
*/
|
||||
public function createOrFetchStatusLabel($asset_statuslabel_name)
|
||||
{
|
||||
|
@ -242,19 +308,19 @@ class ItemImporter extends Importer
|
|||
$status->pending = 0;
|
||||
$status->archived = 0;
|
||||
|
||||
if (!$this->testRun) {
|
||||
if ($status->save()) {
|
||||
$this->status_labels->add($status);
|
||||
$this->log('Status ' . $asset_statuslabel_name . ' was created');
|
||||
return $status;
|
||||
} else {
|
||||
$this->jsonError($status, 'Status "'. $asset_statuslabel_name . '"', $status->getErrors());
|
||||
return $status;
|
||||
}
|
||||
} else {
|
||||
if ($this->testRun) {
|
||||
$this->status_labels->add($status);
|
||||
return $status;
|
||||
}
|
||||
|
||||
if ($status->save()) {
|
||||
$this->status_labels->add($status);
|
||||
$this->log('Status ' . $asset_statuslabel_name . ' was created');
|
||||
return $status;
|
||||
}
|
||||
|
||||
$this->jsonError($status, 'Status "'. $asset_statuslabel_name . '"');
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -287,20 +353,17 @@ class ItemImporter extends Importer
|
|||
$manufacturer->name = $item_manufacturer;
|
||||
$manufacturer->user_id = $this->user_id;
|
||||
|
||||
if (!$this->testRun) {
|
||||
if ($manufacturer->save()) {
|
||||
$this->manufacturers->add($manufacturer);
|
||||
$this->log('Manufacturer ' . $manufacturer->name . ' was created');
|
||||
return $manufacturer;
|
||||
} else {
|
||||
$this->jsonError($manufacturer, 'Manufacturer "'. $manufacturer->name . '"', $manufacturer->getErrors());
|
||||
return $manufacturer;
|
||||
}
|
||||
|
||||
} else {
|
||||
if ($this->testRun) {
|
||||
$this->manufacturers->add($manufacturer);
|
||||
return $manufacturer;
|
||||
}
|
||||
if ($manufacturer->save()) {
|
||||
$this->manufacturers->add($manufacturer);
|
||||
$this->log('Manufacturer ' . $manufacturer->name . ' was created');
|
||||
return $manufacturer;
|
||||
}
|
||||
$this->jsonError($manufacturer, 'Manufacturer "'. $manufacturer->name . '"');
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -328,8 +391,6 @@ class ItemImporter extends Importer
|
|||
}
|
||||
// No matching locations in the collection, create a new one.
|
||||
$location = new Location();
|
||||
|
||||
|
||||
$location->name = $asset_location;
|
||||
$location->address = '';
|
||||
$location->city = '';
|
||||
|
@ -337,19 +398,17 @@ class ItemImporter extends Importer
|
|||
$location->country = '';
|
||||
$location->user_id = $this->user_id;
|
||||
|
||||
if (!$this->testRun) {
|
||||
if ($location->save()) {
|
||||
$this->locations->add($location);
|
||||
$this->log('Location ' . $asset_location . ' was created');
|
||||
return $location;
|
||||
} else {
|
||||
$this->log('Location', $location->getErrors()) ;
|
||||
return $location;
|
||||
}
|
||||
} else {
|
||||
if ($this->testRun) {
|
||||
$this->locations->add($location);
|
||||
return $location;
|
||||
}
|
||||
if ($location->save()) {
|
||||
$this->locations->add($location);
|
||||
$this->log('Location ' . $asset_location . ' was created');
|
||||
return $location;
|
||||
}
|
||||
$this->jsonError($location, 'Location');
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -380,18 +439,16 @@ class ItemImporter extends Importer
|
|||
$supplier->name = $item_supplier;
|
||||
$supplier->user_id = $this->user_id;
|
||||
|
||||
if (!$this->testRun) {
|
||||
if ($supplier->save()) {
|
||||
$this->suppliers->add($supplier);
|
||||
$this->log('Supplier ' . $item_supplier . ' was created');
|
||||
return $supplier;
|
||||
} else {
|
||||
$this->log('Supplier', $supplier->getErrors());
|
||||
return $supplier;
|
||||
}
|
||||
} else {
|
||||
if ($this->testRun) {
|
||||
$this->suppliers->add($supplier);
|
||||
return $supplier;
|
||||
}
|
||||
if ($supplier->save()) {
|
||||
$this->suppliers->add($supplier);
|
||||
$this->log('Supplier ' . $item_supplier . ' was created');
|
||||
return $supplier;
|
||||
}
|
||||
$this->jsonError($supplier, 'Supplier');
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
101
app/Importer/LicenseImporter.php
Normal file
101
app/Importer/LicenseImporter.php
Normal file
|
@ -0,0 +1,101 @@
|
|||
<?php
|
||||
|
||||
namespace App\Importer;
|
||||
|
||||
use App\Helpers\Helper;
|
||||
use App\Models\Asset;
|
||||
use App\Models\Category;
|
||||
use App\Models\License;
|
||||
use App\Models\Manufacturer;
|
||||
|
||||
class LicenseImporter extends ItemImporter
|
||||
{
|
||||
protected $licenses;
|
||||
public function __construct($filename)
|
||||
{
|
||||
parent::__construct($filename);
|
||||
$this->licenses = License::all();
|
||||
}
|
||||
|
||||
protected function handle($row)
|
||||
{
|
||||
// ItemImporter handles the general fetching.
|
||||
parent::handle($row);
|
||||
|
||||
$this->createLicenseIfNotExists($row);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create the license if it does not exist.
|
||||
*
|
||||
* @author Daniel Melzter
|
||||
* @since 4.0
|
||||
* @param array $row
|
||||
* @return License|mixed|null
|
||||
*/
|
||||
public function createLicenseIfNotExists(array $row)
|
||||
{
|
||||
$editingLicense = false;
|
||||
$license = new License;
|
||||
$license_id = $this->licenses->search(function ($key) {
|
||||
return strcasecmp($key->name, $this->item['name']) == 0;
|
||||
});
|
||||
if ($license_id !== false) {
|
||||
if (!$this->updating) {
|
||||
$this->log('A matching License ' . $this->item['name'] . ' already exists');
|
||||
return;
|
||||
}
|
||||
|
||||
$this->log("Updating License");
|
||||
$editingLicense = true;
|
||||
$license = $this->licenses[$license_id];
|
||||
} else {
|
||||
$this->log("No Matching License, Creating a new one");
|
||||
}
|
||||
|
||||
$asset_tag = $this->item['asset_tag'] = $this->array_smart_fetch($row, 'asset_tag'); // used for checkout out to an asset.
|
||||
$this->item['expiration_date'] = $this->array_smart_fetch($row, 'expiration date');
|
||||
$this->item['license_email'] = $this->array_smart_fetch($row, "licensed to email");
|
||||
$this->item['license_name'] = $this->array_smart_fetch($row, "licensed to name");
|
||||
$this->item['maintained'] = $this->array_smart_fetch($row, 'maintained');
|
||||
$this->item['purchase_order'] = $this->array_smart_fetch($row, 'purchase_order');
|
||||
$this->item['reassignable'] = $this->array_smart_fetch($row, 'reassignable');
|
||||
$this->item['serial'] = $this->array_smart_fetch($row, "serial number");
|
||||
$this->item['termination_date'] = $this->array_smart_fetch($row, 'termination_date');
|
||||
$this->item['seats'] = $this->array_smart_fetch($row, 'seats');
|
||||
|
||||
if ($editingLicense) {
|
||||
$license->update($this->sanitizeItemForUpdating($license));
|
||||
} else {
|
||||
$license->fill($this->sanitizeItemForStoring($license));
|
||||
}
|
||||
if (!$editingLicense) {
|
||||
$this->licenses->add($license);
|
||||
}
|
||||
if (!$this->testRun) {
|
||||
if ($license->save()) {
|
||||
$license->logCreate('Imported using csv importer');
|
||||
$this->log('License ' . $this->item["name"] . ' with serial number ' . $this->item['serial'] . ' was created');
|
||||
|
||||
// Lets try to checkout seats if the fields exist and we have seats.
|
||||
if ($license->seats > 0) {
|
||||
$user = $this->item['user'];
|
||||
$asset = Asset::where('asset_tag', $asset_tag)->first();
|
||||
$targetLicense = $license->licenseSeats()->first();
|
||||
if ($user) {
|
||||
$targetLicense->assigned_to = $user->id;
|
||||
if ($asset) {
|
||||
$targetLicense->asset_id = $asset->id;
|
||||
}
|
||||
$targetLicense->save();
|
||||
} elseif ($asset) {
|
||||
$targetLicense->asset_id = $asset->id;
|
||||
$targetLicense->save();
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
$this->jsonError($license, 'License "' . $this->item['name'].'"');
|
||||
}
|
||||
}
|
||||
}
|
|
@ -48,7 +48,17 @@ class Accessory extends SnipeModel
|
|||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $fillable = ['name','qty','category_id'];
|
||||
protected $fillable = [
|
||||
'category_id',
|
||||
'company_id',
|
||||
'location_id',
|
||||
'name',
|
||||
'order_number',
|
||||
'purchase_cost',
|
||||
'purchase_date',
|
||||
'qty',
|
||||
'requestable'
|
||||
];
|
||||
|
||||
public function company()
|
||||
{
|
||||
|
|
|
@ -62,7 +62,22 @@ class Asset extends Depreciable
|
|||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $fillable = ['name','model_id','status_id','asset_tag'];
|
||||
protected $fillable = [
|
||||
'asset_tag',
|
||||
'assigned_to',
|
||||
'company_id',
|
||||
'image',
|
||||
'model_id',
|
||||
'name',
|
||||
'notes',
|
||||
'purchase_cost',
|
||||
'purchase_date',
|
||||
'rtd_location_id',
|
||||
'serial',
|
||||
'status_id',
|
||||
'supplier_id',
|
||||
'warranty_months',
|
||||
];
|
||||
|
||||
public function getDisplayNameAttribute()
|
||||
{
|
||||
|
|
|
@ -54,7 +54,7 @@ class AssetModel extends SnipeModel
|
|||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $fillable = ['name','manufacturer_id','category_id','eol'];
|
||||
protected $fillable = ['name','manufacturer_id','category_id','eol', 'user_id'];
|
||||
|
||||
public function assets()
|
||||
{
|
||||
|
|
|
@ -50,7 +50,7 @@ class Category extends SnipeModel
|
|||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $fillable = ['name','category_type'];
|
||||
protected $fillable = ['name','category_type', 'user_id'];
|
||||
|
||||
|
||||
public function has_models()
|
||||
|
|
|
@ -19,8 +19,6 @@ class Component extends SnipeModel
|
|||
|
||||
protected $dates = ['deleted_at'];
|
||||
protected $table = 'components';
|
||||
|
||||
|
||||
/**
|
||||
* Category validation rules
|
||||
*/
|
||||
|
@ -48,7 +46,15 @@ class Component extends SnipeModel
|
|||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $fillable = ['name','company_id','category_id'];
|
||||
protected $fillable = [
|
||||
'category_id',
|
||||
'company_id',
|
||||
'location_id',
|
||||
'name',
|
||||
'purchase_cost',
|
||||
'purchase_date',
|
||||
'qty',
|
||||
];
|
||||
|
||||
public function location()
|
||||
{
|
||||
|
|
|
@ -24,7 +24,7 @@ class Consumable extends SnipeModel
|
|||
'qty' => 'required|integer|min:0',
|
||||
'category_id' => 'required|integer',
|
||||
'company_id' => 'integer|nullable',
|
||||
'min_amt' => 'integer|min:1',
|
||||
'min_amt' => 'integer|min:1|nullable',
|
||||
'purchase_cost' => 'numeric|nullable',
|
||||
);
|
||||
|
||||
|
@ -43,7 +43,18 @@ class Consumable extends SnipeModel
|
|||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $fillable = ['name','qty','company_id','category_id'];
|
||||
protected $fillable = [
|
||||
'category_id',
|
||||
'company_id',
|
||||
'location_id',
|
||||
'manufacturer_id',
|
||||
'name',
|
||||
'order_number',
|
||||
'purchase_cost',
|
||||
'purchase_date',
|
||||
'qty',
|
||||
'requestable'
|
||||
];
|
||||
|
||||
|
||||
public function admin()
|
||||
|
|
|
@ -1,11 +1,16 @@
|
|||
<?php
|
||||
namespace App\Models;
|
||||
|
||||
use App\Models\Actionlog;
|
||||
use App\Models\Company;
|
||||
use App\Models\LicenseSeat;
|
||||
use App\Models\Loggable;
|
||||
use App\Presenters\Presentable;
|
||||
use Carbon\Carbon;
|
||||
use DB;
|
||||
use Illuminate\Database\Eloquent\SoftDeletes;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Session;
|
||||
use Watson\Validating\ValidatingTrait;
|
||||
|
||||
class License extends Depreciable
|
||||
|
@ -33,10 +38,119 @@ class License extends Depreciable
|
|||
'company_id' => 'integer|nullable',
|
||||
);
|
||||
|
||||
/**
|
||||
* The attributes that are mass assignable.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $fillable = [
|
||||
'name',
|
||||
'serial',
|
||||
'purchase_date',
|
||||
'purchase_cost',
|
||||
'order_number',
|
||||
'seats',
|
||||
'notes',
|
||||
'user_id',
|
||||
'depreciation_id',
|
||||
'license_name', //actually licensed_to
|
||||
'license_email',
|
||||
'supplier_id',
|
||||
'expiration_date',
|
||||
'purchase_order',
|
||||
'termination_date',
|
||||
'maintained',
|
||||
'reassignable',
|
||||
'company_id',
|
||||
'manufacturer_id'
|
||||
];
|
||||
|
||||
public static function boot()
|
||||
{
|
||||
parent::boot();
|
||||
// We need to listen for created for the initial setup so that we have a license ID.
|
||||
static::created(function ($license) {
|
||||
$newSeatCount = $license->getAttributes()['seats'];
|
||||
return static::adjustSeatCount($license, $oldSeatCount = 0, $newSeatCount);
|
||||
});
|
||||
// However, we listen for updating to be able to prevent the edit if we cannot delete enough seats.
|
||||
static::updating(function ($license) {
|
||||
$newSeatCount = $license->getAttributes()['seats'];
|
||||
$oldSeatCount = isset($license->getOriginal()['seats']) ? $license->getOriginal()['seats'] : 0;
|
||||
// dd($oldSeatCount.' '.$newSeatCount);
|
||||
return static::adjustSeatCount($license, $oldSeatCount, $newSeatCount);
|
||||
});
|
||||
}
|
||||
|
||||
public static function adjustSeatCount($license, $oldSeats, $newSeats)
|
||||
{
|
||||
// If the seats haven't changed, continue on happily.
|
||||
if ($oldSeats==$newSeats) {
|
||||
return true;
|
||||
}
|
||||
// On Create, we just make one for each of the seats.
|
||||
$change = abs($oldSeats - $newSeats);
|
||||
if ($oldSeats > $newSeats) {
|
||||
$license->load('licenseseats.user');
|
||||
// dd("Here");
|
||||
// Need to delete seats... lets see if if we have enough.
|
||||
$seatsAvailableForDelete = $license->licenseseats->reject(function ($seat) {
|
||||
return (!! $seat->assigned_to) || (!! $seat->asset_id);
|
||||
});
|
||||
|
||||
if ($change > $seatsAvailableForDelete->count()) {
|
||||
Session::flash('error', trans('admin/licenses/message.assoc_users'));
|
||||
return false;
|
||||
}
|
||||
for ($i=1; $i <= $change; $i++) {
|
||||
$seatsAvailableForDelete->pop()->delete();
|
||||
}
|
||||
// Log Deletion of seats.
|
||||
$logAction = new Actionlog;
|
||||
$logAction->item_type = License::class;
|
||||
$logAction->item_id = $license->id;
|
||||
$logAction->user_id = Auth::id() ?: 1; // We don't have an id while running the importer from CLI.
|
||||
$logAction->note = "deleted ${change} seats";
|
||||
$logAction->target_id = null;
|
||||
$logAction->logaction('delete seats');
|
||||
return true;
|
||||
}
|
||||
// Else we're adding seats.
|
||||
DB::transaction(function () use ($license, $oldSeats, $newSeats) {
|
||||
for ($i = $oldSeats; $i < $newSeats; $i++) {
|
||||
$license->licenseSeatsRelation()->save(new LicenseSeat, ['user_id' => Auth::id()]);
|
||||
}
|
||||
});
|
||||
// On initail create, we shouldn't log the addition of seats.
|
||||
if ($license->id) {
|
||||
//Log the addition of license to the log.
|
||||
$logAction = new Actionlog();
|
||||
$logAction->item_type = License::class;
|
||||
$logAction->item_id = $license->id;
|
||||
$logAction->user_id = Auth::id() ?: 1; // Importer.
|
||||
$logAction->note = "added ${change} seats";
|
||||
$logAction->target_id = null;
|
||||
$logAction->logaction('add seats');
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public function setMaintainedAttribute($value)
|
||||
{
|
||||
$this->attributes['maintained'] = filter_var($value, FILTER_VALIDATE_BOOLEAN);
|
||||
}
|
||||
public function setReassignableAttribute($value)
|
||||
{
|
||||
$this->attributes['reassignable'] = filter_var($value, FILTER_VALIDATE_BOOLEAN);
|
||||
}
|
||||
|
||||
public function setExpirationDateAttribute($value)
|
||||
{
|
||||
|
||||
if ($value == '' || $value == '0000-00-00') {
|
||||
$value = null;
|
||||
} else {
|
||||
$value = (new Carbon($value))->toDateString();
|
||||
}
|
||||
$this->attributes['expiration_date'] = $value;
|
||||
}
|
||||
|
@ -45,6 +159,8 @@ class License extends Depreciable
|
|||
{
|
||||
if ($value == '' || $value == '0000-00-00') {
|
||||
$value = null;
|
||||
} else {
|
||||
$value = (new Carbon($value))->toDateString();
|
||||
}
|
||||
$this->attributes['termination_date'] = $value;
|
||||
}
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
namespace App\Models;
|
||||
|
||||
use App\Helpers\Helper;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class SnipeModel extends Model
|
||||
|
@ -14,6 +15,7 @@ class SnipeModel extends Model
|
|||
$value = null;
|
||||
}
|
||||
$this->attributes['purchase_date'] = $value;
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -26,6 +28,7 @@ class SnipeModel extends Model
|
|||
$value = null;
|
||||
}
|
||||
$this->attributes['purchase_cost'] = $value;
|
||||
return;
|
||||
}
|
||||
|
||||
public function setLocationIdAttribute($value)
|
||||
|
@ -34,6 +37,7 @@ class SnipeModel extends Model
|
|||
$value = null;
|
||||
}
|
||||
$this->attributes['location_id'] = $value;
|
||||
return;
|
||||
}
|
||||
|
||||
public function setCategoryIdAttribute($value)
|
||||
|
@ -42,6 +46,8 @@ class SnipeModel extends Model
|
|||
$value = null;
|
||||
}
|
||||
$this->attributes['category_id'] = $value;
|
||||
// dd($this->attributes);
|
||||
return;
|
||||
}
|
||||
|
||||
public function setSupplierIdAttribute($value)
|
||||
|
@ -50,6 +56,7 @@ class SnipeModel extends Model
|
|||
$value = null;
|
||||
}
|
||||
$this->attributes['supplier_id'] = $value;
|
||||
return;
|
||||
}
|
||||
|
||||
public function setDepreciationIdAttribute($value)
|
||||
|
@ -58,6 +65,7 @@ class SnipeModel extends Model
|
|||
$value = null;
|
||||
}
|
||||
$this->attributes['depreciation_id'] = $value;
|
||||
return;
|
||||
}
|
||||
|
||||
public function setManufacturerIdAttribute($value)
|
||||
|
@ -66,6 +74,7 @@ class SnipeModel extends Model
|
|||
$value = null;
|
||||
}
|
||||
$this->attributes['manufacturer_id'] = $value;
|
||||
return;
|
||||
}
|
||||
|
||||
//
|
||||
|
|
|
@ -41,11 +41,7 @@ class AppServiceProvider extends ServiceProvider
|
|||
|
||||
$validator = Validator::make($email_to_validate, $rules, $messages);
|
||||
|
||||
if ($validator->passes()) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
return $validator->passes();
|
||||
|
||||
});
|
||||
|
||||
|
@ -53,21 +49,19 @@ class AppServiceProvider extends ServiceProvider
|
|||
// This works around the use case where multiple deleted items have the same unique attribute.
|
||||
// (I think this is a bug in Laravel's validator?)
|
||||
Validator::extend('unique_undeleted', function ($attribute, $value, $parameters, $validator) {
|
||||
|
||||
$count = DB::table($parameters[0])->select('id')->where($attribute, '=', $value)->whereNull('deleted_at')->where('id', '!=', $parameters[1])->count();
|
||||
|
||||
if ($count < 1) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
||||
return $count < 1;
|
||||
});
|
||||
|
||||
// Share common variables with all views.
|
||||
view()->composer('*', function ($view) {
|
||||
$view->with('snipeSettings', \App\Models\Setting::getSettings());
|
||||
});
|
||||
|
||||
// Set the monetary locale to the configured locale to make helper::parseFloat work.
|
||||
setlocale(LC_MONETARY, config('app.locale'));
|
||||
setlocale(LC_NUMERIC, config('app.locale'));
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -166,7 +166,7 @@
|
|||
</tr>
|
||||
@endif
|
||||
|
||||
@if ($license->expiration_date > 0)
|
||||
@if (isset($license->expiration_date))
|
||||
<tr>
|
||||
<td>{{ trans('admin/licenses/form.expiration') }}:</td>
|
||||
<td>{{ $license->expiration_date }}</td>
|
||||
|
@ -220,7 +220,7 @@
|
|||
</tr>
|
||||
@endif
|
||||
|
||||
@if ($license->purchase_date > 0)
|
||||
@if (isset($license->purchase_date))
|
||||
<tr>
|
||||
<td>{{ trans('general.purchase_date') }}:</td>
|
||||
<td>{{ $license->purchase_date }}</td>
|
||||
|
|
2
sample_csvs/MOCK_ACCESSORIES.csv
Normal file
2
sample_csvs/MOCK_ACCESSORIES.csv
Normal file
|
@ -0,0 +1,2 @@
|
|||
Item Name,Purchase Date,Purchase Cost,Location,Company,Order Number,Category,Requestable,Quantity
|
||||
Walter Carter,09/01/2006,,metus. Vivamus,Macromedia,J935H60W,Customers,False,278
|
|
201
sample_csvs/MOCK_ASSETS.csv
Normal file
201
sample_csvs/MOCK_ASSETS.csv
Normal file
|
@ -0,0 +1,201 @@
|
|||
Name,Email,Username,item Name,Category,Model name,Manufacturer,Model Number,Serial number,Asset Tag,Location,Notes,Purchase Date,Purchase Cost,Company,Status,Warranty,Supplier
|
||||
Bonnie Nelson,bnelson0@cdbaby.com,bnelson0,eget nunc donec quis,quam,massa id,Linkbridge,6377018600094472,27aa8378-b0f4-4289-84a4-405da95c6147,970882174-8,Daping,"Curabitur in libero ut massa volutpat convallis. Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo. Maecenas pulvinar lobortis est.",2016-04-05,133289.59,Alpha,Undeployable,14,Blogspan
|
||||
Judith Ferguson,jferguson1@state.tx.us,jferguson1,mi in porttitor,justo,congue diam id,Flipstorm,5.02043359569189E+018,4bc7fc90-5a97-412f-8eed-77ecacc643fc,544574073-0,Cirangga Kidul,,2016-03-08,763.46,,Undeployable,12,Oyope
|
||||
Mildred Gibson,mgibson2@wiley.com,mgibson2,morbi quis tortor id,nunc nisl duis,convallis tortor risus,Lajo,374622546776765,2837ab20-8f0d-4935-8a52-226392f2b1b0,710141467-2,Shekou,In congue. Etiam justo. Etiam pretium iaculis justo.,2015-08-09,233.57,Konklab,Lost,,
|
||||
Brandon Lee,blee3@quantcast.com,blee3,amet cursus id turpis,sed,in faucibus orci,Zoomlounge,3549618015236095,18d6e6a4-d362-4de9-beb4-7f62fb93de6f,103538064-1,Leksand,Integer ac leo. Pellentesque ultrices mattis odio. Donec vitae nisi.,2015-10-11,,,Pending Diagnostics,,
|
||||
Betty Powell,bpowell4@tuttocitta.it,bpowell4,ipsum praesent,condimentum curabitur,et ultrices,Kazu,3567082842822626,f9b473c6-c810-42f2-8335-27ce468889a8,118753405-6,Dresi Wetan,,2015-06-16,324.8,,Ready to Deploy,,
|
||||
Anthony Wheeler,awheeler5@cocolog-nifty.com,awheeler5,dictumst maecenas ut,sem praesent,accumsan felis,Layo,30052522651756,4751495c-cee0-4961-b788-94a545b5643e,998233705-X,Dante Delgado,,2016-04-16,261.79,,Archived,15,Ntag
|
||||
Dennis Reynolds,dreynolds6@ustream.tv,dreynolds6,libero nam,risus,interdum mauris,Twiyo,3585438057660291,17b3cf8d-fead-46f5-a8b0-49906bb90a00,177687256-8,Pingle,"Proin interdum mauris non ligula pellentesque ultrices. Phasellus id sapien in sapien iaculis congue. Vivamus metus arcu, adipiscing molestie, hendrerit at, vulputate vitae, nisl.",2015-05-24,,,Pending Diagnostics,,
|
||||
Andrea Arnold,aarnold7@cbc.ca,aarnold7,mauris morbi non,ante vel,sapien dignissim,Cogibox,3548511052883500,7a6a2fdb-160c-4d91-8e05-a0337a90d9db,129556040-2,Zhuli,Duis aliquam convallis nunc. Proin at turpis a pede posuere nonummy. Integer non velit.,2015-09-15,434.86,,Archived,14,Kwilith
|
||||
Anna Butler,abutler8@wikia.com,abutler8,eleifend pede libero,sapien a libero,et ultrices posuere cubilia,Flipbug,6.75911579996746E+017,c1a57909-3b2e-47fe-ab2f-843401b2a7de,117517007-0,Niopanda,"Maecenas tristique, est et tempus semper, est quam pharetra magna, ac consequat metus sapien ut nunc. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris viverra diam vitae quam. Suspendisse potenti.",2016-04-13,89.53,,Archived,15,Linkbridge
|
||||
Mark Bennett,mbennett9@diigo.com,mbennett9,convallis nulla neque,eu sapien,duis mattis egestas metus aenean,Centimia,378342677410961,07540238-fb3c-4c8a-8e11-d43883ee4268,007968217-0,Zoumaling,,2015-07-04,,,Lost,,
|
||||
Emily Wheeler,ewheelera@google.de,ewheelera,in felis,leo odio,quam sapien varius,Roombo,201954480670574,527b2445-2c67-4f76-912f-6ec42400a584,441402118-9,Luts’k,Suspendisse potenti. In eleifend quam a odio. In hac habitasse platea dictumst.,2016-05-18,,Bitwolf,Lost,36,Wikizz
|
||||
Wanda Fox,wfoxb@virginia.edu,wfoxb,vel ipsum praesent,potenti nullam porttitor,augue vestibulum rutrum rutrum neque,Yakijo,3567636803247485,,863829558-8,Pravdinsk,"Aenean fermentum. Donec ut mauris eget massa tempor convallis. Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh.",2015-11-10,,,Lost,14,Linkbridge
|
||||
,,,odio elementum,posuere cubilia curae,ante vel ipsum praesent blandit,Oyope,3529462300753736,9a863968-180e-451d-a723-dc85e2d5d8ff,742114860-4,Panay,Pellentesque at nulla. Suspendisse potenti. Cras in purus eu magna vulputate luctus.,2016-03-20,881.4,,,30,Tagcat
|
||||
Janet Grant,jgrantd@cpanel.net,jgrantd,viverra diam vitae,semper sapien,dapibus dolor vel,Flashset,3559785746335392,e287bb64-ff4f-434c-88ab-210ad433c77b,927820758-6,Achiaman,,2016-03-05,675.3,,Archived,22,Meevee
|
||||
Antonio Larson,alarsone@tripod.com,alarsone,felis sed interdum venenatis,id lobortis,dui proin,Chatterbridge,4070995882635,90bcab28-ffd4-48c9-ba5d-c2eeb1400698,789757925-5,Oemanu,Phasellus sit amet erat. Nulla tempus. Vivamus in felis eu sapien cursus vestibulum.,2015-07-25,,,Ready to Deploy,30,Shuffledrive
|
||||
Lois Powell,lpowellf@com.com,lpowellf,id consequat,justo nec,odio porttitor id consequat in,Skipstorm,36309149183447,08e440f7-bd0b-47a7-a577-4a3ce3c7dfe7,202652281-2,Qiaolin,"Proin interdum mauris non ligula pellentesque ultrices. Phasellus id sapien in sapien iaculis congue. Vivamus metus arcu, adipiscing molestie, hendrerit at, vulputate vitae, nisl.",2015-08-13,446.22,,Lost,,
|
||||
Mildred Allen,malleng@com.com,malleng,porta volutpat quam pede,in hac habitasse,donec vitae nisi nam,Devpulse,3543783295297294,5f900903-0ffe-4405-b5ad-aa4aa59d911c,210119288-8,Accha,"Nam ultrices, libero non mattis pulvinar, nulla pede ullamcorper augue, a suscipit nulla elit ac nulla. Sed vel enim sit amet nunc viverra dapibus. Nulla suscipit ligula in lacus.",2015-12-24,923.9,,Lost,20,Quamba
|
||||
Clarence Austin,caustinh@bigcartel.com,caustinh,libero nam dui proin,aliquet at feugiat,eget tincidunt eget tempus,Photobug,201967051902986,bde85740-f103-4b49-a691-a60c7f6859a8,022102715-7,Kerkrade,In hac habitasse platea dictumst. Etiam faucibus cursus urna. Ut tellus.,2016-03-29,,,Undeployable,22,Browsedrive
|
||||
Walter Chavez,wchavezi@blogs.com,wchavezi,sociis natoque penatibus,vel est,at diam nam,Photofeed,3533016005480310,bf4a2a92-6f29-4d24-be90-8126d4dcbd64,610672722-8,Villa Regina,,2016-05-13,442.51,,Archived,28,Tekfly
|
||||
Marie Elliott,melliottj@constantcontact.com,melliottj,sed tristique in,rutrum,luctus et ultrices,Riffpath,4547299861035,9a02817e-de79-4850-a212-84c9ae3dd1a2,898880851-7,Tibro,Integer ac leo. Pellentesque ultrices mattis odio. Donec vitae nisi.,2015-09-10,906.39,,Undeployable,,
|
||||
,,,dui luctus rutrum,sapien ut nunc,dictumst morbi vestibulum,Aivee,4405382067928809,514aca2a-9080-4c49-8695-7ba4c78edc65,466008300-4,Menglie,Duis consequat dui nec nisi volutpat eleifend. Donec ut dolor. Morbi vel lectus in quam fringilla rhoncus.,2015-12-21,151.27,,,,
|
||||
,,,ut massa volutpat,sed,quis odio consequat varius integer,Abatz,3537252931689981,b99208e2-b8d8-4f7a-8a06-366a27733b97,313295582-5,Solidaridad,"Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vivamus vestibulum sagittis sapien. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.",2016-02-15,211.07,,,,
|
||||
Benjamin Ford,bfordm@woothemes.com,bfordm,habitasse platea dictumst,primis in faucibus,quam a odio in,Blogtag,5018304036665243,c8680b36-a13c-427f-a6a1-1b9b351eb129,552327520-4,Sorinomo,In quis justo. Maecenas rhoncus aliquam lacus. Morbi quis tortor id nulla ultrices aliquet.,2015-11-25,112.11,,Ready to Deploy,18,Quatz
|
||||
Timothy Warren,twarrenn@printfriendly.com,twarrenn,leo pellentesque ultrices,vestibulum,in sapien iaculis congue vivamus,Brightdog,30355105682126,6c1e7556-063f-4c71-87ce-e46b06e8c238,446504693-6,Tamel,"Nam ultrices, libero non mattis pulvinar, nulla pede ullamcorper augue, a suscipit nulla elit ac nulla. Sed vel enim sit amet nunc viverra dapibus. Nulla suscipit ligula in lacus.",2015-08-19,221.03,,Undeployable,26,Mydeo
|
||||
Carlos Kelley,ckelleyo@1und1.de,ckelleyo,suspendisse potenti nullam,magnis dis parturient,at nibh in hac,Voolia,5.02034519834773E+017,95605fc3-f82e-4472-a2b0-93acd5e255ed,860990227-7,Tučepi,,2015-06-08,443.05,,Archived,35,Aimbu
|
||||
Marilyn Bryant,mbryantp@uiuc.edu,mbryantp,nam nulla integer,praesent,turpis adipiscing lorem vitae,Divape,5.02036965260033E+016,53d9eef2-e0f8-4c81-9a31-8c12e4f52ab0,536251475-X,Peddie,Phasellus in felis. Donec semper sapien a libero. Nam dui.,2015-06-08,79.2,Zaam-Dox,Ready to Deploy,,
|
||||
Douglas Marshall,dmarshallq@cdc.gov,dmarshallq,cras mi pede malesuada,odio,aliquam augue quam sollicitudin,Thoughtsphere,5610480952189632,50d3ba91-06d6-4453-84ff-5ed801d3faa5,148599723-2,Betafo,,2016-03-06,321.96,,Archived,,
|
||||
Ruth Cunningham,rcunninghamr@biglobe.ne.jp,rcunninghamr,duis faucibus accumsan,ipsum aliquam,metus vitae ipsum,Jabbertype,4017954952198803,d4f93ed0-5010-4026-9d3f-0e59e0efee15,416706302-6,Margate,"Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa. Donec dapibus. Duis at velit eu est congue elementum.",2015-08-06,211.17,,Ready to Deploy,,
|
||||
,,,non ligula pellentesque ultrices,arcu adipiscing molestie,vestibulum ante ipsum,Shuffletag,3575254429008123,657a313a-361c-4733-b444-ec26dc02fdfe,065976674-4,Igurubi,"Vestibulum ac est lacinia nisi venenatis tristique. Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue. Aliquam erat volutpat.",2016-04-15,,,,26,Wikido
|
||||
Jose Freeman,jfreemant@free.fr,jfreemant,duis aliquam convallis,potenti cras in,enim blandit,Twitterlist,604923914546620,98080972-ad72-4581-8aee-ec78a6b3f528,712283421-2,Kuala Lumpur,Phasellus sit amet erat. Nulla tempus. Vivamus in felis eu sapien cursus vestibulum.,2015-09-05,744.98,,Lost,,
|
||||
Wayne Woods,wwoodsu@tuttocitta.it,wwoodsu,massa id nisl,est,sit amet erat nulla,Browsecat,3553184613730081,fb146f1d-b0ed-4ffc-8653-3ad0afe99dd0,666189117-3,Saint-Étienne,,2016-03-14,,,Undeployable,14,Jabbersphere
|
||||
Frank Butler,fbutlerv@reuters.com,fbutlerv,arcu adipiscing,duis faucibus accumsan,nisi venenatis,Shuffledrive,374622582923529,7820e851-362b-4187-b64a-c1ef8800fbce,323903931-1,Jinxiang,"Mauris enim leo, rhoncus sed, vestibulum sit amet, cursus id, turpis. Integer aliquet, massa id lobortis convallis, tortor risus dapibus augue, vel accumsan tellus nisi eu orci. Mauris lacinia sapien quis libero.",2015-08-05,697.01,,Pending Diagnostics,17,Vipe
|
||||
,,,eget eros,sapien varius,morbi non quam nec,Eamia,374283210933313,9c67b528-2389-4733-92e7-a09415649c72,172486278-2,Neuzina,"Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa. Donec dapibus. Duis at velit eu est congue elementum.",2015-10-07,541.17,,,,
|
||||
Christina Hunt,chuntx@businessinsider.com,chuntx,ut suscipit a feugiat,in faucibus,neque vestibulum eget,Quamba,5553781723608266,,620738847-X,Agpangi,"In sagittis dui vel nisl. Duis ac nibh. Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus.",2015-05-31,199.6,,Pending Diagnostics,,
|
||||
Cynthia Gordon,cgordony@livejournal.com,cgordony,morbi non quam nec,faucibus,eu orci mauris lacinia,Meevee,374283689607158,1a67f546-8de4-4d2d-b32f-6c1605cac858,786105964-2,Dallas,,2016-04-01,19.94,,Archived,33,Meembee
|
||||
Jose Hicks,jhicksz@behance.net,jhicksz,habitasse platea dictumst etiam,fermentum donec ut,diam vitae quam suspendisse,Jaxspan,372301567804085,71a5bd14-ba88-4cda-860d-9ca62347ba8d,539439867-4,Joševa,Duis bibendum. Morbi non quam nec dui luctus rutrum. Nulla tellus.,2016-04-09,,,Ready to Deploy,22,Zoombeat
|
||||
Anna Turner,aturner10@opensource.org,aturner10,sed tristique in tempus,sodales scelerisque mauris,nullam porttitor,Oozz,4508062466823480,2b9c723e-e530-44c5-ab95-72f3ad50a631,526130314-1,Tawau,Sed ante. Vivamus tortor. Duis mattis egestas metus.,2016-03-10,815,Flexidy,Pending Diagnostics,36,Bluejam
|
||||
Patricia Lawson,plawson11@businessinsider.com,plawson11,proin at,justo in,sed magna at nunc commodo,Nlounge,3567972196880867,f2c0248d-b6f6-42bf-a9a2-49c54372c01c,558108071-2,Valejas,,2015-07-27,,,Lost,35,Quire
|
||||
Marilyn Gilbert,mgilbert12@comcast.net,mgilbert12,in hac habitasse platea,semper porta volutpat,proin eu,Rhyloo,6.30429100938515E+017,6e9c56b8-5266-47f1-86bc-f73a0d42b05e,562820613-X,Bulacnin,,2015-07-05,665.67,,Lost,,
|
||||
Anne Lynch,alynch13@biglobe.ne.jp,alynch13,tincidunt nulla,turpis elementum,lobortis convallis tortor,Divavu,5102767739445831,db9913ae-d9ba-4653-aae5-590c2a3b5a69,943970793-3,Mayenne,Maecenas ut massa quis augue luctus tincidunt. Nulla mollis molestie lorem. Quisque ut erat.,2016-01-09,468.49,,Pending Diagnostics,33,Dynava
|
||||
Lois Morgan,lmorgan14@wired.com,lmorgan14,imperdiet et commodo,vel,quis odio consequat varius,Camido,30453934961421,a6f3372c-73f1-4857-8ae6-432a2bdfd1c2,372636920-1,Shuiying,,2015-08-15,,,Archived,,
|
||||
Lois Johnson,ljohnson15@japanpost.jp,ljohnson15,nulla suscipit ligula,eros elementum,felis fusce posuere,Zoomcast,3545613507860779,1c0928ec-2ef7-430b-a556-18b33451612b,903861200-1,Kahuripan,Integer tincidunt ante vel ipsum. Praesent blandit lacinia erat. Vestibulum sed magna at nunc commodo placerat.,2016-03-29,721.77,,Pending Diagnostics,,
|
||||
Jennifer Jones,jjones16@fda.gov,jjones16,primis in faucibus orci,porttitor pede justo,lorem quisque ut erat curabitur,Myworks,5127488524926932,3efa8d3c-01b2-408e-b592-f8cf18a510f4,413846137-X,Charneca,,2015-11-09,293.99,Trippledex,Pending Diagnostics,29,Devify
|
||||
,,,aliquet pulvinar,tincidunt,rutrum at lorem,Meembee,5428127866845021,ef71ff15-fae8-4f6b-a19c-9277d5a29df9,762391548-7,Szydłowo,Pellentesque at nulla. Suspendisse potenti. Cras in purus eu magna vulputate luctus.,2015-12-23,15,,,,
|
||||
David Jackson,djackson18@gravatar.com,djackson18,pede venenatis,magna,id pretium,Shuffledrive,201495288158933,eab62ffe-2e0b-4c77-8aa2-133d27bb90ab,309187247-5,Jinglongqiao,,2015-08-12,572.92,,Undeployable,21,Twimbo
|
||||
Janice Ford,jford19@dmoz.org,jford19,nibh ligula,nibh in,lobortis vel dapibus,Brightbean,3567448770139061,42ec7b7d-5a37-4587-a3a7-e038ed650e94,741760231-2,Waenenda,Cras non velit nec nisi vulputate nonummy. Maecenas tincidunt lacus at velit. Vivamus vel nulla eget eros elementum pellentesque.,2015-11-01,,,Pending Diagnostics,,
|
||||
Todd Boyd,tboyd1a@nsw.gov.au,tboyd1a,metus vitae ipsum aliquam,in felis,sapien non mi,Jabbertype,3578620483518354,70e99274-5df6-4f1f-b2cc-3f9cffd3a828,387700497-0,Siedlce,,2015-06-07,983.85,,Ready to Deploy,,
|
||||
,,,semper est,primis in faucibus,justo in hac habitasse platea,Dabvine,4.93639139113611E+018,e8aa6b0f-8f69-45cd-972c-b2b1e0415061,286742654-5,Minggang,"Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vivamus vestibulum sagittis sapien. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.",2015-08-10,,,,,
|
||||
Andrea Brooks,abrooks1c@shareasale.com,abrooks1c,non ligula,fusce posuere,ac enim in tempor,Youtags,5610029611282179,,226358965-1,Santa Gertrudes,Aliquam quis turpis eget elit sodales scelerisque. Mauris sit amet eros. Suspendisse accumsan tortor quis turpis.,2016-03-05,387.62,,Lost,29,Zava
|
||||
,,,nisl venenatis,sodales,varius nulla facilisi cras non,Realbuzz,201496591284085,2952e308-122a-45ea-ac49-a836ca71a597,403999355-1,Huanxi,"Nam ultrices, libero non mattis pulvinar, nulla pede ullamcorper augue, a suscipit nulla elit ac nulla. Sed vel enim sit amet nunc viverra dapibus. Nulla suscipit ligula in lacus.",2016-04-10,925.87,,,,
|
||||
Anne Butler,abutler1e@elpais.com,abutler1e,sapien ut nunc,ultrices posuere cubilia,rhoncus mauris enim,Skibox,6.7712495618249E+018,3c1b4617-2219-419e-87fb-d654a0dab45e,756532468-X,Vyshniy Volochëk,In congue. Etiam justo. Etiam pretium iaculis justo.,2015-09-21,271.56,,Pending Diagnostics,,
|
||||
,,,congue etiam justo,potenti nullam,congue risus semper porta,Oba,3571347945178711,9637ee81-b7ae-4465-8d19-61eec98ddf7f,577368722-4,Mostovskoy,"Maecenas tristique, est et tempus semper, est quam pharetra magna, ac consequat metus sapien ut nunc. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris viverra diam vitae quam. Suspendisse potenti.",2015-07-27,,,,24,Edgeblab
|
||||
Cynthia Stevens,cstevens1g@dyndns.org,cstevens1g,cursus vestibulum proin,ut volutpat,vel est donec odio justo,Skinte,6.33486824760947E+017,0bd330d0-3bde-4c47-a156-06a34435d8b4,058534741-7,Santa Rosa del Sara,"Aenean fermentum. Donec ut mauris eget massa tempor convallis. Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh.",2016-04-26,,,Archived,36,Wikizz
|
||||
,,,sapien urna,habitasse,eget semper rutrum nulla nunc,Browsecat,5010125018500456,bf03e70c-fb5d-4164-ab40-9b96d5465e6c,629074247-7,Bonneuil-sur-Marne,Phasellus in felis. Donec semper sapien a libero. Nam dui.,2016-03-21,810.91,,,12,Brainlounge
|
||||
Donald Richardson,drichardson1i@over-blog.com,drichardson1i,eros vestibulum ac,nulla justo,natoque penatibus et magnis dis,Feedmix,3588017259302337,f0d7f3c9-dfea-4bb6-a401-571fffbf3090,984987793-6,Palue,,2015-10-02,718.94,,Ready to Deploy,34,Midel
|
||||
,,,erat vestibulum sed magna,ipsum,eget eleifend luctus ultricies,Skipfire,3531685576372114,343daa1a-d1f8-4ffb-8368-a26670381a40,604121509-0,Medicine Hat,"Praesent blandit. Nam nulla. Integer pede justo, lacinia eget, tincidunt eget, tempus vel, pede.",2016-01-04,,,,,
|
||||
Chris Ellis,cellis1k@squidoo.com,cellis1k,eros viverra,velit nec,mauris laoreet ut rhoncus aliquet,Jaxnation,5002354307429629,f66bce43-fccf-49d9-94d1-cb0b8fe56472,546719356-2,Qigzhi,,2015-11-21,585.87,,Pending Diagnostics,,
|
||||
,,,non velit nec nisi,orci luctus et,sed vestibulum,Katz,30501008655301,e3d0a6ac-024b-4c21-ac30-536e6c3d5959,404764262-2,Mojokerto,"Mauris enim leo, rhoncus sed, vestibulum sit amet, cursus id, turpis. Integer aliquet, massa id lobortis convallis, tortor risus dapibus augue, vel accumsan tellus nisi eu orci. Mauris lacinia sapien quis libero.",2016-02-03,605.49,,,32,Shufflester
|
||||
Timothy Greene,tgreene1m@npr.org,tgreene1m,massa id lobortis,mattis pulvinar nulla,suscipit a feugiat et,Ainyx,3535277053604122,3c11f36f-e17b-4392-890b-35e5bc0bdffa,552778185-6,Chongqing,"Maecenas leo odio, condimentum id, luctus nec, molestie sed, justo. Pellentesque viverra pede ac diam. Cras pellentesque volutpat dui.",2015-07-22,115.77,,Lost,34,Vinte
|
||||
Doris Taylor,dtaylor1n@mapy.cz,dtaylor1n,magnis dis,neque aenean auctor,primis in faucibus orci luctus,Vipe,5048372964899039,bc134863-84be-4421-9938-d8ce0525ef1e,360343994-5,Xinbao,Duis aliquam convallis nunc. Proin at turpis a pede posuere nonummy. Integer non velit.,2015-11-18,,,Pending Diagnostics,33,Flashdog
|
||||
Melissa Day,mday1o@archive.org,mday1o,justo sollicitudin,vestibulum velit id,tellus semper,Fivechat,3535789227456528,996499bc-968c-4ecc-a7d6-07e9348d552b,077200127-8,Nancheng,"Proin leo odio, porttitor id, consequat in, consequat ut, nulla. Sed accumsan felis. Ut at dolor quis odio consequat varius.",2015-08-01,166.87,,Ready to Deploy,35,Trudeo
|
||||
Laura Watkins,lwatkins1p@quantcast.com,lwatkins1p,quam pharetra,imperdiet,ut massa,Oyondu,4.90575358966523E+018,a7db733b-732c-4b54-901e-1ad28e145cb0,177033838-1,Wuhu,"Fusce posuere felis sed lacus. Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl. Nunc rhoncus dui vel sem.",2015-12-04,406.96,,Lost,14,Devpoint
|
||||
Donna Kelley,dkelley1q@dailymotion.com,dkelley1q,sapien placerat,nulla elit ac,tincidunt eu felis,Aimbo,5610815292062918,fed4c9f9-8b0d-4d6a-ac43-c7929a31bb72,952276162-1,Arnhem,"Morbi non lectus. Aliquam sit amet diam in magna bibendum imperdiet. Nullam orci pede, venenatis non, sodales sed, tincidunt eu, felis.",2016-01-24,,,Pending Diagnostics,17,Kayveo
|
||||
Adam Marshall,amarshall1r@marketwatch.com,amarshall1r,etiam faucibus cursus,cubilia curae mauris,massa id nisl venenatis,Skajo,3550363534806781,e7c5e464-9bbd-4d86-b549-3d3883b3139e,224555307-1,Dachang,Aliquam quis turpis eget elit sodales scelerisque. Mauris sit amet eros. Suspendisse accumsan tortor quis turpis.,2016-02-13,,,Lost,27,Skidoo
|
||||
Peter Mills,pmills1s@instagram.com,pmills1s,diam id,dolor sit,ligula vehicula consequat,Gabtune,3566562640943303,efdf785c-a484-4454-8be0-d3b598c77a8d,269508722-5,Voi,"Morbi non lectus. Aliquam sit amet diam in magna bibendum imperdiet. Nullam orci pede, venenatis non, sodales sed, tincidunt eu, felis.",2016-05-23,312.07,,Archived,,
|
||||
Christina George,cgeorge1t@163.com,cgeorge1t,vivamus vestibulum,quisque,id mauris vulputate elementum nullam,Yabox,6709339676453700,1a4d5946-1539-4ff1-921b-c442eef8c28b,596138325-3,Campamento,,2016-04-03,221.14,,Archived,,
|
||||
Theresa Cunningham,tcunningham1u@infoseek.co.jp,tcunningham1u,nisl aenean lectus pellentesque,fermentum,nisl ut,Skimia,3575845905358914,70d0b5d4-8569-421c-912c-9ee11c565b62,769779519-1,Plei Kần,"In hac habitasse platea dictumst. Morbi vestibulum, velit id pretium iaculis, diam erat fermentum justo, nec condimentum neque sapien placerat ante. Nulla justo.",2016-03-22,,Konklab,Ready to Deploy,13,Wordify
|
||||
Stephanie Burke,sburke1v@unicef.org,sburke1v,ac neque duis bibendum,duis consequat,rhoncus aliquam lacus morbi,Centizu,3576056156747438,,709282846-5,Donghui,,2015-06-23,29.7,,Pending Diagnostics,,
|
||||
Lillian Ferguson,lferguson1w@go.com,lferguson1w,elementum eu interdum,arcu libero rutrum,viverra pede,Muxo,5.6022311196475E+016,29de084a-9376-48dc-a310-cd01b1baf715,603152718-9,Camp Diable,,2016-02-09,,,Ready to Deploy,,
|
||||
Bonnie Graham,bgraham1x@hexun.com,bgraham1x,mauris morbi non,tristique in tempus,ipsum aliquam non,Devpoint,6.30484505318487E+018,d8a596a6-f59a-4423-b424-b3d132c06791,297281098-8,Vlachovice,"Proin eu mi. Nulla ac enim. In tempor, turpis nec euismod scelerisque, quam turpis adipiscing lorem, vitae mattis nibh ligula nec sem.",2016-02-10,553.28,,Archived,,
|
||||
Michael Lawrence,mlawrence1y@addtoany.com,mlawrence1y,nonummy maecenas,nec euismod scelerisque,a suscipit nulla elit,Katz,3588657497186032,e95115b8-b45e-4a89-b271-c46732934394,740776342-9,Babica,"Cras mi pede, malesuada in, imperdiet et, commodo vulputate, justo. In blandit ultrices enim. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.",2016-03-18,552.55,,Lost,,
|
||||
Martin Scott,mscott1z@list-manage.com,mscott1z,sodales scelerisque mauris sit,ut erat,sem fusce consequat nulla,Linklinks,374283823495957,9a108aa1-568c-4141-a8d8-92a451f68e22,915137664-4,Reshetikha,Nullam porttitor lacus at turpis. Donec posuere metus vitae ipsum. Aliquam non mauris.,2015-08-26,,,Archived,16,Kanoodle
|
||||
Kelly Mitchell,kmitchell20@google.it,kmitchell20,vestibulum ante,quam sapien varius,morbi odio odio,Edgeclub,5.60224885282861E+018,319bf374-753a-49ef-885a-03a27dca4275,225439463-0,Lere,"Fusce posuere felis sed lacus. Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl. Nunc rhoncus dui vel sem.",2015-07-25,,,Ready to Deploy,34,Kwilith
|
||||
Carol Hunter,chunter21@prnewswire.com,chunter21,phasellus in,est congue,tortor eu,Ozu,5602228882463423,a8be5948-b765-4f5d-9f1f-0f26952842d0,001757218-5,Tanabi,Pellentesque at nulla. Suspendisse potenti. Cras in purus eu magna vulputate luctus.,2016-03-11,81.15,,Lost,20,Skynoodle
|
||||
Michelle Simpson,msimpson22@discuz.net,msimpson22,amet sapien dignissim,luctus nec molestie,mauris non ligula pellentesque,Mudo,3578002049296413,b8098077-560e-4a12-8bc1-220d83291032,815922090-1,Aegela,In quis justo. Maecenas rhoncus aliquam lacus. Morbi quis tortor id nulla ultrices aliquet.,2015-11-21,664.35,,Lost,28,Edgeblab
|
||||
Pamela Martin,pmartin23@ca.gov,pmartin23,mollis molestie lorem quisque,ut,donec semper sapien a libero,Zoombeat,5048376726433136,cb7572bc-d7ca-4b5b-903e-fc567c337e32,057863524-0,Empangeni,"Proin leo odio, porttitor id, consequat in, consequat ut, nulla. Sed accumsan felis. Ut at dolor quis odio consequat varius.",2016-04-06,711.1,Transcof,Ready to Deploy,,
|
||||
Johnny Burke,jburke24@va.gov,jburke24,eros suspendisse,arcu,justo eu massa donec dapibus,Skipfire,5.60225202235212E+017,,155395513-7,Half Way Tree,In congue. Etiam justo. Etiam pretium iaculis justo.,2015-05-25,538.84,,Pending Diagnostics,,
|
||||
Adam Stevens,astevens25@feedburner.com,astevens25,justo maecenas rhoncus,sed,in consequat ut nulla,Jetwire,3558754018062473,,296612694-9,Xinjian,Nullam sit amet turpis elementum ligula vehicula consequat. Morbi a ipsum. Integer a nibh.,2015-11-01,,,Undeployable,19,Minyx
|
||||
Gloria Black,gblack26@samsung.com,gblack26,pharetra magna,et ultrices posuere,habitasse platea dictumst morbi,Bubbletube,3581295525802838,271065e6-f1fe-4d2b-aa47-76234656e29b,515439385-6,Santiago del Estero,,2016-05-12,948.04,,Lost,,
|
||||
Christine Jenkins,cjenkins27@pbs.org,cjenkins27,justo morbi ut odio,sagittis,auctor gravida sem praesent id,Mynte,6.7633339031557E+018,30f840cb-acfd-4797-82ad-14c6ccad4d03,790003898-1,Ban Phan Don,,2016-01-19,89.14,,Archived,,
|
||||
Michelle Riley,mriley28@networkadvertising.org,mriley28,justo maecenas,nulla tellus in,ligula in lacus,Izio,4.93637704926415E+018,b695a1c5-c4af-493e-8851-63aa41032c01,524481245-9,Munggang,,2015-11-21,895.08,,Undeployable,29,Feednation
|
||||
Diana Torres,dtorres29@sciencedaily.com,dtorres29,nulla pede ullamcorper augue,rutrum rutrum neque,enim in tempor turpis,Jabberbean,3566203942437351,,743088297-8,Bromma,"In hac habitasse platea dictumst. Morbi vestibulum, velit id pretium iaculis, diam erat fermentum justo, nec condimentum neque sapien placerat ante. Nulla justo.",2016-02-29,833.54,,Archived,,
|
||||
Dorothy Simmons,dsimmons2a@adobe.com,dsimmons2a,amet sem fusce,id,hendrerit at vulputate vitae,Gabtype,5407504596351030,c6144e5d-0b64-44d1-bba5-0a7b0e3e78dc,998959453-8,Tawau,"Curabitur in libero ut massa volutpat convallis. Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo. Maecenas pulvinar lobortis est.",2015-08-25,,,Lost,,
|
||||
Michelle Hunt,mhunt2b@t-online.de,mhunt2b,orci vehicula,odio,eleifend luctus ultricies eu,Dazzlesphere,3544932891060288,9e1a7fdc-e410-4369-8203-f170e5e749b0,118824344-6,North Vancouver,Pellentesque at nulla. Suspendisse potenti. Cras in purus eu magna vulputate luctus.,2016-02-29,663.19,,Undeployable,30,Twiyo
|
||||
,,,eu mi nulla ac,bibendum,ridiculus mus vivamus vestibulum,Skiptube,5602256523069580,659b0fc6-7107-4be4-8478-836366c4e23c,867984064-5,Hekou,Duis aliquam convallis nunc. Proin at turpis a pede posuere nonummy. Integer non velit.,2016-05-06,,,,16,Ntags
|
||||
Andrew White,awhite2d@a8.net,awhite2d,a nibh,amet cursus id,curabitur in,Ooba,3536282915752555,f2cfaa82-b40f-4119-81c0-f5a8eeb06a38,222270511-8,Angeghakot’,"Donec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec pharetra, magna vestibulum aliquet ultrices, erat tortor sollicitudin mi, sit amet lobortis sapien sapien non mi. Integer ac neque.",2015-06-08,651.3,,Pending Diagnostics,,
|
||||
Brian Franklin,bfranklin2e@dot.gov,bfranklin2e,nisi eu orci mauris,hendrerit at vulputate,tortor duis mattis egestas metus,Jazzy,374622354851106,638497c0-4690-4872-b241-c15545806c8a,255225792-5,Duraykīsh,"Maecenas tristique, est et tempus semper, est quam pharetra magna, ac consequat metus sapien ut nunc. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris viverra diam vitae quam. Suspendisse potenti.",2015-10-08,141.33,,Ready to Deploy,,
|
||||
Martha Carter,mcarter2f@soundcloud.com,mcarter2f,posuere cubilia curae mauris,quis turpis,in magna bibendum imperdiet nullam,Demizz,6.75938318513741E+018,b3c36765-d42a-4c83-bc62-300bb07fde98,361952926-4,Opatov,,2015-07-08,599.89,,Ready to Deploy,,
|
||||
Joe Stone,jstone2g@shinystat.com,jstone2g,ut at,dapibus,ultrices aliquet,Wikibox,3547109377511525,,100773046-3,Atbasar,"Praesent blandit. Nam nulla. Integer pede justo, lacinia eget, tincidunt eget, tempus vel, pede.",2016-01-31,16.78,,Pending Diagnostics,20,Gigazoom
|
||||
Todd Brooks,tbrooks2h@nbcnews.com,tbrooks2h,sed sagittis nam,lacinia eget tincidunt,porta volutpat erat,Wikibox,36953984058725,,703472241-2,Oslo,Duis aliquam convallis nunc. Proin at turpis a pede posuere nonummy. Integer non velit.,2015-06-28,573.06,Solarbreeze,Ready to Deploy,31,Buzzshare
|
||||
Janet Cox,jcox2i@virginia.edu,jcox2i,tristique est et tempus,sociis natoque penatibus,auctor sed,Dynazzy,6389179112138656,54316132-26aa-4bf0-9e1b-6dcd2afda6ce,715414385-1,Saidpur,"Curabitur in libero ut massa volutpat convallis. Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo. Maecenas pulvinar lobortis est.",2015-09-15,,,Lost,,
|
||||
Henry Richardson,hrichardson2j@shinystat.com,hrichardson2j,enim leo rhoncus,eros,dolor sit,Blogpad,3550068835419040,7d1c8d21-7a56-4c23-8649-061ddd708893,764086552-2,Momanalu,"Morbi porttitor lorem id ligula. Suspendisse ornare consequat lectus. In est risus, auctor sed, tristique in, tempus sit amet, sem.",2015-08-29,,,Pending Diagnostics,,
|
||||
Rose Thompson,rthompson2k@goo.gl,rthompson2k,in faucibus,vitae ipsum aliquam,quam sollicitudin vitae consectetuer eget,Yakitri,5602225854973231,7bd1251a-ea8c-46dc-93d2-93f62d90a969,509026038-9,Rennes,In hac habitasse platea dictumst. Etiam faucibus cursus urna. Ut tellus.,2016-04-18,551.23,,Pending Diagnostics,,
|
||||
Julie Hunter,jhunter2l@delicious.com,jhunter2l,morbi odio odio,sociis natoque,in sapien,Jatri,6706279710914494,ea523cc9-6428-4a4b-aed9-c470703891f1,900328219-6,Quevedo,"Aenean fermentum. Donec ut mauris eget massa tempor convallis. Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh.",2015-09-07,291.69,Otcom,Undeployable,25,Jazzy
|
||||
Dorothy Reed,dreed2m@dedecms.com,dreed2m,donec posuere metus,ut,tellus nisi,Kazio,3545354504978666,3772945a-1148-4051-8443-0ee8a92c5b17,328780394-8,Grujugan,,2015-09-19,488.83,,Pending Diagnostics,,
|
||||
Phyllis Foster,pfoster2n@indiegogo.com,pfoster2n,amet erat nulla tempus,sit amet,aenean auctor,Shufflebeat,3533111501358076,db9552e3-13f9-40c4-9c2c-8bff3c4c0a89,611870818-5,Oepula,,2015-06-13,,Vagram,Ready to Deploy,,
|
||||
Marie Henry,mhenry2o@accuweather.com,mhenry2o,odio consequat varius,pede justo lacinia,posuere cubilia curae nulla,Rhybox,3567546926048357,d6289b7b-4ed2-4ec8-a486-4cdd3591da21,277787832-3,Kotabaru,Etiam vel augue. Vestibulum rutrum rutrum neque. Aenean auctor gravida sem.,2015-07-03,157.31,,Undeployable,25,Bluejam
|
||||
Linda Crawford,lcrawford2p@ocn.ne.jp,lcrawford2p,adipiscing elit proin,lobortis sapien sapien,blandit non,Jetpulse,6771123616739565,79bfd454-34f7-4eb5-8873-aaf43cc63856,982547121-2,Efeng,,2015-06-27,287.02,,Ready to Deploy,21,Babbleset
|
||||
Thomas Dean,tdean2q@prnewswire.com,tdean2q,pede posuere nonummy,at nulla suspendisse,interdum in ante vestibulum,Demimbu,3570349766502210,11515f0c-7d36-4938-9656-ae35be5aad59,847767021-8,‘Ayn al Bayḑā,"Curabitur at ipsum ac tellus semper interdum. Mauris ullamcorper purus sit amet nulla. Quisque arcu libero, rutrum ac, lobortis vel, dapibus at, diam.",2016-03-15,,,Ready to Deploy,20,Devcast
|
||||
George Sanchez,gsanchez2r@photobucket.com,gsanchez2r,cras in purus,sed tristique in,consequat varius integer ac,Feedfire,6334048542335537,354f339d-547d-4b10-8753-a8e5cb18e1d9,408291765-9,Lakatnik,Suspendisse potenti. In eleifend quam a odio. In hac habitasse platea dictumst.,2016-01-01,,,Lost,25,Edgewire
|
||||
Kathleen Alvarez,kalvarez2s@amazonaws.com,kalvarez2s,duis faucibus,mauris ullamcorper,orci luctus,Wikizz,6.30498754987502E+018,edb67bfb-ef81-44e7-a9fe-ee496816f7bc,134054338-9,Longsha,Praesent id massa id nisl venenatis lacinia. Aenean sit amet justo. Morbi ut odio.,2015-07-06,,,Archived,,
|
||||
Joan Rodriguez,jrodriguez2t@sohu.com,jrodriguez2t,morbi porttitor lorem id,leo,sem duis aliquam convallis,Janyx,6304963499994647,30a3b488-c5db-4569-ac68-46cb86424ff1,145564427-7,Arlington,"Curabitur at ipsum ac tellus semper interdum. Mauris ullamcorper purus sit amet nulla. Quisque arcu libero, rutrum ac, lobortis vel, dapibus at, diam.",2015-07-17,,,Archived,28,Trunyx
|
||||
Jean Russell,jrussell2u@shop-pro.jp,jrussell2u,nulla tempus vivamus,eu felis fusce,cubilia curae nulla dapibus,Yata,3578865180776215,f285b067-6992-4a07-b34d-ed174dc73611,761164290-1,Gamut,Sed ante. Vivamus tortor. Duis mattis egestas metus.,2016-01-11,27.46,,Ready to Deploy,,
|
||||
Henry Chapman,hchapman2v@usa.gov,hchapman2v,erat nulla,morbi non,varius ut,Avamba,6759641695421678,d1f90868-5e42-46c3-aba7-7de3e3d74091,415061883-6,Ondoy,Duis bibendum. Morbi non quam nec dui luctus rutrum. Nulla tellus.,2015-07-07,,,Archived,,
|
||||
Rebecca Nichols,rnichols2w@who.int,rnichols2w,praesent blandit lacinia,eu sapien cursus,lacinia sapien quis libero,Camimbo,30077414766248,cb932a82-1853-40cc-b6c0-28bf3b4ea677,194809534-3,Foundiougne,In hac habitasse platea dictumst. Etiam faucibus cursus urna. Ut tellus.,2015-12-03,,,Lost,29,Edgeblab
|
||||
Norma Harper,nharper2x@histats.com,nharper2x,nisi vulputate nonummy,justo in,ornare consequat,Twinder,374622966591991,,875593621-0,Pruchnik,,2015-06-19,,,Lost,,
|
||||
Henry Jacobs,hjacobs2y@tamu.edu,hjacobs2y,fermentum donec ut mauris,augue luctus,suspendisse ornare consequat lectus,Realcube,3528634905061019,88a71d08-c42b-43c7-bdb8-973a2e0efe47,112308770-9,Cabugao,"Vestibulum ac est lacinia nisi venenatis tristique. Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue. Aliquam erat volutpat.",2016-03-05,787.63,,Undeployable,15,Tagpad
|
||||
Matthew Walker,mwalker2z@shareasale.com,mwalker2z,vel augue,ipsum dolor sit,ante ipsum primis in faucibus,Tazz,5.01866181155617E+016,84198bfa-740b-4ff9-907e-05a9ef1bece4,160413103-9,Gwanda,In hac habitasse platea dictumst. Etiam faucibus cursus urna. Ut tellus.,2015-11-13,899.41,,Lost,18,Photobug
|
||||
Diana Wells,dwells30@upenn.edu,dwells30,lobortis convallis,maecenas tincidunt,morbi non,Meevee,3570956119504428,5e030a75-f9b4-42fc-9958-f3dba0b7fc0a,171773317-4,Sokodé,Maecenas ut massa quis augue luctus tincidunt. Nulla mollis molestie lorem. Quisque ut erat.,2015-05-25,243.93,,Undeployable,,
|
||||
Keith Barnes,kbarnes31@prnewswire.com,kbarnes31,dui vel sem,iaculis,justo maecenas rhoncus aliquam,Topicstorm,4041595978958,60e9678e-026b-47c7-b7cb-dc00677aaed7,501758906-6,Goz Béïda,,2015-07-18,706.29,,Ready to Deploy,29,Jaxspan
|
||||
Julia Romero,jromero32@youku.com,jromero32,lacinia sapien quis libero,ante vestibulum,at feugiat non pretium quis,Dabtype,3560250144664841,147b19d6-1712-4435-aa35-07de51b13306,647505330-9,Ishurdi,"Morbi non lectus. Aliquam sit amet diam in magna bibendum imperdiet. Nullam orci pede, venenatis non, sodales sed, tincidunt eu, felis.",2016-03-06,993.95,,Archived,,
|
||||
Catherine Gonzales,cgonzales33@apache.org,cgonzales33,suscipit nulla,aliquet massa,viverra dapibus nulla suscipit ligula,Mudo,30108606484462,aa2e2be0-9f07-4311-a402-a11b2a6ca0d8,650783961-2,Xianxi,Integer tincidunt ante vel ipsum. Praesent blandit lacinia erat. Vestibulum sed magna at nunc commodo placerat.,2016-01-25,669.89,,Undeployable,20,Yabox
|
||||
,,,ultrices enim lorem,leo rhoncus sed,cras non velit,Npath,5048375808154248,7fa57f76-d4fe-4871-8296-20ecd1627acb,192573987-2,Zhongzhai,Duis bibendum. Morbi non quam nec dui luctus rutrum. Nulla tellus.,2015-11-09,352.64,,,,
|
||||
Arthur Carter,acarter35@time.com,acarter35,pede lobortis,suspendisse accumsan tortor,lacus curabitur at,Dynabox,201897802174892,7ae2a979-52f8-4ce4-ab76-3c0f336589ae,613690706-2,Mangunjaya,Maecenas ut massa quis augue luctus tincidunt. Nulla mollis molestie lorem. Quisque ut erat.,2015-09-24,,Alphazap,Archived,35,Tekfly
|
||||
Jack Henderson,jhenderson36@skype.com,jhenderson36,ut erat id,sapien,etiam pretium,Zoombox,4.91136995824574E+018,80744318-59a6-4be4-8876-428bb2eb6182,122507763-X,Lieqiao,"In hac habitasse platea dictumst. Morbi vestibulum, velit id pretium iaculis, diam erat fermentum justo, nec condimentum neque sapien placerat ante. Nulla justo.",2016-01-03,91.35,,Pending Diagnostics,,
|
||||
Janice Mills,jmills37@sphinn.com,jmills37,cubilia curae donec pharetra,non,pede libero quis,Oyondu,3564650478504040,51df7750-55b9-43ee-ba42-4baf70209c96,113885169-8,El Crucero,"Proin interdum mauris non ligula pellentesque ultrices. Phasellus id sapien in sapien iaculis congue. Vivamus metus arcu, adipiscing molestie, hendrerit at, vulputate vitae, nisl.",2016-01-04,475.07,,Lost,,
|
||||
Janet Burke,jburke38@home.pl,jburke38,tincidunt nulla mollis,vulputate ut,nibh in quis,Zooveo,6387186677750447,,244101401-3,Cuijiamatou,"Fusce posuere felis sed lacus. Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl. Nunc rhoncus dui vel sem.",2015-07-25,900.01,,Archived,12,Npath
|
||||
Rose Smith,rsmith39@nymag.com,rsmith39,pede venenatis non,pellentesque quisque porta,cursus id turpis integer,Buzzshare,3573360216468750,c8de4be3-fdc8-4d57-b1d8-26414ad341bf,691575472-5,Berdyans’k,,2015-10-09,708.94,,Undeployable,14,Topiclounge
|
||||
Rachel Rice,rrice3a@blogs.com,rrice3a,in hac habitasse platea,nulla,odio odio,Bubbletube,30327857110960,6388f77f-cc36-41ca-8482-2cfc5c0e6bdf,007983155-9,Cibeusi,"Curabitur at ipsum ac tellus semper interdum. Mauris ullamcorper purus sit amet nulla. Quisque arcu libero, rutrum ac, lobortis vel, dapibus at, diam.",2015-06-25,532.83,,Pending Diagnostics,16,Shuffletag
|
||||
Judith Morrison,jmorrison3b@nhs.uk,jmorrison3b,ut rhoncus,quam fringilla rhoncus,neque libero convallis,Jamia,6.75935914853866E+018,b8186328-c3b6-479b-bec9-3613ce9698d1,977093557-3,Ramada,,2015-12-07,,,Pending Diagnostics,,
|
||||
Kathy Peterson,kpeterson3c@weebly.com,kpeterson3c,nulla ultrices,ac est lacinia,est quam pharetra magna ac,Flashpoint,5100135124378581,02bead54-767b-4f61-a085-5439aeaf1712,349567419-5,Chonghe,,2015-09-08,,,Pending Diagnostics,,
|
||||
,,,tortor duis,dictumst morbi,quam a odio in,Avavee,5518385515115466,2fb047a6-ff89-4d9d-bfe6-304acad6ef17,145992551-3,Strelitsa,Praesent id massa id nisl venenatis lacinia. Aenean sit amet justo. Morbi ut odio.,2015-12-22,741.63,,,,
|
||||
Richard Howell,rhowell3e@msu.edu,rhowell3e,venenatis non,et,vehicula condimentum,Tagcat,6.33110952678068E+017,8bbd2e80-6a66-4210-926d-6f45c896143a,957728455-8,Rāwandūz,Aliquam quis turpis eget elit sodales scelerisque. Mauris sit amet eros. Suspendisse accumsan tortor quis turpis.,2015-07-17,205.46,,Pending Diagnostics,26,Youtags
|
||||
Mark Evans,mevans3f@businessweek.com,mevans3f,dolor quis odio,imperdiet,viverra diam vitae quam,Plambee,3558900459434834,,871649171-8,Klukeng,Sed ante. Vivamus tortor. Duis mattis egestas metus.,2016-05-09,413.07,,Archived,22,Izio
|
||||
Joan Wagner,jwagner3g@earthlink.net,jwagner3g,adipiscing elit,fusce,suspendisse ornare consequat,Kamba,201484896304931,4571c470-5dce-40b5-8b2f-1262071ec940,747966524-5,Mollās̄ānī,,2016-03-08,,,Pending Diagnostics,26,Wikibox
|
||||
Lillian Simmons,lsimmons3h@icio.us,lsimmons3h,ac enim in tempor,in tempor turpis,lacinia erat,Chatterbridge,5100146736106146,9a43a613-f009-4dd8-94ac-8af4a67b4dd0,178043767-6,Đoan Hùng,"Proin interdum mauris non ligula pellentesque ultrices. Phasellus id sapien in sapien iaculis congue. Vivamus metus arcu, adipiscing molestie, hendrerit at, vulputate vitae, nisl.",2016-05-02,181.91,,Archived,18,Voomm
|
||||
,,,amet diam,consectetuer eget,et magnis dis,Trupe,201622330574532,2947a0fc-1cae-4838-b315-df505ae4a9d6,808569614-2,Mweka,Aliquam quis turpis eget elit sodales scelerisque. Mauris sit amet eros. Suspendisse accumsan tortor quis turpis.,2015-11-09,966.58,,,,
|
||||
Arthur Morgan,amorgan3j@google.ca,amorgan3j,vestibulum eget,ut odio cras,vel nisl,Tanoodle,3532266060924154,fa077cd0-ba8d-4225-8eb4-84033ed235fc,863693363-3,Zbůch,,2015-09-23,,,Archived,31,Blognation
|
||||
,,,tempus vivamus,cras,nonummy maecenas tincidunt lacus,Zoomzone,3530625218870928,a37407ca-e6af-408c-9b9a-1aa9f90f7681,009595242-X,Sanzhang,Nulla ut erat id mauris vulputate elementum. Nullam varius. Nulla facilisi.,2016-03-27,,,,18,Layo
|
||||
Joan Matthews,jmatthews3l@ca.gov,jmatthews3l,ultrices aliquet maecenas,pretium iaculis,mus vivamus vestibulum,Bubblemix,3530545021176695,1e99a09a-06ab-4ba2-a98d-785f7c64ebe2,827817985-9,Jalasenga,"Praesent blandit. Nam nulla. Integer pede justo, lacinia eget, tincidunt eget, tempus vel, pede.",2016-03-19,784.52,It,Undeployable,,
|
||||
Jose Larson,jlarson3m@blogspot.com,jlarson3m,dolor morbi vel lectus,cum sociis,fringilla rhoncus mauris enim,Thoughtmix,3582585977910835,4c75547e-5c7a-45be-b532-ec13873b5ddd,179689579-2,Jaboatão,,2015-07-15,638.29,,Archived,24,Meejo
|
||||
Eric James,ejames3n@nbcnews.com,ejames3n,nulla integer,aliquam augue,sem duis aliquam,Trudeo,3584687842880959,,059264762-5,Suwa,"Vestibulum ac est lacinia nisi venenatis tristique. Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue. Aliquam erat volutpat.",2016-02-14,,,Ready to Deploy,34,Zoonder
|
||||
Sara George,sgeorge3o@thetimes.co.uk,sgeorge3o,leo odio,pretium quis,varius nulla facilisi,Babbleblab,337941672639555,ccf578a6-e39c-45cf-a656-3a948922aee1,133207649-1,Krajan Puru,"Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa. Donec dapibus. Duis at velit eu est congue elementum.",2016-04-13,604.35,,Lost,14,Tagfeed
|
||||
,,,dapibus at diam,morbi,ante ipsum primis in faucibus,Lazz,201999051559391,b15d20dc-eed3-47a4-a83f-67229d154e95,041974769-9,Kengkou,Suspendisse potenti. In eleifend quam a odio. In hac habitasse platea dictumst.,2015-12-29,662.67,,,,
|
||||
Ashley Torres,atorres3q@google.ru,atorres3q,eu interdum eu,eleifend,orci nullam molestie nibh in,Yacero,6.30480625439569E+018,bfdad967-af1e-4bbf-b456-eca3259120de,184953647-3,Tosontsengel,"Sed sagittis. Nam congue, risus semper porta volutpat, quam pede lobortis ligula, sit amet eleifend pede libero quis orci. Nullam molestie nibh in lectus.",2016-04-10,330.47,,Ready to Deploy,18,Trilith
|
||||
Andrea Owens,aowens3r@digg.com,aowens3r,eget congue,congue,purus eu,Realmix,3562617492300509,d3b995cd-cc81-4761-b7bd-5b160bb199b8,795122803-6,Middelburg,"Vestibulum quam sapien, varius ut, blandit non, interdum in, ante. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Duis faucibus accumsan odio. Curabitur convallis.",2015-07-11,925.85,,Archived,15,Mydeo
|
||||
,,,pede justo eu,pellentesque volutpat dui,consectetuer adipiscing elit proin,Riffpedia,374283107255804,b16407a3-9d08-421e-b386-ab93a838a67d,892497373-8,Zaragoza,Aenean lectus. Pellentesque eget nunc. Donec quis orci eget orci vehicula condimentum.,2016-04-03,187.77,,,,
|
||||
Evelyn Wright,ewright3t@gmpg.org,ewright3t,ut suscipit,sit,tortor id nulla ultrices aliquet,Browseblab,3566901421682690,c698ba68-bc82-4aff-acb3-5884c9f80296,162198086-3,Fuchun,,2015-10-29,718.76,,Pending Diagnostics,21,Edgeblab
|
||||
,,,velit donec diam neque,augue,non velit,Jabberbean,3577223053605601,89a8527c-f296-4146-b4c0-81bf896f8af6,653699580-5,Crumlin,Aenean lectus. Pellentesque eget nunc. Donec quis orci eget orci vehicula condimentum.,2015-10-18,648.77,,,,
|
||||
Melissa Rogers,mrogers3v@army.mil,mrogers3v,id ornare imperdiet sapien,a ipsum,libero nam dui proin,Rhynoodle,4026264559297795,fb87796a-6f51-4dd8-af0c-c079423a0364,356963504-X,Verkhnyaya Belka,"Fusce posuere felis sed lacus. Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl. Nunc rhoncus dui vel sem.",2016-02-23,646.41,,Pending Diagnostics,35,Yambee
|
||||
Susan Palmer,spalmer3w@tiny.cc,spalmer3w,montes nascetur ridiculus,ut,sed justo,Jabbersphere,3584134828079298,216ce7c7-3bc1-446a-b240-9ee34dbbf605,333143943-6,Raoshi,,2016-01-05,469.31,,Undeployable,,
|
||||
Joseph Mason,jmason3x@scribd.com,jmason3x,volutpat dui maecenas,sed vestibulum sit,eu est congue,Photobean,3531364203546819,1dd924ac-243a-42f7-af03-18e7074d2d8a,657518473-1,Lyon,Fusce consequat. Nulla nisl. Nunc nisl.,2016-03-04,908.76,,Lost,30,Yamia
|
||||
Christina Wood,cwood3y@digg.com,cwood3y,eget nunc donec,potenti cras in,lorem id ligula,Topicware,6763202349529137,d2170b43-c046-4189-88a0-0f3b3b4ab636,499571423-5,Pengfang,,2015-11-24,562.82,,Pending Diagnostics,15,Camido
|
||||
Dennis Chavez,dchavez3z@senate.gov,dchavez3z,nisi vulputate nonummy maecenas,dictumst aliquam augue,duis ac,Blogspan,5048370656048956,1bba6cc4-b7fd-4614-82a1-058a6dcf5cff,340219850-9,Carmen de Viboral,,2015-08-31,764.65,,Undeployable,,
|
||||
Emily Roberts,eroberts40@privacy.gov.au,eroberts40,sed lacus morbi,est,nibh fusce lacus purus,Skyba,6.76760499675562E+017,79a0ca4b-0cfc-450b-8b99-91995e017d06,393164024-8,Syamzha,"Cras mi pede, malesuada in, imperdiet et, commodo vulputate, justo. In blandit ultrices enim. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.",2015-09-26,129.34,,Lost,,
|
||||
Christine Cooper,ccooper41@buzzfeed.com,ccooper41,rutrum nulla nunc,vulputate,commodo vulputate justo,Skyba,201990757415202,0dcd299f-f6ad-448e-8ee2-9366b2c6fab1,634821306-4,Vyerkhnyadzvinsk,"Curabitur at ipsum ac tellus semper interdum. Mauris ullamcorper purus sit amet nulla. Quisque arcu libero, rutrum ac, lobortis vel, dapibus at, diam.",2015-07-10,970.05,,Undeployable,13,Kare
|
||||
Lois Sanders,lsanders42@nps.gov,lsanders42,elementum eu,donec,purus aliquet at feugiat,Ntags,201886666765648,da4f2d20-d589-4d67-99a5-ba1a91f89c67,696680010-4,Kwali,,2016-01-23,592.32,,Lost,,
|
||||
Jonathan Carroll,jcarroll43@microsoft.com,jcarroll43,ut nunc vestibulum ante,nec,maecenas tincidunt lacus at velit,Zoomzone,5.02094884070623E+018,f2721951-674f-42a6-a318-ebc4c2ad01d6,767022282-4,Hukou,Maecenas ut massa quis augue luctus tincidunt. Nulla mollis molestie lorem. Quisque ut erat.,2015-07-25,100.04,,Lost,,
|
||||
,,,sagittis nam congue,neque vestibulum eget,lorem vitae mattis nibh,Rhynoodle,3536985805530234,fd38d1eb-46bc-438c-a1f1-e3d46c7ab7ff,446825369-X,Pogag,"Proin interdum mauris non ligula pellentesque ultrices. Phasellus id sapien in sapien iaculis congue. Vivamus metus arcu, adipiscing molestie, hendrerit at, vulputate vitae, nisl.",2015-09-14,282.91,,,,
|
||||
Heather Welch,hwelch45@cyberchimps.com,hwelch45,lorem id,quis odio,ullamcorper augue a suscipit nulla,Dynabox,3584918729913617,2b8a3a33-23e4-4f7c-bfa2-cda5a4f161a7,453899036-1,Bulqizë,"In hac habitasse platea dictumst. Morbi vestibulum, velit id pretium iaculis, diam erat fermentum justo, nec condimentum neque sapien placerat ante. Nulla justo.",2016-05-22,937.05,,Undeployable,,
|
||||
Paul Allen,pallen46@gravatar.com,pallen46,mus etiam,consequat varius,non ligula,Youopia,3579590994419856,8c118547-498c-4c9a-bb7c-38bf34c948f6,059415701-3,Niederanven,,2016-04-10,528.2,,Archived,,
|
||||
Sarah Cox,scox47@nih.gov,scox47,venenatis tristique fusce congue,ultrices aliquet maecenas,quam turpis adipiscing lorem,Tagchat,5402364995491845,,907635086-8,Świętajno,"Curabitur in libero ut massa volutpat convallis. Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo. Maecenas pulvinar lobortis est.",2015-05-28,136.71,,Undeployable,29,Rooxo
|
||||
Sara Hayes,shayes48@boston.com,shayes48,lobortis est phasellus sit,at,at velit eu,Ozu,3529024230545655,f6dfecd8-6e31-4f7a-ac69-7d78288b3c50,924210851-0,Las Trojes,,2015-06-10,239.46,,Lost,,
|
||||
Marilyn Hunt,mhunt49@dagondesign.com,mhunt49,pulvinar nulla pede ullamcorper,vel nulla eget,justo aliquam quis turpis eget,Mycat,3579823933687295,,052859686-1,La Mesa,,2015-11-21,665.35,,Lost,,
|
||||
Antonio Jordan,ajordan4a@joomla.org,ajordan4a,tempus semper est,massa volutpat convallis,id ligula suspendisse ornare,Babblestorm,3563899999001645,bad2fb72-05bf-4bd1-928e-4474f41bf61e,937286949-X,San Mariano,,2016-03-08,738.25,,Lost,,
|
||||
Doris Russell,drussell4b@utexas.edu,drussell4b,nunc donec,varius,ut dolor morbi vel lectus,Skyble,5100172494380202,d028c3fb-74ea-4e2f-a4ff-86b869f88f7a,523965895-1,Fenghuanglu,"Cras mi pede, malesuada in, imperdiet et, commodo vulputate, justo. In blandit ultrices enim. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.",2015-09-19,433.76,,Pending Diagnostics,,
|
||||
Gary Gutierrez,ggutierrez4c@washington.edu,ggutierrez4c,quam pharetra magna ac,ullamcorper augue a,platea dictumst,Realfire,4.91144176388878E+018,6c1b81d0-0b44-4cfd-9a29-1abb81d6dd8b,624477386-1,Wuyanquan,,2015-12-27,783.9,,Ready to Deploy,,
|
||||
Mary Long,mlong4d@springer.com,mlong4d,dolor morbi vel,sit amet cursus,ante ipsum primis in faucibus,Shuffledrive,3563327459528782,6d8835b2-8241-4b4d-afff-95f6aa252ef4,737509813-1,Freiria,"Vestibulum ac est lacinia nisi venenatis tristique. Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue. Aliquam erat volutpat.",2016-02-11,139.88,Solarbreeze,Undeployable,16,Chatterpoint
|
||||
Martha Olson,molson4e@myspace.com,molson4e,nulla dapibus,orci luctus,felis sed,Vinder,5523504746793551,10ce22fe-38b7-4329-92a7-bd6dd7a35779,140866058-X,Rangah,"In sagittis dui vel nisl. Duis ac nibh. Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus.",2016-03-21,493.73,,Archived,,
|
||||
Willie Crawford,wcrawford4f@chronoengine.com,wcrawford4f,ac nibh,pharetra magna,non interdum,Jamia,3533461555472467,bb5962ec-37e3-4e87-93ae-e748aad36f0d,564625708-5,Hīrna,"Cras mi pede, malesuada in, imperdiet et, commodo vulputate, justo. In blandit ultrices enim. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.",2015-09-07,,,Undeployable,,
|
||||
Shirley Butler,sbutler4g@google.fr,sbutler4g,augue luctus tincidunt,nibh in,nulla justo aliquam quis,Skyble,3543865682244185,61ea2737-22f0-40c9-b1d0-8c8bcb49024c,510924762-5,Bradag,Aliquam quis turpis eget elit sodales scelerisque. Mauris sit amet eros. Suspendisse accumsan tortor quis turpis.,2015-06-04,232.69,,Lost,,
|
||||
Amanda Perkins,aperkins4h@facebook.com,aperkins4h,magna ac,leo,eu orci mauris,Gigashots,3534002218741291,723cb029-3cc3-4fa1-ae81-46897e1b0cd5,992799439-7,Charneca da Cotovia,,2015-06-02,185.11,,Undeployable,17,Yoveo
|
||||
Jason Mendoza,jmendoza4i@studiopress.com,jmendoza4i,est quam pharetra magna,vestibulum sagittis,vehicula condimentum curabitur in libero,Browseblab,3533638286064040,fa051420-1c81-4f0d-a5d4-0d966801ac92,943747227-0,Yunzhong,"Donec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec pharetra, magna vestibulum aliquet ultrices, erat tortor sollicitudin mi, sit amet lobortis sapien sapien non mi. Integer ac neque.",2016-03-03,,,Pending Diagnostics,,
|
||||
Ernest Spencer,espencer4j@skyrock.com,espencer4j,id pretium,fringilla,porttitor id consequat in consequat,Devshare,6.75976956722772E+016,b04f9655-5453-4003-b4ff-a2c04fb7cc14,187554544-1,Sukasenang,"Vestibulum ac est lacinia nisi venenatis tristique. Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue. Aliquam erat volutpat.",2016-05-15,,,Undeployable,,
|
||||
Roy Burton,rburton4k@uiuc.edu,rburton4k,sed tristique in,sit amet cursus,id massa id nisl venenatis,Tagtune,3547271219604254,,492976895-0,Pakuranga,Integer tincidunt ante vel ipsum. Praesent blandit lacinia erat. Vestibulum sed magna at nunc commodo placerat.,2015-07-14,44.95,,Archived,14,Meembee
|
||||
Edward Palmer,epalmer4l@lulu.com,epalmer4l,enim blandit mi,ipsum praesent,lectus pellentesque at,Roomm,337941483315940,5039582c-b5cf-4b9e-8f07-6341560cae04,007320130-8,Vanves,"In sagittis dui vel nisl. Duis ac nibh. Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus.",2016-01-23,610.68,,Archived,,
|
||||
Christine Gonzales,cgonzales4m@gmpg.org,cgonzales4m,pede ac diam cras,nec nisi,tincidunt lacus at velit vivamus,Dynava,3573979602020378,22bac401-b902-4fa6-987c-27238e4982f1,169662058-9,Xianglong,,2015-07-02,742.54,,Lost,,
|
||||
Samuel Snyder,ssnyder4n@spiegel.de,ssnyder4n,rhoncus aliquet pulvinar,suscipit a feugiat,sed tristique in tempus,Centizu,3554059573408622,a53ca64f-9589-4c14-9f1f-9fbd7c130bf1,134899168-2,Kopang Satu,,2015-08-24,,,Undeployable,,
|
||||
Craig Powell,cpowell4o@fda.gov,cpowell4o,adipiscing lorem vitae,at diam nam,vivamus metus arcu adipiscing,Wikivu,3530205336633621,74d45443-31f9-4149-bdbd-b81a49a8fc26,841640422-4,Valkeakoski,Etiam vel augue. Vestibulum rutrum rutrum neque. Aenean auctor gravida sem.,2016-05-08,617.19,,Archived,16,InnoZ
|
||||
Shawn Vasquez,svasquez4p@a8.net,svasquez4p,erat vestibulum,ullamcorper augue,adipiscing molestie hendrerit at vulputate,Blogspan,3537869019746662,b05201f2-5fca-4c51-804c-c5690272809b,981888153-2,Kazinka,,2016-04-04,814.56,,Undeployable,27,Ooba
|
||||
,,,fringilla rhoncus mauris,pretium,orci mauris lacinia,Brightbean,374283783131519,f3317f7a-8b58-4e6e-9c98-bb0990b48de2,364170641-6,Abashiri,"Quisque porta volutpat erat. Quisque erat eros, viverra eget, congue eget, semper rutrum, nulla. Nunc purus.",2016-01-23,977.48,,,,
|
||||
,,,in imperdiet,lectus,in congue etiam,Topdrive,5.60225892846392E+018,6264ae5b-7977-4a7c-80e0-6fb69ee37bb6,356456589-2,Songdong,"Donec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec pharetra, magna vestibulum aliquet ultrices, erat tortor sollicitudin mi, sit amet lobortis sapien sapien non mi. Integer ac neque.",2016-04-07,782.48,,,19,Eayo
|
||||
Jane Mason,jmason4s@ask.com,jmason4s,nisl ut volutpat sapien,amet consectetuer,nec sem duis aliquam,InnoZ,3581759486996442,bbf6c2d3-f538-411d-b3ca-07f87eb514c9,215895129-X,Lincheng,"Duis bibendum, felis sed interdum venenatis, turpis enim blandit mi, in porttitor pede justo eu massa. Donec dapibus. Duis at velit eu est congue elementum.",2015-08-18,,,Archived,14,Voolia
|
||||
Jeremy Ross,jross4t@state.gov,jross4t,neque libero convallis,volutpat quam,sagittis nam,Agivu,5.60223009236108E+018,85cebfbc-d8ef-4f12-a56c-52d920daff55,533951910-4,Shangtianba,In hac habitasse platea dictumst. Etiam faucibus cursus urna. Ut tellus.,2016-02-22,814.64,,Archived,,
|
||||
Anthony Cruz,acruz4u@ycombinator.com,acruz4u,sapien placerat ante,justo sit,lectus pellentesque,Fivechat,6.76708599977152E+018,a61d9de9-aee4-41e5-b923-c9f0b6af353f,516270880-1,Bangolo,,2015-06-15,748.03,,Archived,,
|
||||
Janice Kim,jkim4v@tmall.com,jkim4v,feugiat et eros vestibulum,id ligula,dapibus dolor vel,Vitz,3528040134299653,6f58dc1c-1eec-4a6a-89ce-54c0ca6d7ace,906786221-5,Stepove,Pellentesque at nulla. Suspendisse potenti. Cras in purus eu magna vulputate luctus.,2016-02-05,245.24,,Ready to Deploy,,
|
||||
Cheryl Schmidt,cschmidt4w@mac.com,cschmidt4w,amet nulla quisque,eget massa tempor,in hac habitasse platea dictumst,Topiczoom,3557006552255133,242df59e-540c-4ae4-9574-b2a1cf0c328f,946770951-1,Bara Datu,,2015-10-14,101.41,,Archived,,
|
||||
Betty Long,blong4x@is.gd,blong4x,congue diam id,hac habitasse,quis turpis sed,Linktype,3531953377823515,806c60b9-0518-48b4-88e7-e0f7d37db7f4,714515414-5,Richmond,"Donec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec pharetra, magna vestibulum aliquet ultrices, erat tortor sollicitudin mi, sit amet lobortis sapien sapien non mi. Integer ac neque.",2015-07-14,48.61,,Pending Diagnostics,28,Buzzster
|
||||
Joe Foster,jfoster4y@hao123.com,jfoster4y,elementum ligula,varius nulla facilisi,ante ipsum primis in faucibus,Twitterwire,3553000703370598,004beb8c-6350-4a5a-bc0a-63ae792afe54,109876345-9,Union,"Morbi non lectus. Aliquam sit amet diam in magna bibendum imperdiet. Nullam orci pede, venenatis non, sodales sed, tincidunt eu, felis.",2016-03-18,,,Archived,,
|
||||
Lisa Black,lblack4z@elpais.com,lblack4z,aenean fermentum,eget nunc donec,faucibus orci luctus,Ailane,6.77139784464648E+016,5f17fc64-ef57-4884-a55f-eb573d697df3,441234671-4,Nurota Shahri,"Vestibulum ac est lacinia nisi venenatis tristique. Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue. Aliquam erat volutpat.",2015-07-13,179.08,,Archived,22,Yodoo
|
||||
Katherine Frazier,kfrazier50@jimdo.com,kfrazier50,nulla nisl nunc nisl,nascetur,justo eu,Edgetag,3552389058992572,fc437480-f186-49fa-87d3-bbea40c6f142,446611490-0,Reguengos de Monsaraz,Duis bibendum. Morbi non quam nec dui luctus rutrum. Nulla tellus.,2016-05-18,960.59,,Pending Diagnostics,,
|
||||
Lois Sanchez,lsanchez51@yellowbook.com,lsanchez51,consectetuer adipiscing elit proin,in felis,purus sit amet nulla quisque,Gabtune,5002359749827009,9c0affc9-3c66-4516-aea7-b1d847590c64,242378972-6,Bang Lamung,,2015-06-10,,,Lost,,
|
||||
,,,consectetuer adipiscing elit,eros,ligula vehicula consequat morbi,Oodoo,4405292980607713,b321fffc-88c6-4223-a4c7-e7b513ca12ea,869734139-6,Hongjiang,"Curabitur gravida nisi at nibh. In hac habitasse platea dictumst. Aliquam augue quam, sollicitudin vitae, consectetuer eget, rutrum at, lorem.",2015-10-12,136.67,,,,
|
||||
Carl Vasquez,cvasquez53@github.io,cvasquez53,sapien urna,congue etiam,nulla facilisi cras,Katz,5100177038440966,54ca7672-f4a9-46d1-8842-a4f5b3ef8a61,172650221-X,Hechun,"Curabitur at ipsum ac tellus semper interdum. Mauris ullamcorper purus sit amet nulla. Quisque arcu libero, rutrum ac, lobortis vel, dapibus at, diam.",2015-08-04,29.63,,Archived,14,Thoughtworks
|
||||
Gary Myers,gmyers54@omniture.com,gmyers54,fusce consequat nulla nisl,amet consectetuer adipiscing,rutrum neque aenean auctor gravida,Eamia,5.60222512906447E+016,59f8f748-c09d-4511-a5b2-85fd469ded76,288508590-8,Azun Atme,Suspendisse potenti. In eleifend quam a odio. In hac habitasse platea dictumst.,2015-11-19,872.99,,Pending Diagnostics,,
|
||||
Julie Watkins,jwatkins55@hatena.ne.jp,jwatkins55,sed sagittis nam congue,vehicula,vel dapibus at diam nam,Jabbercube,6.75901114016155E+018,d48acb86-3a62-42cc-a88f-75a3a458a2b3,602874973-7,Tonghu,"Curabitur in libero ut massa volutpat convallis. Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo. Maecenas pulvinar lobortis est.",2015-12-22,517.54,,Ready to Deploy,27,Livetube
|
||||
,,,ante ipsum,in quis justo,quam fringilla rhoncus,Topiczoom,6.70972201649997E+018,57e10cfb-8811-4b3b-ac41-5af69cab6d31,851596451-1,Aoluguya Ewenke Minzu,In congue. Etiam justo. Etiam pretium iaculis justo.,2015-08-02,992.72,,,17,Skiptube
|
||||
Harry Carter,hcarter57@icio.us,hcarter57,pulvinar nulla pede,potenti in eleifend,convallis nulla neque libero convallis,Linktype,30452034512787,bca3bec1-cd84-4e44-adf9-2d266bfe0507,943283235-X,Cachoeiro de Itapemirim,,2015-08-30,633.31,,Lost,31,Dabjam
|
||||
,,,dolor quis odio consequat,diam erat fermentum,proin leo odio porttitor,Edgewire,3563543318424332,1685ce6c-7936-4563-925f-7f3b3b9c0a3d,040550980-4,Nusajaya,"Proin leo odio, porttitor id, consequat in, consequat ut, nulla. Sed accumsan felis. Ut at dolor quis odio consequat varius.",2016-02-04,,,,,
|
||||
Harold Rice,hrice59@si.edu,hrice59,congue etiam justo,justo sit,id massa id,Innojam,4913067546227080,291a2ce5-c22e-4782-b4aa-ef147fccef40,103809062-8,Chornyanka,Etiam vel augue. Vestibulum rutrum rutrum neque. Aenean auctor gravida sem.,2015-06-10,289.46,Konklux,Undeployable,,
|
||||
Cheryl Owens,cowens5a@friendfeed.com,cowens5a,tincidunt nulla mollis,platea dictumst,ut massa quis,Kwimbee,6.33300098040684E+018,abe4c9e3-aeb2-407b-8545-3c2e5c29b942,698953325-0,Bula,"Curabitur in libero ut massa volutpat convallis. Morbi odio odio, elementum eu, interdum eu, tincidunt in, leo. Maecenas pulvinar lobortis est.",2015-12-25,,,Undeployable,,
|
||||
Patricia Nelson,pnelson5b@unicef.org,pnelson5b,vel augue,iaculis justo in,primis in faucibus orci luctus,Camimbo,374288913295969,8873831c-2370-4fcc-bc23-a66a2a379151,147321108-5,Novoarkhanhel’s’k,Duis consequat dui nec nisi volutpat eleifend. Donec ut dolor. Morbi vel lectus in quam fringilla rhoncus.,2015-08-09,,,Pending Diagnostics,27,Tazz
|
||||
,,,justo sit amet,convallis,nunc viverra dapibus,Meevee,3551827310027811,d6ff99f7-3f70-4cd1-8835-12fb324783bb,404043143-X,Santiaoshi,,2015-05-31,613.59,,,24,Flipstorm
|
||||
Jonathan Dixon,jdixon5d@dailymotion.com,jdixon5d,consequat varius integer ac,amet,pellentesque at nulla suspendisse,Realcube,3548349620700470,52e75c85-f2dc-4346-8615-c4bef2675fb5,759833466-8,Verin Artashat,"Praesent blandit. Nam nulla. Integer pede justo, lacinia eget, tincidunt eget, tempus vel, pede.",2015-12-08,854.21,,Pending Diagnostics,12,Skiptube
|
||||
Linda Fernandez,lfernandez5e@zimbio.com,lfernandez5e,pede lobortis ligula,fusce,pede ac,Kwideo,3544675304363423,a385ede0-c8e6-45cc-b125-be149bbc0271,697050795-5,Porsgrunn,Praesent id massa id nisl venenatis lacinia. Aenean sit amet justo. Morbi ut odio.,2015-07-04,412.28,,Ready to Deploy,,
|
||||
Louis Ortiz,lortiz5f@w3.org,lortiz5f,aliquam erat volutpat in,nibh,vel sem,Jabbertype,3577197934305492,0b44ec74-81de-4421-baec-1fd1f497bedd,492892856-3,Sionogan,,2015-11-23,462.04,,Ready to Deploy,34,Thoughtworks
|
||||
Donald Lynch,dlynch5g@lycos.com,dlynch5g,vestibulum ante ipsum primis,lectus vestibulum,ut dolor morbi vel lectus,Mycat,3528635375178696,86b60c4e-9a98-47b4-92db-466162306529,234535580-8,Tokonou,Cras non velit nec nisi vulputate nonummy. Maecenas tincidunt lacus at velit. Vivamus vel nulla eget eros elementum pellentesque.,2016-02-03,,,Undeployable,13,Skynoodle
|
||||
Ernest Dixon,edixon5h@rakuten.co.jp,edixon5h,nulla neque,molestie lorem,mi in porttitor,Bluejam,6.33110336414412E+018,45e9100c-17a9-4806-a7ee-b731162718f4,321912329-5,Bayasgalant,"Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vivamus vestibulum sagittis sapien. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.",2015-06-26,302.69,,Lost,,
|
||||
Carlos Hart,chart5i@imdb.com,chart5i,lectus pellentesque,lorem ipsum dolor,leo odio porttitor,Plambee,3537576873519636,44a1e395-adfa-4097-a356-2caf29f31458,679447867-6,Wādī as Sīr,"Donec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec pharetra, magna vestibulum aliquet ultrices, erat tortor sollicitudin mi, sit amet lobortis sapien sapien non mi. Integer ac neque.",2015-08-05,590.47,,Undeployable,36,Jayo
|
||||
,,,dui maecenas,pulvinar sed,pede ullamcorper augue,Lazz,5100144951053200,,524105876-1,Nabīnagar,Nullam sit amet turpis elementum ligula vehicula consequat. Morbi a ipsum. Integer a nibh.,2016-02-04,,,,,
|
|
101
sample_csvs/MOCK_CONSUMABLES.csv
Normal file
101
sample_csvs/MOCK_CONSUMABLES.csv
Normal file
|
@ -0,0 +1,101 @@
|
|||
Item Name,Purchase Date,Purchase Cost,Location,Company,Order Number,Category,Requestable,Quantity
|
||||
eget,01/03/2011,85.91,mauris blandit mattis.,Lycos,T295T06V,Triamterene/Hydrochlorothiazide,No,322
|
||||
Morbi,10/24/2016,87.42,iaculis,Lavasoft,W787T62Q,Ranitidine HCl,1,374
|
||||
arcu.,09/22/2007,48.34,ornare,Google,N961E50A,Amoxicillin,False,252
|
||||
nec,08/16/2009,8.71,lectus,Apple Systems,X624N14C,Lantus Solostar,1,30
|
||||
Nam,03/30/2017,24.07,"a,",Macromedia,N618A20S,Hydrocodone/APAP,True,551
|
||||
Nullam,12/16/2003,73.23,"Donec est mauris,",Yahoo,B386I67L,Fluticasone Propionate,No,395
|
||||
erat,08/03/2010,17.49,Proin,Borland,G606H92I,Amlodipine Besylate,1,297
|
||||
purus,10/12/2004,63.52,tellus justo sit,Chami,R660Z45O,Omeprazole (Rx),Yes,557
|
||||
dignissim,11/10/2010,77.94,nibh vulputate mauris,Lavasoft,G230Z67X,Risperidone,1,47
|
||||
Nam,01/25/2015,64.33,taciti sociosqu ad,Microsoft,B613L84C,Suboxone,No,310
|
||||
Nunc,04/13/2017,81.02,nec orci.,Borland,O367N55N,Fluoxetine HCl,No,404
|
||||
Phasellus,12/23/2005,70.67,"quis, tristique ac,",Borland,K941C02T,Alendronate Sodium,0,590
|
||||
Nulla,07/21/2017,99.04,augue malesuada malesuada.,Lycos,D663L90H,Allopurinol,No,48
|
||||
at,10/31/2007,58.42,"dolor sit amet,",Lavasoft,Y229E62I,Simvastatin,No,181
|
||||
Sed,04/14/2011,48.86,"lectus convallis est,",Cakewalk,T666E70K,Fluconazole,True,169
|
||||
quis,01/08/2014,55.64,"varius orci,",Lycos,T767G07U,Advair Diskus,False,264
|
||||
viverra.,01/07/2013,93.48,"cursus et, magna.",Sibelius,T276L44H,Loestrin 24 Fe,No,293
|
||||
Sed,03/20/2008,64.75,arcu. Sed,Cakewalk,A933E55V,Pantoprazole Sodium,No,407
|
||||
iaculis,07/17/2015,56.74,nec,Borland,N568F73C,Venlafaxine HCl ER,No,115
|
||||
leo.,12/09/2012,96.88,Aenean,Altavista,H283Z42U,Cephalexin,True,208
|
||||
leo.,04/24/2007,40.87,tincidunt adipiscing. Mauris,Lycos,T054Q83U,Lyrica,0,486
|
||||
pede.,09/29/2010,19.64,nec enim. Nunc,Chami,L842O70A,Simvastatin,Yes,214
|
||||
massa,05/18/2015,18.43,nisi magna sed,Adobe,V029Q52K,Meloxicam,0,131
|
||||
urna,10/22/2014,7.41,ac,Sibelius,Z708U15X,Flovent HFA,Yes,15
|
||||
sapien,03/23/2017,50.94,penatibus et,Google,D258T89Z,Zolpidem Tartrate,True,48
|
||||
non,05/14/2005,71.71,dui. Fusce,Borland,C021V01R,Amphetamine Salts,True,593
|
||||
"et,",10/18/2014,94.56,natoque penatibus et,Lavasoft,L351F80J,Gianvi,1,305
|
||||
pede,02/18/2004,10.04,felis,Yahoo,D516U60J,Pravastatin Sodium,1,302
|
||||
lobortis,06/08/2011,31.17,"luctus,",Yahoo,D088E82H,Azithromycin,Yes,380
|
||||
placerat,06/19/2005,5.38,eget,Adobe,V472U75G,Nexium,0,-2
|
||||
leo,10/03/2014,17.00,justo,Lycos,F944A58V,Ibuprofen (Rx),True,294
|
||||
dictum,11/24/2015,92.11,tellus faucibus,Apple Systems,U938K61D,Oxycontin,Yes,368
|
||||
bibendum.,05/01/2010,22.45,elit erat vitae,Lavasoft,Z326Q13R,Tramadol HCl,Yes,12
|
||||
"facilisis,",01/02/2011,85.42,purus,Finale,Z475L99M,Alprazolam,True,359
|
||||
bibendum,08/20/2009,44.68,et pede. Nunc,Google,N039W21L,Fluticasone Propionate,True,569
|
||||
eleifend,03/17/2006,22.92,velit. Cras,Lavasoft,H339Z61T,Doxycycline Hyclate,Yes,219
|
||||
rhoncus.,03/17/2009,82.52,"feugiat non, lobortis",Altavista,R524N72A,Atenolol,0,176
|
||||
a,04/03/2016,4.35,nunc,Sibelius,V055S56Y,Simvastatin,Yes,326
|
||||
enim.,05/15/2014,20.18,lectus justo,Google,I747M47J,Atenolol,1,101
|
||||
molestie,06/19/2012,11.30,sem ut cursus,Apple Systems,F888J26K,Amoxicillin,Yes,405
|
||||
dui.,05/16/2010,72.42,consectetuer euismod,Cakewalk,U999A42H,Atenolol,False,253
|
||||
tortor.,08/02/2017,38.51,ultrices iaculis odio.,Lavasoft,J465G08H,Tri-Sprintec,False,577
|
||||
natoque,04/15/2010,28.88,magnis,Sibelius,N813P74X,Lipitor,0,562
|
||||
mollis,05/07/2011,89.36,Donec,Yahoo,O113X38K,Lexapro,Yes,179
|
||||
ultrices.,10/20/2013,73.45,"orci,",Lycos,N587Y98N,Benicar HCT,No,185
|
||||
dui,12/10/2011,0.57,Mauris eu turpis.,Yahoo,S354F65P,Levothyroxine Sodium,No,78
|
||||
sagittis.,04/06/2014,38.55,"elementum sem, vitae",Google,R931X11B,Loestrin 24 Fe,Yes,386
|
||||
"dui,",10/08/2010,52.52,natoque penatibus,Adobe,J615B52I,Clonazepam,0,563
|
||||
eros,06/25/2015,45.90,"aliquam, enim",Microsoft,S216N79D,Amoxicillin,True,371
|
||||
"et,",05/16/2008,4.42,nulla. In tincidunt,Adobe,Z906A47A,Sulfamethoxazole/Trimethoprim,No,507
|
||||
est,12/14/2004,16.79,amet,Yahoo,P540P32Z,Doxycycline Hyclate,True,188
|
||||
"montes,",02/23/2008,52.98,ante,Lavasoft,C140R27G,Lisinopril,True,401
|
||||
mollis,07/09/2004,83.26,Curabitur dictum. Phasellus,Cakewalk,U620A61Z,Glipizide,No,278
|
||||
dolor.,07/01/2004,50.94,"non, vestibulum",Lavasoft,F625L82E,Singulair,No,475
|
||||
aliquet,03/18/2014,56.23,erat,Altavista,L193Q72S,Clonazepam,No,3
|
||||
nonummy,09/13/2004,89.86,enim.,Apple Systems,U466F15U,Atenolol,No,218
|
||||
natoque,11/09/2015,72.14,ridiculus,Altavista,U295O53M,Cyclobenzaprin HCl,No,50
|
||||
tincidunt,01/05/2011,84.90,Cras,Cakewalk,C373S25Y,Paroxetine HCl,0,104
|
||||
tristique,03/04/2010,64.59,ipsum leo elementum,Macromedia,U140F94P,Atenolol,False,486
|
||||
eleifend.,07/11/2010,45.06,"a, arcu. Sed",Macromedia,G544Z82L,Zyprexa,1,100
|
||||
sem,04/18/2008,44.81,"magna, malesuada vel,",Chami,G143Q64L,Lorazepam,No,440
|
||||
facilisi.,06/13/2005,65.36,"ut, molestie in,",Google,N391E28J,Januvia,False,536
|
||||
arcu.,09/24/2012,21.27,"parturient montes, nascetur",Finale,Z720K67H,Furosemide,False,308
|
||||
hendrerit,01/26/2013,27.11,"eget varius ultrices,",Borland,P865K75O,Metformin HCl,False,590
|
||||
Aliquam,03/18/2010,64.99,ridiculus,Borland,K003G26G,Ibuprofen (Rx),0,412
|
||||
eu,08/27/2016,99.62,Sed eu eros.,Microsoft,H049R07D,Atenolol,False,498
|
||||
Morbi,02/13/2008,30.86,"Sed nulla ante,",Altavista,U852E06G,Fluticasone Propionate,Yes,243
|
||||
malesuada,08/17/2010,58.50,tellus. Phasellus,Sibelius,T695G73P,Ibuprofen (Rx),Yes,591
|
||||
"ut,",11/16/2006,46.64,Sed molestie.,Microsoft,T589M93D,Gianvi,True,-5
|
||||
odio.,12/09/2011,51.19,"montes, nascetur ridiculus",Chami,J311Q19L,Gabapentin,True,517
|
||||
tortor.,03/21/2017,7.11,Morbi neque,Finale,W293Z75X,Loestrin 24 Fe,Yes,242
|
||||
penatibus,12/02/2015,81.51,ipsum ac mi,Borland,U565B49H,Loestrin 24 Fe,False,220
|
||||
"et,",10/11/2013,56.41,ut nisi a,Google,G623M74Q,Triamterene/Hydrochlorothiazide,True,98
|
||||
"ut,",11/17/2007,74.85,consequat purus.,Sibelius,Q247W03U,Tramadol HCl,Yes,484
|
||||
luctus,09/30/2016,23.87,euismod,Lavasoft,T838L77W,Lisinopril,Yes,295
|
||||
gravida,12/04/2010,80.12,a neque.,Sibelius,U542S63O,Vytorin,0,188
|
||||
hymenaeos.,01/16/2015,13.19,In scelerisque scelerisque,Sibelius,V375P80B,Zyprexa,False,255
|
||||
mi,06/07/2010,17.75,libero. Proin,Google,I728A71W,APAP/Codeine,False,435
|
||||
"a,",12/19/2006,12.35,"montes,",Lavasoft,X885A67N,Metformin HCl,True,333
|
||||
ornare,09/09/2015,34.13,taciti,Lavasoft,Q602X92G,Lyrica,Yes,447
|
||||
"tellus,",09/05/2007,92.17,"lorem,",Microsoft,D008R07S,Vyvanse,0,256
|
||||
eget,07/10/2008,5.71,a odio semper,Altavista,L996D22J,Triamcinolone Acetonide,1,89
|
||||
sodales,01/26/2017,67.43,"at,",Microsoft,B922B33B,Glipizide,False,406
|
||||
"amet,",09/19/2011,5.34,Cum sociis natoque,Yahoo,C735B01G,Amoxicillin,No,85
|
||||
tempus,02/14/2017,19.18,felis,Macromedia,P379N42S,Simvastatin,False,427
|
||||
laoreet,06/25/2017,73.61,Sed,Apple Systems,N838F62B,Alendronate Sodium,No,405
|
||||
laoreet,03/28/2015,40.48,fames ac,Cakewalk,A503X28X,Ibuprofen (Rx),0,430
|
||||
sit,09/08/2013,41.23,"aliquet vel,",Sibelius,F381B10B,Nexium,No,359
|
||||
Aenean,06/10/2010,97.61,massa,Altavista,X179G33K,Doxycycline Hyclate,1,136
|
||||
non,10/13/2013,46.02,Duis,Microsoft,F567P51A,Metformin HCl,1,104
|
||||
Curabitur,02/10/2016,49.59,et magnis,Borland,A902B81X,Diovan,No,270
|
||||
risus,06/23/2014,6.22,"eu,",Apple Systems,J458L03X,Crestor,1,577
|
||||
sem,04/29/2006,36.75,orci luctus,Apple Systems,I390X10D,Lisinopril,False,131
|
||||
"eu,",08/06/2013,96.39,diam dictum sapien.,Microsoft,P937M90J,Lisinopril/Hydrochlorothiazide,Yes,229
|
||||
ultricies,01/13/2013,18.64,auctor,Microsoft,Q793S72Y,Amphetamine Salts,0,153
|
||||
et,09/04/2005,30.87,sagittis placerat. Cras,Microsoft,S427Q43E,Alprazolam,False,571
|
||||
sit,02/26/2006,80.53,non justo.,Finale,Y646A59W,Omeprazole (Rx),True,193
|
||||
eget,01/10/2014,71.57,dolor,Borland,V101B17W,Sertraline HCl,No,103
|
||||
"a,",06/02/2016,44.56,nascetur ridiculus,Lycos,O796A98J,Alprazolam,1,505
|
||||
"ante,",12/20/2013,46.04,eleifend,Lycos,K375B97M,Plavix,0,296
|
|
139
sample_csvs/MOCK_LICENSES.csv
Normal file
139
sample_csvs/MOCK_LICENSES.csv
Normal file
|
@ -0,0 +1,139 @@
|
|||
Name,Email,Username,Item name,serial number,manufacturer,purchase date,purchase cost,purchase_order,order number,Licensed To Name,Licensed to Email,expiration date,maintained,reassignable,seats,company,supplier,notes
|
||||
Helen Anderson,cspencer0@privacy.gov.au,cspencer0,Argentum Malachite Athletes Foot Relief,1aa5b0eb-79c5-40b2-8943-5472a6893c3c,"Beer, Leannon and Lubowitz",07/13/2012,$79.66,53008,386436062-5,Cynthia Spencer,cspencer0@gov.uk,01/27/2016,false,no,80,"Haag, Schmidt and Farrell","Hegmann, Mohr and Cremin","Sed ante. Vivamus tortor. Duis mattis egestas metus.
|
||||
|
||||
Aenean fermentum. Donec ut mauris eget massa tempor convallis. Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh."
|
||||
Thomas Franklin,bgibson1@sun.com,bgibson1,Hydralazine Hydrochloride,c6f022c1-6a5d-447c-889b-6b371dcdf733,Marvin Inc,03/05/2002,$17.47,57537,257871081-3,Bobby Gibson,bgibson1@army.mil,09/10/2016,true,FALSE,5,"Grady, Macejkovic and Harris",Prohaska LLC,"Duis bibendum. Morbi non quam nec dui luctus rutrum. Nulla tellus.
|
||||
|
||||
In sagittis dui vel nisl. Duis ac nibh. Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus."
|
||||
Russell Gutierrez,rwallace2@squidoo.com,rwallace2,etanercept,0e97134a-63f4-451b-b42e-b3c5d9f8c55c,"Rodriguez, Dietrich and D'Amore",03/01/1984,$5.31,34889,836738603-5,Raymond Wallace,rwallace2@princeton.edu,09/06/2016,false,false,37,Ziemann Group,Olson-Murazik,"Proin eu mi. Nulla ac enim. In tempor, turpis nec euismod scelerisque, quam turpis adipiscing lorem, vitae mattis nibh ligula nec sem."
|
||||
Russell Harris,kcunningham3@nps.gov,kcunningham3,Diltiazem Hydrochloride,4db4abb2-4dc5-4801-8c62-0ce702725975,Thompson and Sons,05/15/1987,$73.70,39347,408046970-5,Kathleen Cunningham,kcunningham3@nyu.edu,08/06/2016,false,sometimes,80,Gusikowski Group,"Ritchie, Gutmann and Terry",Praesent id massa id nisl venenatis lacinia. Aenean sit amet justo. Morbi ut odio.
|
||||
Lois Hill,wdaniels4@utexas.edu,wdaniels4,"BACITRACIN ZINC, NEOMYCIN SULFATE, POLYMYXIN-B SULFATE",e7feeab5-98e5-4c44-b303-7693796cee2b,Wiegand LLC,01/18/2011,$23.30,70726,911844083-5,Walter Daniels,wdaniels4@bbc.co.uk,04/23/2016,false,no,89,Kuvalis Inc,"Schoen, Lynch and Kuhic","Morbi porttitor lorem id ligula. Suspendisse ornare consequat lectus. In est risus, auctor sed, tristique in, tempus sit amet, sem.
|
||||
|
||||
Fusce consequat. Nulla nisl. Nunc nisl."
|
||||
Clarence Stanley,mhoward5@nationalgeographic.com,mhoward5,sodium fluoride,c2f965fc-f701-4eaf-94d3-ce84dfba5002,,02/08/1982,$97.34,,220460709-6,Marie Howard,mhoward5@goodreads.com,05/07/2016,false,false,32,,,
|
||||
Janet Cooper,dmartinez6@nytimes.com,dmartinez6,dextromethorphan hydrobromide and menthol,e1cdc73c-c1bb-4949-83f6-d17cc96c7034,,03/29/2015,$95.70,,116567388-6,Denise Martinez,dmartinez6@vinaora.com,03/02/2016,false,,82,,,
|
||||
Jose Cruz,jtorres7@odnoklassniki.ru,jtorres7,Isopropyl Alcohol,4e9970a7-c9b4-4a3a-8fb6-d2560e4740e9,Rath Group,07/06/2016,$58.88,59165,232359646-2,Jacqueline Torres,jtorres7@miibeian.gov.cn,07/01/2016,true,NO,34,Kshlerin Inc,Johns-Little,Nullam sit amet turpis elementum ligula vehicula consequat. Morbi a ipsum. Integer a nibh.
|
||||
Heather Hamilton,jbrooks8@answers.com,jbrooks8,Calcium Gluconate,fbd4a0bb-51bf-4602-8ca0-c103064969b1,"Yundt, Bahringer and Upton",11/16/2011,$81.03,66798,445210062-7,Jeremy Brooks,jbrooks8@photobucket.com,09/10/2016,true,TRUE,96,"Streich, Powlowski and Denesik",Feest-Prosacco,In quis justo. Maecenas rhoncus aliquam lacus. Morbi quis tortor id nulla ultrices aliquet.
|
||||
Lois Banks,dbennett9@webeden.co.uk,dbennett9,Lorazepam,ce346a8c-54f2-426e-9f6e-0e56ee0cd272,,,$54.15,,675338655-6,David Bennett,dbennett9@csmonitor.com,05/01/2016,false,true,77,,,
|
||||
Teresa Romero,tturnera@biblegateway.com,tturnera,TITANIUM DIOXIDE,e6d8db5f-f816-4ecd-8be0-410ac1080618,Hartmann-Christiansen,03/23/1981,$43.29,20552,823104280-6,Todd Turner,tturnera@icq.com,12/30/2016,false,sometimes,62,Beier-Cummings,"Thompson, Prohaska and Johns","Nullam sit amet turpis elementum ligula vehicula consequat. Morbi a ipsum. Integer a nibh.
|
||||
|
||||
In quis justo. Maecenas rhoncus aliquam lacus. Morbi quis tortor id nulla ultrices aliquet."
|
||||
Jerry Thompson,jgrayb@bbb.org,jgrayb,Lisinopril,debf33e7-4b88-4ab3-8510-433c21418b97,"Zieme, Mayert and Sanford",,$11.04,86140,009011161-3,Jennifer Gray,jgrayb@rediff.com,12/01/2016,false,yes,76,"Hudson, Frami and Reichert",Corkery-Pagac,"Proin eu mi. Nulla ac enim. In tempor, turpis nec euismod scelerisque, quam turpis adipiscing lorem, vitae mattis nibh ligula nec sem.
|
||||
|
||||
Duis aliquam convallis nunc. Proin at turpis a pede posuere nonummy. Integer non velit."
|
||||
Helen Peters,astonec@boston.com,astonec,Hyoscyamine Sulfate,9adcb06d-3d81-4e2c-8a27-235616274203,"Beier, Lang and Moore",01/04/2005,$93.27,38153,609876637-1,Andrea Stone,astonec@posterous.com,05/16/2016,true,true,89,Kiehn-Douglas,Swaniawski-Bernhard,"Donec diam neque, vestibulum eget, vulputate ut, ultrices vel, augue. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Donec pharetra, magna vestibulum aliquet ultrices, erat tortor sollicitudin mi, sit amet lobortis sapien sapien non mi. Integer ac neque."
|
||||
Marie Williamson,jwardd@phoca.cz,jwardd,"dextromethorphan hydrobromide, guaifenesin, and phenylephrine hydrochloride",c4947269-22c4-4ba0-80a8-5a45a12032e2,"Cummerata, Considine and Weimann",06/10/1981,$45.82,62145,054787864-8,James Ward,jwardd@whitehouse.gov,02/12/2016,true,yes,78,"Osinski, Jacobi and Wisozk",Miller Inc,"Integer tincidunt ante vel ipsum. Praesent blandit lacinia erat. Vestibulum sed magna at nunc commodo placerat.
|
||||
|
||||
Praesent blandit. Nam nulla. Integer pede justo, lacinia eget, tincidunt eget, tempus vel, pede.
|
||||
|
||||
Morbi porttitor lorem id ligula. Suspendisse ornare consequat lectus. In est risus, auctor sed, tristique in, tempus sit amet, sem."
|
||||
Marilyn Nguyen,alawrencee@abc.net.au,alawrencee,DIMETHICONE,777dd0e2-229d-452a-a362-8a92c24bce39,Larson-Turner,03/09/1996,$8.90,70188,658299511-1,Anthony Lawrence,alawrencee@seattletimes.com,07/11/2016,false,false,80,Bogan Group,"Corwin, Stokes and Keebler","Proin leo odio, porttitor id, consequat in, consequat ut, nulla. Sed accumsan felis. Ut at dolor quis odio consequat varius."
|
||||
Sarah Jordan,twebbf@moonfruit.com,twebbf,Magesium Citrate,70c3c342-6760-4772-82f8-40d4df93ec19,Nitzsche-Bednar,09/04/1993,$91.89,19815,549157091-5,Thomas Webb,twebbf@salon.com,11/07/2016,false,YES,29,"Murazik, Eichmann and Orn",Howe Group,In hac habitasse platea dictumst. Etiam faucibus cursus urna. Ut tellus.
|
||||
Marilyn Greene,pgilbertg@lulu.com,pgilbertg,Glycopyrrolate,d3769f63-8a02-47dc-8195-501ace6d1a76,"Hartmann, Schuppe and Maggio",11/18/1984,$36.82,17514,467492572-X,Philip Gilbert,pgilbertg@unicef.org,03/26/2016,false,false,11,"Kerluke, Bednar and Kuphal",Hilpert Inc,"In sagittis dui vel nisl. Duis ac nibh. Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus.
|
||||
|
||||
Suspendisse potenti. In eleifend quam a odio. In hac habitasse platea dictumst.
|
||||
|
||||
Maecenas ut massa quis augue luctus tincidunt. Nulla mollis molestie lorem. Quisque ut erat."
|
||||
Anna Burton,tbennetth@comcast.net,tbennetth,Finasteride,25e46967-c6a9-42f0-8458-9d6eeb4d5fb6,Volkman LLC,04/23/1999,$94.12,24353,897915880-7,Thomas Bennett,tbennetth@ow.ly,10/09/2016,true,true,70,Considine LLC,Lemke-Leffler,"Nullam porttitor lacus at turpis. Donec posuere metus vitae ipsum. Aliquam non mauris.
|
||||
|
||||
Morbi non lectus. Aliquam sit amet diam in magna bibendum imperdiet. Nullam orci pede, venenatis non, sodales sed, tincidunt eu, felis.
|
||||
|
||||
Fusce posuere felis sed lacus. Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl. Nunc rhoncus dui vel sem."
|
||||
Randy Harrison,cjohnsoni@stumbleupon.com,cjohnsoni,"OCTINOXATE, TITANIUM DIOXIDE",99f3615d-f4ae-44c3-ba37-ed1cc783d95b,Skiles-Feil,10/07/1997,$96.45,51684,282994437-2,Charles Johnson,cjohnsoni@squidoo.com,12/22/2016,false,,44,Johnson LLC,Stokes-Hahn,"In hac habitasse platea dictumst. Morbi vestibulum, velit id pretium iaculis, diam erat fermentum justo, nec condimentum neque sapien placerat ante. Nulla justo.
|
||||
|
||||
Aliquam quis turpis eget elit sodales scelerisque. Mauris sit amet eros. Suspendisse accumsan tortor quis turpis.
|
||||
|
||||
Sed ante. Vivamus tortor. Duis mattis egestas metus."
|
||||
Eric Fuller,khartj@msu.edu,khartj,Allergenic Extracts Alum Precipitated,c8b6b2ac-2b4b-4575-9636-aee12430d0d0,Gislason-Hermann,02/24/1986,$63.81,75717,039291443-3,Katherine Hart,khartj@360.cn,10/02/2016,false,YES,86,"Stroman, Fay and Roob",Wehner-Altenwerth,"Pellentesque at nulla. Suspendisse potenti. Cras in purus eu magna vulputate luctus.
|
||||
|
||||
Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vivamus vestibulum sagittis sapien. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
|
||||
|
||||
Etiam vel augue. Vestibulum rutrum rutrum neque. Aenean auctor gravida sem."
|
||||
William Perkins,mwardk@yahoo.com,mwardk,Pseudoephedrine HCl,0f241979-af54-4447-8939-4cc0c77a50b6,"Gorczany, Walker and Schaden",06/23/1982,$12.85,37375,947683395-5,Melissa Ward,mwardk@yellowpages.com,02/03/2016,true,,81,"Fahey, O'Reilly and Rempel","Gerhold, Feeney and Bashirian","Morbi non lectus. Aliquam sit amet diam in magna bibendum imperdiet. Nullam orci pede, venenatis non, sodales sed, tincidunt eu, felis.
|
||||
|
||||
Fusce posuere felis sed lacus. Morbi sem mauris, laoreet ut, rhoncus aliquet, pulvinar sed, nisl. Nunc rhoncus dui vel sem.
|
||||
|
||||
Sed sagittis. Nam congue, risus semper porta volutpat, quam pede lobortis ligula, sit amet eleifend pede libero quis orci. Nullam molestie nibh in lectus."
|
||||
Jose Hicks,lbarnesl@github.io,lbarnesl,Ampicillin Sodium,c43a1438-51a5-4f1d-8011-c3830caa3506,Robel-Gutkowski,11/01/1982,$66.70,57574,006385318-3,Lillian Barnes,lbarnesl@washington.edu,09/08/2016,false,YES,3,"Stark, Gerlach and Shields",Baumbach LLC,"Praesent id massa id nisl venenatis lacinia. Aenean sit amet justo. Morbi ut odio.
|
||||
|
||||
Cras mi pede, malesuada in, imperdiet et, commodo vulputate, justo. In blandit ultrices enim. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
|
||||
|
||||
Proin interdum mauris non ligula pellentesque ultrices. Phasellus id sapien in sapien iaculis congue. Vivamus metus arcu, adipiscing molestie, hendrerit at, vulputate vitae, nisl."
|
||||
Susan Moreno,lhawkinsm@weather.com,lhawkinsm,OXYGEN,da1e684c-5e85-41fe-acd1-c82cec15971b,"Waelchi, Wisozk and Price",10/20/1991,$91.48,10257,386667729-4,Lisa Hawkins,lhawkinsm@princeton.edu,06/03/2016,true,true,38,Schamberger-Farrell,Nienow-Corkery,"Praesent blandit. Nam nulla. Integer pede justo, lacinia eget, tincidunt eget, tempus vel, pede.
|
||||
|
||||
Morbi porttitor lorem id ligula. Suspendisse ornare consequat lectus. In est risus, auctor sed, tristique in, tempus sit amet, sem.
|
||||
|
||||
Fusce consequat. Nulla nisl. Nunc nisl."
|
||||
Diana Fisher,jgeorgen@jiathis.com,jgeorgen,Dyphylline and Guaifenesin,26db2092-d53f-40e9-be4f-bf19d3f0dfac,,06/24/1983,$18.29,,313818090-6,Jimmy George,jgeorgen@engadget.com,04/30/2016,false,sometimes,70,,,
|
||||
Edward Cox,cjenkinso@kickstarter.com,cjenkinso,"Kali mur , Kali sulph , Kali bich , Citricidal Extract",022615bf-4b84-4da1-9314-a14dc499d7b2,"Batz, Miller and Mohr",11/09/1992,$55.47,79996,164863759-0,Christopher Jenkins,cjenkinso@elpais.com,05/20/2016,false,false,61,"Turner, Jenkins and Ziemann",Brekke-Cremin,"Pellentesque at nulla. Suspendisse potenti. Cras in purus eu magna vulputate luctus.
|
||||
|
||||
Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vivamus vestibulum sagittis sapien. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
|
||||
|
||||
Etiam vel augue. Vestibulum rutrum rutrum neque. Aenean auctor gravida sem."
|
||||
Gregory Simmons,amartinp@tinypic.com,amartinp,Fluphenazine Hydrochloride,11fb02d8-8db9-4acd-bcbb-997c5ffa9555,Abshire-Pfeffer,04/28/1985,$86.65,79416,870571903-8,Ann Martin,amartinp@ezinearticles.com,07/07/2016,true,true,12,Larson-Johnson,Rowe Inc,"Morbi porttitor lorem id ligula. Suspendisse ornare consequat lectus. In est risus, auctor sed, tristique in, tempus sit amet, sem."
|
||||
Victor Long,agrahamq@chicagotribune.com,agrahamq,"Acetaminophen, Dextromethorphan HBr, Guaifenesin, Phenylephrine HCl",7ac19f19-6987-449c-8195-e5a4805055b8,Cummerata and Sons,,$69.05,25399,447273947-X,Ashley Graham,agrahamq@uiuc.edu,10/15/2016,false,FALSE,60,"Sawayn, Kshlerin and Smith","Lemke, Williamson and Marks","Sed ante. Vivamus tortor. Duis mattis egestas metus.
|
||||
|
||||
Aenean fermentum. Donec ut mauris eget massa tempor convallis. Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh."
|
||||
Teresa Arnold,solsonr@wordpress.org,solsonr,TOXICODENDRON VERNIX LEAFY TWIG,40e87b5d-65b4-457a-9dfc-2bcfb2811246,Hermann and Sons,04/25/1984,$80.42,99285,455923522-8,Shirley Olson,solsonr@mysql.com,02/07/2016,true,FALSE,16,"Wisozk, Hartmann and Schamberger",Pacocha Inc,Aliquam quis turpis eget elit sodales scelerisque. Mauris sit amet eros. Suspendisse accumsan tortor quis turpis.
|
||||
Philip Long,tyoungs@cyberchimps.com,tyoungs,ribavirin,0c45d590-1251-4512-a1df-1a05dc9155f4,"Larson, Shanahan and Carter",08/17/2005,$14.28,13758,260847846-8,Terry Young,tyoungs@issuu.com,02/26/2016,true,,82,"Kuhn, Brakus and Nolan",McLaughlin-Mosciski,"In hac habitasse platea dictumst. Morbi vestibulum, velit id pretium iaculis, diam erat fermentum justo, nec condimentum neque sapien placerat ante. Nulla justo.
|
||||
|
||||
Aliquam quis turpis eget elit sodales scelerisque. Mauris sit amet eros. Suspendisse accumsan tortor quis turpis.
|
||||
|
||||
Sed ante. Vivamus tortor. Duis mattis egestas metus."
|
||||
Beverly Hughes,jolsont@msu.edu,jolsont,famotidine,01367534-a9b1-4d68-8aba-1977a80b6948,,02/06/1998,$71.16,,696828218-6,Jack Olson,jolsont@wikispaces.com,08/01/2016,true,NO,30,,,
|
||||
Russell Vasquez,aedwardsu@utexas.edu,aedwardsu,HYDROCODONE BITARTRATE AND IBUPROFEN,5676d28a-c79c-42f7-a76b-424a8ece6d20,Stracke-Schiller,08/30/1989,$20.02,29882,628431288-1,Ashley Edwards,aedwardsu@apple.com,05/09/2016,false,true,65,Carter-Homenick,Reinger Inc,"Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vivamus vestibulum sagittis sapien. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
|
||||
|
||||
Etiam vel augue. Vestibulum rutrum rutrum neque. Aenean auctor gravida sem.
|
||||
|
||||
Praesent id massa id nisl venenatis lacinia. Aenean sit amet justo. Morbi ut odio."
|
||||
Patrick Brown,snelsonv@cdc.gov,snelsonv,Carvedilol,b5a21345-8e25-4fa5-a04b-17863fd96ca6,Gusikowski-Hettinger,10/03/1992,$99.10,52479,044668450-3,Samuel Nelson,snelsonv@reference.com,12/21/2016,false,YES,63,"Hills, Rau and Fay","Wuckert, Hodkiewicz and Denesik",Praesent id massa id nisl venenatis lacinia. Aenean sit amet justo. Morbi ut odio.
|
||||
Annie Wilson,cschmidtw@geocities.com,cschmidtw,Diclofenac Sodium,48257383-9220-49b0-8b69-7aba85309cd9,Cruickshank and Sons,08/11/2003,$98.46,19740,891683066-4,Cheryl Schmidt,cschmidtw@lycos.com,08/28/2016,false,true,16,Dooley-Moen,Greenholt-Goyette,"Quisque porta volutpat erat. Quisque erat eros, viverra eget, congue eget, semper rutrum, nulla. Nunc purus.
|
||||
|
||||
Phasellus in felis. Donec semper sapien a libero. Nam dui."
|
||||
Jennifer Butler,jharperx@adobe.com,jharperx,Amlodipine besylate and Atorvastatin calcium,6ee7167e-caf2-4f55-8e21-6f467cedb012,,08/22/1991,$6.91,,174416888-1,Jessica Harper,jharperx@altervista.org,04/16/2016,false,false,35,,,
|
||||
Aaron Harris,staylory@ft.com,staylory,Metformin Hydrochloride,b65c1f46-9408-4459-885a-593ece7a5bd7,,03/31/1989,$30.30,,229826432-5,Stephen Taylor,staylory@businessinsider.com,03/13/2016,true,yes,69,,,
|
||||
Clarence Torres,apattersonz@apache.org,apattersonz,"Naproxen sodium, Pseudoephedrine HCl",277e6d67-4a1e-4edb-bb67-cb863b85429e,"Funk, Weber and Lockman",05/09/1986,$73.99,99424,521068453-9,Alice Patterson,apattersonz@homestead.com,07/02/2016,true,FALSE,11,"Lemke, Bins and Wunsch",Glover and Sons,"Duis bibendum. Morbi non quam nec dui luctus rutrum. Nulla tellus.
|
||||
|
||||
In sagittis dui vel nisl. Duis ac nibh. Fusce lacus purus, aliquet at, feugiat non, pretium quis, lectus."
|
||||
Thomas Porter,sperkins10@1688.com,sperkins10,OCTINOXATE and TITANIUM DIOXIDE,c1cb0f14-98bd-4701-912e-02e02364d87d,Quigley Group,12/05/1996,$24.28,25442,757409810-7,Sharon Perkins,sperkins10@who.int,03/22/2016,true,TRUE,60,Jerde-DuBuque,Tremblay-Cummerata,"Nulla ut erat id mauris vulputate elementum. Nullam varius. Nulla facilisi.
|
||||
|
||||
Cras non velit nec nisi vulputate nonummy. Maecenas tincidunt lacus at velit. Vivamus vel nulla eget eros elementum pellentesque."
|
||||
Patrick Porter,dgreene11@xing.com,dgreene11,bupropion hydrochloride,883dab09-e464-4194-afa5-cd884f3b8701,Howe-Zemlak,07/31/1995,$40.98,91544,871971869-1,Diane Greene,dgreene11@mayoclinic.com,06/05/2016,true,NO,99,Bernhard-Gerhold,Swaniawski-Schinner,"Etiam vel augue. Vestibulum rutrum rutrum neque. Aenean auctor gravida sem.
|
||||
|
||||
Praesent id massa id nisl venenatis lacinia. Aenean sit amet justo. Morbi ut odio."
|
||||
Richard Tucker,kturner12@smugmug.com,kturner12,Alcohol,e35cac12-40f9-4bfb-962d-28d3ab69cc1e,,04/04/2012,$95.95,,201074756-9,Kelly Turner,kturner12@ftc.gov,05/25/2016,false,NO,92,,,
|
||||
Jonathan Rogers,jwashington13@miitbeian.gov.cn,jwashington13,Birch Black,93aad585-abbf-4433-82a8-dbf651758298,Osinski LLC,07/08/1996,$46.56,21226,506549653-6,Janice Washington,jwashington13@forbes.com,06/02/2016,false,YES,92,"Sawayn, Muller and Hauck",Mante-Johnston,"Nullam sit amet turpis elementum ligula vehicula consequat. Morbi a ipsum. Integer a nibh.
|
||||
|
||||
In quis justo. Maecenas rhoncus aliquam lacus. Morbi quis tortor id nulla ultrices aliquet."
|
||||
Beverly James,bmorales14@bloglovin.com,bmorales14,"Avobenzone, Octinoxate, and Octisalate",4654bd60-b6d5-472f-9aaa-ff5c58b25850,,11/08/2014,$40.00,,012952073-X,Brandon Morales,bmorales14@mlb.com,03/08/2016,true,NO,72,,,
|
||||
Wayne Carter,jlong15@oakley.com,jlong15,Alprazolam,63bc155d-46b4-4354-b56b-f65af16467d3,,03/04/2015,$31.82,,028940126-7,John Long,jlong15@bigcartel.com,02/27/2016,false,sometimes,8,,,
|
||||
Julie Hall,erichardson16@unesco.org,erichardson16,Carvedilol,44efe270-c6dd-4ee3-8c8e-20253029ed42,"Hane, Bernier and Volkman",12/07/2012,$10.19,73288,654797348-4,Edward Richardson,erichardson16@yellowbook.com,12/30/2016,false,no,24,Goodwin-Mante,Kohler-Davis,"Pellentesque at nulla. Suspendisse potenti. Cras in purus eu magna vulputate luctus.
|
||||
|
||||
Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Vivamus vestibulum sagittis sapien. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
|
||||
|
||||
Etiam vel augue. Vestibulum rutrum rutrum neque. Aenean auctor gravida sem."
|
||||
Christopher Chapman,dking17@blogger.com,dking17,Hydrocodone Bitartrate and Acetaminophen,a167b219-ba83-4035-ab1b-2f9a22eaf3ba,Schneider-Connelly,,$23.22,61196,106996949-4,Denise King,dking17@biglobe.ne.jp,09/22/2016,true,YES,85,Koss-Shanahan,Rohan Inc,"Sed ante. Vivamus tortor. Duis mattis egestas metus.
|
||||
|
||||
Aenean fermentum. Donec ut mauris eget massa tempor convallis. Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh."
|
||||
Paula Russell,kgreene18@imageshack.us,kgreene18,nepafenac,072b14cc-a33b-487f-bebd-721937f0061f,Witting LLC,07/07/1990,$60.29,60580,380670490-2,Kelly Greene,kgreene18@toplist.cz,09/18/2016,true,no,88,O'Reilly-Heaney,Dickens-Green,"Maecenas leo odio, condimentum id, luctus nec, molestie sed, justo. Pellentesque viverra pede ac diam. Cras pellentesque volutpat dui.
|
||||
|
||||
Maecenas tristique, est et tempus semper, est quam pharetra magna, ac consequat metus sapien ut nunc. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Mauris viverra diam vitae quam. Suspendisse potenti."
|
||||
Joshua Adams,sturner19@eventbrite.com,sturner19,Sumatriptan Succinate,2ab4b3d3-86fa-48a2-b06d-b29e3fd9f6a3,"Jenkins, Stiedemann and Nolan",09/29/1988,$99.91,93416,252472374-7,Shirley Turner,sturner19@home.pl,10/21/2016,true,YES,84,Hintz LLC,Koepp-Mante,"Quisque porta volutpat erat. Quisque erat eros, viverra eget, congue eget, semper rutrum, nulla. Nunc purus.
|
||||
|
||||
Phasellus in felis. Donec semper sapien a libero. Nam dui."
|
||||
Denise Black,pnichols1a@house.gov,pnichols1a,Triclosan,528f648b-f8d3-4039-9f1c-13f6dc0bc39d,Koss Group,09/20/1985,$33.55,98845,845091541-4,Paul Nichols,pnichols1a@mac.com,12/21/2016,true,TRUE,32,Terry Inc,Kuhic Inc,"Aenean fermentum. Donec ut mauris eget massa tempor convallis. Nulla neque libero, convallis eget, eleifend luctus, ultricies eu, nibh.
|
||||
|
||||
Quisque id justo sit amet sapien dignissim vestibulum. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Nulla dapibus dolor vel est. Donec odio justo, sollicitudin ut, suscipit a, feugiat et, eros.
|
||||
|
||||
Vestibulum ac est lacinia nisi venenatis tristique. Fusce congue, diam id ornare imperdiet, sapien urna pretium nisl, ut volutpat sapien arcu sed augue. Aliquam erat volutpat."
|
||||
Benjamin Scott,shicks1b@vinaora.com,shicks1b,"Magnesium Chloride, Dextrose monohydrate, Lactic Acid, Sodium Chloride, Sodium Bicarbonate, and Potassium Chloride",37966b9e-929e-4269-82bd-a765c73b66cb,Wunsch-Kertzmann,03/02/1981,$81.06,71450,162405257-6,Samuel Hicks,shicks1b@washington.edu,03/14/2016,true,TRUE,44,Pacocha Group,"Schmeler, Bogan and Ankunding","Curabitur gravida nisi at nibh. In hac habitasse platea dictumst. Aliquam augue quam, sollicitudin vitae, consectetuer eget, rutrum at, lorem.
|
||||
|
||||
Integer tincidunt ante vel ipsum. Praesent blandit lacinia erat. Vestibulum sed magna at nunc commodo placerat.
|
||||
|
||||
Praesent blandit. Nam nulla. Integer pede justo, lacinia eget, tincidunt eget, tempus vel, pede."
|
||||
George Brooks,vperry1c@howstuffworks.com,vperry1c,"phenylephrine hcl, brompheniramine maleate",28a602f4-913d-409e-a0f1-096b7945b6af,"Yundt, Smitham and Gibson",07/19/1990,$78.47,73300,906304957-9,Victor Perry,vperry1c@upenn.edu,11/04/2016,true,NO,54,Watsica Group,"Hamill, Ebert and Eichmann","In congue. Etiam justo. Etiam pretium iaculis justo.
|
||||
|
||||
In hac habitasse platea dictumst. Etiam faucibus cursus urna. Ut tellus."
|
||||
Beverly Arnold,vgarrett1d@ebay.co.uk,vgarrett1d,Promethazine Hydrochloride,b621c42b-e631-450c-b5e1-638565827fcd,Moen Group,09/05/2006,$93.45,19760,102357338-5,Victor Garrett,vgarrett1d@livejournal.com,02/28/2016,true,no,1,"Casper, Cruickshank and Homenick","Feeney, Jacobson and Wolff","Mauris enim leo, rhoncus sed, vestibulum sit amet, cursus id, turpis. Integer aliquet, massa id lobortis convallis, tortor risus dapibus augue, vel accumsan tellus nisi eu orci. Mauris lacinia sapien quis libero.
|
||||
|
||||
Nullam sit amet turpis elementum ligula vehicula consequat. Morbi a ipsum. Integer a nibh."
|
|
Loading…
Reference in a new issue