mirror of
https://github.com/snipe/snipe-it.git
synced 2024-12-25 21:54:14 -08:00
Merge branch 'develop' into livewire-importer-improvements
This commit is contained in:
commit
fa765667f2
|
@ -3181,6 +3181,15 @@
|
||||||
"contributions": [
|
"contributions": [
|
||||||
"code"
|
"code"
|
||||||
]
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"login": "Glukose1",
|
||||||
|
"name": "Glukose1",
|
||||||
|
"avatar_url": "https://avatars.githubusercontent.com/u/167117705?v=4",
|
||||||
|
"profile": "https://github.com/Glukose1",
|
||||||
|
"contributions": [
|
||||||
|
"code"
|
||||||
|
]
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
|
@ -52,6 +52,7 @@ Thanks goes to all of these wonderful people ([emoji key](https://github.com/ken
|
||||||
| [<img src="https://avatars.githubusercontent.com/u/47315739?v=4" width="110px;"/><br /><sub>bilias</sub>](https://github.com/bilias)<br />[💻](https://github.com/snipe/snipe-it/commits?author=bilias "Code") | [<img src="https://avatars.githubusercontent.com/u/2565989?v=4" width="110px;"/><br /><sub>coach1988</sub>](https://github.com/coach1988)<br />[💻](https://github.com/snipe/snipe-it/commits?author=coach1988 "Code") | [<img src="https://avatars.githubusercontent.com/u/11910225?v=4" width="110px;"/><br /><sub>MrM</sub>](https://github.com/mauro-miatello)<br />[💻](https://github.com/snipe/snipe-it/commits?author=mauro-miatello "Code") | [<img src="https://avatars.githubusercontent.com/u/60405354?v=4" width="110px;"/><br /><sub>koiakoia</sub>](https://github.com/koiakoia)<br />[💻](https://github.com/snipe/snipe-it/commits?author=koiakoia "Code") | [<img src="https://avatars.githubusercontent.com/u/5323832?v=4" width="110px;"/><br /><sub>Mustafa Online</sub>](https://github.com/mustafa-online)<br />[💻](https://github.com/snipe/snipe-it/commits?author=mustafa-online "Code") | [<img src="https://avatars.githubusercontent.com/u/104601439?v=4" width="110px;"/><br /><sub>franceslui</sub>](https://github.com/franceslui)<br />[💻](https://github.com/snipe/snipe-it/commits?author=franceslui "Code") | [<img src="https://avatars.githubusercontent.com/u/125313163?v=4" width="110px;"/><br /><sub>Q4kK</sub>](https://github.com/Q4kK)<br />[💻](https://github.com/snipe/snipe-it/commits?author=Q4kK "Code") |
|
| [<img src="https://avatars.githubusercontent.com/u/47315739?v=4" width="110px;"/><br /><sub>bilias</sub>](https://github.com/bilias)<br />[💻](https://github.com/snipe/snipe-it/commits?author=bilias "Code") | [<img src="https://avatars.githubusercontent.com/u/2565989?v=4" width="110px;"/><br /><sub>coach1988</sub>](https://github.com/coach1988)<br />[💻](https://github.com/snipe/snipe-it/commits?author=coach1988 "Code") | [<img src="https://avatars.githubusercontent.com/u/11910225?v=4" width="110px;"/><br /><sub>MrM</sub>](https://github.com/mauro-miatello)<br />[💻](https://github.com/snipe/snipe-it/commits?author=mauro-miatello "Code") | [<img src="https://avatars.githubusercontent.com/u/60405354?v=4" width="110px;"/><br /><sub>koiakoia</sub>](https://github.com/koiakoia)<br />[💻](https://github.com/snipe/snipe-it/commits?author=koiakoia "Code") | [<img src="https://avatars.githubusercontent.com/u/5323832?v=4" width="110px;"/><br /><sub>Mustafa Online</sub>](https://github.com/mustafa-online)<br />[💻](https://github.com/snipe/snipe-it/commits?author=mustafa-online "Code") | [<img src="https://avatars.githubusercontent.com/u/104601439?v=4" width="110px;"/><br /><sub>franceslui</sub>](https://github.com/franceslui)<br />[💻](https://github.com/snipe/snipe-it/commits?author=franceslui "Code") | [<img src="https://avatars.githubusercontent.com/u/125313163?v=4" width="110px;"/><br /><sub>Q4kK</sub>](https://github.com/Q4kK)<br />[💻](https://github.com/snipe/snipe-it/commits?author=Q4kK "Code") |
|
||||||
| [<img src="https://avatars.githubusercontent.com/u/55590532?v=4" width="110px;"/><br /><sub>squintfox</sub>](https://github.com/squintfox)<br />[💻](https://github.com/snipe/snipe-it/commits?author=squintfox "Code") | [<img src="https://avatars.githubusercontent.com/u/1380084?v=4" width="110px;"/><br /><sub>Jeff Clay</sub>](https://github.com/jeffclay)<br />[💻](https://github.com/snipe/snipe-it/commits?author=jeffclay "Code") | [<img src="https://avatars.githubusercontent.com/u/52716446?v=4" width="110px;"/><br /><sub>Phil J R</sub>](https://github.com/PP-JN-RL)<br />[💻](https://github.com/snipe/snipe-it/commits?author=PP-JN-RL "Code") | [<img src="https://avatars.githubusercontent.com/u/1496725?v=4" width="110px;"/><br /><sub>i_virus</sub>](https://www.corelight.com/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=chandanchowdhury "Code") | [<img src="https://avatars.githubusercontent.com/u/1020541?v=4" width="110px;"/><br /><sub>Paul Grime</sub>](https://github.com/gitgrimbo)<br />[💻](https://github.com/snipe/snipe-it/commits?author=gitgrimbo "Code") | [<img src="https://avatars.githubusercontent.com/u/922815?v=4" width="110px;"/><br /><sub>Lee Porte</sub>](https://leeporte.co.uk)<br />[💻](https://github.com/snipe/snipe-it/commits?author=LeePorte "Code") | [<img src="https://avatars.githubusercontent.com/u/23613427?v=4" width="110px;"/><br /><sub>BRYAN </sub>](https://github.com/bryanlopezinc)<br />[💻](https://github.com/snipe/snipe-it/commits?author=bryanlopezinc "Code") [⚠️](https://github.com/snipe/snipe-it/commits?author=bryanlopezinc "Tests") |
|
| [<img src="https://avatars.githubusercontent.com/u/55590532?v=4" width="110px;"/><br /><sub>squintfox</sub>](https://github.com/squintfox)<br />[💻](https://github.com/snipe/snipe-it/commits?author=squintfox "Code") | [<img src="https://avatars.githubusercontent.com/u/1380084?v=4" width="110px;"/><br /><sub>Jeff Clay</sub>](https://github.com/jeffclay)<br />[💻](https://github.com/snipe/snipe-it/commits?author=jeffclay "Code") | [<img src="https://avatars.githubusercontent.com/u/52716446?v=4" width="110px;"/><br /><sub>Phil J R</sub>](https://github.com/PP-JN-RL)<br />[💻](https://github.com/snipe/snipe-it/commits?author=PP-JN-RL "Code") | [<img src="https://avatars.githubusercontent.com/u/1496725?v=4" width="110px;"/><br /><sub>i_virus</sub>](https://www.corelight.com/)<br />[💻](https://github.com/snipe/snipe-it/commits?author=chandanchowdhury "Code") | [<img src="https://avatars.githubusercontent.com/u/1020541?v=4" width="110px;"/><br /><sub>Paul Grime</sub>](https://github.com/gitgrimbo)<br />[💻](https://github.com/snipe/snipe-it/commits?author=gitgrimbo "Code") | [<img src="https://avatars.githubusercontent.com/u/922815?v=4" width="110px;"/><br /><sub>Lee Porte</sub>](https://leeporte.co.uk)<br />[💻](https://github.com/snipe/snipe-it/commits?author=LeePorte "Code") | [<img src="https://avatars.githubusercontent.com/u/23613427?v=4" width="110px;"/><br /><sub>BRYAN </sub>](https://github.com/bryanlopezinc)<br />[💻](https://github.com/snipe/snipe-it/commits?author=bryanlopezinc "Code") [⚠️](https://github.com/snipe/snipe-it/commits?author=bryanlopezinc "Tests") |
|
||||||
| [<img src="https://avatars.githubusercontent.com/u/64061710?v=4" width="110px;"/><br /><sub>U-H-T</sub>](https://github.com/U-H-T)<br />[💻](https://github.com/snipe/snipe-it/commits?author=U-H-T "Code") | [<img src="https://avatars.githubusercontent.com/u/5395363?v=4" width="110px;"/><br /><sub>Matt Tyree</sub>](https://github.com/Tyree)<br />[📖](https://github.com/snipe/snipe-it/commits?author=Tyree "Documentation") | [<img src="https://avatars.githubusercontent.com/u/292081?v=4" width="110px;"/><br /><sub>Florent Bervas</sub>](http://spoontux.net)<br />[💻](https://github.com/snipe/snipe-it/commits?author=FlorentDotMe "Code") | [<img src="https://avatars.githubusercontent.com/u/4498077?v=4" width="110px;"/><br /><sub>Daniel Albertsen</sub>](https://ditscheri.com)<br />[💻](https://github.com/snipe/snipe-it/commits?author=dbakan "Code") | [<img src="https://avatars.githubusercontent.com/u/100710244?v=4" width="110px;"/><br /><sub>r-xyz</sub>](https://github.com/r-xyz)<br />[💻](https://github.com/snipe/snipe-it/commits?author=r-xyz "Code") | [<img src="https://avatars.githubusercontent.com/u/47491036?v=4" width="110px;"/><br /><sub>Steven Mainor</sub>](https://github.com/DrekiDegga)<br />[💻](https://github.com/snipe/snipe-it/commits?author=DrekiDegga "Code") | [<img src="https://avatars.githubusercontent.com/u/65785975?v=4" width="110px;"/><br /><sub>arne-kroeger</sub>](https://github.com/arne-kroeger)<br />[💻](https://github.com/snipe/snipe-it/commits?author=arne-kroeger "Code") |
|
| [<img src="https://avatars.githubusercontent.com/u/64061710?v=4" width="110px;"/><br /><sub>U-H-T</sub>](https://github.com/U-H-T)<br />[💻](https://github.com/snipe/snipe-it/commits?author=U-H-T "Code") | [<img src="https://avatars.githubusercontent.com/u/5395363?v=4" width="110px;"/><br /><sub>Matt Tyree</sub>](https://github.com/Tyree)<br />[📖](https://github.com/snipe/snipe-it/commits?author=Tyree "Documentation") | [<img src="https://avatars.githubusercontent.com/u/292081?v=4" width="110px;"/><br /><sub>Florent Bervas</sub>](http://spoontux.net)<br />[💻](https://github.com/snipe/snipe-it/commits?author=FlorentDotMe "Code") | [<img src="https://avatars.githubusercontent.com/u/4498077?v=4" width="110px;"/><br /><sub>Daniel Albertsen</sub>](https://ditscheri.com)<br />[💻](https://github.com/snipe/snipe-it/commits?author=dbakan "Code") | [<img src="https://avatars.githubusercontent.com/u/100710244?v=4" width="110px;"/><br /><sub>r-xyz</sub>](https://github.com/r-xyz)<br />[💻](https://github.com/snipe/snipe-it/commits?author=r-xyz "Code") | [<img src="https://avatars.githubusercontent.com/u/47491036?v=4" width="110px;"/><br /><sub>Steven Mainor</sub>](https://github.com/DrekiDegga)<br />[💻](https://github.com/snipe/snipe-it/commits?author=DrekiDegga "Code") | [<img src="https://avatars.githubusercontent.com/u/65785975?v=4" width="110px;"/><br /><sub>arne-kroeger</sub>](https://github.com/arne-kroeger)<br />[💻](https://github.com/snipe/snipe-it/commits?author=arne-kroeger "Code") |
|
||||||
|
| [<img src="https://avatars.githubusercontent.com/u/167117705?v=4" width="110px;"/><br /><sub>Glukose1</sub>](https://github.com/Glukose1)<br />[💻](https://github.com/snipe/snipe-it/commits?author=Glukose1 "Code") |
|
||||||
<!-- ALL-CONTRIBUTORS-LIST:END -->
|
<!-- ALL-CONTRIBUTORS-LIST:END -->
|
||||||
|
|
||||||
This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind welcome!
|
This project follows the [all-contributors](https://github.com/kentcdodds/all-contributors) specification. Contributions of any kind welcome!
|
||||||
|
|
|
@ -72,12 +72,13 @@ Since the release of the JSON REST API, several third-party developers have been
|
||||||
- [Snipe-IT plugin for Jira Service Desk](https://marketplace.atlassian.com/apps/1220964/snipe-it-for-jira)
|
- [Snipe-IT plugin for Jira Service Desk](https://marketplace.atlassian.com/apps/1220964/snipe-it-for-jira)
|
||||||
- [Python 3 CSV importer](https://github.com/gastamper/snipeit-csvimporter) - allows importing assets into Snipe-IT based on Item Name rather than Asset Tag.
|
- [Python 3 CSV importer](https://github.com/gastamper/snipeit-csvimporter) - allows importing assets into Snipe-IT based on Item Name rather than Asset Tag.
|
||||||
- [Snipe-IT Kubernetes Helm Chart](https://github.com/t3n/helm-charts/tree/master/snipeit) - For more information, [click here](https://hub.helm.sh/charts/t3n/snipeit).
|
- [Snipe-IT Kubernetes Helm Chart](https://github.com/t3n/helm-charts/tree/master/snipeit) - For more information, [click here](https://hub.helm.sh/charts/t3n/snipeit).
|
||||||
- [Snipe-IT Bulk Edit](https://github.com/bricelabelle/snipe-it-bulkedit) - Google Script files to use Google Sheets as a bulk checkout/checkin/edit tool for Snipe-it.
|
- [Snipe-IT Bulk Edit](https://github.com/bricelabelle/snipe-it-bulkedit) - Google Script files to use Google Sheets as a bulk checkout/checkin/edit tool for Snipe-IT.
|
||||||
- [MosyleSnipeSync](https://github.com/RodneyLeeBrands/MosyleSnipeSync) by [@Karpadiem](https://github.com/Karpadiem) - Python script to synchronize information between Mosyle and Snipe-IT
|
- [MosyleSnipeSync](https://github.com/RodneyLeeBrands/MosyleSnipeSync) by [@Karpadiem](https://github.com/Karpadiem) - Python script to synchronize information between Mosyle and Snipe-IT.
|
||||||
- [WWW::SnipeIT](https://github.com/SEDC/perl-www-snipeit) by [@SEDC](https://github.com/SEDC) - perl module for accessing the API
|
- [WWW::SnipeIT](https://github.com/SEDC/perl-www-snipeit) by [@SEDC](https://github.com/SEDC) - perl module for accessing the API
|
||||||
- [UniFi to Snipe-IT](https://github.com/RodneyLeeBrands/UnifiSnipeSync) by [@karpadiem](https://github.com/karpadiem) - Python script that synchronizes UniFi devices with Snipe-IT.
|
- [UniFi to Snipe-IT](https://github.com/RodneyLeeBrands/UnifiSnipeSync) by [@karpadiem](https://github.com/karpadiem) - Python script that synchronizes UniFi devices with Snipe-IT.
|
||||||
- [Kandji2Snipe](https://github.com/grokability/kandji2snipe) by [@briangoldstein](https://github.com/briangoldstein) - Python script that synchronizes Kandji with Snipe-IT.
|
- [Kandji2Snipe](https://github.com/grokability/kandji2snipe) by [@briangoldstein](https://github.com/briangoldstein) - Python script that synchronizes Kandji with Snipe-IT.
|
||||||
- [SnipeAgent](https://github.com/ReticentRobot/SnipeAgent) by @ReticentRobot - Windows agent for Snipe-IT
|
- [SnipeAgent](https://github.com/ReticentRobot/SnipeAgent) by [@ReticentRobot](https://github.com/ReticentRobot) - Windows agent for Snipe-IT.
|
||||||
|
- [Gate Pass Generator](https://github.com/cha7uraAE/snipe-it-gate-pass-system) by [@cha7uraAE](https://github.com/cha7uraAE) - A Streamlit application for generating gate passes based on hardware data from a Snipe-IT API.
|
||||||
|
|
||||||
-----
|
-----
|
||||||
|
|
||||||
|
|
|
@ -246,7 +246,7 @@ class PredefinedKitsController extends Controller
|
||||||
|
|
||||||
$relation = $kit->models();
|
$relation = $kit->models();
|
||||||
if ($relation->find($model_id)) {
|
if ($relation->find($model_id)) {
|
||||||
return response()->json(Helper::formatStandardApiResponse('error', null, ['model' => 'Model already attached to kit']));
|
return response()->json(Helper::formatStandardApiResponse('error', null, ['model' => trans('admin/kits/general.model_already_attached')]));
|
||||||
}
|
}
|
||||||
$relation->attach($model_id, ['quantity' => $quantity]);
|
$relation->attach($model_id, ['quantity' => $quantity]);
|
||||||
|
|
||||||
|
|
|
@ -508,8 +508,8 @@ class LoginController extends Controller
|
||||||
protected function validator(array $data)
|
protected function validator(array $data)
|
||||||
{
|
{
|
||||||
return Validator::make($data, [
|
return Validator::make($data, [
|
||||||
'username' => 'required',
|
'username' => 'required|not_array',
|
||||||
'password' => 'required',
|
'password' => 'required|not_array',
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -62,10 +62,10 @@ class CheckoutKitController extends Controller
|
||||||
|
|
||||||
$checkout_result = $this->kitService->checkout($request, $kit, $user);
|
$checkout_result = $this->kitService->checkout($request, $kit, $user);
|
||||||
if (Arr::has($checkout_result, 'errors') && count($checkout_result['errors']) > 0) {
|
if (Arr::has($checkout_result, 'errors') && count($checkout_result['errors']) > 0) {
|
||||||
return redirect()->back()->with('error', trans('general.checkout_error'))->with('error_messages', $checkout_result['errors']);
|
return redirect()->back()->with('error', trans('admin/kits/general.checkout_error'))->with('error_messages', $checkout_result['errors']);
|
||||||
}
|
}
|
||||||
|
|
||||||
return redirect()->back()->with('success', trans('general.checkout_success'))
|
return redirect()->back()->with('success', trans('admin/kits/general.checkout_success'))
|
||||||
->with('assets', Arr::get($checkout_result, 'assets', null))
|
->with('assets', Arr::get($checkout_result, 'assets', null))
|
||||||
->with('accessories', Arr::get($checkout_result, 'accessories', null))
|
->with('accessories', Arr::get($checkout_result, 'accessories', null))
|
||||||
->with('consumables', Arr::get($checkout_result, 'consumables', null));
|
->with('consumables', Arr::get($checkout_result, 'consumables', null));
|
||||||
|
|
|
@ -637,6 +637,7 @@ class SettingsController extends Controller
|
||||||
$setting->alert_threshold = $request->input('alert_threshold');
|
$setting->alert_threshold = $request->input('alert_threshold');
|
||||||
$setting->audit_interval = $request->input('audit_interval');
|
$setting->audit_interval = $request->input('audit_interval');
|
||||||
$setting->audit_warning_days = $request->input('audit_warning_days');
|
$setting->audit_warning_days = $request->input('audit_warning_days');
|
||||||
|
$setting->due_checkin_days = $request->input('due_checkin_days');
|
||||||
$setting->show_alerts_in_menu = $request->input('show_alerts_in_menu', '0');
|
$setting->show_alerts_in_menu = $request->input('show_alerts_in_menu', '0');
|
||||||
|
|
||||||
if ($setting->save()) {
|
if ($setting->save()) {
|
||||||
|
|
|
@ -48,6 +48,7 @@ class Kernel extends HttpKernel
|
||||||
|
|
||||||
'api' => [
|
'api' => [
|
||||||
'auth:api',
|
'auth:api',
|
||||||
|
\App\Http\Middleware\CheckLocale::class,
|
||||||
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
\Illuminate\Routing\Middleware\SubstituteBindings::class,
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
|
@ -11,15 +11,17 @@ trait TwoColumnUniqueUndeletedTrait
|
||||||
* @param string $field
|
* @param string $field
|
||||||
* @return string
|
* @return string
|
||||||
*/
|
*/
|
||||||
protected function prepareTwoColumnUniqueUndeletedRule($parameters, $field)
|
protected function prepareTwoColumnUniqueUndeletedRule($parameters)
|
||||||
{
|
{
|
||||||
$column = $parameters[0];
|
$column = $parameters[0];
|
||||||
$value = $this->{$parameters[0]};
|
$value = $this->{$parameters[0]};
|
||||||
|
|
||||||
|
// This is an existing model we're updating so ignore the current ID ($this->getKey())
|
||||||
if ($this->exists) {
|
if ($this->exists) {
|
||||||
return 'two_column_unique_undeleted:'.$this->table.','.$this->getKey().','.$column.','.$value;
|
return 'two_column_unique_undeleted:'.$this->table.','.$this->getKey().','.$column.','.$value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This is a new record, so we can ignore the current ID
|
||||||
return 'two_column_unique_undeleted:'.$this->table.',0,'.$column.','.$value;
|
return 'two_column_unique_undeleted:'.$this->table.',0,'.$column.','.$value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -86,7 +86,7 @@ class AssetsTransformer
|
||||||
'next_audit_date' => Helper::getFormattedDateObject($asset->next_audit_date, 'date'),
|
'next_audit_date' => Helper::getFormattedDateObject($asset->next_audit_date, 'date'),
|
||||||
'deleted_at' => Helper::getFormattedDateObject($asset->deleted_at, 'datetime'),
|
'deleted_at' => Helper::getFormattedDateObject($asset->deleted_at, 'datetime'),
|
||||||
'purchase_date' => Helper::getFormattedDateObject($asset->purchase_date, 'date'),
|
'purchase_date' => Helper::getFormattedDateObject($asset->purchase_date, 'date'),
|
||||||
'age' => $asset->purchase_date ? $asset->purchase_date->diffForHumans() : '',
|
'age' => $asset->purchase_date ? $asset->purchase_date->locale(app()->getLocale())->diffForHumans() : '',
|
||||||
'last_checkout' => Helper::getFormattedDateObject($asset->last_checkout, 'datetime'),
|
'last_checkout' => Helper::getFormattedDateObject($asset->last_checkout, 'datetime'),
|
||||||
'last_checkin' => Helper::getFormattedDateObject($asset->last_checkin, 'datetime'),
|
'last_checkin' => Helper::getFormattedDateObject($asset->last_checkin, 'datetime'),
|
||||||
'expected_checkin' => Helper::getFormattedDateObject($asset->expected_checkin, 'date'),
|
'expected_checkin' => Helper::getFormattedDateObject($asset->expected_checkin, 'date'),
|
||||||
|
|
|
@ -71,8 +71,10 @@ class AssetImporter extends ItemImporter
|
||||||
$asset = Asset::where(['asset_tag'=> (string) $asset_tag])->first();
|
$asset = Asset::where(['asset_tag'=> (string) $asset_tag])->first();
|
||||||
if ($asset) {
|
if ($asset) {
|
||||||
if (! $this->updating) {
|
if (! $this->updating) {
|
||||||
$this->log('A matching Asset '.$asset_tag.' already exists');
|
$exists_error = trans('general.import_asset_tag_exists', ['asset_tag' => $asset_tag]);
|
||||||
return;
|
$this->log($exists_error);
|
||||||
|
$this->addErrorToBag($asset, 'asset_tag', $exists_error);
|
||||||
|
return $exists_error;
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->log('Updating Asset');
|
$this->log('Updating Asset');
|
||||||
|
|
|
@ -281,6 +281,13 @@ abstract class Importer
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
protected function addErrorToBag($item, $field, $error_message)
|
||||||
|
{
|
||||||
|
if ($this->errorCallback) {
|
||||||
|
call_user_func($this->errorCallback, $item, $field, [$field => [$error_message]]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Finds the user matching given data, or creates a new one if there is no match.
|
* Finds the user matching given data, or creates a new one if there is no match.
|
||||||
* This is NOT used by the User Import, only for Asset/Accessory/etc where
|
* This is NOT used by the User Import, only for Asset/Accessory/etc where
|
||||||
|
|
|
@ -196,33 +196,40 @@ class ItemImporter extends Importer
|
||||||
{
|
{
|
||||||
$condition = array();
|
$condition = array();
|
||||||
$asset_model_name = $this->findCsvMatch($row, 'asset_model');
|
$asset_model_name = $this->findCsvMatch($row, 'asset_model');
|
||||||
|
$asset_model_category = $this->findCsvMatch($row, 'category');
|
||||||
$asset_modelNumber = $this->findCsvMatch($row, 'model_number');
|
$asset_modelNumber = $this->findCsvMatch($row, 'model_number');
|
||||||
|
|
||||||
// TODO: At the moment, this means we can't update the model number if the model name stays the same.
|
// 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)) {
|
if (! $this->shouldUpdateField($asset_model_name)) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((empty($asset_model_name)) && (! empty($asset_modelNumber))) {
|
if ((empty($asset_model_name)) && (! empty($asset_modelNumber))) {
|
||||||
$asset_model_name = $asset_modelNumber;
|
$asset_model_name = $asset_modelNumber;
|
||||||
} elseif ((empty($asset_model_name)) && (empty($asset_modelNumber))) {
|
} elseif ((empty($asset_model_name)) && (empty($asset_modelNumber))) {
|
||||||
$asset_model_name = 'Unknown';
|
$asset_model_name = 'Unknown';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((!empty($asset_model_name)) && (empty($asset_modelNumber))) {
|
$asset_model = AssetModel::select('id');
|
||||||
$condition[] = ['name', '=', $asset_model_name];
|
|
||||||
} elseif ((!empty($asset_model_name)) && (!empty($asset_modelNumber))) {
|
if (!empty($asset_model_name)) {
|
||||||
$condition[] = ['name', '=', $asset_model_name];
|
$asset_model = $asset_model->where('name', '=', $asset_model_name);
|
||||||
$condition[] = ['model_number', '=', $asset_modelNumber];
|
|
||||||
|
if (!empty($asset_modelNumber)) {
|
||||||
|
$asset_model = $asset_model->where('model_number', '=', $asset_modelNumber);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$editingModel = $this->updating;
|
$editingModel = $this->updating;
|
||||||
$asset_model = AssetModel::where($condition)->first();
|
$asset_model = $asset_model->first();
|
||||||
|
|
||||||
if ($asset_model) {
|
if ($asset_model) {
|
||||||
|
|
||||||
if (! $this->updating) {
|
if (! $this->updating) {
|
||||||
$this->log('A matching model already exists, returning it.');
|
$this->log('A matching model already exists, returning it.');
|
||||||
|
|
||||||
return $asset_model->id;
|
return $asset_model->id;
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->log('Matching Model found, updating it.');
|
$this->log('Matching Model found, updating it.');
|
||||||
$item = $this->sanitizeItemForStoring($asset_model, $editingModel);
|
$item = $this->sanitizeItemForStoring($asset_model, $editingModel);
|
||||||
$item['name'] = $asset_model_name;
|
$item['name'] = $asset_model_name;
|
||||||
|
@ -237,23 +244,29 @@ class ItemImporter extends Importer
|
||||||
$this->log('Asset Model Updated');
|
$this->log('Asset Model Updated');
|
||||||
|
|
||||||
return $asset_model->id;
|
return $asset_model->id;
|
||||||
}
|
|
||||||
$this->log('No Matching Model, Creating a new one');
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->log('No Matching Model, Creating a new one');
|
||||||
$asset_model = new AssetModel();
|
$asset_model = new AssetModel();
|
||||||
$item = $this->sanitizeItemForStoring($asset_model, $editingModel);
|
$item = $this->sanitizeItemForStoring($asset_model, $editingModel);
|
||||||
$item['name'] = $asset_model_name;
|
$item['name'] = $asset_model_name;
|
||||||
$item['model_number'] = $asset_modelNumber;
|
$item['model_number'] = $asset_modelNumber;
|
||||||
$item['notes'] = $this->findCsvMatch($row, 'model_notes');
|
$item['notes'] = $this->findCsvMatch($row, 'model_notes');
|
||||||
|
$item['category_id'] = $this->createOrFetchCategory($asset_model_category);
|
||||||
|
|
||||||
$asset_model->fill($item);
|
$asset_model->fill($item);
|
||||||
|
//$asset_model = AssetModel::firstOrNew($item);
|
||||||
$item = null;
|
$item = null;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if ($asset_model->save()) {
|
if ($asset_model->save()) {
|
||||||
$this->log('Asset Model '.$asset_model_name.' with model number '.$asset_modelNumber.' was created');
|
$this->log('Asset Model '.$asset_model_name.' with model number '.$asset_modelNumber.' was created');
|
||||||
|
|
||||||
return $asset_model->id;
|
return $asset_model->id;
|
||||||
}
|
}
|
||||||
|
$this->log('Asset Model Errors: '.$asset_model->getErrors());
|
||||||
$this->logError($asset_model, 'Asset Model "'.$asset_model_name.'"');
|
$this->logError($asset_model, 'Asset Model "'.$asset_model_name.'"');
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
|
|
@ -354,6 +354,12 @@ class Importer extends Component
|
||||||
'model name',
|
'model name',
|
||||||
'model',
|
'model',
|
||||||
],
|
],
|
||||||
|
'eol_date' =>
|
||||||
|
[
|
||||||
|
'eol',
|
||||||
|
'eol date',
|
||||||
|
'asset eol date',
|
||||||
|
],
|
||||||
'gravatar' =>
|
'gravatar' =>
|
||||||
[
|
[
|
||||||
'gravatar',
|
'gravatar',
|
||||||
|
|
|
@ -1315,7 +1315,7 @@ class Asset extends Depreciable
|
||||||
|
|
||||||
public function scopeDueForCheckin($query, $settings)
|
public function scopeDueForCheckin($query, $settings)
|
||||||
{
|
{
|
||||||
$interval = $settings->audit_warning_days ?? 0;
|
$interval = $settings->due_checkin_days ?? 0;
|
||||||
$today = Carbon::now();
|
$today = Carbon::now();
|
||||||
$interval_date = $today->copy()->addDays($interval)->format('Y-m-d');
|
$interval_date = $today->copy()->addDays($interval)->format('Y-m-d');
|
||||||
|
|
||||||
|
|
|
@ -10,6 +10,7 @@ use Illuminate\Support\Facades\Gate;
|
||||||
use Illuminate\Support\Facades\Storage;
|
use Illuminate\Support\Facades\Storage;
|
||||||
use Watson\Validating\ValidatingTrait;
|
use Watson\Validating\ValidatingTrait;
|
||||||
use \App\Presenters\AssetModelPresenter;
|
use \App\Presenters\AssetModelPresenter;
|
||||||
|
use App\Http\Traits\TwoColumnUniqueUndeletedTrait;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Model for Asset Models. Asset Models contain higher level
|
* Model for Asset Models. Asset Models contain higher level
|
||||||
|
@ -21,21 +22,8 @@ class AssetModel extends SnipeModel
|
||||||
{
|
{
|
||||||
use HasFactory;
|
use HasFactory;
|
||||||
use SoftDeletes;
|
use SoftDeletes;
|
||||||
protected $presenter = AssetModelPresenter::class;
|
|
||||||
use Loggable, Requestable, Presentable;
|
use Loggable, Requestable, Presentable;
|
||||||
|
use TwoColumnUniqueUndeletedTrait;
|
||||||
protected $table = 'models';
|
|
||||||
protected $hidden = ['user_id', 'deleted_at'];
|
|
||||||
|
|
||||||
// Declare the rules for the model validation
|
|
||||||
protected $rules = [
|
|
||||||
'name' => 'string|required|min:1|max:255|unique:models,name',
|
|
||||||
'model_number' => 'string|max:255|nullable',
|
|
||||||
'min_amt' => 'integer|min:0|nullable',
|
|
||||||
'category_id' => 'required|integer|exists:categories,id',
|
|
||||||
'manufacturer_id' => 'integer|exists:manufacturers,id|nullable',
|
|
||||||
'eol' => 'integer:min:0|max:240|nullable',
|
|
||||||
];
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Whether the model should inject its identifier to the unique
|
* Whether the model should inject its identifier to the unique
|
||||||
|
@ -44,8 +32,26 @@ class AssetModel extends SnipeModel
|
||||||
*
|
*
|
||||||
* @var bool
|
* @var bool
|
||||||
*/
|
*/
|
||||||
|
|
||||||
protected $injectUniqueIdentifier = true;
|
protected $injectUniqueIdentifier = true;
|
||||||
use ValidatingTrait;
|
use ValidatingTrait;
|
||||||
|
protected $table = 'models';
|
||||||
|
protected $hidden = ['user_id', 'deleted_at'];
|
||||||
|
protected $presenter = AssetModelPresenter::class;
|
||||||
|
|
||||||
|
// Declare the rules for the model validation
|
||||||
|
|
||||||
|
|
||||||
|
protected $rules = [
|
||||||
|
'name' => 'string|required|min:1|max:255|two_column_unique_undeleted:model_number',
|
||||||
|
'model_number' => 'string|max:255|nullable|two_column_unique_undeleted:name',
|
||||||
|
'min_amt' => 'integer|min:0|nullable',
|
||||||
|
'category_id' => 'required|integer|exists:categories,id',
|
||||||
|
'manufacturer_id' => 'integer|exists:manufacturers,id|nullable',
|
||||||
|
'eol' => 'integer:min:0|max:240|nullable',
|
||||||
|
];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The attributes that are mass assignable.
|
* The attributes that are mass assignable.
|
||||||
|
@ -86,6 +92,9 @@ class AssetModel extends SnipeModel
|
||||||
'manufacturer' => ['name'],
|
'manufacturer' => ['name'],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Establishes the model -> assets relationship
|
* Establishes the model -> assets relationship
|
||||||
*
|
*
|
||||||
|
|
|
@ -74,7 +74,10 @@ class Setting extends Model
|
||||||
'login_remote_user_header_name' => 'string|nullable',
|
'login_remote_user_header_name' => 'string|nullable',
|
||||||
'thumbnail_max_h' => 'numeric|max:500|min:25',
|
'thumbnail_max_h' => 'numeric|max:500|min:25',
|
||||||
'pwd_secure_min' => 'numeric|required|min:8',
|
'pwd_secure_min' => 'numeric|required|min:8',
|
||||||
|
'alert_threshold' => 'numeric|nullable',
|
||||||
|
'alert_interval' => 'numeric|nullable',
|
||||||
'audit_warning_days' => 'numeric|nullable',
|
'audit_warning_days' => 'numeric|nullable',
|
||||||
|
'due_checkin_days' => 'numeric|nullable',
|
||||||
'audit_interval' => 'numeric|nullable',
|
'audit_interval' => 'numeric|nullable',
|
||||||
'custom_forgot_pass_url' => 'url|nullable',
|
'custom_forgot_pass_url' => 'url|nullable',
|
||||||
'privacy_policy_link' => 'nullable|url',
|
'privacy_policy_link' => 'nullable|url',
|
||||||
|
|
|
@ -6,10 +6,7 @@ use App\Models\CustomField;
|
||||||
use App\Models\Department;
|
use App\Models\Department;
|
||||||
use App\Models\Setting;
|
use App\Models\Setting;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
use Illuminate\Support\Facades\Crypt;
|
|
||||||
use Illuminate\Support\Facades\Log;
|
|
||||||
use Illuminate\Support\ServiceProvider;
|
use Illuminate\Support\ServiceProvider;
|
||||||
use Illuminate\Validation\Rule;
|
|
||||||
use Illuminate\Support\Facades\Validator;
|
use Illuminate\Support\Facades\Validator;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -91,18 +88,26 @@ class ValidationServiceProvider extends ServiceProvider
|
||||||
*
|
*
|
||||||
* $parameters[0] - the name of the first table we're looking at
|
* $parameters[0] - the name of the first table we're looking at
|
||||||
* $parameters[1] - the ID (this will be 0 on new creations)
|
* $parameters[1] - the ID (this will be 0 on new creations)
|
||||||
* $parameters[2] - the name of the second table we're looking at
|
* $parameters[2] - the name of the second field we're looking at
|
||||||
* $parameters[3] - the value that the request is passing for the second table we're
|
* $parameters[3] - the value that the request is passing for the second table we're
|
||||||
* checking for uniqueness across
|
* checking for uniqueness across
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
Validator::extend('two_column_unique_undeleted', function ($attribute, $value, $parameters, $validator) {
|
Validator::extend('two_column_unique_undeleted', function ($attribute, $value, $parameters, $validator) {
|
||||||
|
|
||||||
if (count($parameters)) {
|
if (count($parameters)) {
|
||||||
|
|
||||||
$count = DB::table($parameters[0])
|
$count = DB::table($parameters[0])
|
||||||
->select('id')->where($attribute, '=', $value)
|
->select('id')
|
||||||
->whereNull('deleted_at')
|
->where($attribute, '=', $value)
|
||||||
->where('id', '!=', $parameters[1])
|
->where('id', '!=', $parameters[1]);
|
||||||
->where($parameters[2], $parameters[3])->count();
|
|
||||||
|
if ($parameters[3]!='') {
|
||||||
|
$count = $count->where($parameters[2], $parameters[3]);
|
||||||
|
}
|
||||||
|
|
||||||
|
$count = $count->whereNull('deleted_at')
|
||||||
|
->count();
|
||||||
|
|
||||||
return $count < 1;
|
return $count < 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,28 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
use Illuminate\Database\Migrations\Migration;
|
||||||
|
use Illuminate\Database\Schema\Blueprint;
|
||||||
|
use Illuminate\Support\Facades\Schema;
|
||||||
|
|
||||||
|
return new class extends Migration
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* Run the migrations.
|
||||||
|
*/
|
||||||
|
public function up(): void
|
||||||
|
{
|
||||||
|
Schema::table('settings', function (Blueprint $table) {
|
||||||
|
$table->integer('due_checkin_days')->nullable()->default(null);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Reverse the migrations.
|
||||||
|
*/
|
||||||
|
public function down(): void
|
||||||
|
{
|
||||||
|
Schema::table('settings', function (Blueprint $table) {
|
||||||
|
$table->dropColumn('due_checkin_days');
|
||||||
|
});
|
||||||
|
}
|
||||||
|
};
|
|
@ -1,7 +1,48 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Cribbed from nextcloud docker official repo
|
||||||
|
# https://github.com/nextcloud/docker/blob/master/docker-entrypoint.sh
|
||||||
|
# usage: file_env VAR [DEFAULT]
|
||||||
|
# ie: file_env 'XYZ_DB_PASSWORD' 'example'
|
||||||
|
# (will allow for "$XYZ_DB_PASSWORD_FILE" to fill in the value of
|
||||||
|
# "$XYZ_DB_PASSWORD" from a file, especially for Docker's secrets feature)
|
||||||
|
file_env() {
|
||||||
|
local var="$1"
|
||||||
|
local fileVar="${var}_FILE"
|
||||||
|
local def="${2:-}"
|
||||||
|
local varValue=$(env | grep -E "^${var}=" | sed -E -e "s/^${var}=//")
|
||||||
|
local fileVarValue=$(env | grep -E "^${fileVar}=" | sed -E -e "s/^${fileVar}=//")
|
||||||
|
if [ -n "${varValue}" ] && [ -n "${fileVarValue}" ]; then
|
||||||
|
echo >&2 "error: both $var and $fileVar are set (but are exclusive)"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [ -n "${varValue}" ]; then
|
||||||
|
export "$var"="${varValue}"
|
||||||
|
elif [ -n "${fileVarValue}" ]; then
|
||||||
|
export "$var"="$(cat "${fileVarValue}")"
|
||||||
|
elif [ -n "${def}" ]; then
|
||||||
|
export "$var"="$def"
|
||||||
|
fi
|
||||||
|
unset "$fileVar"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Add docker secrets support for the variables below:
|
||||||
|
file_env APP_KEY
|
||||||
|
file_env DB_HOST
|
||||||
|
file_env DB_PORT
|
||||||
|
file_env DB_DATABASE
|
||||||
|
file_env DB_USERNAME
|
||||||
|
file_env DB_PASSWORD
|
||||||
|
file_env REDIS_HOST
|
||||||
|
file_env REDIS_PASSWORD
|
||||||
|
file_env REDIS_PORT
|
||||||
|
file_env MAIL_HOST
|
||||||
|
file_env MAIL_PORT
|
||||||
|
file_env MAIL_USERNAME
|
||||||
|
file_env MAIL_PASSWORD
|
||||||
|
|
||||||
# fix key if needed
|
# fix key if needed
|
||||||
if [ -z "$APP_KEY" ]
|
if [ -z "$APP_KEY" -a -z "$APP_KEY_FILE" ]
|
||||||
then
|
then
|
||||||
echo "Please re-run this container with an environment variable \$APP_KEY"
|
echo "Please re-run this container with an environment variable \$APP_KEY"
|
||||||
echo "An example APP_KEY you could use is: "
|
echo "An example APP_KEY you could use is: "
|
||||||
|
|
|
@ -1,7 +1,48 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
# Cribbed from nextcloud docker official repo
|
||||||
|
# https://github.com/nextcloud/docker/blob/master/docker-entrypoint.sh
|
||||||
|
# usage: file_env VAR [DEFAULT]
|
||||||
|
# ie: file_env 'XYZ_DB_PASSWORD' 'example'
|
||||||
|
# (will allow for "$XYZ_DB_PASSWORD_FILE" to fill in the value of
|
||||||
|
# "$XYZ_DB_PASSWORD" from a file, especially for Docker's secrets feature)
|
||||||
|
file_env() {
|
||||||
|
local var="$1"
|
||||||
|
local fileVar="${var}_FILE"
|
||||||
|
local def="${2:-}"
|
||||||
|
local varValue=$(env | grep -E "^${var}=" | sed -E -e "s/^${var}=//")
|
||||||
|
local fileVarValue=$(env | grep -E "^${fileVar}=" | sed -E -e "s/^${fileVar}=//")
|
||||||
|
if [ -n "${varValue}" ] && [ -n "${fileVarValue}" ]; then
|
||||||
|
echo >&2 "error: both $var and $fileVar are set (but are exclusive)"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if [ -n "${varValue}" ]; then
|
||||||
|
export "$var"="${varValue}"
|
||||||
|
elif [ -n "${fileVarValue}" ]; then
|
||||||
|
export "$var"="$(cat "${fileVarValue}")"
|
||||||
|
elif [ -n "${def}" ]; then
|
||||||
|
export "$var"="$def"
|
||||||
|
fi
|
||||||
|
unset "$fileVar"
|
||||||
|
}
|
||||||
|
|
||||||
|
# Add docker secrets support for the variables below:
|
||||||
|
file_env APP_KEY
|
||||||
|
file_env DB_HOST
|
||||||
|
file_env DB_PORT
|
||||||
|
file_env DB_DATABASE
|
||||||
|
file_env DB_USERNAME
|
||||||
|
file_env DB_PASSWORD
|
||||||
|
file_env REDIS_HOST
|
||||||
|
file_env REDIS_PASSWORD
|
||||||
|
file_env REDIS_PORT
|
||||||
|
file_env MAIL_HOST
|
||||||
|
file_env MAIL_PORT
|
||||||
|
file_env MAIL_USERNAME
|
||||||
|
file_env MAIL_PASSWORD
|
||||||
|
|
||||||
# fix key if needed
|
# fix key if needed
|
||||||
if [ -z "$APP_KEY" ]
|
if [ -z "$APP_KEY" -a -z "$APP_KEY_FILE" ]
|
||||||
then
|
then
|
||||||
echo "Please re-run this container with an environment variable \$APP_KEY"
|
echo "Please re-run this container with an environment variable \$APP_KEY"
|
||||||
echo "An example APP_KEY you could use is: "
|
echo "An example APP_KEY you could use is: "
|
||||||
|
|
Binary file not shown.
Binary file not shown.
BIN
public/css/dist/all.css
vendored
BIN
public/css/dist/all.css
vendored
Binary file not shown.
|
@ -2,8 +2,8 @@
|
||||||
"/js/build/app.js": "/js/build/app.js?id=5030f4cb69d0d0b87b7fe6ba1b9eece9",
|
"/js/build/app.js": "/js/build/app.js?id=5030f4cb69d0d0b87b7fe6ba1b9eece9",
|
||||||
"/css/dist/skins/skin-black-dark.css": "/css/dist/skins/skin-black-dark.css?id=f0b08873a06bb54daeee176a9459f4a9",
|
"/css/dist/skins/skin-black-dark.css": "/css/dist/skins/skin-black-dark.css?id=f0b08873a06bb54daeee176a9459f4a9",
|
||||||
"/css/dist/skins/_all-skins.css": "/css/dist/skins/_all-skins.css?id=f4397c717b99fce41a633ca6edd5d1f4",
|
"/css/dist/skins/_all-skins.css": "/css/dist/skins/_all-skins.css?id=f4397c717b99fce41a633ca6edd5d1f4",
|
||||||
"/css/build/overrides.css": "/css/build/overrides.css?id=a759aa24710e294392877c5139fda40e",
|
"/css/build/overrides.css": "/css/build/overrides.css?id=e83697e14b9cd1478ea2bda8fb50f30c",
|
||||||
"/css/build/app.css": "/css/build/app.css?id=b3b3df70f679f45e15a6bcd28a8e87cc",
|
"/css/build/app.css": "/css/build/app.css?id=ff82b7edca60f7276504bde91568f6d1",
|
||||||
"/css/build/AdminLTE.css": "/css/build/AdminLTE.css?id=4ea0068716c1bb2434d87a16d51b98c9",
|
"/css/build/AdminLTE.css": "/css/build/AdminLTE.css?id=4ea0068716c1bb2434d87a16d51b98c9",
|
||||||
"/css/dist/skins/skin-yellow.css": "/css/dist/skins/skin-yellow.css?id=7b315b9612b8fde8f9c5b0ddb6bba690",
|
"/css/dist/skins/skin-yellow.css": "/css/dist/skins/skin-yellow.css?id=7b315b9612b8fde8f9c5b0ddb6bba690",
|
||||||
"/css/dist/skins/skin-yellow-dark.css": "/css/dist/skins/skin-yellow-dark.css?id=393aaa7b368b0670fc42434c8cca7dc7",
|
"/css/dist/skins/skin-yellow-dark.css": "/css/dist/skins/skin-yellow-dark.css?id=393aaa7b368b0670fc42434c8cca7dc7",
|
||||||
|
@ -19,7 +19,7 @@
|
||||||
"/css/dist/skins/skin-blue.css": "/css/dist/skins/skin-blue.css?id=f677207c6cf9678eb539abecb408c374",
|
"/css/dist/skins/skin-blue.css": "/css/dist/skins/skin-blue.css?id=f677207c6cf9678eb539abecb408c374",
|
||||||
"/css/dist/skins/skin-blue-dark.css": "/css/dist/skins/skin-blue-dark.css?id=0640e45bad692dcf62873c6e85904899",
|
"/css/dist/skins/skin-blue-dark.css": "/css/dist/skins/skin-blue-dark.css?id=0640e45bad692dcf62873c6e85904899",
|
||||||
"/css/dist/skins/skin-black.css": "/css/dist/skins/skin-black.css?id=76482123f6c70e866d6b971ba91de7bb",
|
"/css/dist/skins/skin-black.css": "/css/dist/skins/skin-black.css?id=76482123f6c70e866d6b971ba91de7bb",
|
||||||
"/css/dist/all.css": "/css/dist/all.css?id=7b8e04041af3dfe3de25d73107bfda91",
|
"/css/dist/all.css": "/css/dist/all.css?id=053e0f8c49e8cf1b903c80c8f67639eb",
|
||||||
"/css/dist/signature-pad.css": "/css/dist/signature-pad.css?id=6a89d3cd901305e66ced1cf5f13147f7",
|
"/css/dist/signature-pad.css": "/css/dist/signature-pad.css?id=6a89d3cd901305e66ced1cf5f13147f7",
|
||||||
"/css/dist/signature-pad.min.css": "/css/dist/signature-pad.min.css?id=6a89d3cd901305e66ced1cf5f13147f7",
|
"/css/dist/signature-pad.min.css": "/css/dist/signature-pad.min.css?id=6a89d3cd901305e66ced1cf5f13147f7",
|
||||||
"/js/select2/i18n/af.js": "/js/select2/i18n/af.js?id=4f6fcd73488ce79fae1b7a90aceaecde",
|
"/js/select2/i18n/af.js": "/js/select2/i18n/af.js?id=4f6fcd73488ce79fae1b7a90aceaecde",
|
||||||
|
|
|
@ -845,17 +845,19 @@ th.css-location > .th-inner::before {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@media screen and (max-width: 1318px) and (min-width: 1200px){
|
@media screen and (max-width: 1318px) and (min-width: 1200px){
|
||||||
.box{
|
.admin.box{
|
||||||
height:170px;
|
height:170px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@media screen and (max-width: 1494px) and (min-width: 1200px){
|
||||||
.ellipsis {
|
.dashboard.small-box{
|
||||||
overflow: hidden;
|
|
||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
|
max-width: 188px;
|
||||||
|
display: block;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/** Form-stuff overrides for checkboxes and stuff **/
|
/** Form-stuff overrides for checkboxes and stuff **/
|
||||||
|
|
||||||
|
|
|
@ -47,4 +47,5 @@ return [
|
||||||
'kit_deleted' => 'Kit was successfully deleted',
|
'kit_deleted' => 'Kit was successfully deleted',
|
||||||
'kit_model_updated' => 'Model was successfully updated',
|
'kit_model_updated' => 'Model was successfully updated',
|
||||||
'kit_model_detached' => 'Model was successfully detached',
|
'kit_model_detached' => 'Model was successfully detached',
|
||||||
|
'model_already_attached' => 'Model already attached to kit',
|
||||||
];
|
];
|
||||||
|
|
|
@ -381,5 +381,7 @@ return [
|
||||||
'default_avatar_help' => 'This image will be displayed as a profile if a user does not have a profile photo.',
|
'default_avatar_help' => 'This image will be displayed as a profile if a user does not have a profile photo.',
|
||||||
'restore_default_avatar' => 'Restore <a href=":default_avatar" data-toggle="lightbox" data-type="image">original system default avatar</a>',
|
'restore_default_avatar' => 'Restore <a href=":default_avatar" data-toggle="lightbox" data-type="image">original system default avatar</a>',
|
||||||
'restore_default_avatar_help' => '',
|
'restore_default_avatar_help' => '',
|
||||||
|
'due_checkin_days' => 'Due For Checkin Warning',
|
||||||
|
'due_checkin_days_help' => 'How many days before the expected checkin of an asset should it be listed in the "Due for checkin" page?',
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
|
@ -426,7 +426,7 @@ return [
|
||||||
'assets_by_status_type' => 'Assets by Status Type',
|
'assets_by_status_type' => 'Assets by Status Type',
|
||||||
'pie_chart_type' => 'Dashboard Pie Chart Type',
|
'pie_chart_type' => 'Dashboard Pie Chart Type',
|
||||||
'hello_name' => 'Hello, :name!',
|
'hello_name' => 'Hello, :name!',
|
||||||
'unaccepted_profile_warning' => 'You have :count items requiring acceptance. Click here to accept or decline them',
|
'unaccepted_profile_warning' => 'You have one item requiring acceptance. Click here to accept or decline it | You have :count items requiring acceptance. Click here to accept or decline them',
|
||||||
'start_date' => 'Start Date',
|
'start_date' => 'Start Date',
|
||||||
'end_date' => 'End Date',
|
'end_date' => 'End Date',
|
||||||
'alt_uploaded_image_thumbnail' => 'Uploaded thumbnail',
|
'alt_uploaded_image_thumbnail' => 'Uploaded thumbnail',
|
||||||
|
@ -559,5 +559,8 @@ return [
|
||||||
'expires' => 'Expires',
|
'expires' => 'Expires',
|
||||||
'map_fields'=> 'Map :item_type Field',
|
'map_fields'=> 'Map :item_type Field',
|
||||||
'remaining_var' => ':count Remaining',
|
'remaining_var' => ':count Remaining',
|
||||||
|
'assets_in_var' => 'Assets in :name :type',
|
||||||
|
'label' => 'Label',
|
||||||
|
'import_asset_tag_exists' => 'An asset with the asset tag :asset_tag already exists and an update was not requested. No change was made.',
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
|
@ -84,8 +84,9 @@ Form::macro('time_display_format', function ($name = 'time_display_format', $sel
|
||||||
'H:i',
|
'H:i',
|
||||||
];
|
];
|
||||||
|
|
||||||
|
$datetime = date("y-m-d").' 14:00:00';
|
||||||
foreach ($formats as $format) {
|
foreach ($formats as $format) {
|
||||||
$time_display_formats[$format] = Carbon::now()->format($format);
|
$time_display_formats[$format] = Carbon::parse($datetime)->format($format);
|
||||||
}
|
}
|
||||||
$select = '<select name="'.$name.'" class="'.$class.'" style="min-width:150px" aria-label="'.$name.'">';
|
$select = '<select name="'.$name.'" class="'.$class.'" style="min-width:150px" aria-label="'.$name.'">';
|
||||||
foreach ($time_display_formats as $format => $time_display_format) {
|
foreach ($time_display_formats as $format => $time_display_format) {
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
|
|
||||||
<strong>
|
<strong>
|
||||||
<a href="{{ route('account.accept') }}" style="color: white;">
|
<a href="{{ route('account.accept') }}" style="color: white;">
|
||||||
{{ trans('general.unaccepted_profile_warning', array('count' => $acceptances)) }}
|
{{ trans_choice('general.unaccepted_profile_warning', $acceptances, ['count' => $acceptances]) }}
|
||||||
</a>
|
</a>
|
||||||
</strong>
|
</strong>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -57,16 +57,22 @@
|
||||||
<fieldset>
|
<fieldset>
|
||||||
|
|
||||||
<div class="form-group{{ $errors->has('username') ? ' has-error' : '' }}">
|
<div class="form-group{{ $errors->has('username') ? ' has-error' : '' }}">
|
||||||
<label for="username"><i class="fas fa-user" aria-hidden="true"></i> {{ trans('admin/users/table.username') }}</label>
|
<label for="username">
|
||||||
|
<i class="fas fa-user" aria-hidden="true"></i>
|
||||||
|
{{ trans('admin/users/table.username') }}
|
||||||
|
</label>
|
||||||
<input class="form-control" placeholder="{{ trans('admin/users/table.username') }}" name="username" type="text" id="username" autocomplete="{{ (config('auth.login_autocomplete') === true) ? 'on' : 'off' }}" autofocus>
|
<input class="form-control" placeholder="{{ trans('admin/users/table.username') }}" name="username" type="text" id="username" autocomplete="{{ (config('auth.login_autocomplete') === true) ? 'on' : 'off' }}" autofocus>
|
||||||
{!! $errors->first('username', '<span class="alert-msg" aria-hidden="true"><i class="fas fa-times" aria-hidden="true"></i> :message</span>') !!}
|
{!! $errors->first('username', '<span class="alert-msg" aria-hidden="true"><i class="fas fa-times" aria-hidden="true"></i> :message</span>') !!}
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}">
|
<div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}">
|
||||||
<label for="password"><i class="fa fa-key" aria-hidden="true"></i> {{ trans('admin/users/table.password') }}</label>
|
<label for="password">
|
||||||
|
<i class="fa fa-key" aria-hidden="true"></i>
|
||||||
|
{{ trans('admin/users/table.password') }}
|
||||||
|
</label>
|
||||||
<input class="form-control" placeholder="{{ trans('admin/users/table.password') }}" name="password" type="password" id="password" autocomplete="{{ (config('auth.login_autocomplete') === true) ? 'on' : 'off' }}">
|
<input class="form-control" placeholder="{{ trans('admin/users/table.password') }}" name="password" type="password" id="password" autocomplete="{{ (config('auth.login_autocomplete') === true) ? 'on' : 'off' }}">
|
||||||
{!! $errors->first('password', '<span class="alert-msg" aria-hidden="true"><i class="fas fa-times" aria-hidden="true"></i> :message</span>') !!}
|
{!! $errors->first('password', '<span class="alert-msg" aria-hidden="true"><i class="fas fa-times" aria-hidden="true"></i> :message</span>') !!}
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group{{ $errors->has('password') ? ' has-error' : '' }}">
|
<div class="form-group">
|
||||||
<label class="form-control">
|
<label class="form-control">
|
||||||
<input name="remember" type="checkbox" value="1"> {{ trans('auth/general.remember_me') }}
|
<input name="remember" type="checkbox" value="1"> {{ trans('auth/general.remember_me') }}
|
||||||
</label>
|
</label>
|
||||||
|
|
|
@ -3,8 +3,7 @@
|
||||||
{{-- Page title --}}
|
{{-- Page title --}}
|
||||||
@section('title')
|
@section('title')
|
||||||
|
|
||||||
{{ $category->name }}
|
{{ trans('general.assets_in_var', ['name'=> $category->name, 'type' => trans('general.category')]) }}
|
||||||
{{ ucwords($category_type_route) }}
|
|
||||||
|
|
||||||
@parent
|
@parent
|
||||||
@stop
|
@stop
|
||||||
|
|
|
@ -31,7 +31,7 @@
|
||||||
<div class="col-lg-2 col-xs-6">
|
<div class="col-lg-2 col-xs-6">
|
||||||
<a href="{{ route('hardware.index') }}">
|
<a href="{{ route('hardware.index') }}">
|
||||||
<!-- small box -->
|
<!-- small box -->
|
||||||
<div class="small-box bg-teal">
|
<div class="dashboard small-box bg-teal">
|
||||||
<div class="inner">
|
<div class="inner">
|
||||||
<h3>{{ number_format(\App\Models\Asset::AssetsForShow()->count()) }}</h3>
|
<h3>{{ number_format(\App\Models\Asset::AssetsForShow()->count()) }}</h3>
|
||||||
<p>{{ strtolower(trans('general.assets')) }}</p>
|
<p>{{ strtolower(trans('general.assets')) }}</p>
|
||||||
|
@ -49,7 +49,7 @@
|
||||||
<div class="col-lg-2 col-xs-6">
|
<div class="col-lg-2 col-xs-6">
|
||||||
<a href="{{ route('licenses.index') }}">
|
<a href="{{ route('licenses.index') }}">
|
||||||
<!-- small box -->
|
<!-- small box -->
|
||||||
<div class="small-box bg-maroon">
|
<div class="dashboard small-box bg-maroon">
|
||||||
<div class="inner">
|
<div class="inner">
|
||||||
<h3>{{ number_format($counts['license']) }}</h3>
|
<h3>{{ number_format($counts['license']) }}</h3>
|
||||||
<p>{{ strtolower(trans('general.licenses')) }}</p>
|
<p>{{ strtolower(trans('general.licenses')) }}</p>
|
||||||
|
@ -68,7 +68,7 @@
|
||||||
<div class="col-lg-2 col-xs-6">
|
<div class="col-lg-2 col-xs-6">
|
||||||
<!-- small box -->
|
<!-- small box -->
|
||||||
<a href="{{ route('accessories.index') }}">
|
<a href="{{ route('accessories.index') }}">
|
||||||
<div class="small-box bg-orange">
|
<div class="dashboard small-box bg-orange">
|
||||||
<div class="inner">
|
<div class="inner">
|
||||||
<h3> {{ number_format($counts['accessory']) }}</h3>
|
<h3> {{ number_format($counts['accessory']) }}</h3>
|
||||||
<p>{{ strtolower(trans('general.accessories')) }}</p>
|
<p>{{ strtolower(trans('general.accessories')) }}</p>
|
||||||
|
@ -87,7 +87,7 @@
|
||||||
<!-- small box -->
|
<!-- small box -->
|
||||||
|
|
||||||
<a href="{{ route('consumables.index') }}">
|
<a href="{{ route('consumables.index') }}">
|
||||||
<div class="small-box bg-purple">
|
<div class="dashboard small-box bg-purple">
|
||||||
<div class="inner">
|
<div class="inner">
|
||||||
<h3> {{ number_format($counts['consumable']) }}</h3>
|
<h3> {{ number_format($counts['consumable']) }}</h3>
|
||||||
<p>{{ strtolower(trans('general.consumables')) }}</p>
|
<p>{{ strtolower(trans('general.consumables')) }}</p>
|
||||||
|
@ -104,7 +104,7 @@
|
||||||
<div class="col-lg-2 col-xs-6">
|
<div class="col-lg-2 col-xs-6">
|
||||||
<a href="{{ route('components.index') }}">
|
<a href="{{ route('components.index') }}">
|
||||||
<!-- small box -->
|
<!-- small box -->
|
||||||
<div class="small-box bg-yellow">
|
<div class="dashboard small-box bg-yellow">
|
||||||
<div class="inner">
|
<div class="inner">
|
||||||
<h3>{{ number_format($counts['component']) }}</h3>
|
<h3>{{ number_format($counts['component']) }}</h3>
|
||||||
<p>{{ strtolower(trans('general.components')) }}</p>
|
<p>{{ strtolower(trans('general.components')) }}</p>
|
||||||
|
@ -122,7 +122,7 @@
|
||||||
<div class="col-lg-2 col-xs-6">
|
<div class="col-lg-2 col-xs-6">
|
||||||
<a href="{{ route('users.index') }}">
|
<a href="{{ route('users.index') }}">
|
||||||
<!-- small box -->
|
<!-- small box -->
|
||||||
<div class="small-box bg-light-blue">
|
<div class="dashboard small-box bg-light-blue">
|
||||||
<div class="inner">
|
<div class="inner">
|
||||||
<h3>{{ number_format($counts['user']) }}</h3>
|
<h3>{{ number_format($counts['user']) }}</h3>
|
||||||
<p>{{ strtolower(trans('general.people')) }}</p>
|
<p>{{ strtolower(trans('general.people')) }}</p>
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
{{-- Page title --}}
|
{{-- Page title --}}
|
||||||
@section('title')
|
@section('title')
|
||||||
{{ trans_choice('general.checkin_due_days', $settings->audit_warning_days, ['days' => $settings->audit_warning_days]) }}
|
{{ trans_choice('general.checkin_due_days', $settings->due_checkin_days, ['days' => $settings->due_checkin_days]) }}
|
||||||
@stop
|
@stop
|
||||||
|
|
||||||
{{-- Page content --}}
|
{{-- Page content --}}
|
||||||
|
|
|
@ -132,7 +132,7 @@
|
||||||
:button_label="trans('general.checkin')"
|
:button_label="trans('general.checkin')"
|
||||||
:disabled_select="!$asset->model"
|
:disabled_select="!$asset->model"
|
||||||
:options="[
|
:options="[
|
||||||
'index' => trans('admin/hardware/form.redirect_to_all', ['type' => 'assets']),
|
'index' => trans('admin/hardware/form.redirect_to_all', ['type' => trans('general.assets')]),
|
||||||
'item' => trans('admin/hardware/form.redirect_to_type', ['type' => trans('general.asset')]),
|
'item' => trans('admin/hardware/form.redirect_to_type', ['type' => trans('general.asset')]),
|
||||||
]"
|
]"
|
||||||
/>
|
/>
|
||||||
|
|
|
@ -180,7 +180,7 @@
|
||||||
:button_label="trans('general.checkout')"
|
:button_label="trans('general.checkout')"
|
||||||
:disabled_select="!$asset->model"
|
:disabled_select="!$asset->model"
|
||||||
:options="[
|
:options="[
|
||||||
'index' => trans('admin/hardware/form.redirect_to_all', ['type' => 'assets']),
|
'index' => trans('admin/hardware/form.redirect_to_all', ['type' => trans('general.assets')]),
|
||||||
'item' => trans('admin/hardware/form.redirect_to_type', ['type' => trans('general.asset')]),
|
'item' => trans('admin/hardware/form.redirect_to_type', ['type' => trans('general.asset')]),
|
||||||
'target' => trans('admin/hardware/form.redirect_to_checked_out_to'),
|
'target' => trans('admin/hardware/form.redirect_to_checked_out_to'),
|
||||||
|
|
||||||
|
|
|
@ -1030,7 +1030,7 @@
|
||||||
<div class="row hidden-print">
|
<div class="row hidden-print">
|
||||||
<div class="col-md-3">
|
<div class="col-md-3">
|
||||||
<strong>
|
<strong>
|
||||||
{{ trans('general.labels') }}
|
{{ trans('general.label') }}
|
||||||
</strong>
|
</strong>
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-9 hidden-print">
|
<div class="col-md-9 hidden-print">
|
||||||
|
|
|
@ -33,6 +33,7 @@
|
||||||
<table class="table table-striped table-bordered" id="errors-table">
|
<table class="table table-striped table-bordered" id="errors-table">
|
||||||
<thead>
|
<thead>
|
||||||
<th>{{ trans('general.item') }}</th>
|
<th>{{ trans('general.item') }}</th>
|
||||||
|
<th>Field</th>
|
||||||
<th>{{ trans('general.error') }}</th>
|
<th>{{ trans('general.error') }}</th>
|
||||||
</thead>
|
</thead>
|
||||||
<tbody>
|
<tbody>
|
||||||
|
@ -41,8 +42,8 @@
|
||||||
@foreach($error_bag as $field => $error_list)
|
@foreach($error_bag as $field => $error_list)
|
||||||
<tr>
|
<tr>
|
||||||
<td><b>{{ $key }}</b></td>
|
<td><b>{{ $key }}</b></td>
|
||||||
|
<td><b>{{ $field }}</b></td>
|
||||||
<td>
|
<td>
|
||||||
<b>{{ $field }}:</b>
|
|
||||||
<span>{{ implode(", ",$error_list) }}</span>
|
<span>{{ implode(", ",$error_list) }}</span>
|
||||||
<br />
|
<br />
|
||||||
</td>
|
</td>
|
||||||
|
|
|
@ -139,14 +139,29 @@
|
||||||
<div class="input-group col-md-2">
|
<div class="input-group col-md-2">
|
||||||
{{ Form::text('audit_warning_days', old('audit_warning_days', $setting->audit_warning_days), array('class' => 'form-control','placeholder' => '14', 'maxlength'=>'3', 'style'=>'width: 60px;')) }}
|
{{ Form::text('audit_warning_days', old('audit_warning_days', $setting->audit_warning_days), array('class' => 'form-control','placeholder' => '14', 'maxlength'=>'3', 'style'=>'width: 60px;')) }}
|
||||||
<span class="input-group-addon">{{ trans('general.days') }}</span>
|
<span class="input-group-addon">{{ trans('general.days') }}</span>
|
||||||
|
</div>
|
||||||
|
<div class="col-md-9 col-md-offset-3">
|
||||||
|
{!! $errors->first('audit_warning_days', '<span class="alert-msg" aria-hidden="true">:message</span>') !!}
|
||||||
|
<p class="help-block">{{ trans('admin/settings/general.audit_warning_days_help') }}</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<!-- Due for checkin days -->
|
||||||
|
<div class="form-group {{ $errors->has('due_checkin_days') ? 'error' : '' }}">
|
||||||
|
<div class="col-md-3">
|
||||||
|
{{ Form::label('due_checkin_days', trans('admin/settings/general.due_checkin_days')) }}
|
||||||
|
</div>
|
||||||
|
<div class="input-group col-md-2">
|
||||||
|
{{ Form::text('due_checkin_days', old('due_checkin_days', $setting->due_checkin_days), array('class' => 'form-control','placeholder' => '14', 'maxlength'=>'3', 'style'=>'width: 60px;')) }}
|
||||||
|
<span class="input-group-addon">{{ trans('general.days') }}</span>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div class="col-md-9 col-md-offset-3">
|
<div class="col-md-9 col-md-offset-3">
|
||||||
{!! $errors->first('audit_warning_days', '<span class="alert-msg" aria-hidden="true">:message</span>') !!}
|
{!! $errors->first('due_checkin_days', '<span class="alert-msg" aria-hidden="true">:message</span>') !!}
|
||||||
<p class="help-block">{{ trans('admin/settings/general.audit_warning_days_help') }}</p>
|
<p class="help-block">{{ trans('admin/settings/general.due_checkin_days_help') }}</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
@ -57,7 +57,7 @@
|
||||||
<div class="list clearfix">
|
<div class="list clearfix">
|
||||||
|
|
||||||
<div class="col-md-4 col-lg-3 col-sm-6 col-xl-1">
|
<div class="col-md-4 col-lg-3 col-sm-6 col-xl-1">
|
||||||
<div class="box box-default">
|
<div class="admin box box-default">
|
||||||
<div class="box-body text-center">
|
<div class="box-body text-center">
|
||||||
<h5>
|
<h5>
|
||||||
<a href="{{ route('settings.branding.index') }}" class="settings_button">
|
<a href="{{ route('settings.branding.index') }}" class="settings_button">
|
||||||
|
@ -74,7 +74,7 @@
|
||||||
|
|
||||||
|
|
||||||
<div class="col-md-4 col-lg-3 col-sm-6 col-xl-1">
|
<div class="col-md-4 col-lg-3 col-sm-6 col-xl-1">
|
||||||
<div class="box box-default">
|
<div class="admin box box-default">
|
||||||
<div class="box-body text-center">
|
<div class="box-body text-center">
|
||||||
<h5>
|
<h5>
|
||||||
<a href="{{ route('settings.general.index') }}" class="settings_button">
|
<a href="{{ route('settings.general.index') }}" class="settings_button">
|
||||||
|
@ -91,7 +91,7 @@
|
||||||
|
|
||||||
|
|
||||||
<div class="col-md-4 col-lg-3 col-sm-6 col-xl-1">
|
<div class="col-md-4 col-lg-3 col-sm-6 col-xl-1">
|
||||||
<div class="box box-default">
|
<div class="admin box box-default">
|
||||||
<div class="box-body text-center">
|
<div class="box-body text-center">
|
||||||
<h5>
|
<h5>
|
||||||
<a href="{{ route('settings.security.index') }}" class="settings_button">
|
<a href="{{ route('settings.security.index') }}" class="settings_button">
|
||||||
|
@ -107,7 +107,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-4 col-lg-3 col-sm-6 col-xl-1">
|
<div class="col-md-4 col-lg-3 col-sm-6 col-xl-1">
|
||||||
<div class="box box-default">
|
<div class="admin box box-default">
|
||||||
<div class="box-body text-center">
|
<div class="box-body text-center">
|
||||||
<h5>
|
<h5>
|
||||||
<a href="{{ route('groups.index') }}" class="settings_button">
|
<a href="{{ route('groups.index') }}" class="settings_button">
|
||||||
|
@ -124,7 +124,7 @@
|
||||||
|
|
||||||
|
|
||||||
<div class="col-md-4 col-lg-3 col-sm-6 col-xl-1">
|
<div class="col-md-4 col-lg-3 col-sm-6 col-xl-1">
|
||||||
<div class="box box-default">
|
<div class="admin box box-default">
|
||||||
<div class="box-body text-center">
|
<div class="box-body text-center">
|
||||||
<h5>
|
<h5>
|
||||||
<a href="{{ route('settings.localization.index') }}" class="settings_button">
|
<a href="{{ route('settings.localization.index') }}" class="settings_button">
|
||||||
|
@ -142,7 +142,7 @@
|
||||||
|
|
||||||
|
|
||||||
<div class="col-md-4 col-lg-3 col-sm-6 col-xl-1">
|
<div class="col-md-4 col-lg-3 col-sm-6 col-xl-1">
|
||||||
<div class="box box-default">
|
<div class="admin box box-default">
|
||||||
<div class="box-body text-center">
|
<div class="box-body text-center">
|
||||||
<h5>
|
<h5>
|
||||||
<a href="{{ route('settings.alerts.index') }}" class="settings_button">
|
<a href="{{ route('settings.alerts.index') }}" class="settings_button">
|
||||||
|
@ -158,7 +158,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-4 col-lg-3 col-sm-6 col-xl-1">
|
<div class="col-md-4 col-lg-3 col-sm-6 col-xl-1">
|
||||||
<div class="box box-default">
|
<div class="admin box box-default">
|
||||||
<div class="box-body text-center">
|
<div class="box-body text-center">
|
||||||
<h5>
|
<h5>
|
||||||
<a href="{{ route('settings.slack.index') }}" class="settings_button">
|
<a href="{{ route('settings.slack.index') }}" class="settings_button">
|
||||||
|
@ -173,7 +173,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-4 col-lg-3 col-sm-6 col-xl-1">
|
<div class="col-md-4 col-lg-3 col-sm-6 col-xl-1">
|
||||||
<div class="box box-default">
|
<div class="admin box box-default">
|
||||||
<div class="box-body text-center">
|
<div class="box-body text-center">
|
||||||
<h5>
|
<h5>
|
||||||
<a href="{{ route('settings.asset_tags.index') }}" class="settings_button">
|
<a href="{{ route('settings.asset_tags.index') }}" class="settings_button">
|
||||||
|
@ -188,7 +188,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-4 col-lg-3 col-sm-6 col-xl-1">
|
<div class="col-md-4 col-lg-3 col-sm-6 col-xl-1">
|
||||||
<div class="box box-default">
|
<div class="admin box box-default">
|
||||||
<div class="box-body text-center">
|
<div class="box-body text-center">
|
||||||
<h5>
|
<h5>
|
||||||
<a href="{{ route('settings.barcodes.index') }}" class="settings_button">
|
<a href="{{ route('settings.barcodes.index') }}" class="settings_button">
|
||||||
|
@ -203,7 +203,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-4 col-lg-3 col-sm-6 col-xl-1">
|
<div class="col-md-4 col-lg-3 col-sm-6 col-xl-1">
|
||||||
<div class="box box-default">
|
<div class="admin box box-default">
|
||||||
<div class="box-body text-center">
|
<div class="box-body text-center">
|
||||||
<h5>
|
<h5>
|
||||||
<a href="{{ route('settings.labels.index') }}" class="settings_button">
|
<a href="{{ route('settings.labels.index') }}" class="settings_button">
|
||||||
|
@ -219,7 +219,7 @@
|
||||||
|
|
||||||
|
|
||||||
<div class="col-md-4 col-lg-3 col-sm-6 col-xl-1">
|
<div class="col-md-4 col-lg-3 col-sm-6 col-xl-1">
|
||||||
<div class="box box-default">
|
<div class="admin box box-default">
|
||||||
<div class="box-body text-center">
|
<div class="box-body text-center">
|
||||||
<h5>
|
<h5>
|
||||||
<a href="{{ route('settings.ldap.index') }}" class="settings_button">
|
<a href="{{ route('settings.ldap.index') }}" class="settings_button">
|
||||||
|
@ -234,7 +234,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-4 col-lg-3 col-sm-6 col-xl-1">
|
<div class="col-md-4 col-lg-3 col-sm-6 col-xl-1">
|
||||||
<div class="box box-default">
|
<div class="admin box box-default">
|
||||||
<div class="box-body text-center">
|
<div class="box-body text-center">
|
||||||
<h5>
|
<h5>
|
||||||
<a href="{{ route('settings.google.index') }}" class="settings_button">
|
<a href="{{ route('settings.google.index') }}" class="settings_button">
|
||||||
|
@ -249,7 +249,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-4 col-lg-3 col-sm-6 col-xl-1">
|
<div class="col-md-4 col-lg-3 col-sm-6 col-xl-1">
|
||||||
<div class="box box-default">
|
<div class="admin box box-default">
|
||||||
<div class="box-body text-center">
|
<div class="box-body text-center">
|
||||||
<h5>
|
<h5>
|
||||||
<a href="{{ route('settings.saml.index') }}" class="settings_button">
|
<a href="{{ route('settings.saml.index') }}" class="settings_button">
|
||||||
|
@ -264,7 +264,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-4 col-lg-3 col-sm-6 col-xl-1">
|
<div class="col-md-4 col-lg-3 col-sm-6 col-xl-1">
|
||||||
<div class="box box-default">
|
<div class="admin box box-default">
|
||||||
<div class="box-body text-center">
|
<div class="box-body text-center">
|
||||||
<h5>
|
<h5>
|
||||||
<a href="{{ route('settings.backups.index') }}" class="settings_button">
|
<a href="{{ route('settings.backups.index') }}" class="settings_button">
|
||||||
|
@ -280,7 +280,7 @@
|
||||||
|
|
||||||
|
|
||||||
<div class="col-md-4 col-lg-3 col-sm-6 col-xl-1">
|
<div class="col-md-4 col-lg-3 col-sm-6 col-xl-1">
|
||||||
<div class="box box-default">
|
<div class="admin box box-default">
|
||||||
<div class="box-body text-center">
|
<div class="box-body text-center">
|
||||||
<h5>
|
<h5>
|
||||||
<a href="{{ route('settings.logins.index') }}" class="settings_button">
|
<a href="{{ route('settings.logins.index') }}" class="settings_button">
|
||||||
|
@ -295,7 +295,7 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="col-md-4 col-lg-3 col-sm-6 col-xl-1">
|
<div class="col-md-4 col-lg-3 col-sm-6 col-xl-1">
|
||||||
<div class="box box-default">
|
<div class="admin box box-default">
|
||||||
<div class="box-body text-center">
|
<div class="box-body text-center">
|
||||||
<h5>
|
<h5>
|
||||||
<a href="{{ route('settings.oauth.index') }}" class="settings_button">
|
<a href="{{ route('settings.oauth.index') }}" class="settings_button">
|
||||||
|
@ -311,7 +311,7 @@
|
||||||
|
|
||||||
@if (config('app.debug')=== true)
|
@if (config('app.debug')=== true)
|
||||||
<div class="col-md-4 col-lg-3 col-sm-6 col-xl-1">
|
<div class="col-md-4 col-lg-3 col-sm-6 col-xl-1">
|
||||||
<div class="box box-default">
|
<div class="admin box box-default">
|
||||||
<div class="box-body text-center">
|
<div class="box-body text-center">
|
||||||
<h5>
|
<h5>
|
||||||
<a href="{{ route('settings.phpinfo.index') }}" class="settings_button">
|
<a href="{{ route('settings.phpinfo.index') }}" class="settings_button">
|
||||||
|
@ -329,7 +329,7 @@
|
||||||
|
|
||||||
|
|
||||||
<div class="col-md-4 col-lg-3 col-sm-6 col-xl-1">
|
<div class="col-md-4 col-lg-3 col-sm-6 col-xl-1">
|
||||||
<div class="box box-danger">
|
<div class="admin box box-danger">
|
||||||
<div class="box-body text-center">
|
<div class="box-body text-center">
|
||||||
<h5>
|
<h5>
|
||||||
<a href="{{ route('settings.purge.index') }}" class="link-danger">
|
<a href="{{ route('settings.purge.index') }}" class="link-danger">
|
||||||
|
|
|
@ -147,14 +147,13 @@
|
||||||
<div class="col-md-7">
|
<div class="col-md-7">
|
||||||
@php
|
@php
|
||||||
$select1DValues = [
|
$select1DValues = [
|
||||||
'default' => trans('admin/settings/general.default').' [ '.$setting->alt_barcode.' ]',
|
|
||||||
'none' => trans('admin/settings/general.none'),
|
|
||||||
'C128' => 'C128',
|
'C128' => 'C128',
|
||||||
'C39' => 'C39',
|
'C39' => 'C39',
|
||||||
'EAN5' => 'EAN5',
|
'EAN5' => 'EAN5',
|
||||||
'EAN13' => 'EAN13',
|
'EAN13' => 'EAN13',
|
||||||
'UPCA' => 'UPCA',
|
'UPCA' => 'UPCA',
|
||||||
'UPCE' => 'UPCE'
|
'UPCE' => 'UPCE',
|
||||||
|
'none' => trans('admin/settings/general.none'),
|
||||||
];
|
];
|
||||||
@endphp
|
@endphp
|
||||||
{{ Form::select('label2_1d_type', $select1DValues, old('label2_1d_type', $setting->label2_1d_type), [ 'class'=>'select2 col-md-4', 'aria-label'=>'label2_1d_type' ]) }}
|
{{ Form::select('label2_1d_type', $select1DValues, old('label2_1d_type', $setting->label2_1d_type), [ 'class'=>'select2 col-md-4', 'aria-label'=>'label2_1d_type' ]) }}
|
||||||
|
@ -179,11 +178,10 @@
|
||||||
<div class="col-md-7">
|
<div class="col-md-7">
|
||||||
@php
|
@php
|
||||||
$select2DValues = [
|
$select2DValues = [
|
||||||
'default' => trans('admin/settings/general.default').' [ '.$setting->barcode_type.' ]',
|
|
||||||
'none' => trans('admin/settings/general.none'),
|
|
||||||
'QRCODE' => 'QRCODE',
|
'QRCODE' => 'QRCODE',
|
||||||
'DATAMATRIX' => 'DATAMATRIX',
|
'DATAMATRIX' => 'DATAMATRIX',
|
||||||
'PDF417' => 'PDF417',
|
'PDF417' => 'PDF417',
|
||||||
|
'none' => trans('admin/settings/general.none'),
|
||||||
];
|
];
|
||||||
@endphp
|
@endphp
|
||||||
{{ Form::select('label2_2d_type', $select2DValues, old('label2_2d_type', $setting->label2_2d_type), [ 'class'=>'select2 col-md-4', 'aria-label'=>'label2_2d_type' ]) }}
|
{{ Form::select('label2_2d_type', $select2DValues, old('label2_2d_type', $setting->label2_2d_type), [ 'class'=>'select2 col-md-4', 'aria-label'=>'label2_2d_type' ]) }}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
{{-- Page title --}}
|
{{-- Page title --}}
|
||||||
@section('title')
|
@section('title')
|
||||||
Attempted Logins
|
{{ trans('admin/settings/general.login') }}
|
||||||
@parent
|
@parent
|
||||||
@stop
|
@stop
|
||||||
|
|
||||||
|
|
|
@ -373,7 +373,7 @@
|
||||||
</button>
|
</button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<table style="margin-top: 80px;">
|
<table style="margin-top: 80px;" class="snipe-table">
|
||||||
<tr class="collapse" id="eula-row">
|
<tr class="collapse" id="eula-row">
|
||||||
<td style="padding-right: 10px; vertical-align: top; font-weight: bold;">EULA</td>
|
<td style="padding-right: 10px; vertical-align: top; font-weight: bold;">EULA</td>
|
||||||
<td style="padding-right: 10px; vertical-align: top; padding-bottom: 80px;" colspan="3">
|
<td style="padding-right: 10px; vertical-align: top; padding-bottom: 80px;" colspan="3">
|
||||||
|
@ -395,8 +395,8 @@
|
||||||
</tr>
|
</tr>
|
||||||
<tr style="height: 80px;">
|
<tr style="height: 80px;">
|
||||||
<td></td>
|
<td></td>
|
||||||
<td style="padding-right: 10px; vertical-align: top;">Name</td>
|
<td style="padding-right: 10px; vertical-align: top;">{{ trans('general.name') }}</td>
|
||||||
<td style="padding-right: 10px; vertical-align: top;">Signature</td>
|
<td style="padding-right: 10px; vertical-align: top;">{{ trans('general.signature') }}</td>
|
||||||
<td style="padding-right: 10px; vertical-align: top;">{{ trans('general.date') }}</td>
|
<td style="padding-right: 10px; vertical-align: top;">{{ trans('general.date') }}</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -407,8 +407,8 @@
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td></td>
|
<td></td>
|
||||||
<td style="padding-right: 10px; vertical-align: top;">Name</td>
|
<td style="padding-right: 10px; vertical-align: top;">{{ trans('general.name') }}</td>
|
||||||
<td style="padding-right: 10px; vertical-align: top;">Signature</td>
|
<td style="padding-right: 10px; vertical-align: top;">{{ trans('general.signature') }}</td>
|
||||||
<td style="padding-right: 10px; vertical-align: top;">{{ trans('general.date') }}</td>
|
<td style="padding-right: 10px; vertical-align: top;">{{ trans('general.date') }}</td>
|
||||||
<td></td>
|
<td></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -419,6 +419,10 @@
|
||||||
<script src="{{ url(mix('js/dist/all.js')) }}" nonce="{{ csrf_token() }}"></script>
|
<script src="{{ url(mix('js/dist/all.js')) }}" nonce="{{ csrf_token() }}"></script>
|
||||||
|
|
||||||
<script src="{{ url(mix('js/dist/bootstrap-table.js')) }}"></script>
|
<script src="{{ url(mix('js/dist/bootstrap-table.js')) }}"></script>
|
||||||
|
<script src="{{ url(mix('js/dist/bootstrap-table-locale-all.min.js')) }}"></script>
|
||||||
|
|
||||||
|
<!-- load english again here, even though it's in the all.js file, because if BS table doesn't have the translation, it otherwise defaults to chinese. See https://bootstrap-table.com/docs/api/table-options/#locale -->
|
||||||
|
<script src="{{ url(mix('js/dist/bootstrap-table-en-US.min.js')) }}"></script>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
$('.snipe-table').bootstrapTable('destroy').each(function () {
|
$('.snipe-table').bootstrapTable('destroy').each(function () {
|
||||||
|
|
|
@ -1,151 +1,23 @@
|
||||||
Company,Name,Asset Tag,Category,Supplier,Manufacturer,Location,Order Number,Model,Model Notes,Model Number,Asset Notes,Purchase Date,Purchase Cost,Checkout Type,Checked Out To: Username,Checked Out To: First Name,Checked Out To: Last Name,Checked Out To: Email,Checked Out To: Location,Asset EOL Date
|
Company,Name,Asset Tag,Category,Supplier,Manufacturer,Location,Order Number,Model,Model Notes,Model Number,Asset Notes,Purchase Date,Purchase Cost,Checkout Type,Checked Out To: Username,Checked Out To: First Name,Checked Out To: Last Name,Checked Out To: Email,Checked Out To: Location,Asset EOL Date
|
||||||
Abshire and Sons,Backhoe,ICC-2065556,Ornamental Railings,"Kunde, Doyle and Kozey",Berge Inc,"Wilkinson, Waters and Kerluke",3271901481,"Macbook Pro 13""",,1786VM80X07,at nulla suspendisse potenti cras in purus eu magna vulputate luctus cum sociis natoque penatibus et magnis dis,2023-01-23,2266.13,,,,,,,2028-10-27
|
Abshire and Sons,Backhoe,ICC-2065556,Ornamental Railings,"Kunde, Doyle and Kozey",Berge Inc,"Wilkinson, Waters and Kerluke",3271901481,"Macbook Pro 13""",,1786VM80X07,at nulla suspendisse potenti cras in purus eu magna vulputate luctus cum sociis natoque penatibus et magnis dis,1/23/23,2266.13,,,,,,,10/27/28
|
||||||
"Quitzon, Oberbrunner and Dibbert",Dragline,WBH-2841795,Structural and Misc Steel (Fabrication),Krajcik LLC,"Botsford, Boyle and Herzog",Lindgren-Marquardt,5504512275,"Macbook Pro 13""",ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae mauris viverra diam vitae quam suspendisse potenti nullam,9351IS25A51,aliquam convallis nunc proin at turpis a pede posuere nonummy integer,2022-11-14,1292.94,User,gmccrackem2a,Gage,McCrackem,gmccrackem2a@bing.com,,2028-10-27
|
"Quitzon, Oberbrunner and Dibbert",Dragline,WBH-2841795,Structural and Misc Steel (Fabrication),Krajcik LLC,"Botsford, Boyle and Herzog",Lindgren-Marquardt,5504512275,"Macbook Pro 13""",ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae mauris viverra diam vitae quam suspendisse potenti nullam,9351IS25A51,aliquam convallis nunc proin at turpis a pede posuere nonummy integer,11/14/22,1292.94,User,gmccrackem2a,Gage,McCrackem,gmccrackem2a@bing.com,,10/27/28
|
||||||
Boyer and Sons,Excavator,NNH-3656031,Soft Flooring and Base,"Heaney, Altenwerth and Emmerich",Pollich LLC,Pacocha-Kiehn,4861125177,"Macbook Pro 13""",,9929FR08W85,,2023-03-01,2300.71,Location,,,,,Pacocha-Kiehn,2028-10-27
|
Boyer and Sons,Excavator,NNH-3656031,Soft Flooring and Base,"Heaney, Altenwerth and Emmerich",Pollich LLC,Pacocha-Kiehn,4861125177,"Macbook Pro 13""",,9929FR08W85,,3/1/23,2300.71,Location,,,,,Pacocha-Kiehn,10/27/28
|
||||||
Hayes-Rippin,Trencher,BOL-0305383,Prefabricated Aluminum Metal Canopies,"Botsford, Boyle and Herzog",Walker-Towne,Fritsch-Abernathy,2416994639,"Macbook Pro 13""",neque vestibulum eget vulputate ut ultrices vel augue vestibulum ante ipsum primis in faucibus orci luctus,9139KQ78G81,,2022-10-26,1777.56,User,ksennett6,Katerina,Sennett,ksennett6@ibm.com,,2028-10-27
|
Hayes-Rippin,Trencher,BOL-0305383,Prefabricated Aluminum Metal Canopies,"Botsford, Boyle and Herzog",Walker-Towne,Fritsch-Abernathy,2416994639,"Macbook Pro 13""",neque vestibulum eget vulputate ut ultrices vel augue vestibulum ante ipsum primis in faucibus orci luctus,9139KQ78G81,,10/26/22,1777.56,User,ksennett6,Katerina,Sennett,ksennett6@ibm.com,,10/27/28
|
||||||
Romaguera-Flatley,Compactor,YVN-3440973,"Temp Fencing, Decorative Fencing and Gates",Ankunding-Ledner,Berge Inc,Roberts-Anderson,6080904229,"Macbook Pro 13""",turpis adipiscing lorem vitae mattis nibh ligula nec sem duis aliquam convallis nunc proin at turpis a pede,0910VB28Q61,,2022-07-24,2967.97,,,,,,,2028-10-27
|
Romaguera-Flatley,Compactor,YVN-3440973,"Temp Fencing, Decorative Fencing and Gates",Ankunding-Ledner,Berge Inc,Roberts-Anderson,6080904229,"Macbook Pro 13""",turpis adipiscing lorem vitae mattis nibh ligula nec sem duis aliquam convallis nunc proin at turpis a pede,0910VB28Q61,,7/24/22,2967.97,,,,,,,10/27/28
|
||||||
Auer LLC,Bulldozer,YOO-5936907,Electrical,Berge Inc,"Heaney, Altenwerth and Emmerich",Roberts-Anderson,8204459090,"Macbook Pro 13""",,7375EM02N97,proin eu mi nulla ac enim in tempor turpis nec euismod scelerisque quam turpis adipiscing lorem,2022-10-01,3819.73,,,,,,,2028-10-27
|
Auer LLC,Bulldozer,YOO-5936907,Electrical,Berge Inc,"Heaney, Altenwerth and Emmerich",Roberts-Anderson,8204459090,"Macbook Pro 13""",,7375EM02N97,proin eu mi nulla ac enim in tempor turpis nec euismod scelerisque quam turpis adipiscing lorem,10/1/22,3819.73,,,,,,,10/27/28
|
||||||
Olson Group,Skid-Steer,EJS-7488052,Roofing (Metal),"Fritsch, Sauer and Conn","Romaguera, Goldner and Crooks",Lindgren-Marquardt,1252634576,"Macbook Pro 13""",blandit non interdum in ante vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae,,rhoncus sed vestibulum sit amet cursus id turpis integer aliquet massa id lobortis convallis,2022-06-25,2711.89,Location,,,,,"McGlynn, Hagenes and Bruen",2028-10-27
|
Olson Group,Skid-Steer,EJS-7488052,Roofing (Metal),"Fritsch, Sauer and Conn","Romaguera, Goldner and Crooks",Lindgren-Marquardt,1252634576,"Macbook Pro 13""",blandit non interdum in ante vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae,,rhoncus sed vestibulum sit amet cursus id turpis integer aliquet massa id lobortis convallis,6/25/22,2711.89,Location,,,,,"McGlynn, Hagenes and Bruen",10/27/28
|
||||||
"Powlowski, Monahan and Reichel",Bulldozer,HNY-7340937,Ornamental Railings,"Botsford, Boyle and Herzog",Watsica LLC,Roberts-Anderson,7294510907,"Macbook Pro 13""",sapien urna pretium nisl ut volutpat sapien arcu sed augue aliquam erat volutpat in,"",erat fermentum justo nec condimentum neque sapien placerat ante nulla justo aliquam quis turpis eget elit sodales,2022-07-24,1833.42,User,mhasley21,Marion,Hasley,mhasley21@clickbank.net,,2028-10-27
|
"Powlowski, Monahan and Reichel",Bulldozer,HNY-7340937,Ornamental Railings,"Botsford, Boyle and Herzog",Watsica LLC,Roberts-Anderson,7294510907,"Macbook Pro 13""",sapien urna pretium nisl ut volutpat sapien arcu sed augue aliquam erat volutpat in,,erat fermentum justo nec condimentum neque sapien placerat ante nulla justo aliquam quis turpis eget elit sodales,7/24/22,1833.42,User,mhasley21,Marion,Hasley,mhasley21@clickbank.net,,10/27/28
|
||||||
Harris LLC,Grader,JHN-0598394,Curb & Gutter,"Heaney, Altenwerth and Emmerich","Fritsch, Sauer and Conn",Waters LLC,0709494209,"Macbook Pro 13""",orci luctus et ultrices posuere cubilia curae duis faucibus accumsan odio curabitur,"",vestibulum vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere,2023-04-11,3263.79,User,mbaudy2b,Mickie,Baudy,mbaudy2b@intel.com,,2028-10-27
|
Harris LLC,Grader,JHN-0598394,Curb & Gutter,"Heaney, Altenwerth and Emmerich","Fritsch, Sauer and Conn",Waters LLC,0709494209,"Macbook Pro 13""",orci luctus et ultrices posuere cubilia curae duis faucibus accumsan odio curabitur,,vestibulum vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere,4/11/23,3263.79,User,mbaudy2b,Mickie,Baudy,mbaudy2b@intel.com,,10/27/28
|
||||||
Boyer-Okuneva,Backhoe,GEX-7216431,Prefabricated Aluminum Metal Canopies,Pollich LLC,"Upton, Feil and Jast","Jenkins, Goldner and Cruickshank",4030738107,"Macbook Pro 13""",velit vivamus vel nulla eget eros elementum pellentesque quisque porta volutpat,"",,2022-08-25,2448.17,Location,,,,,Lynch and Sons,2028-10-27
|
Boyer-Okuneva,Backhoe,GEX-7216431,Prefabricated Aluminum Metal Canopies,Pollich LLC,"Upton, Feil and Jast","Jenkins, Goldner and Cruickshank",4030738107,"Macbook Pro 13""",velit vivamus vel nulla eget eros elementum pellentesque quisque porta volutpat,,,8/25/22,2448.17,Location,,,,,Lynch and Sons,10/27/28
|
||||||
Ebert-Reilly,Scraper,DWM-3752227,Construction Clean and Final Clean,Watsica LLC,Berge Inc,"Mills, Gleichner and Schamberger",9381884673,"Macbook Pro 13""",sed nisl nunc rhoncus dui vel sem sed sagittis nam congue risus semper porta volutpat quam pede lobortis ligula sit,"",rhoncus aliquet pulvinar sed nisl nunc rhoncus dui vel sem sed sagittis nam congue risus semper,2022-12-23,2721.12,User,sbucknall28,Saidee,Bucknall,sbucknall28@cbsnews.com,,""
|
Ebert-Reilly,Scraper,DWM-3752227,Construction Clean and Final Clean,Watsica LLC,Berge Inc,"Mills, Gleichner and Schamberger",9381884673,"Macbook Pro 13""",sed nisl nunc rhoncus dui vel sem sed sagittis nam congue risus semper porta volutpat quam pede lobortis ligula sit,,rhoncus aliquet pulvinar sed nisl nunc rhoncus dui vel sem sed sagittis nam congue risus semper,12/23/22,2721.12,User,sbucknall28,Saidee,Bucknall,sbucknall28@cbsnews.com,,
|
||||||
"Mitchell, Ward and Hettinger",Dragline,OLM-0226994,Structural and Misc Steel (Fabrication),Walker-Towne,"Kutch, Johnson and Olson",Frami and Sons,7504201033,"Macbook Pro 13""",curae mauris viverra diam vitae quam suspendisse potenti nullam porttitor lacus at turpis donec posuere metus vitae ipsum aliquam non,"",amet nulla quisque arcu libero rutrum ac lobortis vel dapibus at diam nam tristique,2023-05-14,3178.59,Location,,,,,"O'Conner, Nitzsche and Aufderhar",""
|
"Mitchell, Ward and Hettinger",Dragline,OLM-0226994,Structural and Misc Steel (Fabrication),Walker-Towne,"Kutch, Johnson and Olson",Frami and Sons,7504201033,"Macbook Pro 13""",curae mauris viverra diam vitae quam suspendisse potenti nullam porttitor lacus at turpis donec posuere metus vitae ipsum aliquam non,,amet nulla quisque arcu libero rutrum ac lobortis vel dapibus at diam nam tristique,5/14/23,3178.59,Location,,,,,"O'Conner, Nitzsche and Aufderhar",
|
||||||
Prosacco-Ledner,Scraper,LYO-8134459,Roofing (Asphalt),Mosciski Inc,Mosciski Inc,Waters LLC,9994825740,"Macbook Pro 13""",molestie hendrerit at vulputate vitae nisl aenean lectus pellentesque eget nunc donec quis orci,"",,2023-05-07,3322.34,,,,,,,""
|
Prosacco-Ledner,Scraper,LYO-8134459,Roofing (Asphalt),Mosciski Inc,Mosciski Inc,Waters LLC,9994825740,"Macbook Pro 13""",molestie hendrerit at vulputate vitae nisl aenean lectus pellentesque eget nunc donec quis orci,,,5/7/23,3322.34,,,,,,,
|
||||||
Harvey and Sons,Compactor,HLK-1645158,Structural and Misc Steel (Fabrication),"Romaguera, Goldner and Crooks",Mosciski Inc,Treutel Inc,8322817966,"Macbook Pro 13""",egestas metus aenean fermentum donec ut mauris eget massa tempor convallis nulla neque libero convallis eget eleifend,"",,2022-09-03,1823.95,User,flewins10,Filip,Lewins,flewins10@amazonaws.com,,""
|
Harvey and Sons,Compactor,HLK-1645158,Structural and Misc Steel (Fabrication),"Romaguera, Goldner and Crooks",Mosciski Inc,Treutel Inc,8322817966,"Macbook Pro 13""",egestas metus aenean fermentum donec ut mauris eget massa tempor convallis nulla neque libero convallis eget eleifend,,,9/3/22,1823.95,User,flewins10,Filip,Lewins,flewins10@amazonaws.com,,
|
||||||
"Lebsack, Roob and Streich",Scraper,AZT-4280937,Marlite Panels (FED),Okuneva Group,"Upton, Feil and Jast",Lynch and Sons,8146943004,"Macbook Pro 13""",,"",,2022-12-17,1614.68,Location,,,,,Roberts-Anderson,""
|
"Lebsack, Roob and Streich",Scraper,AZT-4280937,Marlite Panels (FED),Okuneva Group,"Upton, Feil and Jast",Lynch and Sons,8146943004,"Macbook Pro 13""",,,,12/17/22,1614.68,Location,,,,,Roberts-Anderson,
|
||||||
Abbott-Nikolaus,Dump Truck,IAB-5332824,Structural & Misc Steel Erection,"Upton, Feil and Jast","Romaguera, Goldner and Crooks",Lynch and Sons,3906729636,"Macbook Pro 13""",dui luctus rutrum nulla tellus in sagittis dui vel nisl duis ac nibh fusce,2315CN41G71,,2022-11-02,1444.69,Location,,,,,Fritsch-Abernathy,""
|
Abbott-Nikolaus,Dump Truck,IAB-5332824,Structural & Misc Steel Erection,"Upton, Feil and Jast","Romaguera, Goldner and Crooks",Lynch and Sons,3906729636,"Macbook Pro 13""",dui luctus rutrum nulla tellus in sagittis dui vel nisl duis ac nibh fusce,2315CN41G71,,11/2/22,1444.69,Location,,,,,Fritsch-Abernathy,
|
||||||
Nolan-Wisoky,Trencher,OID-4455781,HVAC,Ankunding-Ledner,Abernathy-Stamm,Schinner Group,8981616853,"Macbook Pro 13""",maecenas pulvinar lobortis est phasellus sit amet erat nulla tempus,6080UE59E09,,2022-09-07,3637.94,User,bmctrustrie1c,Balduin,McTrustrie,bmctrustrie1c@free.fr,,""
|
Nolan-Wisoky,Trencher,OID-4455781,HVAC,Ankunding-Ledner,Abernathy-Stamm,Schinner Group,8981616853,"Macbook Pro 13""",maecenas pulvinar lobortis est phasellus sit amet erat nulla tempus,6080UE59E09,,9/7/22,3637.94,User,bmctrustrie1c,Balduin,McTrustrie,bmctrustrie1c@free.fr,,
|
||||||
"Miller, Morissette and Kihn",Trencher,UQY-2172679,Curb & Gutter,"Legros, Paucek and Collier",Mosciski Inc,"O'Conner, Nitzsche and Aufderhar",3983411009,"Macbook Pro 13""",,5505YF23M46,,2023-02-10,4253.88,User,kkubanek1t,Kalinda,Kubanek,kkubanek1t@umich.edu,,""
|
"Miller, Morissette and Kihn",Trencher,UQY-2172679,Curb & Gutter,"Legros, Paucek and Collier",Mosciski Inc,"O'Conner, Nitzsche and Aufderhar",3983411009,"Macbook Pro 13""",,5505YF23M46,,2/10/23,4253.88,User,kkubanek1t,Kalinda,Kubanek,kkubanek1t@umich.edu,,
|
||||||
Erdman and Sons,Grader,HRI-2262410,Granite Surfaces,Berge Inc,Walker-Towne,Ledner-Barrows,9311141848,"Macbook Pro 13""",,8673QP30R80,,2022-06-20,1784.66,Location,,,,,Lynch and Sons,""
|
Erdman and Sons,Grader,HRI-2262410,Granite Surfaces,Berge Inc,Walker-Towne,Ledner-Barrows,9311141848,"Macbook Pro 13""",,8673QP30R80,,6/20/22,1784.66,Location,,,,,Lynch and Sons,
|
||||||
"Rogahn, Cormier and Ruecker",Bulldozer,BBK-5960598,Drywall & Acoustical (MOB),Abernathy-Stamm,"Heaney, Altenwerth and Emmerich",Frami and Sons,5157837617,"Macbook Pro 13""",nisl ut volutpat sapien arcu sed augue aliquam erat volutpat in congue etiam justo etiam pretium,9088XV67Q94,,2022-12-15,668.43,Location,,,,,Russel Group,""
|
"Rogahn, Cormier and Ruecker",Bulldozer,BBK-5960598,Drywall & Acoustical (MOB),Abernathy-Stamm,"Heaney, Altenwerth and Emmerich",Frami and Sons,5157837617,"Macbook Pro 13""",nisl ut volutpat sapien arcu sed augue aliquam erat volutpat in congue etiam justo etiam pretium,9088XV67Q94,,12/15/22,668.43,Location,,,,,Russel Group,
|
||||||
Pagac-Feeney,Compactor,RRO-8557470,Structural and Misc Steel (Fabrication),Mosciski Inc,Okuneva Group,Russel Group,2776102414,"Macbook Pro 13""",quis libero nullam sit amet turpis elementum ligula vehicula consequat morbi a ipsum integer a nibh in quis,,,2022-12-27,3391.42,,,,,,,""
|
Pagac-Feeney,Compactor,RRO-8557470,Structural and Misc Steel (Fabrication),Mosciski Inc,Okuneva Group,Russel Group,2776102414,"Macbook Pro 13""",quis libero nullam sit amet turpis elementum ligula vehicula consequat morbi a ipsum integer a nibh in quis,,,12/27/22,3391.42,,,,,,,
|
||||||
Toy-Daniel,Compactor,SUQ-5159067,Fire Protection,"Botsford, Boyle and Herzog",Berge Inc,"Jenkins, Goldner and Cruickshank",0313117719,Robby,,2830MI42B80,,2022-06-24,4402.74,User,hbucknall29,Hillie,Bucknall,hbucknall29@webnode.com,,2028-10-27
|
Toy-Daniel,Compactor,SUQ-5159067,Fire Protection,"Botsford, Boyle and Herzog",Berge Inc,"Jenkins, Goldner and Cruickshank",0313117719,Robby,,2830MI42B80,,6/24/22,4402.74,User,hbucknall29,Hillie,Bucknall,hbucknall29@webnode.com,,10/27/28
|
||||||
"Rau, O'Kon and Predovic",Grader,KUW-8075173,Hard Tile & Stone,"Kunde, Doyle and Kozey",Abernathy-Stamm,"Torp, Kautzer and Rodriguez",3235657209,Tommy,,8752PQ41C20,,2023-04-16,2428.95,User,wtomblin2r,Waiter,Tomblin,wtomblin2r@cisco.com,,2028-10-27
|
|
||||||
"Rodriguez, Rippin and Maggio",Backhoe,KGD-2478881,Epoxy Flooring,"Upton, Feil and Jast",Krajcik LLC,Roberts-Anderson,9968615213,Sumner,,,interdum mauris ullamcorper purus sit amet nulla quisque arcu libero rutrum ac lobortis vel dapibus at diam nam tristique tortor,2022-11-14,2353.49,,,,,,,2028-10-27
|
|
||||||
Collins-Langworth,Backhoe,NLM-1912680,Glass & Glazing,Walker-Towne,"Kunde, Doyle and Kozey","Nitzsche, Gislason and Douglas",2439578863,Paloma,quam pharetra magna ac consequat metus sapien ut nunc vestibulum ante ipsum,4241FY30X65,aenean sit amet justo morbi ut odio cras mi pede malesuada in imperdiet et commodo vulputate justo,2022-05-29,413.99,User,esargersonc,El,Sargerson,esargersonc@moonfruit.com,,2028-10-27
|
|
||||||
"Tillman, Rippin and Robel",Backhoe,HKF-2889015,Framing (Steel),Rippin-Schiller,"Upton, Feil and Jast","Nitzsche, Gislason and Douglas",1249482779,Mabelle,,7737HG97C81,nibh in hac habitasse platea dictumst aliquam augue quam sollicitudin vitae consectetuer eget rutrum at lorem integer tincidunt ante,2022-09-27,174.79,User,lloosely2i,Leia,Loosely,lloosely2i@ebay.co.uk,,2028-10-27
|
|
||||||
Bogisich-Gerhold,Excavator,HIN-5577764,HVAC,Ankunding-Ledner,"Kutch, Johnson and Olson",Treutel Inc,5300366684,Robby,,,vestibulum rutrum rutrum neque aenean auctor gravida sem praesent id massa id nisl venenatis lacinia,2023-04-09,4662.35,User,bogg1s,Blakeley,Ogg,bogg1s@examiner.com,,2028-10-27
|
|
||||||
DuBuque-Jones,Excavator,RSF-1042461,Roofing (Asphalt),Abernathy-Stamm,"Stokes, Daniel and Johnson",Frami and Sons,8526994711,Jere,vestibulum rutrum rutrum neque aenean auctor gravida sem praesent id massa id nisl venenatis lacinia aenean,,,2022-11-25,2356.93,,,,,,,2028-10-27
|
|
||||||
Runolfsson-McCullough,Scraper,DAK-0644656,Framing (Wood),Mosciski Inc,"Legros, Paucek and Collier",Lynch and Sons,5644034134,Mabelle,,3664GP06B10,molestie nibh in lectus pellentesque at nulla suspendisse potenti cras in purus eu,2022-10-05,3912.18,User,mnollet1,Maury,Nollet,mnollet1@ow.ly,,2028-10-27
|
|
||||||
Hilpert-Vandervort,Crawler,XWJ-0341580,Roofing (Asphalt),Ankunding-Ledner,Abernathy-Stamm,"Mills, Gleichner and Schamberger",0635168064,Chase,,9438FZ85N89,dolor sit amet consectetuer adipiscing elit proin interdum mauris non ligula pellentesque ultrices phasellus id sapien,2022-08-28,4426.46,User,nhumburton1m,Noelle,Humburton,nhumburton1m@ow.ly,,2028-10-27
|
|
||||||
"Schmitt, Kuhlman and Gusikowski",Excavator,UQF-6263661,Electrical,"Upton, Feil and Jast","Kunde, Doyle and Kozey",Fritsch-Abernathy,6394370767,Ward,,0642OF31I56,adipiscing elit proin risus praesent lectus vestibulum quam sapien varius ut blandit non interdum in ante vestibulum ante ipsum primis,2022-12-04,3182.1,Location,,,,,Powlowski LLC,2028-10-27
|
|
||||||
Klein Inc,Excavator,IOC-4424021,Elevator,Watsica LLC,Pacocha-Goodwin,Treutel Inc,9408196701,Beverly,,4124VH09F17,,2022-09-12,3321.66,,,,,,,2028-10-27
|
|
||||||
"Runte, Feeney and Lueilwitz",Compactor,TBU-9704770,Drilled Shafts,"Kunde, Doyle and Kozey",Rippin-Schiller,"Nitzsche, Gislason and Douglas",5300662174,Jere,consectetuer adipiscing elit proin interdum mauris non ligula pellentesque ultrices phasellus id sapien in,,,2022-07-19,1573.26,User,tdoumerquef,Tobe,Doumerque,tdoumerquef@twitpic.com,,2028-10-27
|
|
||||||
Reinger LLC,Dump Truck,TTW-1274810,Masonry,"Heaney, Altenwerth and Emmerich",Abernathy-Stamm,"Torp, Kautzer and Rodriguez",6161734867,Karry,,,,2023-03-05,2677.79,User,rtitterrell0,Rora,Titterrell,rtitterrell0@prnewswire.com,,2028-10-27
|
|
||||||
"Breitenberg, Crooks and Goldner",Grader,RIU-2781610,Drilled Shafts,Pollich LLC,"Kunde, Doyle and Kozey","Nitzsche, Gislason and Douglas",1424455064,Nial,,6982GT82L84,,2023-03-22,4085.21,User,otaverner7,Odey,Taverner,otaverner7@discuz.net,,2028-10-27
|
|
||||||
"Rolfson, Pollich and Kertzmann",Compactor,BFO-5970934,"Doors, Frames & Hardware","Romaguera, Goldner and Crooks",Pacocha-Goodwin,Pacocha-Kiehn,9193131620,Robby,donec dapibus duis at velit eu est congue elementum in hac habitasse platea dictumst morbi vestibulum velit id pretium,3185PP20K43,gravida sem praesent id massa id nisl venenatis lacinia aenean sit amet justo morbi ut odio cras,2022-05-31,1819.48,,,,,,,2028-10-27
|
|
||||||
Luettgen Inc,Grader,QEY-4583797,Painting & Vinyl Wall Covering,"Upton, Feil and Jast","Kunde, Doyle and Kozey","O'Conner, Nitzsche and Aufderhar",6610625137,Debbi,,4971UO73K02,,2022-07-07,4635.63,User,glippitt22,Gregorius,Lippitt,glippitt22@yandex.ru,,2028-10-27
|
|
||||||
"Hermann, Cremin and Crona",Dragline,OPB-2390560,Ornamental Railings,"Fritsch, Sauer and Conn",Ankunding-Ledner,Treutel Inc,7358467570,Beverly,,7467PI87D35,nisi vulputate nonummy maecenas tincidunt lacus at velit vivamus vel nulla eget eros,2023-04-09,2089.47,User,dhailwood18,Duffy,Hailwood,dhailwood18@ask.com,,2028-10-27
|
|
||||||
Cruickshank-Blanda,Grader,CUD-4868409,Electrical and Fire Alarm,Watsica LLC,Ankunding-Ledner,Treutel Inc,7859007380,Kizzee,,0709PI47U54,,2023-01-19,484.12,,,,,,,2028-10-27
|
|
||||||
"Reilly, Yundt and Keeling",Bulldozer,ORL-2640580,RF Shielding,"Legros, Paucek and Collier",Berge Inc,Schinner Group,8731356307,Bondon,,6643DS43O77,,2023-03-29,254.99,,,,,,,2028-10-27
|
|
||||||
"Franecki, Nolan and Swift",Trencher,GFV-9868944,RF Shielding,"Kunde, Doyle and Kozey","Kunde, Doyle and Kozey",Lynch and Sons,8841110804,Karry,,1465WJ98O96,,2022-08-27,1191.44,User,acharplinge,Andreana,Charpling,acharplinge@dell.com,,2028-10-27
|
|
||||||
"Lind, Reinger and Grant",Dump Truck,KFR-9464842,Epoxy Flooring,"Botsford, Boyle and Herzog","Upton, Feil and Jast",Erdman-West,5382312507,Nial,,7440CN27Q04,amet turpis elementum ligula vehicula consequat morbi a ipsum integer a nibh in,2022-08-19,430.07,,,,,,,2028-10-27
|
|
||||||
Quigley Inc,Dragline,XQS-0788077,Casework,Ankunding-Ledner,"Fritsch, Sauer and Conn",Lynch and Sons,5163086523,Rolland,ac tellus semper interdum mauris ullamcorper purus sit amet nulla quisque arcu libero rutrum ac lobortis vel,1663OK46D26,,2022-12-25,1308.3,User,ahugonnet1f,Alvis,Hugonnet,ahugonnet1f@vinaora.com,,2028-10-27
|
|
||||||
Hudson-Graham,Dragline,APW-0602098,Waterproofing & Caulking,"Romaguera, Goldner and Crooks",Berge Inc,Waters LLC,1473905199,Mabelle,urna pretium nisl ut volutpat sapien arcu sed augue aliquam erat,,,2022-08-18,2037.76,Location,,,,,"Mills, Gleichner and Schamberger",2028-10-27
|
|
||||||
"Schmeler, Dietrich and Buckridge",Crawler,RFX-9706298,Drilled Shafts,Krajcik LLC,Krajcik LLC,Roberts-Anderson,2238031407,Robby,ornare consequat lectus in est risus auctor sed tristique in,7387DP63Q90,tempor turpis nec euismod scelerisque quam turpis adipiscing lorem vitae mattis nibh,2023-02-13,3395.33,Location,,,,,Erdman-West,2028-10-27
|
|
||||||
"Jast, Cassin and Hane",Grader,EQQ-2912281,Wall Protection,"Fritsch, Sauer and Conn",Krajcik LLC,Lynch and Sons,6313951394,Mabelle,sagittis sapien cum sociis natoque penatibus et magnis dis parturient montes nascetur ridiculus mus etiam vel augue vestibulum,4541TF76I78,tempus semper est quam pharetra magna ac consequat metus sapien ut nunc vestibulum ante ipsum primis,2022-05-25,4787.17,Location,,,,,Schinner Group,2028-10-27
|
|
||||||
Bergstrom-Block,Excavator,IEG-8406586,Masonry,Mosciski Inc,Mosciski Inc,Roberts-Anderson,6040029438,Bondon,cubilia curae donec pharetra magna vestibulum aliquet ultrices erat tortor sollicitudin mi sit,4324BJ82Z56,,2022-09-09,2371.3,Location,,,,,Powlowski LLC,2028-10-27
|
|
||||||
"Powlowski, Lowe and Streich",Dragline,ZCB-5287486,Roofing (Asphalt),Watsica LLC,Watsica LLC,"McGlynn, Hagenes and Bruen",6324836270,Debbi,,7369JZ83X28,pede ullamcorper augue a suscipit nulla elit ac nulla sed vel enim,2022-05-30,3261.46,User,ohynson1y,Olivia,Hynson,ohynson1y@ask.com,,2028-10-27
|
|
||||||
"Purdy, Leannon and Boyer",Crawler,VVZ-9417930,Retaining Wall and Brick Pavers,"Botsford, Boyle and Herzog","Legros, Paucek and Collier",Schinner Group,1391767652,Bale,,,nulla eget eros elementum pellentesque quisque porta volutpat erat quisque erat eros viverra eget congue eget semper rutrum nulla,2022-06-22,807.74,User,vgunning1z,Vince,Gunning,vgunning1z@arstechnica.com,,2028-10-27
|
|
||||||
"Schowalter, Grady and Stracke",Backhoe,LHC-9749327,Fire Protection,Walker-Towne,Ankunding-Ledner,Schinner Group,3460146131,Flo,,4031MX62O09,aenean lectus pellentesque eget nunc donec quis orci eget orci vehicula condimentum curabitur in,2023-02-14,2051.25,User,akneath13,Arron,Kneath,akneath13@sphinn.com,,2028-10-27
|
|
||||||
Schulist-Marks,Dragline,HUM-7311338,Sitework & Site Utilities,Berge Inc,Okuneva Group,Roberts-Anderson,4146242985,Bondon,,0468AG53C12,,2022-05-20,2788.78,Location,,,,,"O'Conner, Nitzsche and Aufderhar",2028-10-27
|
|
||||||
Cole-Feeney,Trencher,LHK-1308041,"Temp Fencing, Decorative Fencing and Gates","Upton, Feil and Jast","Stokes, Daniel and Johnson",Lindgren-Marquardt,7648736489,Robby,,,massa donec dapibus duis at velit eu est congue elementum in hac habitasse,2022-11-02,2755.2,User,dkent23,Debbi,Kent,dkent23@mtv.com,,2028-10-27
|
|
||||||
O'Hara Inc,Backhoe,CIC-1996687,"Temp Fencing, Decorative Fencing and Gates","Romaguera, Goldner and Crooks","Romaguera, Goldner and Crooks",Frami and Sons,5059462108,Bale,,5053ZY27R14,placerat praesent blandit nam nulla integer pede justo lacinia eget tincidunt eget tempus vel pede morbi,2023-01-17,2100.84,User,kephson2f,Kimberly,Ephson,kephson2f@sina.com.cn,,2028-10-27
|
|
||||||
Rolfson-Kulas,Dump Truck,YBW-8150273,EIFS,Krajcik LLC,"Upton, Feil and Jast","Wilkinson, Waters and Kerluke",5490351215,Mabelle,,9162YL93W88,ullamcorper augue a suscipit nulla elit ac nulla sed vel enim,2023-01-14,877.57,Location,,,,,Fritsch-Abernathy,2028-10-27
|
|
||||||
Lehner-Effertz,Excavator,OFB-4987804,Casework,"Stokes, Daniel and Johnson","Kutch, Johnson and Olson",Waters LLC,2712763720,Robby,,0270YA01J87,sit amet sapien dignissim vestibulum vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae nulla dapibus,2022-09-03,3428.56,User,acansdell14,Adela,Cansdell,acansdell14@cbc.ca,,2028-10-27
|
|
||||||
"Dietrich, Von and Mante",Excavator,RXG-3730482,Elevator,Rippin-Schiller,"Botsford, Boyle and Herzog",Lindgren-Marquardt,0868073143,Jere,,8281VU07P52,,2023-01-25,713.89,User,pwippers,Peirce,Wipper,pwippers@liveinternet.ru,,2028-10-27
|
|
||||||
Predovic-Roob,Bulldozer,ATA-2489950,EIFS,"Botsford, Boyle and Herzog","Romaguera, Goldner and Crooks",Frami and Sons,8905034852,Chase,platea dictumst maecenas ut massa quis augue luctus tincidunt nulla mollis molestie lorem quisque ut,,,2023-02-07,1138.85,User,odella1g,Osgood,Della,odella1g@hc360.com,,2028-10-27
|
|
||||||
Adams-Larkin,Grader,SFI-7496689,"Doors, Frames & Hardware","Kutch, Johnson and Olson",Abernathy-Stamm,Lynch and Sons,3092970929,Flo,id ornare imperdiet sapien urna pretium nisl ut volutpat sapien arcu sed augue aliquam erat volutpat in congue etiam justo,0649BJ66S09,at feugiat non pretium quis lectus suspendisse potenti in eleifend quam a odio in hac,2022-09-10,278.59,,,,,,,2028-10-27
|
|
||||||
"Beier, Grant and Thiel",Grader,GSX-1706311,Masonry,"Heaney, Altenwerth and Emmerich",Mosciski Inc,Ledner-Barrows,5141273631,Mabelle,convallis nunc proin at turpis a pede posuere nonummy integer non velit donec diam neque vestibulum eget,6967FJ73D06,sem mauris laoreet ut rhoncus aliquet pulvinar sed nisl nunc rhoncus dui vel sem sed sagittis nam,2022-07-18,1732.28,Location,,,,,Fritsch-Abernathy,2028-10-27
|
|
||||||
Armstrong Group,Dump Truck,LXV-5626274,Plumbing & Medical Gas,Rippin-Schiller,Ankunding-Ledner,"Wilkinson, Waters and Kerluke",3202695143,Jeana,,5970GY37L93,purus eu magna vulputate luctus cum sociis natoque penatibus et magnis dis parturient montes nascetur ridiculus mus vivamus,2022-10-11,1981.53,User,cwinfreyl,Casper,Winfrey,cwinfreyl@adobe.com,,2028-10-27
|
|
||||||
Rodriguez-Schultz,Excavator,BRF-0336967,Structural and Misc Steel (Fabrication),Abernathy-Stamm,"Botsford, Boyle and Herzog","Torp, Kautzer and Rodriguez",8211664431,Nial,nec nisi volutpat eleifend donec ut dolor morbi vel lectus in quam fringilla rhoncus mauris enim leo rhoncus sed vestibulum,,ultrices erat tortor sollicitudin mi sit amet lobortis sapien sapien non mi integer ac neque duis bibendum morbi,2022-12-30,4924.25,User,mgooday1q,Mariellen,Gooday,mgooday1q@alexa.com,,2028-10-27
|
|
||||||
"Huels, Satterfield and Kautzer",Backhoe,CVH-2946076,Painting & Vinyl Wall Covering,Ankunding-Ledner,"Upton, Feil and Jast",Frami and Sons,0835287084,Paloma,justo pellentesque viverra pede ac diam cras pellentesque volutpat dui maecenas tristique est et tempus,,,2022-07-15,2406.57,,,,,,,2028-10-27
|
|
||||||
"Lueilwitz, Herzog and Runte",Skid-Steer,OTH-2531332,HVAC,Mosciski Inc,Ankunding-Ledner,Ledner-Barrows,7517530461,Paloma,,1256WA18C94,,2023-01-14,531.46,,,,,,,2028-10-27
|
|
||||||
Funk LLC,Grader,ZMB-4808007,Fire Sprinkler System,"Upton, Feil and Jast",Ankunding-Ledner,"Wilkinson, Waters and Kerluke",4467089765,Jeana,,0663SC93W29,quis orci eget orci vehicula condimentum curabitur in libero ut massa volutpat convallis morbi odio odio elementum eu interdum eu,2022-07-19,4741.85,,,,,,,2028-10-27
|
|
||||||
"Doyle, Kulas and Mosciski",Dump Truck,XES-9665196,Masonry & Precast,"Botsford, Boyle and Herzog",Pacocha-Goodwin,Ledner-Barrows,4220776022,Sumner,,0099EC66L98,in hac habitasse platea dictumst morbi vestibulum velit id pretium iaculis,2022-08-06,276.15,,,,,,,2028-10-27
|
|
||||||
"Robel, Johnston and Crist",Excavator,KUJ-7232314,Construction Clean and Final Clean,Ankunding-Ledner,"Romaguera, Goldner and Crooks",Fritsch-Abernathy,5757955088,Paloma,,4270AX61I99,,2022-09-21,3749.65,Location,,,,,"Wilkinson, Waters and Kerluke",2028-10-27
|
|
||||||
Wiza-Mante,Grader,UNN-0016298,Roofing (Metal),Watsica LLC,Ankunding-Ledner,Frami and Sons,6746036070,Tommy,interdum mauris non ligula pellentesque ultrices phasellus id sapien in sapien iaculis congue vivamus metus arcu adipiscing molestie,9540RE21E79,est congue elementum in hac habitasse platea dictumst morbi vestibulum velit id pretium iaculis diam erat,2022-08-08,4600.22,Location,,,,,Roberts-Anderson,2028-10-27
|
|
||||||
Jacobi Group,Bulldozer,JRP-9799959,Roofing (Metal),Rippin-Schiller,"Stokes, Daniel and Johnson",Russel Group,1090875903,Nobe,,5159PT28N59,,2023-05-02,3255.63,Location,,,,,Pacocha-Kiehn,2028-10-27
|
|
||||||
Murazik-Cormier,Crawler,GTI-0627775,Marlite Panels (FED),"Kutch, Johnson and Olson","Fritsch, Sauer and Conn",Powlowski LLC,7650476155,Jeana,,9055CM63Z89,,2022-06-24,1295.04,Location,,,,,"Jenkins, Goldner and Cruickshank",2028-10-27
|
|
||||||
"Simonis, Schulist and Volkman",Compactor,WEL-4481760,RF Shielding,Mosciski Inc,Rippin-Schiller,Powlowski LLC,6908782578,Bale,curae nulla dapibus dolor vel est donec odio justo sollicitudin ut suscipit a feugiat,3712NE31P89,,2022-08-02,2038.79,User,ksennett6,Katerina,Sennett,ksennett6@ibm.com,,2028-10-27
|
|
||||||
Conroy-Abshire,Grader,VKB-3777629,Masonry & Precast,Krajcik LLC,Pollich LLC,Erdman-West,6651233484,Illa,duis aliquam convallis nunc proin at turpis a pede posuere nonummy integer non velit donec,,in hac habitasse platea dictumst etiam faucibus cursus urna ut tellus nulla ut erat id mauris,2023-04-28,4988.38,,,,,,,2028-10-27
|
|
||||||
Mueller and Sons,Bulldozer,YFK-3812221,Waterproofing & Caulking,Rippin-Schiller,Berge Inc,"Mills, Gleichner and Schamberger",3679743009,Illa,sed vel enim sit amet nunc viverra dapibus nulla suscipit ligula in lacus curabitur at ipsum ac tellus semper interdum,2077OM84Z52,,2022-09-18,3085.39,User,moscullya,Maurice,O'Scully,moscullya@engadget.com,,2028-10-27
|
|
||||||
"Turner, Schulist and Hodkiewicz",Compactor,ENN-1432777,Ornamental Railings,"Romaguera, Goldner and Crooks","Kunde, Doyle and Kozey","Mills, Gleichner and Schamberger",7184133416,Robby,,6321OY95W96,,2022-09-25,4517.54,User,lloosely2i,Leia,Loosely,lloosely2i@ebay.co.uk,,2028-10-27
|
|
||||||
Dicki-Hartmann,Skid-Steer,JNS-3537485,Epoxy Flooring,Pacocha-Goodwin,Mosciski Inc,Pacocha-Kiehn,2137927703,Mabelle,erat fermentum justo nec condimentum neque sapien placerat ante nulla justo aliquam,2809IW22A70,consectetuer adipiscing elit proin interdum mauris non ligula pellentesque ultrices phasellus id sapien in,2022-09-12,4293.51,,,,,,,2028-10-27
|
|
||||||
Schoen and Sons,Dump Truck,RAA-2200532,Soft Flooring and Base,Walker-Towne,"Upton, Feil and Jast",Waters LLC,5479047972,Beverly,maecenas leo odio condimentum id luctus nec molestie sed justo pellentesque viverra,,,2023-01-19,1760.88,User,rsapeyb,Raquela,Sapey,rsapeyb@furl.net,,2028-10-27
|
|
||||||
"Rolfson, Champlin and Cole",Bulldozer,GDB-9523081,EIFS,"Heaney, Altenwerth and Emmerich","Upton, Feil and Jast",Frami and Sons,6544577007,Rolland,,,,2022-11-29,2769.18,,,,,,,2028-10-27
|
|
||||||
"Maggio, Wolff and Friesen",Excavator,IOH-2003935,Structural and Misc Steel (Fabrication),Okuneva Group,Abernathy-Stamm,Lindgren-Marquardt,1508089431,Flo,vehicula condimentum curabitur in libero ut massa volutpat convallis morbi odio odio elementum eu interdum eu,2753UJ02X37,porttitor lorem id ligula suspendisse ornare consequat lectus in est risus auctor sed tristique in tempus,2022-08-05,3709.55,,,,,,,2028-10-27
|
|
||||||
Brekke-Hoeger,Backhoe,UPX-0286727,Plumbing & Medical Gas,"Upton, Feil and Jast",Rippin-Schiller,Lynch and Sons,6217027186,Bondon,,6387KP57B15,vivamus metus arcu adipiscing molestie hendrerit at vulputate vitae nisl aenean lectus pellentesque eget nunc donec,2023-03-21,4138.24,,,,,,,2028-10-27
|
|
||||||
Konopelski Inc,Dump Truck,NZE-5809675,Casework,"Stokes, Daniel and Johnson","Kutch, Johnson and Olson",Erdman-West,8486277027,Mabelle,dui luctus rutrum nulla tellus in sagittis dui vel nisl duis ac nibh fusce lacus purus,4732FS58G78,,2023-05-11,114.69,,,,,,,2028-10-27
|
|
||||||
"Nolan, Kertzmann and Rippin",Bulldozer,YXY-3875893,RF Shielding,"Romaguera, Goldner and Crooks",Abernathy-Stamm,Frami and Sons,7979699903,Bondon,habitasse platea dictumst maecenas ut massa quis augue luctus tincidunt,4378XF72E06,,2023-04-29,1781.53,,,,,,,2028-10-27
|
|
||||||
Stroman and Sons,Skid-Steer,BDD-0117730,"Temp Fencing, Decorative Fencing and Gates",Okuneva Group,Mosciski Inc,Frami and Sons,1053653041,Karry,,0484GG78J91,odio elementum eu interdum eu tincidunt in leo maecenas pulvinar lobortis est phasellus sit amet erat,2022-09-12,4854.6,User,mbaudy2b,Mickie,Baudy,mbaudy2b@intel.com,,2028-10-27
|
|
||||||
Howe-Volkman,Crawler,YMB-2902862,Masonry & Precast,"Kutch, Johnson and Olson",Krajcik LLC,Roberts-Anderson,0269899359,Nial,,2685ZN23G49,,2022-08-27,133.33,User,jdriffill2,Jeanne,Driffill,jdriffill2@google.fr,,2028-10-27
|
|
||||||
Heathcote and Sons,Skid-Steer,LWA-2897309,Exterior Signage,"Heaney, Altenwerth and Emmerich",Okuneva Group,Schinner Group,1268560442,Paloma,,8414GM02P21,,2022-12-27,4524.09,,,,,,,2028-10-27
|
|
||||||
Borer-Aufderhar,Scraper,OOY-9898294,Electrical,Pacocha-Goodwin,Berge Inc,"Nitzsche, Gislason and Douglas",4556315148,Karry,,0187NT56E91,,2022-08-21,390.85,,,,,,,2028-10-27
|
|
||||||
"Hauck, Bogisich and King",Dragline,XHB-6046299,Sitework & Site Utilities,"Fritsch, Sauer and Conn","Romaguera, Goldner and Crooks","Jenkins, Goldner and Cruickshank",9343736607,Debbi,aliquam erat volutpat in congue etiam justo etiam pretium iaculis,8559BT54S22,in lectus pellentesque at nulla suspendisse potenti cras in purus eu magna vulputate,2022-05-25,1439.23,Location,,,,,Ledner-Barrows,
|
|
||||||
"Upton, Luettgen and Mayer",Grader,JVB-8844609,Structural & Misc Steel Erection,Pollich LLC,"Kunde, Doyle and Kozey",Treutel Inc,6715000024,Karry,nulla eget eros elementum pellentesque quisque porta volutpat erat quisque erat eros viverra eget congue eget semper,0088HF56H55,,2022-12-17,4849.95,Location,,,,,"McGlynn, Hagenes and Bruen",
|
|
||||||
Fadel Inc,Skid-Steer,VAA-1096481,Hard Tile & Stone,Mosciski Inc,Krajcik LLC,Schinner Group,2384395201,Nobe,parturient montes nascetur ridiculus mus etiam vel augue vestibulum rutrum rutrum neque aenean auctor gravida sem praesent id,,tortor duis mattis egestas metus aenean fermentum donec ut mauris,2022-07-15,1190.44,User,tphysick3,Tiphanie,Physick,tphysick3@umn.edu,,
|
|
||||||
Dickens and Sons,Skid-Steer,OAC-1765208,Ornamental Railings,Ankunding-Ledner,Rippin-Schiller,Lindgren-Marquardt,2119388227,Ward,non velit nec nisi vulputate nonummy maecenas tincidunt lacus at velit vivamus vel nulla eget eros elementum pellentesque quisque porta,9895LS02S32,,2022-09-03,1868.26,Location,,,,,"Jenkins, Goldner and Cruickshank",
|
|
||||||
Cassin Group,Bulldozer,CPK-3286546,Structural & Misc Steel Erection,Berge Inc,"Botsford, Boyle and Herzog",Frami and Sons,6044719518,Chase,,5420GG86P87,,2022-07-22,1463.24,,,,,,,
|
|
||||||
"Wolf, Wiza and Pacocha",Excavator,ZHU-6798344,Electrical,"Kutch, Johnson and Olson",Abernathy-Stamm,Frami and Sons,6111751517,Tommy,odio in hac habitasse platea dictumst maecenas ut massa quis augue luctus tincidunt nulla mollis molestie lorem quisque ut erat,5462TF70C36,amet erat nulla tempus vivamus in felis eu sapien cursus vestibulum proin eu mi nulla ac enim,2023-02-26,1268.92,User,pshirleyi,Pen,Shirley,pshirleyi@theguardian.com,,
|
|
||||||
"Davis, Klein and Kiehn",Backhoe,WHR-8533403,Plumbing & Medical Gas,"Botsford, Boyle and Herzog",Mosciski Inc,Treutel Inc,7632050235,Tommy,,5478JY13D60,,2022-09-11,4908.48,Location,,,,,Pacocha-Kiehn,
|
|
||||||
"Gorczany, Lindgren and Hand",Compactor,FAC-2072179,Framing (Steel),Berge Inc,"Legros, Paucek and Collier",Ledner-Barrows,8755015421,Rolland,,2138TK23O47,massa id nisl venenatis lacinia aenean sit amet justo morbi ut odio cras mi pede,2022-09-19,2249.9,User,kgrealish16,Krystalle,Grealish,kgrealish16@sciencedirect.com,,
|
|
||||||
Romaguera-Ondricka,Grader,KON-1821691,Curb & Gutter,"Kutch, Johnson and Olson",Okuneva Group,"O'Conner, Nitzsche and Aufderhar",4908345668,Chase,,5414US21B26,pede libero quis orci nullam molestie nibh in lectus pellentesque at nulla suspendisse potenti,2022-11-14,1545.41,User,ewarriner2o,Ellene,Warriner,ewarriner2o@wikimedia.org,,
|
|
||||||
"Anderson, Goldner and Bailey",Compactor,NDF-4324420,Roofing (Metal),Mosciski Inc,"Kunde, Doyle and Kozey","McGlynn, Hagenes and Bruen",3212882737,Nial,,0754DG10B38,dui nec nisi volutpat eleifend donec ut dolor morbi vel lectus in quam fringilla rhoncus mauris enim leo,2023-05-15,4423.19,,,,,,,
|
|
||||||
Mraz-Windler,Trencher,DLM-4710838,Plumbing & Medical Gas,"Kunde, Doyle and Kozey",Walker-Towne,"Jenkins, Goldner and Cruickshank",1315337182,Debbi,,2430PB13D95,,2022-07-11,2708.18,User,fmcguiness1k,Fredrika,McGuiness,fmcguiness1k@woothemes.com,,
|
|
||||||
Volkman Group,Compactor,MLJ-9313486,Electrical and Fire Alarm,"Romaguera, Goldner and Crooks","Botsford, Boyle and Herzog",Fritsch-Abernathy,2738670737,Illa,,,,2022-10-09,1404.85,Location,,,,,Pacocha-Kiehn,
|
|
||||||
Schulist-Kulas,Compactor,XBE-4236649,Drywall & Acoustical (MOB),Abernathy-Stamm,Berge Inc,"Nitzsche, Gislason and Douglas",7811285882,Kizzee,,2875KP71D22,,2022-11-21,271.5,Location,,,,,"Wilkinson, Waters and Kerluke",
|
|
||||||
Hammes Inc,Crawler,NRV-3022526,Epoxy Flooring,Pollich LLC,"Upton, Feil and Jast",Powlowski LLC,8015369811,Ward,,6485BK61G70,facilisi cras non velit nec nisi vulputate nonummy maecenas tincidunt lacus at velit vivamus vel nulla eget eros,2023-01-25,1757.26,,,,,,,
|
|
||||||
"Kemmer, Beier and Hegmann",Skid-Steer,EXG-6125653,Glass & Glazing,"Upton, Feil and Jast",Pacocha-Goodwin,Erdman-West,9025824302,Rolland,,8500KT88G80,,2022-09-27,3697.22,User,aweemsj,Antoinette,Weems,aweemsj@who.int,,
|
|
||||||
"Padberg, Kozey and Morar",Compactor,XYK-7848357,RF Shielding,Berge Inc,Abernathy-Stamm,Russel Group,2116700211,Robby,,,,2022-11-05,4059.57,Location,,,,,Lindgren-Marquardt,
|
|
||||||
Pfannerstill and Sons,Skid-Steer,GZW-6229249,Waterproofing & Caulking,Pollich LLC,"Kutch, Johnson and Olson","Torp, Kautzer and Rodriguez",4909263041,Debbi,,,lectus pellentesque eget nunc donec quis orci eget orci vehicula condimentum curabitur in,2022-08-11,1697.74,,,,,,,
|
|
||||||
Kunde-Hermiston,Compactor,VZD-7424699,Marlite Panels (FED),Mosciski Inc,"Upton, Feil and Jast","Jenkins, Goldner and Cruickshank",5611381559,Nial,,8991VD43T11,cras mi pede malesuada in imperdiet et commodo vulputate justo in blandit,2022-09-17,4957.55,Location,,,,,Powlowski LLC,
|
|
||||||
"Treutel, Schmidt and Koss",Compactor,RZO-4616134,Retaining Wall and Brick Pavers,"Stokes, Daniel and Johnson","Kutch, Johnson and Olson","O'Conner, Nitzsche and Aufderhar",0833202169,Nial,,6036SV40U93,,2023-04-18,3218.61,User,bvandalen5,Barbabas,Van Dalen,bvandalen5@smugmug.com,,
|
|
||||||
Nader Inc,Scraper,NXG-1697279,RF Shielding,"Botsford, Boyle and Herzog","Fritsch, Sauer and Conn",Waters LLC,7094568704,Robby,,7964JY42Z54,,2022-08-26,3628.55,Location,,,,,"McGlynn, Hagenes and Bruen",
|
|
||||||
"Cremin, Conroy and Kuphal",Crawler,OGN-4843235,Glass & Glazing,Okuneva Group,"Heaney, Altenwerth and Emmerich",Pacocha-Kiehn,6424257173,Beverly,,2880LU86I74,sagittis nam congue risus semper porta volutpat quam pede lobortis ligula sit amet eleifend pede libero quis orci,2022-09-22,4163.07,,,,,,,
|
|
||||||
"Douglas, Considine and Gerhold",Backhoe,BXI-1028705,Structural and Misc Steel (Fabrication),"Romaguera, Goldner and Crooks",Ankunding-Ledner,Roberts-Anderson,5388101251,Karry,,,,2023-02-20,976.02,,,,,,,
|
|
||||||
Emard Group,Scraper,MWK-5482358,Ornamental Railings,Mosciski Inc,"Heaney, Altenwerth and Emmerich","Mills, Gleichner and Schamberger",5509346090,Nobe,,8183RH74P65,donec dapibus duis at velit eu est congue elementum in hac habitasse platea dictumst morbi vestibulum,2022-06-28,1441.26,Location,,,,,Fritsch-Abernathy,
|
|
||||||
Runolfsdottir-Schulist,Compactor,ZSS-2076422,EIFS,Rippin-Schiller,"Upton, Feil and Jast",Ledner-Barrows,4163465013,Karry,dui luctus rutrum nulla tellus in sagittis dui vel nisl,,,2022-11-11,3688.09,User,rrappa27,Rabi,Rappa,rrappa27@cyberchimps.com,,
|
|
||||||
Stoltenberg-Cormier,Trencher,XNO-4048888,Roofing (Metal),Watsica LLC,Pollich LLC,Russel Group,3593822457,Robby,morbi quis tortor id nulla ultrices aliquet maecenas leo odio condimentum id luctus nec molestie sed,1583JR98T50,,2022-12-04,1780.96,,,,,,,
|
|
||||||
"Hand, Bogan and Cassin",Skid-Steer,SWP-7721219,Roofing (Metal),"Kunde, Doyle and Kozey",Krajcik LLC,Lindgren-Marquardt,1185234640,Nial,,4091TS60T07,,2023-05-09,1528.53,User,mskellingtonu,Marrilee,Skellington,mskellingtonu@abc.net.au,,
|
|
||||||
Kling-Homenick,Dragline,HGX-6549969,Asphalt Paving,Walker-Towne,"Fritsch, Sauer and Conn","Jenkins, Goldner and Cruickshank",2726185990,Bale,,9573TJ14G71,,2023-01-31,4930.43,User,asyne1a,Angela,Syne,asyne1a@icio.us,,
|
|
||||||
"Kilback, Towne and Stehr",Skid-Steer,ZTD-2850379,Drilled Shafts,Krajcik LLC,"Stokes, Daniel and Johnson","O'Conner, Nitzsche and Aufderhar",7192145952,Paloma,,,ipsum aliquam non mauris morbi non lectus aliquam sit amet diam in magna bibendum imperdiet nullam orci,2022-12-25,2947.93,,,,,,,
|
|
||||||
Harvey-Moore,Dump Truck,QKC-1710236,Fire Protection,Berge Inc,Okuneva Group,Lynch and Sons,7337073255,Kizzee,,7010OW07S33,,2023-02-01,1617.55,Location,,,,,Ledner-Barrows,
|
|
||||||
Maggio-Hoppe,Excavator,LHL-3384861,Termite Control,Pacocha-Goodwin,Abernathy-Stamm,Lindgren-Marquardt,5642326493,Ward,amet sem fusce consequat nulla nisl nunc nisl duis bibendum felis sed interdum,0489GD18P85,,2022-07-29,4682.12,User,nscroggs2d,Naoma,Scroggs,nscroggs2d@yelp.com,,
|
|
||||||
Muller LLC,Skid-Steer,VYY-4278214,Rebar & Wire Mesh Install,"Kunde, Doyle and Kozey",Okuneva Group,Schinner Group,0946092591,Paloma,,,felis sed lacus morbi sem mauris laoreet ut rhoncus aliquet pulvinar sed nisl nunc rhoncus dui vel sem sed sagittis,2022-09-07,4400.17,Location,,,,,Lynch and Sons,
|
|
||||||
Kerluke Inc,Backhoe,HRP-6178185,Retaining Wall and Brick Pavers,Mosciski Inc,Berge Inc,Treutel Inc,6532044804,Nial,,,,2022-09-07,1345.45,Location,,,,,Lindgren-Marquardt,
|
|
||||||
"Harvey, Schulist and Kemmer",Trencher,QND-9017996,Painting & Vinyl Wall Covering,Abernathy-Stamm,Pollich LLC,Fritsch-Abernathy,4977996097,Paloma,est donec odio justo sollicitudin ut suscipit a feugiat et eros vestibulum ac est lacinia nisi venenatis tristique fusce,2497DB20W09,habitasse platea dictumst morbi vestibulum velit id pretium iaculis diam erat fermentum justo,2023-01-27,317.08,,,,,,,
|
|
||||||
Schimmel and Sons,Dragline,DAX-0085828,Drywall & Acoustical (MOB),Okuneva Group,Watsica LLC,"Jenkins, Goldner and Cruickshank",7739403397,Flo,,,,2022-12-28,4521.28,User,pwippers,Peirce,Wipper,pwippers@liveinternet.ru,,
|
|
||||||
Grimes-Lowe,Dragline,VED-7099927,Masonry,Rippin-Schiller,"Stokes, Daniel and Johnson",Lynch and Sons,3351670325,Karry,,,ullamcorper purus sit amet nulla quisque arcu libero rutrum ac lobortis vel dapibus at,2023-02-04,2620.69,,,,,,,
|
|
||||||
Krajcik-Cruickshank,Bulldozer,ZHU-0211288,Painting & Vinyl Wall Covering,"Fritsch, Sauer and Conn",Pacocha-Goodwin,Lindgren-Marquardt,5042401893,Paloma,vestibulum rutrum rutrum neque aenean auctor gravida sem praesent id massa id nisl venenatis lacinia aenean sit amet justo,0511VF33D78,proin eu mi nulla ac enim in tempor turpis nec euismod scelerisque quam turpis adipiscing lorem,2022-09-27,923.99,,,,,,,
|
|
||||||
Donnelly-Maggio,Compactor,HFG-7624506,Electrical and Fire Alarm,Pollich LLC,"Fritsch, Sauer and Conn","Torp, Kautzer and Rodriguez",3157087051,Illa,libero convallis eget eleifend luctus ultricies eu nibh quisque id justo sit amet sapien dignissim,5980WY24F50,tortor sollicitudin mi sit amet lobortis sapien sapien non mi integer ac neque duis bibendum morbi non,2022-12-05,4670.18,Location,,,,,"Jenkins, Goldner and Cruickshank",
|
|
||||||
Pfeffer-Zieme,Trencher,AZY-1682920,Wall Protection,Abernathy-Stamm,Mosciski Inc,"Torp, Kautzer and Rodriguez",5186444169,Beverly,consequat nulla nisl nunc nisl duis bibendum felis sed interdum venenatis turpis enim,6620HZ14T83,aliquam convallis nunc proin at turpis a pede posuere nonummy,2022-06-27,1674.34,User,cstamper1h,Celie,Stamper,cstamper1h@usda.gov,,
|
|
||||||
"Cormier, Glover and Hickle",Compactor,EYP-3561396,Termite Control,Rippin-Schiller,"Kunde, Doyle and Kozey","Torp, Kautzer and Rodriguez",4964027369,Paloma,quam suspendisse potenti nullam porttitor lacus at turpis donec posuere metus,4352FH58S52,,2022-11-21,136.12,,,,,,,
|
|
||||||
Rau Group,Skid-Steer,DYU-7769483,Marlite Panels (FED),Krajcik LLC,Krajcik LLC,Fritsch-Abernathy,2457705388,Sumner,,2286KF82X10,,2023-05-14,1147.8,User,flewins10,Filip,Lewins,flewins10@amazonaws.com,,
|
|
||||||
"Shanahan, Bradtke and Rowe",Backhoe,JYC-0713874,Hard Tile & Stone,"Upton, Feil and Jast",Ankunding-Ledner,Waters LLC,0372144769,Rolland,porta volutpat quam pede lobortis ligula sit amet eleifend pede libero quis orci nullam molestie nibh in,7775EM65V29,phasellus sit amet erat nulla tempus vivamus in felis eu sapien cursus vestibulum proin eu,2022-05-27,1691.36,,,,,,,
|
|
||||||
Bogisich LLC,Bulldozer,MIQ-6169091,Soft Flooring and Base,"Romaguera, Goldner and Crooks",Mosciski Inc,Powlowski LLC,8984702329,Ward,,,justo eu massa donec dapibus duis at velit eu est,2022-10-15,1578.57,User,ndubery1e,Neda,Dubery,ndubery1e@fotki.com,,
|
|
||||||
Ondricka-Schuster,Dump Truck,KEN-1184794,"Doors, Frames & Hardware",Walker-Towne,Watsica LLC,Pacocha-Kiehn,4745674969,Mabelle,ultrices posuere cubilia curae nulla dapibus dolor vel est donec odio justo sollicitudin ut suscipit a feugiat,,,2022-12-10,4298.98,,,,,,,
|
|
||||||
Mayer-Abernathy,Scraper,ZMD-6316371,Rebar & Wire Mesh Install,"Stokes, Daniel and Johnson",Abernathy-Stamm,Powlowski LLC,2526471701,Flo,,1918JS43H32,,2023-03-24,1171.9,User,gbassingdenm,Godwin,Bassingden,gbassingdenm@dedecms.com,,
|
|
||||||
Towne-Adams,Scraper,QCU-6826093,Prefabricated Aluminum Metal Canopies,Abernathy-Stamm,Rippin-Schiller,Waters LLC,4899233400,Debbi,arcu sed augue aliquam erat volutpat in congue etiam justo etiam pretium iaculis justo in hac habitasse platea dictumst,6487ZI24B86,nec molestie sed justo pellentesque viverra pede ac diam cras pellentesque volutpat dui maecenas,2023-02-22,602.41,Location,,,,,"McGlynn, Hagenes and Bruen",
|
|
||||||
Kunde Group,Compactor,ITE-9907827,Sitework & Site Utilities,Mosciski Inc,"Romaguera, Goldner and Crooks",Treutel Inc,4671828697,Kizzee,,3508XP22O98,sed interdum venenatis turpis enim blandit mi in porttitor pede justo eu massa donec dapibus duis at velit eu est,2023-02-18,3119.76,Location,,,,,Fritsch-Abernathy,
|
|
||||||
Welch Group,Compactor,GXW-3680693,Drywall & Acoustical (MOB),Okuneva Group,Watsica LLC,"Nitzsche, Gislason and Douglas",4413339149,Karry,mi integer ac neque duis bibendum morbi non quam nec,,,2023-02-16,1570.25,User,ewhitebrook1r,Emmalyn,Whitebrook,ewhitebrook1r@webnode.com,,
|
|
||||||
"Zieme, Metz and Schamberger",Grader,GDQ-7108837,Masonry,"Heaney, Altenwerth and Emmerich","Upton, Feil and Jast","Jenkins, Goldner and Cruickshank",8560447476,Chase,,4743VU30T06,nibh ligula nec sem duis aliquam convallis nunc proin at turpis a pede posuere nonummy integer non,2022-08-09,1530.46,User,pwoollons2q,Pyotr,Woollons,pwoollons2q@nps.gov,,
|
|
||||||
"Kuhlman, Walker and Denesik",Dragline,QZO-1370026,Asphalt Paving,Krajcik LLC,"Botsford, Boyle and Herzog",Erdman-West,5748443707,Mabelle,,2693SH27I09,accumsan felis ut at dolor quis odio consequat varius integer ac leo pellentesque ultrices mattis,2022-08-23,2694.26,,,,,,,
|
|
||||||
Cormier Inc,Bulldozer,AQW-7617737,RF Shielding,"Heaney, Altenwerth and Emmerich",Watsica LLC,"Mills, Gleichner and Schamberger",1502376915,Rolland,,8461WN86M04,sed sagittis nam congue risus semper porta volutpat quam pede lobortis ligula sit amet eleifend pede libero quis,2023-03-04,1055.33,,,,,,,
|
|
||||||
Beier LLC,Dragline,NDV-6470913,Masonry,Mosciski Inc,"Kutch, Johnson and Olson",Lynch and Sons,3437983455,Ward,volutpat quam pede lobortis ligula sit amet eleifend pede libero quis orci nullam molestie nibh in lectus,9621QF22B21,,2022-07-27,1251.77,User,rrappa27,Rabi,Rappa,rrappa27@cyberchimps.com,,
|
|
||||||
Skiles and Sons,Compactor,FOR-0865018,Exterior Signage,"Stokes, Daniel and Johnson","Kutch, Johnson and Olson","Torp, Kautzer and Rodriguez",3955766875,Tommy,,6385GQ84X66,quisque id justo sit amet sapien dignissim vestibulum vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere,2023-04-26,1109.44,Location,,,,,Frami and Sons,
|
|
||||||
"Corkery, Kunde and Schulist",Crawler,SCK-0860481,Rebar & Wire Mesh Install,"Fritsch, Sauer and Conn",Walker-Towne,Lynch and Sons,5146662358,Karry,amet nulla quisque arcu libero rutrum ac lobortis vel dapibus at diam nam tristique tortor eu,,,2022-10-05,2029.54,Location,,,,,"Torp, Kautzer and Rodriguez",
|
|
||||||
Brakus LLC,Backhoe,DAI-7864625,Casework,Pollich LLC,"Kunde, Doyle and Kozey","Jenkins, Goldner and Cruickshank",3421666270,Mabelle,,3209SC49Y83,vitae mattis nibh ligula nec sem duis aliquam convallis nunc proin at turpis,2022-06-01,3611.16,User,tcicutto1l,Thornie,Cicutto,tcicutto1l@irs.gov,,
|
|
||||||
"Donnelly, Daniel and Kuhn",Skid-Steer,AXA-8500000,Glass & Glazing,Pacocha-Goodwin,"Upton, Feil and Jast",Powlowski LLC,5545256559,Chase,,5792EV06A79,,2023-01-19,3029.64,,,,,,,
|
|
||||||
Wehner-Wyman,Compactor,MGX-6732943,Fire Sprinkler System,Berge Inc,Mosciski Inc,Ledner-Barrows,3758714940,Jeana,ut massa quis augue luctus tincidunt nulla mollis molestie lorem quisque ut erat curabitur,,,2023-01-09,2587.65,User,dhailwood18,Duffy,Hailwood,dhailwood18@ask.com,,
|
|
||||||
Hauck-Bosco,Bulldozer,NIS-2897343,Electrical,"Kunde, Doyle and Kozey","Botsford, Boyle and Herzog","Jenkins, Goldner and Cruickshank",8342227248,Illa,,0783AR26Y44,,2023-01-11,904.38,Location,,,,,Pacocha-Kiehn,
|
|
||||||
Shields Inc,Bulldozer,QZL-7700638,Construction Clean and Final Clean,Okuneva Group,Ankunding-Ledner,Pacocha-Kiehn,3955442162,Mabelle,et ultrices posuere cubilia curae duis faucibus accumsan odio curabitur convallis duis consequat dui nec nisi,2293HV69Q96,,2022-05-30,2920.56,Location,,,,,Erdman-West,
|
|
||||||
"Willms, O'Connell and Cormier",Grader,RJS-7752630,Fire Sprinkler System,Ankunding-Ledner,Ankunding-Ledner,Treutel Inc,1717119122,Bondon,,2846FL33H31,mauris laoreet ut rhoncus aliquet pulvinar sed nisl nunc rhoncus dui,2022-11-12,3998.15,,,,,,,
|
|
||||||
Schinner-Price,Compactor,MDX-2483852,Construction Clean and Final Clean,Abernathy-Stamm,"Kutch, Johnson and Olson",Lindgren-Marquardt,9849455784,Bondon,,8475JD14T05,in faucibus orci luctus et ultrices posuere cubilia curae nulla dapibus dolor vel,2023-04-21,2625.55,Location,,,,,"Wilkinson, Waters and Kerluke",
|
|
||||||
"Treutel, Berge and Batz",Grader,FZI-9158744,Marlite Panels (FED),"Kutch, Johnson and Olson","Kutch, Johnson and Olson",Russel Group,7516475364,Nial,,2620DL01N52,,2023-02-02,4272.01,Location,,,,,"Jenkins, Goldner and Cruickshank",
|
|
||||||
"McDermott, Koch and Skiles",Skid-Steer,RDJ-1659181,Marlite Panels (FED),Walker-Towne,"Romaguera, Goldner and Crooks","Jenkins, Goldner and Cruickshank",2002850756,Robby,congue eget semper rutrum nulla nunc purus phasellus in felis donec semper sapien a libero nam dui proin leo,4676YV46O78,,2022-07-24,3087.45,User,kharbage1w,Kinny,Harbage,kharbage1w@wordpress.org,,
|
|
||||||
Tremblay-Collier,Compactor,XCQ-5970453,Drilled Shafts,"Legros, Paucek and Collier",Mosciski Inc,Roberts-Anderson,7468627157,Kizzee,turpis nec euismod scelerisque quam turpis adipiscing lorem vitae mattis nibh ligula nec sem duis,2895CV95N88,velit eu est congue elementum in hac habitasse platea dictumst morbi vestibulum velit id pretium iaculis diam,2022-10-23,2726.04,,,,,,,
|
|
||||||
"Shanahan, Bergnaum and Buckridge",Trencher,IRM-4172620,Drywall & Acoustical (MOB),"Romaguera, Goldner and Crooks","Fritsch, Sauer and Conn","Mills, Gleichner and Schamberger",8440065950,Debbi,habitasse platea dictumst morbi vestibulum velit id pretium iaculis diam erat fermentum justo nec condimentum neque sapien placerat ante,4296XD75M64,,2023-05-18,2627.55,User,pwoollons2q,Pyotr,Woollons,pwoollons2q@nps.gov,,
|
|
||||||
"Dickens, Huel and Reilly",Compactor,DPP-2739545,Sitework & Site Utilities,"Botsford, Boyle and Herzog",Okuneva Group,Russel Group,1933518954,Debbi,sit amet nulla quisque arcu libero rutrum ac lobortis vel dapibus,4147HN29Y26,,2023-02-01,4571.33,,,,,,,
|
|
||||||
Shields Inc,Scraper,EBH-1609775,Roofing (Asphalt),Watsica LLC,Pollich LLC,"Nitzsche, Gislason and Douglas",3751836527,Debbi,,,,2023-01-16,3195.45,User,ahugonnet1f,Alvis,Hugonnet,ahugonnet1f@vinaora.com,,
|
|
|
|
@ -24,7 +24,7 @@ class CreateAssetModelsTest extends TestCase
|
||||||
$response = $this->actingAsForApi(User::factory()->superuser()->create())
|
$response = $this->actingAsForApi(User::factory()->superuser()->create())
|
||||||
->postJson(route('api.models.store'), [
|
->postJson(route('api.models.store'), [
|
||||||
'name' => 'Test AssetModel',
|
'name' => 'Test AssetModel',
|
||||||
'category_id' => Category::factory()->create()->id
|
'category_id' => Category::factory()->assetLaptopCategory()->create()->id
|
||||||
])
|
])
|
||||||
->assertOk()
|
->assertOk()
|
||||||
->assertStatusMessageIs('success')
|
->assertStatusMessageIs('success')
|
||||||
|
@ -53,9 +53,52 @@ class CreateAssetModelsTest extends TestCase
|
||||||
])
|
])
|
||||||
->json();
|
->json();
|
||||||
|
|
||||||
// dd($response);
|
|
||||||
$this->assertFalse(AssetModel::where('name', 'Test AssetModel')->exists());
|
$this->assertFalse(AssetModel::where('name', 'Test AssetModel')->exists());
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testUniquenessAcrossModelNameAndModelNumber()
|
||||||
|
{
|
||||||
|
AssetModel::factory()->create(['name' => 'Test Model', 'model_number'=>'1234']);
|
||||||
|
|
||||||
|
$this->actingAsForApi(User::factory()->superuser()->create())
|
||||||
|
->postJson(route('api.models.store'), [
|
||||||
|
'name' => 'Test Model',
|
||||||
|
'model_number' => '1234',
|
||||||
|
'category_id' => Category::factory()->assetLaptopCategory()->create()->id
|
||||||
|
])
|
||||||
|
->assertStatus(200)
|
||||||
|
->assertOk()
|
||||||
|
->assertStatusMessageIs('error')
|
||||||
|
->assertJson([
|
||||||
|
'messages' => [
|
||||||
|
'name' => ['The name must be unique across models and model number. '],
|
||||||
|
'model_number' => ['The model number must be unique across models and name. '],
|
||||||
|
],
|
||||||
|
])
|
||||||
|
->json();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testUniquenessAcrossModelNameAndModelNumberWithBlankModelNumber()
|
||||||
|
{
|
||||||
|
AssetModel::factory()->create(['name' => 'Test Model']);
|
||||||
|
|
||||||
|
$this->actingAsForApi(User::factory()->superuser()->create())
|
||||||
|
->postJson(route('api.models.store'), [
|
||||||
|
'name' => 'Test Model',
|
||||||
|
'category_id' => Category::factory()->assetLaptopCategory()->create()->id
|
||||||
|
])
|
||||||
|
->assertStatus(200)
|
||||||
|
->assertOk()
|
||||||
|
->assertStatusMessageIs('error')
|
||||||
|
->assertJson([
|
||||||
|
'messages' => [
|
||||||
|
'name' => ['The name must be unique across models and model number. '],
|
||||||
|
],
|
||||||
|
])
|
||||||
|
->json();
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -24,6 +24,7 @@ class CreateAssetModelsTest extends TestCase
|
||||||
$this->assertFalse(AssetModel::where('name', 'Test Model')->exists());
|
$this->assertFalse(AssetModel::where('name', 'Test Model')->exists());
|
||||||
|
|
||||||
$this->actingAs(User::factory()->superuser()->create())
|
$this->actingAs(User::factory()->superuser()->create())
|
||||||
|
->from(route('models.create'))
|
||||||
->post(route('models.store'), [
|
->post(route('models.store'), [
|
||||||
'name' => 'Test Model',
|
'name' => 'Test Model',
|
||||||
'category_id' => Category::factory()->create()->id
|
'category_id' => Category::factory()->create()->id
|
||||||
|
@ -51,4 +52,46 @@ class CreateAssetModelsTest extends TestCase
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function testUniquenessAcrossModelNameAndModelNumber()
|
||||||
|
{
|
||||||
|
|
||||||
|
AssetModel::factory()->create(['name' => 'Test Model', 'model_number'=>'1234']);
|
||||||
|
|
||||||
|
$response = $this->actingAs(User::factory()->superuser()->create())
|
||||||
|
->from(route('models.create'))
|
||||||
|
->post(route('models.store'), [
|
||||||
|
'name' => 'Test Model',
|
||||||
|
'model_number' => '1234',
|
||||||
|
'category_id' => Category::factory()->create()->id
|
||||||
|
])
|
||||||
|
->assertStatus(302)
|
||||||
|
->assertSessionHasErrors(['name','model_number'])
|
||||||
|
->assertRedirect(route('models.create'))
|
||||||
|
->assertInvalid(['name','model_number']);
|
||||||
|
|
||||||
|
$this->followRedirects($response)->assertSee(trans('general.error'));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testUniquenessAcrossModelNameAndModelNumberWithoutModelNumber()
|
||||||
|
{
|
||||||
|
|
||||||
|
AssetModel::factory()->create(['name' => 'Test Model', 'model_number'=> null]);
|
||||||
|
|
||||||
|
$response = $this->actingAs(User::factory()->superuser()->create())
|
||||||
|
->from(route('models.create'))
|
||||||
|
->post(route('models.store'), [
|
||||||
|
'name' => 'Test Model',
|
||||||
|
'model_number' => null,
|
||||||
|
'category_id' => Category::factory()->create()->id
|
||||||
|
])
|
||||||
|
->assertStatus(302)
|
||||||
|
->assertSessionHasErrors(['name'])
|
||||||
|
->assertRedirect(route('models.create'))
|
||||||
|
->assertInvalid(['name']);
|
||||||
|
|
||||||
|
$this->followRedirects($response)->assertSee(trans('general.error'));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
23
tests/Feature/Settings/AlertsSettingTest.php
Normal file
23
tests/Feature/Settings/AlertsSettingTest.php
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Tests\Feature\Settings;
|
||||||
|
|
||||||
|
use App\Models\Asset;
|
||||||
|
use Tests\TestCase;
|
||||||
|
use Illuminate\Http\UploadedFile;
|
||||||
|
use Illuminate\Support\Facades\Storage;
|
||||||
|
use App\Models\User;
|
||||||
|
use App\Models\Setting;
|
||||||
|
|
||||||
|
|
||||||
|
class AlertsSettingTest extends TestCase
|
||||||
|
{
|
||||||
|
public function testPermissionRequiredToViewAlertSettings()
|
||||||
|
{
|
||||||
|
$asset = Asset::factory()->create();
|
||||||
|
$this->actingAs(User::factory()->create())
|
||||||
|
->get(route('settings.alerts.index'))
|
||||||
|
->assertForbidden();
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
|
@ -30,7 +30,6 @@ class CategoryTest extends TestCase
|
||||||
|
|
||||||
// Generate 5 models via factory
|
// Generate 5 models via factory
|
||||||
$models = AssetModel::factory()
|
$models = AssetModel::factory()
|
||||||
->mbp13Model()
|
|
||||||
->count(5)
|
->count(5)
|
||||||
->create(
|
->create(
|
||||||
[
|
[
|
||||||
|
|
|
@ -17,7 +17,6 @@ class DepreciationTest extends TestCase
|
||||||
$depreciation = Depreciation::factory()->create();
|
$depreciation = Depreciation::factory()->create();
|
||||||
|
|
||||||
AssetModel::factory()
|
AssetModel::factory()
|
||||||
->mbp13Model()
|
|
||||||
->count(5)
|
->count(5)
|
||||||
->create(
|
->create(
|
||||||
[
|
[
|
||||||
|
@ -25,7 +24,6 @@ class DepreciationTest extends TestCase
|
||||||
'depreciation_id' => $depreciation->id
|
'depreciation_id' => $depreciation->id
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
|
||||||
$this->assertEquals(5, $depreciation->models->count());
|
$this->assertEquals(5, $depreciation->models->count());
|
||||||
}
|
}
|
||||||
public function testDepreciationAmount()
|
public function testDepreciationAmount()
|
||||||
|
|
Loading…
Reference in a new issue