mirror of
https://github.com/snipe/snipe-it.git
synced 2024-12-26 06:04:08 -08:00
Ajax activity report
This commit is contained in:
parent
5d8c06bc30
commit
0962d770cf
|
@ -293,17 +293,109 @@ class ReportsController extends Controller
|
||||||
public function getActivityReport()
|
public function getActivityReport()
|
||||||
{
|
{
|
||||||
$log_actions = Actionlog::orderBy('created_at', 'DESC')
|
$log_actions = Actionlog::orderBy('created_at', 'DESC')
|
||||||
->with('adminlog')
|
->with('item')
|
||||||
->with('accessorylog')
|
|
||||||
->with('assetlog')
|
|
||||||
->with('licenselog')
|
|
||||||
->with('userlog')
|
|
||||||
->orderBy('created_at', 'DESC')
|
->orderBy('created_at', 'DESC')
|
||||||
->get();
|
->get();
|
||||||
|
|
||||||
return View::make('reports/activity', compact('log_actions'));
|
return View::make('reports/activity', compact('log_actions'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns Activity Report JSON.
|
||||||
|
*
|
||||||
|
* @author [A. Gianotto] [<snipe@snipe.net>]
|
||||||
|
* @since [v1.0]
|
||||||
|
* @return View
|
||||||
|
*/
|
||||||
|
public function getActivityReportDataTable()
|
||||||
|
{
|
||||||
|
$activitylogs = Actionlog::orderBy('created_at', 'DESC');
|
||||||
|
|
||||||
|
if (Input::has('search')) {
|
||||||
|
$activity = $activity->TextSearch(e(Input::get('search')));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Input::has('offset')) {
|
||||||
|
$offset = e(Input::get('offset'));
|
||||||
|
} else {
|
||||||
|
$offset = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Input::has('limit')) {
|
||||||
|
$limit = e(Input::get('limit'));
|
||||||
|
} else {
|
||||||
|
$limit = 50;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$allowed_columns = ['name','min_amt','order_number','purchase_date','purchase_cost','companyName','category'];
|
||||||
|
$order = Input::get('order') === 'asc' ? 'asc' : 'desc';
|
||||||
|
$sort = in_array(Input::get('sort'), $allowed_columns) ? e(Input::get('sort')) : 'created_at';
|
||||||
|
|
||||||
|
|
||||||
|
$activityCount = $activitylogs->count();
|
||||||
|
$activitylogs = $activitylogs->skip($offset)->take($limit)->get();
|
||||||
|
|
||||||
|
$rows = array();
|
||||||
|
|
||||||
|
foreach ($activitylogs as $activity) {
|
||||||
|
|
||||||
|
if ($activity->itemType() == "asset") {
|
||||||
|
$activity_icons = '<i class="fa fa-barcode"></i>';
|
||||||
|
} elseif ($activity->itemType() == "accessory") {
|
||||||
|
$activity_icons = '<i class="fa fa-keyboard-o"></i>';
|
||||||
|
} elseif ($activity->itemType()=="consumable") {
|
||||||
|
$activity_icons = '<i class="fa fa-tint"></i>';
|
||||||
|
} elseif ($activity->itemType()=="license"){
|
||||||
|
$activity_icons = '<i class="fa fa-floppy-o"></i>';
|
||||||
|
} elseif ($activity->itemType()=="component") {
|
||||||
|
$activity_icons = '<i class="fa fa-hdd-o"></i>';
|
||||||
|
} else {
|
||||||
|
$activity_icons = '<i class="fa fa-paperclip"></i>';
|
||||||
|
}
|
||||||
|
|
||||||
|
if (($activity->item) && ($activity->itemType()=="asset")) {
|
||||||
|
$actvity_item = '<a href="'.route('view/hardware', $activity->item_id).'">'.e($activity->item->asset_tag).' - '. e($activity->item->showAssetName()).'</a>';
|
||||||
|
$item_type = 'asset';
|
||||||
|
} elseif ($activity->item) {
|
||||||
|
$actvity_item = '<a href="'.route('view/'. $activity->itemType(), $activity->item_id).'">'.e($activity->item->name).'</a>';
|
||||||
|
$item_type = $activity->itemType();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
if (($activity->userasassetlog) && ($activity->action_type=="uploaded") && ($activity->itemType()=="user")) {
|
||||||
|
$activity_target = '<a href="'.route('view/user', $activity->target_id).'">'.$activity->userasassetlog->fullName().'</a>';
|
||||||
|
} elseif (($activity->item) && ($activity->target instanceof \App\Models\Asset)) {
|
||||||
|
$activity_target = '<a href="'.route('view/hardware', $activity->target_id).'">'.$activity->target->showAssetName().'</a>';
|
||||||
|
} elseif (($activity->item) && ($activity->target instanceof \App\Models\User)) {
|
||||||
|
$activity_target = '<a href="'.route('view/user', $activity->target_id).'">'.$activity->target->fullName().'</a>';
|
||||||
|
} elseif ($activity->action_type=='requested') {
|
||||||
|
$activity_target = '<a href="'.route('view/user', $activity->user_id).'">'.$activity->user->fullName().'</a>';
|
||||||
|
} else {
|
||||||
|
$activity_target = $activity->target;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$rows[] = array(
|
||||||
|
'icon' => $activity_icons,
|
||||||
|
'created_at' => date("M d, Y g:iA", strtotime($activity->created_at)),
|
||||||
|
'action_type' => strtolower(trans('general.'.str_replace(' ','_',$activity->action_type))),
|
||||||
|
'admin' => $activity->user ? (string) link_to('/admin/users/'.$activity->user_id.'/view', $activity->user->fullName()) : 'Deleted Admin',
|
||||||
|
'target' => $activity_target,
|
||||||
|
'item' => $actvity_item,
|
||||||
|
'item_type' => $item_type,
|
||||||
|
'note' => e($activity->note),
|
||||||
|
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
$data = array('total'=>$activityCount, 'rows'=>$rows);
|
||||||
|
|
||||||
|
return $data;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Displays license report
|
* Displays license report
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in a new issue