42 $accessories = Accessory::orderBy(
'created_at',
'DESC')->with(
'company')->get();
44 return View::make(
'reports/accessories', compact(
'accessories'));
58 $accessories = Accessory::orderBy(
'created_at',
'DESC')->get();
62 trans(
'admin/accessories/table.title'),
63 trans(
'admin/accessories/general.accessory_category'),
64 trans(
'admin/accessories/general.total'),
65 trans(
'admin/accessories/general.remaining')
67 $header = array_map(
'trim', $header);
68 $rows[] = implode($header,
', ');
71 foreach ($accessories as $accessory) {
73 $row[] = e($accessory->accessory_name);
74 $row[] = e($accessory->accessory_category);
75 $row[] = e($accessory->total);
76 $row[] = e($accessory->remaining);
78 $rows[] = implode($row,
',');
81 $csv = implode($rows,
"\n");
82 $response = Response::make($csv, 200);
83 $response->header(
'Content-Type',
'text/csv');
84 $response->header(
'Content-disposition',
'attachment;filename=report.csv');
99 $assets = Asset::with(
101 'assigneduser.userLoc',
106 'model.manufacturer',
109 ->orderBy(
'created_at',
'DESC')
112 return View::make(
'reports/asset', compact(
'assets'));
125 $assets = Asset::orderBy(
'created_at',
'DESC')->get();
131 trans(
'admin/hardware/table.asset_tag'),
132 trans(
'admin/hardware/form.manufacturer'),
133 trans(
'admin/hardware/form.model'),
134 trans(
'general.model_no'),
135 trans(
'general.name'),
136 trans(
'admin/hardware/table.serial'),
137 trans(
'general.status'),
138 trans(
'admin/hardware/table.purchase_date'),
139 trans(
'admin/hardware/table.purchase_cost'),
140 trans(
'admin/hardware/form.order'),
141 trans(
'admin/hardware/form.supplier'),
142 trans(
'admin/hardware/table.checkoutto'),
143 trans(
'admin/hardware/table.location'),
144 trans(
'general.notes'),
146 $header = array_map(
'trim', $header);
147 $rows[] = implode($header,
',');
150 foreach ($assets as $asset) {
152 $row[] = e($asset->asset_tag);
153 if ($asset->model->manufacturer) {
154 $row[] = e($asset->model->manufacturer->name);
158 $row[] =
'"' . e($asset->model->name) .
'"';
159 $row[] =
'"' . e($asset->model->modelno) .
'"';
160 $row[] = e($asset->name);
161 $row[] = e($asset->serial);
162 if ($asset->assetstatus) {
163 $row[] = e($asset->assetstatus->name);
167 $row[] = $asset->purchase_date;
168 $row[] =
'"' . number_format($asset->purchase_cost, 2) .
'"';
169 if ($asset->order_number) {
170 $row[] = e($asset->order_number);
174 if ($asset->supplier_id) {
175 $row[] = e($asset->supplier->name);
180 if ($asset->assigned_to > 0) {
181 $user = User::find($asset->assigned_to);
182 $row[] = e($user->fullName());
187 if (( $asset->assigned_to > 0 ) && ( $asset->assigneduser->location_id > 0 )) {
188 $location = Location::find($asset->assigneduser->location_id);
190 $row[] = e($location->name);
194 } elseif ($asset->rtd_location_id) {
195 $location = Location::find($asset->rtd_location_id);
196 if ($location->name) {
197 $row[] = e($location->name);
206 $row[] =
'"' . e($asset->notes) .
'"';
211 $rows[] = implode($row,
',');
215 $csv = implode($rows,
"\n");
216 $response = Response::make($csv, 200);
217 $response->header(
'Content-Type',
'text/csv');
218 $response->header(
'Content-disposition',
'attachment;filename=report.csv');
234 $assets = Asset::with(
'model',
'assigneduser',
'assetstatus',
'defaultLoc',
'assetlog',
'company')
235 ->orderBy(
'created_at',
'DESC')->get();
237 return View::make(
'reports/depreciation', compact(
'assets'));
252 $assets = Asset::with(
'model',
'assigneduser',
'assetstatus',
'defaultLoc',
'assetlog')
253 ->orderBy(
'created_at',
'DESC')->get();
255 $csv = \League\Csv\Writer::createFromFileObject(
new \SplTempFileObject());
256 $csv->setOutputBOM(Reader::BOM_UTF16_BE);
262 trans(
'admin/hardware/table.asset_tag'),
263 trans(
'admin/hardware/table.title'),
264 trans(
'admin/hardware/table.serial'),
265 trans(
'admin/hardware/table.checkoutto'),
266 trans(
'admin/hardware/table.location'),
267 trans(
'admin/hardware/table.purchase_date'),
268 trans(
'admin/hardware/table.purchase_cost'),
269 trans(
'admin/hardware/table.book_value'),
270 trans(
'admin/hardware/table.diff')
274 $csv->insertOne($header);
277 foreach ($assets as $asset) {
279 $row[] = e($asset->asset_tag);
280 $row[] = e($asset->name);
281 $row[] = e($asset->serial);
283 if ($asset->assigned_to > 0) {
284 $user = User::find($asset->assigned_to);
285 $row[] = e($user->fullName());
290 if (( $asset->assigned_to > 0 ) && ( $asset->assigneduser->location_id > 0 )) {
291 $location = Location::find($asset->assigneduser->location_id);
292 if ($location->city) {
293 $row[] = e($location->city) .
', ' . e($location->state);
294 } elseif ($location->name) {
295 $row[] = e($location->name);
303 if ($asset->assetloc) {
304 $currency = e($asset->assetloc->currency);
306 $currency = e(Setting::first()->default_currency);
309 $row[] = $asset->purchase_date;
310 $row[] = $currency . number_format($asset->purchase_cost, 2);
311 $row[] = $currency . number_format($asset->getDepreciatedValue(), 2);
312 $row[] = $currency . number_format(( $asset->purchase_cost - $asset->getDepreciatedValue() ), 2);
313 $csv->insertOne($row);
316 $csv->output(
'depreciation-report-' . date(
'Y-m-d') .
'.csv');
330 $log_actions = Actionlog::orderBy(
'created_at',
'DESC')
332 ->with(
'accessorylog')
336 ->orderBy(
'created_at',
'DESC')
339 return View::make(
'reports/activity', compact(
'log_actions'));
352 $licenses = License::orderBy(
'created_at',
'DESC')
356 return View::make(
'reports/licenses', compact(
'licenses'));
369 $licenses = License::orderBy(
'created_at',
'DESC')->get();
373 trans(
'admin/licenses/table.title'),
374 trans(
'admin/licenses/table.serial'),
375 trans(
'admin/licenses/form.seats'),
376 trans(
'admin/licenses/form.remaining_seats'),
377 trans(
'admin/licenses/form.expiration'),
378 trans(
'admin/licenses/form.date'),
379 trans(
'admin/licenses/form.cost')
382 $header = array_map(
'trim', $header);
383 $rows[] = implode($header,
', ');
386 foreach ($licenses as $license) {
388 $row[] = e($license->name);
389 $row[] = e($license->serial);
390 $row[] = e($license->seats);
391 $row[] = $license->remaincount();
392 $row[] = $license->expiration_date;
393 $row[] = $license->purchase_date;
394 $row[] =
'"' . number_format($license->purchase_cost, 2) .
'"';
396 $rows[] = implode($row,
',');
399 $csv = implode($rows,
"\n");
400 $response = Response::make($csv, 200);
401 $response->header(
'Content-Type',
'text/csv');
402 $response->header(
'Content-disposition',
'attachment;filename=report.csv');
418 return View::make(
'reports/custom');
431 $assets = Asset::orderBy(
'created_at',
'DESC')->get();
436 if (e(Input::get(
'asset_name')) ==
'1') {
437 $header[] =
'Asset Name';
439 if (e(Input::get(
'asset_tag')) ==
'1') {
440 $header[] =
'Asset Tag';
442 if (e(Input::get(
'manufacturer')) ==
'1') {
443 $header[] =
'Manufacturer';
445 if (e(Input::get(
'model')) ==
'1') {
447 $header[] =
'Model Number';
449 if (e(Input::get(
'category')) ==
'1') {
450 $header[] =
'Category';
452 if (e(Input::get(
'serial')) ==
'1') {
453 $header[] =
'Serial';
455 if (e(Input::get(
'purchase_date')) ==
'1') {
456 $header[] =
'Purchase Date';
458 if (( e(Input::get(
'purchase_cost')) ==
'1' ) && ( e(Input::get(
'depreciation')) !=
'1' )) {
459 $header[] =
'Purchase Cost';
461 if (e(Input::get(
'order')) ==
'1') {
462 $header[] =
'Order Number';
464 if (e(Input::get(
'supplier')) ==
'1') {
465 $header[] =
'Supplier';
467 if (e(Input::get(
'location')) ==
'1') {
468 $header[] =
'Location';
470 if (e(Input::get(
'assigned_to')) ==
'1') {
471 $header[] =
'Assigned To';
473 if (e(Input::get(
'status')) ==
'1') {
474 $header[] =
'Status';
476 if (e(Input::get(
'warranty')) ==
'1') {
477 $header[] =
'Warranty';
478 $header[] =
'Warranty Expires';
480 if (e(Input::get(
'depreciation')) ==
'1') {
481 $header[] =
'Purchase Cost';
486 $header = array_map(
'trim', $header);
487 $rows[] = implode($header,
',');
489 foreach ($assets as $asset) {
491 if (e(Input::get(
'asset_name')) ==
'1') {
492 $row[] =
'"' .e($asset->name) .
'"';
494 if (e(Input::get(
'asset_tag')) ==
'1') {
495 $row[] = e($asset->asset_tag);
497 if (e(Input::get(
'manufacturer')) ==
'1') {
498 if ($asset->model->manufacturer) {
499 $row[] =
'"' .e($asset->model->manufacturer->name) .
'"';
504 if (e(Input::get(
'model')) ==
'1') {
505 $row[] =
'"' . e($asset->model->name) .
'"';
506 $row[] =
'"' . e($asset->model->modelno) .
'"';
508 if (e(Input::get(
'category')) ==
'1') {
509 $row[] =
'"' .e($asset->model->category->name) .
'"';
512 if (e(Input::get(
'serial')) ==
'1') {
513 $row[] = e($asset->serial);
515 if (e(Input::get(
'purchase_date')) ==
'1') {
516 $row[] = e($asset->purchase_date);
518 if (e(Input::get(
'purchase_cost')) ==
'1' && ( e(Input::get(
'depreciation')) !=
'1' )) {
519 $row[] =
'"' . number_format($asset->purchase_cost, 2) .
'"';
521 if (e(Input::get(
'order')) ==
'1') {
522 if ($asset->order_number) {
523 $row[] = e($asset->order_number);
528 if (e(Input::get(
'supplier')) ==
'1') {
529 if ($asset->supplier_id) {
530 $row[] =
'"' .e($asset->supplier->name) .
'"';
535 if (e(Input::get(
'location')) ==
'1') {
537 if (( $asset->assigned_to > 0 ) && ( $asset->assigneduser->location_id !=
'' )) {
538 $location = Location::find($asset->assigneduser->location_id);
540 $show_loc .=
'"' .e($location->name).
'"';
542 $show_loc .=
'User location '.$asset->assigneduser->location_id.
' is invalid';
544 } elseif ($asset->rtd_location_id!=
'') {
545 $location = Location::find($asset->rtd_location_id);
547 $show_loc .=
'"' .e($location->name).
'"';
549 $show_loc .=
'Default location '.$asset->rtd_location_id.
' is invalid';
556 if (e(Input::get(
'assigned_to')) ==
'1') {
557 if ($asset->assigned_to > 0) {
558 $user = User::find($asset->assigned_to);
559 $row[] =
'"' .e($user->fullName()).
'"';
564 if (e(Input::get(
'status')) ==
'1') {
565 if (( $asset->status_id ==
'0' ) && ( $asset->assigned_to ==
'0' )) {
566 $row[] = trans(
'general.ready_to_deploy');
567 } elseif (( $asset->status_id ==
'' ) && ( $asset->assigned_to ==
'0' )) {
568 $row[] = trans(
'general.pending');
569 } elseif ($asset->assetstatus) {
570 $row[] =
'"' .e($asset->assetstatus->name).
'"';
575 if (e(Input::get(
'warranty')) ==
'1') {
576 if ($asset->warranty_months) {
577 $row[] = $asset->warranty_months;
578 $row[] = $asset->warrantee_expires();
584 if (e(Input::get(
'depreciation')) ==
'1') {
585 $depreciation = $asset->getDepreciatedValue();
586 $row[] =
'"' . number_format($asset->purchase_cost, 2) .
'"';
587 $row[] =
'"' . number_format($depreciation, 2) .
'"';
588 $row[] =
'"' . number_format($asset->purchase_cost - $depreciation, 2) .
'"';
590 $rows[] = implode($row,
',');
594 if (array_filter($rows)) {
595 $csv = implode($rows,
"\n");
596 $response = Response::make($csv, 200);
597 $response->header(
'Content-Type',
'text/csv');
598 $response->header(
'Content-disposition',
'attachment;filename=report.csv');
602 return Redirect::to(
"reports/custom")
603 ->with(
'error', trans(
'admin/reports/message.error'));
617 $assetMaintenances = AssetMaintenance::with(
'asset',
'supplier',
'asset.company')
618 ->orderBy(
'created_at',
'DESC')
621 return View::make(
'reports/asset_maintenances', compact(
'assetMaintenances'));
635 $assetMaintenances = AssetMaintenance::with(
'asset',
'supplier')
636 ->orderBy(
'created_at',
'DESC')
642 trans(
'admin/asset_maintenances/table.asset_name'),
643 trans(
'admin/asset_maintenances/table.supplier_name'),
644 trans(
'admin/asset_maintenances/form.asset_maintenance_type'),
645 trans(
'admin/asset_maintenances/form.title'),
646 trans(
'admin/asset_maintenances/form.start_date'),
647 trans(
'admin/asset_maintenances/form.completion_date'),
648 trans(
'admin/asset_maintenances/form.asset_maintenance_time'),
649 trans(
'admin/asset_maintenances/form.cost')
652 $header = array_map(
'trim', $header);
653 $rows[] = implode($header,
',');
655 foreach ($assetMaintenances as $assetMaintenance) {
657 $row[] = str_replace(
',',
'', e($assetMaintenance->asset->name));
658 $row[] = str_replace(
',',
'', e($assetMaintenance->supplier->name));
659 $row[] = e($assetMaintenance->improvement_type);
660 $row[] = e($assetMaintenance->title);
661 $row[] = e($assetMaintenance->start_date);
662 $row[] = e($assetMaintenance->completion_date);
663 if (is_null($assetMaintenance->asset_maintenance_time)) {
664 $improvementTime = intval(Carbon::now()
665 ->diffInDays(Carbon::parse($assetMaintenance->start_date)));
667 $improvementTime = intval($assetMaintenance->asset_maintenance_time);
669 $row[] = $improvementTime;
670 $row[] = trans(
'general.currency') . number_format($assetMaintenance->cost, 2);
671 $rows[] = implode($row,
',');
675 $csv = implode($rows,
"\n");
676 $response = Response::make($csv, 200);
677 $response->header(
'Content-Type',
'text/csv');
678 $response->header(
'Content-disposition',
'attachment;filename=report.csv');
692 $assetsForReport = Asset::notYetAccepted()->with(
'company')->get();
694 return View::make(
'reports/unaccepted_assets', compact(
'assetsForReport'));
714 trans(
'general.category'),
715 trans(
'admin/hardware/form.model'),
716 trans(
'admin/hardware/form.name'),
717 trans(
'admin/hardware/table.asset_tag'),
718 trans(
'admin/hardware/table.checkoutto'),
721 $header = array_map(
'trim', $header);
722 $rows[] = implode($header,
',');
724 foreach ($assetsForReport as $assetItem) {
726 $row[] = str_replace(
',',
'', e($assetItem->assetlog->model->category->name));
727 $row[] = str_replace(
',',
'', e($assetItem->assetlog->model->name));
728 $row[] = str_replace(
',',
'', e($assetItem->assetlog->showAssetName()));
729 $row[] = str_replace(
',',
'', e($assetItem->assetlog->asset_tag));
730 $row[] = str_replace(
',',
'', e($assetItem->assetlog->assigneduser->fullName()));
731 $rows[] = implode($row,
',');
735 $csv = implode($rows,
"\n");
736 $response = Response::make($csv, 200);
737 $response->header(
'Content-Type',
'text/csv');
738 $response->header(
'Content-disposition',
'attachment;filename=report.csv');
755 $assets = Asset::deployed()
756 ->inModelList($modelsInCategoriesThatRequireAcceptance)
761 return array_pluck($assets,
'id');
775 return array_pluck(Model::inCategory($assetCategoriesRequiringAcceptance)
791 return array_pluck(Category::requiresAcceptance()
821 return Asset::unaccepted();
getLicenseReport()
Displays license report.
exportAssetAcceptanceReport()
exportAssetAcceptanceReport
exportDeprecationReport()
Exports the depreciations to CSV.
getAssetMaintenancesReport()
getImprovementsReport
getCategoriesThatRequireAcceptance()
getCategoriesThatRequireAcceptance
getAssetsCheckedOutRequiringAcceptance()
getAssetsCheckedOutRequiringAcceptance
getCustomReport()
Returns a form that allows the user to generate a custom CSV report.
exportAccessoryReport()
Exports the accessories to CSV.
getAssetsReport()
Display asset report.
getAssetAcceptanceReport()
getAssetAcceptanceReport
This controller handles all actions related to Reports for the Snipe-IT Asset Management application...
exportLicenseReport()
Exports the licenses to CSV.
exportAssetReport()
Exports the assets to CSV.
getDeprecationReport()
Show depreciation report for assets.
getModelsInCategoriesThatRequireAcceptance($assetCategoriesRequiringAcceptance)
getModelsInCategoriesThatRequireAcceptance
getAccessoryReport()
Returns a view that displaysthe accessories report.
postCustom()
Exports the custom report to CSV.
getCheckedOutAssetsRequiringAcceptance($modelsInCategoriesThatRequireAcceptance)
getCheckedOutAssetsRequiringAcceptance
getActivityReport()
Displays activity report.
exportAssetMaintenancesReport()
exportImprovementsReport
getAssetsNotAcceptedYet()
getAssetsNotAcceptedYet