Added relations to report search

Signed-off-by: snipe <snipe@snipe.net>
This commit is contained in:
snipe 2022-08-02 23:50:10 -07:00
parent b52c00d49b
commit 9acfceba29
3 changed files with 37 additions and 9 deletions

View file

@ -20,7 +20,7 @@ class ReportsController extends Controller
{
$this->authorize('reports.view');
$actionlogs = Actionlog::with('item', 'user', 'target', 'location');
$actionlogs = Actionlog::with('item', 'user', 'admin', 'target', 'location');
if ($request->filled('search')) {
$actionlogs = $actionlogs->TextSearch(e($request->input('search')));

View file

@ -95,11 +95,11 @@ class ActionlogsTransformer
'next_audit_date' => ($actionlog->itemType()=='asset') ? Helper::getFormattedDateObject($actionlog->calcNextAuditDate(null, $actionlog->item), 'date'): null,
'days_to_next_audit' => $actionlog->daysUntilNextAudit($settings->audit_interval, $actionlog->item),
'action_type' => $actionlog->present()->actionType(),
'admin' => ($actionlog->user) ? [
'id' => (int) $actionlog->user->id,
'name' => e($actionlog->user->getFullNameAttribute()),
'first_name'=> e($actionlog->user->first_name),
'last_name'=> e($actionlog->user->last_name)
'admin' => ($actionlog->admin) ? [
'id' => (int) $actionlog->admin->id,
'name' => e($actionlog->admin->getFullNameAttribute()),
'first_name'=> e($actionlog->admin->first_name),
'last_name'=> e($actionlog->admin->last_name)
] : null,
'target' => ($actionlog->target) ? [
'id' => (int) $actionlog->target->id,

View file

@ -43,7 +43,9 @@ class Actionlog extends SnipeModel
*/
protected $searchableRelations = [
'company' => ['name'],
'user' => ['first_name','last_name','username'],
'admin' => ['first_name','last_name','username', 'email'],
'user' => ['first_name','last_name','username', 'email'],
'assets' => ['asset_tag','name'],
];
/**
@ -95,6 +97,19 @@ class Actionlog extends SnipeModel
return $this->hasMany(\App\Models\Company::class, 'id', 'company_id');
}
/**
* Establishes the actionlog -> asset relationship
*
* @author [A. Gianotto] [<snipe@snipe.net>]
* @since [v3.0]
* @return \Illuminate\Database\Eloquent\Relations\Relation
*/
public function assets()
{
return $this->hasMany(\App\Models\Asset::class, 'id', 'item_id');
}
/**
* Establishes the actionlog -> item type relationship
*
@ -154,6 +169,19 @@ class Actionlog extends SnipeModel
return $this->target();
}
/**
* Establishes the actionlog -> admin user relationship
*
* @author [A. Gianotto] [<snipe@snipe.net>]
* @since [v3.0]
* @return \Illuminate\Database\Eloquent\Relations\Relation
*/
public function admin()
{
return $this->belongsTo(User::class, 'user_id')
->withTrashed();
}
/**
* Establishes the actionlog -> user relationship
*
@ -163,7 +191,7 @@ class Actionlog extends SnipeModel
*/
public function user()
{
return $this->belongsTo(User::class, 'user_id')
return $this->belongsTo(User::class, 'target_id')
->withTrashed();
}