mirror of
https://github.com/snipe/snipe-it.git
synced 2024-12-25 05:34:06 -08:00
Merge pull request #10967 from veenone/fix/hide_optional_field_on_create_asset
Fixes #8155 - improve the workflow during asset creation
This commit is contained in:
commit
d70b36750c
|
@ -20,6 +20,7 @@ use Gate;
|
|||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Facades\Cache;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
use Illuminate\Support\Facades\Cookie;
|
||||
use Input;
|
||||
use Intervention\Image\Facades\Image;
|
||||
use League\Csv\Reader;
|
||||
|
@ -201,18 +202,36 @@ class AssetsController extends Controller
|
|||
}
|
||||
|
||||
$success = true;
|
||||
|
||||
// $cookie = Cookie::queue(Cookie::make('optional_info', $_POST['options'],$minutes));
|
||||
// $data = $request->session()->all();
|
||||
|
||||
// dd($_POST['options']);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
if ($success) {
|
||||
// Redirect to the asset listing page
|
||||
$minutes = 518400;
|
||||
// dd( $_POST['options']);
|
||||
// Cookie::queue(Cookie::make('optional_info', json_decode($_POST['options']), $minutes));
|
||||
return redirect()->route('hardware.index')
|
||||
->with('success', trans('admin/hardware/message.create.success'));
|
||||
->with('success', trans('admin/hardware/message.create.success'))
|
||||
->withCookie(cookie('optional_info',json_encode($_POST['options']),$minutes,null,null,null,false));
|
||||
|
||||
|
||||
}
|
||||
|
||||
return redirect()->back()->withInput()->withErrors($asset->getErrors());
|
||||
}
|
||||
|
||||
public function getOptionCookie(Request $request){
|
||||
$value = $request->cookie('optional_info');
|
||||
echo $value;
|
||||
return $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a view that presents a form to edit an existing asset.
|
||||
*
|
||||
|
|
|
@ -46,4 +46,6 @@ return [
|
|||
'asset_not_deployable' => 'That asset status is not deployable. This asset cannot be checked out.',
|
||||
'asset_deployable' => 'That status is deployable. This asset can be checked out.',
|
||||
'processing_spinner' => 'Processing...',
|
||||
'optional_infos' => 'Optional Information',
|
||||
'order_details' => 'Order Related Information'
|
||||
];
|
||||
|
|
|
@ -10,16 +10,16 @@
|
|||
|
||||
|
||||
{{-- Page content --}}
|
||||
|
||||
@section('inputFields')
|
||||
|
||||
@include ('partials.forms.edit.company-select', ['translated_name' => trans('general.company'), 'fieldname' => 'company_id'])
|
||||
|
||||
|
||||
<!-- {{Request::cookie('optional_info');}} -->
|
||||
<!-- Asset Tag -->
|
||||
<div class="form-group {{ $errors->has('asset_tag') ? ' has-error' : '' }}">
|
||||
<label for="asset_tag" class="col-md-3 control-label">{{ trans('admin/hardware/form.tag') }}</label>
|
||||
|
||||
|
||||
<!-- we are editing an existing asset -->
|
||||
@if ($item->id)
|
||||
<div class="col-md-7 col-sm-12{{ (Helper::checkIfRequired($item, 'asset_tag')) ? ' required' : '' }}">
|
||||
|
@ -41,78 +41,105 @@
|
|||
</div>
|
||||
@endif
|
||||
</div>
|
||||
@include ('partials.forms.edit.serial', ['fieldname'=> 'serials[1]', 'translated_serial' => trans('admin/hardware/form.serial')])
|
||||
|
||||
|
||||
<div class="input_fields_wrap">
|
||||
</div>
|
||||
|
||||
|
||||
@include ('partials.forms.edit.model-select', ['translated_name' => trans('admin/hardware/form.model'), 'fieldname' => 'model_id', 'field_req' => true])
|
||||
@include ('partials.forms.edit.serial', ['fieldname'=> 'serials[1]', 'translated_serial' => trans('admin/hardware/form.serial')])
|
||||
|
||||
|
||||
<div id='custom_fields_content'>
|
||||
<!-- Custom Fields -->
|
||||
@if ($item->model && $item->model->fieldset)
|
||||
<?php $model=$item->model; ?>
|
||||
@endif
|
||||
@if (Request::old('model_id'))
|
||||
<?php $model=\App\Models\AssetModel::find(Request::old('model_id')); ?>
|
||||
@elseif (isset($selected_model))
|
||||
<?php $model=$selected_model; ?>
|
||||
@endif
|
||||
@if (isset($model) && $model)
|
||||
@include("models/custom_fields_form",["model" => $model])
|
||||
@endif
|
||||
</div>
|
||||
@include ('partials.forms.edit.status', [ 'required' => 'true'])
|
||||
@if (!$item->id)
|
||||
@include ('partials.forms.checkout-selector', ['user_select' => 'true','asset_select' => 'true', 'location_select' => 'true', 'style' => 'display:none;'])
|
||||
@include ('partials.forms.edit.user-select', ['translated_name' => trans('admin/hardware/form.checkout_to'), 'fieldname' => 'assigned_user', 'style' => 'display:none;', 'required' => 'false'])
|
||||
@include ('partials.forms.edit.asset-select', ['translated_name' => trans('admin/hardware/form.checkout_to'), 'fieldname' => 'assigned_asset', 'style' => 'display:none;', 'required' => 'false'])
|
||||
@include ('partials.forms.edit.location-select', ['translated_name' => trans('admin/hardware/form.checkout_to'), 'fieldname' => 'assigned_location', 'style' => 'display:none;', 'required' => 'false'])
|
||||
@elseif (($item->assignedTo) && ($item->deleted_at==''))
|
||||
<!-- This is an asset and it's currently deployed, so let them edit the expected checkin date -->
|
||||
@include ('partials.forms.edit.datepicker', ['translated_name' => trans('admin/hardware/form.expected_checkin'),'fieldname' => 'expected_checkin'])
|
||||
@endif
|
||||
|
||||
@include ('partials.forms.edit.status', [ 'required' => 'true'])
|
||||
@if (!$item->id)
|
||||
@include ('partials.forms.checkout-selector', ['user_select' => 'true','asset_select' => 'true', 'location_select' => 'true', 'style' => 'display:none;'])
|
||||
@include ('partials.forms.edit.user-select', ['translated_name' => trans('admin/hardware/form.checkout_to'), 'fieldname' => 'assigned_user', 'style' => 'display:none;', 'required' => 'false'])
|
||||
@include ('partials.forms.edit.asset-select', ['translated_name' => trans('admin/hardware/form.checkout_to'), 'fieldname' => 'assigned_asset', 'style' => 'display:none;', 'required' => 'false'])
|
||||
@include ('partials.forms.edit.location-select', ['translated_name' => trans('admin/hardware/form.checkout_to'), 'fieldname' => 'assigned_location', 'style' => 'display:none;', 'required' => 'false'])
|
||||
@elseif (($item->assignedTo) && ($item->deleted_at==''))
|
||||
<!-- This is an asset and it's currently deployed, so let them edit the expected checkin date -->
|
||||
@include ('partials.forms.edit.datepicker', ['translated_name' => trans('admin/hardware/form.expected_checkin'),'fieldname' => 'expected_checkin'])
|
||||
@endif
|
||||
@include ('partials.forms.edit.notes')
|
||||
@include ('partials.forms.edit.location-select', ['translated_name' => trans('admin/hardware/form.default_location'), 'fieldname' => 'rtd_location_id'])
|
||||
@include ('partials.forms.edit.requestable', ['requestable_text' => trans('admin/hardware/general.requestable')])
|
||||
|
||||
@include ('partials.forms.edit.name', ['translated_name' => trans('admin/hardware/form.name')])
|
||||
@include ('partials.forms.edit.purchase_date')
|
||||
@include ('partials.forms.edit.supplier-select', ['translated_name' => trans('general.supplier'), 'fieldname' => 'supplier_id'])
|
||||
@include ('partials.forms.edit.order_number')
|
||||
<?php
|
||||
$currency_type=null;
|
||||
if ($item->id && $item->location) {
|
||||
$currency_type = $item->location->currency;
|
||||
}
|
||||
?>
|
||||
@include ('partials.forms.edit.purchase_cost', ['currency_type' => $currency_type])
|
||||
@include ('partials.forms.edit.warranty')
|
||||
@include ('partials.forms.edit.notes')
|
||||
<!-- Image -->
|
||||
@if ($item->image)
|
||||
<div class="form-group {{ $errors->has('image_delete') ? 'has-error' : '' }}">
|
||||
<label class="col-md-3 control-label" for="image_delete">{{ trans('general.image_delete') }}</label>
|
||||
<div class="col-md-5">
|
||||
<label class="control-label" for="image_delete">
|
||||
<input type="checkbox" value="1" name="image_delete" id="image_delete" class="minimal" {{ Request::old('image_delete') == '1' ? ' checked="checked"' : '' }}>
|
||||
{!! $errors->first('image_delete', '<span class="alert-msg">:message</span>') !!}
|
||||
</label>
|
||||
<div style="margin-top: 0.5em">
|
||||
<img src="{{ Storage::disk('public')->url(app('assets_upload_path').e($item->image)) }}" class="img-responsive" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@include ('partials.forms.edit.location-select', ['translated_name' => trans('admin/hardware/form.default_location'), 'fieldname' => 'rtd_location_id'])
|
||||
@include ('partials.forms.edit.image-upload')
|
||||
|
||||
<div id='custom_fields_content'>
|
||||
<!-- Custom Fields -->
|
||||
@if ($item->model && $item->model->fieldset)
|
||||
<?php $model=$item->model; ?>
|
||||
@endif
|
||||
@if (Request::old('model_id'))
|
||||
<?php $model=\App\Models\AssetModel::find(Request::old('model_id')); ?>
|
||||
@elseif (isset($selected_model))
|
||||
<?php $model=$selected_model; ?>
|
||||
@endif
|
||||
@if (isset($model) && $model)
|
||||
@include("models/custom_fields_form",["model" => $model])
|
||||
@endif
|
||||
</div>
|
||||
|
||||
@include ('partials.forms.edit.requestable', ['requestable_text' => trans('admin/hardware/general.requestable')])
|
||||
<div class="form-group" >
|
||||
<label class="col-md-3 control-label"></label>
|
||||
<div class="col-md-2 col-sm-2 text-left form-check" style="z-index:1;">
|
||||
|
||||
<!-- Image -->
|
||||
@if ($item->image)
|
||||
<div class="form-group {{ $errors->has('image_delete') ? 'has-error' : '' }}">
|
||||
<label class="col-md-3 control-label" for="image_delete">{{ trans('general.image_delete') }}</label>
|
||||
<div class="col-md-5">
|
||||
<label class="control-label" for="image_delete">
|
||||
<input type="checkbox" value="1" name="image_delete" id="image_delete" class="minimal" {{ Request::old('image_delete') == '1' ? ' checked="checked"' : '' }}>
|
||||
{!! $errors->first('image_delete', '<span class="alert-msg">:message</span>') !!}
|
||||
</label>
|
||||
<div style="margin-top: 0.5em">
|
||||
<img src="{{ Storage::disk('public')->url(app('assets_upload_path').e($item->image)) }}" class="img-responsive" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
<input class="form-check-input" type="checkbox" id="optional_info" name="options[]" value="optional" <?php if (!empty (json_decode(Cookie::get('optional_info')))) {if(in_array('optional',json_decode(Cookie::get('optional_info')))) {echo 'checked';} else {echo 'unchecked';}} else {echo 'unchecked';} ?>>
|
||||
<label class="form-check-label" for="flexCheckDefault">
|
||||
{{ trans('admin/hardware/form.optional_infos') }}
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div id="optional_details" class="col-md-12" style="display:none">
|
||||
@include ('partials.forms.edit.name', ['translated_name' => trans('admin/hardware/form.name')])
|
||||
@include ('partials.forms.edit.warranty')
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@include ('partials.forms.edit.image-upload')
|
||||
<div class="form-group">
|
||||
<label class="col-md-3 control-label"></label>
|
||||
<div class="col-md-2 col-sm-2 text-left form-check" style="z-index:2;">
|
||||
<input class="form-check-input" type="checkbox" id="order_info" name="options[]" value="order" <?php if (!empty (json_decode(Cookie::get('optional_info')))) {if(in_array('order',json_decode(Cookie::get('optional_info')))) {echo 'checked';} else {echo 'unchecked';}} else {echo 'unchecked';} ?>>
|
||||
<label class="form-check-label" for="flexCheckDefault">
|
||||
{{ trans('admin/hardware/form.order_details') }}
|
||||
</label>
|
||||
</div>
|
||||
|
||||
<div id='order_details' class="col-md-12" style="z-index:1;" style="display:none">
|
||||
@include ('partials.forms.edit.order_number')
|
||||
@include ('partials.forms.edit.purchase_date')
|
||||
@include ('partials.forms.edit.supplier-select', ['translated_name' => trans('general.supplier'), 'fieldname' => 'supplier_id'])
|
||||
|
||||
<?php
|
||||
$currency_type=null;
|
||||
if ($item->id && $item->location) {
|
||||
$currency_type = $item->location->currency;
|
||||
}
|
||||
?>
|
||||
@include ('partials.forms.edit.purchase_cost', ['currency_type' => $currency_type])
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@stop
|
||||
|
||||
@section('moar_scripts')
|
||||
|
@ -121,7 +148,6 @@
|
|||
|
||||
<script nonce="{{ csrf_token() }}">
|
||||
|
||||
|
||||
var transformed_oldvals={};
|
||||
|
||||
function fetchCustomFields() {
|
||||
|
@ -283,6 +309,42 @@
|
|||
})
|
||||
});
|
||||
|
||||
$(document).ready(function() {
|
||||
checkOrderDetailOption();
|
||||
checkOptionalOption();
|
||||
});
|
||||
|
||||
if ($('#order_info').is(":checked")){
|
||||
checkOrderDetailOption();
|
||||
}
|
||||
|
||||
$('#order_info').change(function(){
|
||||
checkOrderDetailOption();
|
||||
});
|
||||
|
||||
if ($('#optional_info').is(":checked")){
|
||||
checkOptionalOption();
|
||||
}
|
||||
|
||||
$('#optional_info').change(function(){
|
||||
checkOptionalOption();
|
||||
});
|
||||
|
||||
function checkOptionalOption(){
|
||||
if ($("#optional_info").prop('checked')==true) {
|
||||
$('#optional_details').show();
|
||||
} else {
|
||||
$('#optional_details').hide();
|
||||
}
|
||||
}
|
||||
|
||||
function checkOrderDetailOption(){
|
||||
if ($("#order_info").prop('checked')==true) {
|
||||
$('#order_details').show();
|
||||
} else {
|
||||
$('#order_details').hide();
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
@stop
|
||||
|
|
Loading…
Reference in a new issue