mirror of
https://github.com/snipe/snipe-it.git
synced 2025-03-05 20:52:15 -08:00
Brings PR #6744 up to parity with previous changes - Set custom field's default value when creating a new asset using the API
Signed-off-by: snipe <snipe@snipe.net>
This commit is contained in:
parent
a1f9642a18
commit
df72f92bc0
|
@ -478,16 +478,39 @@ class AssetsController extends Controller
|
||||||
$model = AssetModel::find($request->get('model_id'));
|
$model = AssetModel::find($request->get('model_id'));
|
||||||
if (($model) && ($model->fieldset)) {
|
if (($model) && ($model->fieldset)) {
|
||||||
foreach ($model->fieldset->fields as $field) {
|
foreach ($model->fieldset->fields as $field) {
|
||||||
if ($field->field_encrypted=='1') {
|
|
||||||
|
// Set the field value based on what was sent in the request
|
||||||
|
$field_val = $request->input($field->convertUnicodeDbSlug(), null);
|
||||||
|
|
||||||
|
// If input value is null, use custom field's default value
|
||||||
|
if ($field_val == null) {
|
||||||
|
\Log::debug('Field value for '.$field->convertUnicodeDbSlug().' is null');
|
||||||
|
$field_val = $field->defaultValue($request->get('model_id'));
|
||||||
|
\Log::debug('Use the default fieldset value of '.$field->defaultValue($request->get('model_id')));
|
||||||
|
}
|
||||||
|
|
||||||
|
// if the field is set to encrypted, make sure we encrypt the value
|
||||||
|
if ($field->field_encrypted == '1') {
|
||||||
|
|
||||||
|
\Log::debug('This model field is encrypted in this fieldset.');
|
||||||
|
|
||||||
if (Gate::allows('admin')) {
|
if (Gate::allows('admin')) {
|
||||||
$asset->{$field->convertUnicodeDbSlug()} = \Crypt::encrypt($request->input($field->convertUnicodeDbSlug()));
|
|
||||||
}
|
// If input value is null, use custom field's default value
|
||||||
|
if (($field_val == null) && ($request->has('model_id')!='')){
|
||||||
|
$field_val = \Crypt::encrypt($field->defaultValue($request->get('model_id')));
|
||||||
} else {
|
} else {
|
||||||
$asset->{$field->convertUnicodeDbSlug()} = $request->input($field->convertUnicodeDbSlug());
|
$field_val = \Crypt::encrypt($request->input($field->convertUnicodeDbSlug()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
$asset->{$field->convertUnicodeDbSlug()} = $field_val;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ($asset->save()) {
|
if ($asset->save()) {
|
||||||
|
|
||||||
if ($request->get('assigned_user')) {
|
if ($request->get('assigned_user')) {
|
||||||
|
|
Loading…
Reference in a new issue