Compare commits

..

1 Commits

Author SHA1 Message Date
snipe 943a4093ad Use standard model transformer for asset model API response
Signed-off-by: snipe <snipe@snipe.net>
2025-07-10 15:42:39 +01:00
8 changed files with 26 additions and 43 deletions
@@ -154,7 +154,7 @@ class AssetModelsController extends Controller
$assetmodel = $request->handleImages($assetmodel);
if ($assetmodel->save()) {
return response()->json(Helper::formatStandardApiResponse('success', $assetmodel, trans('admin/models/message.create.success')));
return response()->json(Helper::formatStandardApiResponse('success', (new AssetModelsTransformer)->transformAssetModel($assetmodel), trans('admin/models/message.create.success')));
}
return response()->json(Helper::formatStandardApiResponse('error', null, $assetmodel->getErrors()));
@@ -207,7 +207,7 @@ class AssetModelsController extends Controller
$assetmodel = AssetModel::findOrFail($id);
$assetmodel->fill($request->all());
$assetmodel = $request->handleImages($assetmodel);
/**
* Allow custom_fieldset_id to override and populate fieldset_id.
* This is stupid, but required for legacy API support.
@@ -222,7 +222,7 @@ class AssetModelsController extends Controller
if ($assetmodel->save()) {
return response()->json(Helper::formatStandardApiResponse('success', $assetmodel, trans('admin/models/message.update.success')));
return response()->json(Helper::formatStandardApiResponse('success', (new AssetModelsTransformer)->transformAssetModel($assetmodel), trans('admin/models/message.update.success')));
}
return response()->json(Helper::formatStandardApiResponse('error', null, $assetmodel->getErrors()));
@@ -227,10 +227,7 @@ class AssetsController extends Controller
}
}
session()->put(['redirect_option' => $request->get('redirect_option'),
'checkout_to_type' => $request->get('checkout_to_type'),
'other_redirect' => 'model' ]);
session()->put(['redirect_option' => $request->get('redirect_option'), 'checkout_to_type' => $request->get('checkout_to_type')]);
if ($successes) {
@@ -40,6 +40,7 @@ class AssetsTransformer
] : null,
'byod' => ($asset->byod ? true : false),
'requestable' => ($asset->requestable ? true : false),
'model_number' => (($asset->model) && ($asset->model->model_number)) ? e($asset->model->model_number) : null,
'eol' => (($asset->asset_eol_date != '') && ($asset->purchase_date != '')) ? (int) Carbon::parse($asset->asset_eol_date)->diffInMonths($asset->purchase_date, true) . ' months' : null,
'asset_eol_date' => ($asset->asset_eol_date != '') ? Helper::getFormattedDateObject($asset->asset_eol_date, 'date') : null,
+16 -18
View File
@@ -121,24 +121,22 @@ class UsersTransformer
*/
public function transformUserCompact(User $user) : array
{
$array = [];
if (Gate::allows('view', $user) && ($user->deleted_at == '')) {
$array = [
'id' => (int) $user->id,
'image' => e($user->present()->gravatar) ?? null,
'type' => 'user',
'name' => e($user->getFullNameAttribute()),
'first_name' => e($user->first_name),
'last_name' => e($user->last_name),
'username' => e($user->username),
'created_by' => $user->adminuser ? [
'id' => (int) $user->adminuser->id,
'name'=> e($user->adminuser->present()->fullName),
]: null,
'created_at' => Helper::getFormattedDateObject($user->created_at, 'datetime'),
'deleted_at' => ($user->deleted_at) ? Helper::getFormattedDateObject($user->deleted_at, 'datetime') : null,
];
}
$array = [
'id' => (int) $user->id,
'image' => e($user->present()->gravatar) ?? null,
'type' => 'user',
'name' => e($user->getFullNameAttribute()),
'first_name' => e($user->first_name),
'last_name' => e($user->last_name),
'username' => e($user->username),
'created_by' => $user->adminuser ? [
'id' => (int) $user->adminuser->id,
'name'=> e($user->adminuser->present()->fullName),
]: null,
'created_at' => Helper::getFormattedDateObject($user->created_at, 'datetime'),
'deleted_at' => ($user->deleted_at) ? Helper::getFormattedDateObject($user->deleted_at, 'datetime') : null,
];
return $array;
}
+2 -2
View File
@@ -747,7 +747,7 @@ class Asset extends Depreciable
*/
public function adminuser()
{
return $this->belongsTo(\App\Models\User::class, 'created_by')->select(['id', 'first_name', 'last_name', 'username', 'created_at', 'created_by'])->withTrashed();
return $this->belongsTo(\App\Models\User::class, 'created_by');
}
@@ -773,7 +773,7 @@ class Asset extends Depreciable
*/
public function model()
{
return $this->belongsTo(\App\Models\AssetModel::class, 'model_id')->select(['id', 'name', 'model_number', 'manufacturer_id', 'category_id', 'created_at', 'created_by'])->withTrashed();
return $this->belongsTo(\App\Models\AssetModel::class, 'model_id')->withTrashed();
}
/**
+2 -12
View File
@@ -23,7 +23,6 @@ use Illuminate\Support\Str;
use Laravel\Passport\HasApiTokens;
use Watson\Validating\ValidatingTrait;
use Illuminate\Database\Eloquent\Casts\Attribute;
use App\Presenters\UserPresenter;
class User extends SnipeModel implements AuthenticatableContract, AuthorizableContract, CanResetPasswordContract, HasLocalePreference
{
@@ -31,7 +30,7 @@ class User extends SnipeModel implements AuthenticatableContract, AuthorizableCo
use CompanyableTrait;
use HasUploads;
protected $presenter = UserPresenter::class;
protected $presenter = \App\Presenters\UserPresenter::class;
use SoftDeletes, ValidatingTrait, Loggable;
use Authenticatable, Authorizable, CanResetPassword, HasApiTokens;
use UniqueUndeletedTrait;
@@ -39,16 +38,7 @@ class User extends SnipeModel implements AuthenticatableContract, AuthorizableCo
use Presentable;
use Searchable;
protected $hidden = [
'password',
'remember_token',
'permissions',
'reset_password_code',
'persist_code',
'two_factor_secret',
'activation_code',
];
protected $hidden = ['password', 'remember_token', 'permissions', 'reset_password_code', 'persist_code'];
protected $table = 'users';
protected $injectUniqueIdentifier = true;
@@ -118,8 +118,6 @@
<script nonce="{{ csrf_token() }}">
@if ($snipeSettings->require_accept_signature=='1')
var wrapper = document.getElementById("signature-pad"),
clearButton = wrapper.querySelector("[data-action=clear]"),
saveButton = wrapper.querySelector("[data-action=save]"),
@@ -157,7 +155,6 @@
$('#signature_output').val(signaturePad.toDataURL());
}
});
@endif
$('[name="asset_acceptance"]').on('change', function() {
+1 -1
View File
@@ -955,7 +955,7 @@
</strong>
</div>
<div class="col-md-9">
@if (($asset->purchase_date) && $asset->depreciated_date()))
@if ($asset->purchase_date)
{{ Helper::getFormattedDateObject($asset->depreciated_date()->format('Y-m-d'), 'date', false) }}
-
{{ Carbon::parse($asset->depreciated_date())->diffForHumans(['parts' => 2]) }}