mirror of
https://github.com/snipe/snipe-it.git
synced 2024-12-25 13:44:06 -08:00
* Fixes #4445: prevents assigned assets from being checked out in bulk checkout * Updates data attribute to more versatile 'data-asset-status-type' * Fixes broken unit test
This commit is contained in:
parent
a2fef11016
commit
c4c520c1a3
|
@ -354,6 +354,9 @@ class AssetsController extends Controller
|
||||||
'assets.status_id'
|
'assets.status_id'
|
||||||
])->with('model', 'assetstatus', 'assignedTo')->NotArchived());
|
])->with('model', 'assetstatus', 'assignedTo')->NotArchived());
|
||||||
|
|
||||||
|
if ($request->has('assetStatusType') && $request->input('assetStatusType') === 'RTD') {
|
||||||
|
$assets = $assets->RTD();
|
||||||
|
}
|
||||||
|
|
||||||
if ($request->has('search')) {
|
if ($request->has('search')) {
|
||||||
$assets = $assets->AssignedSearch($request->input('search'));
|
$assets = $assets->AssignedSearch($request->input('search'));
|
||||||
|
|
|
@ -649,7 +649,7 @@ class Asset extends Depreciable
|
||||||
|
|
||||||
public function scopeRTD($query)
|
public function scopeRTD($query)
|
||||||
{
|
{
|
||||||
return $query->whereNULL('assigned_to')
|
return $query->whereNULL('assets.assigned_to')
|
||||||
->whereHas('assetstatus', function ($query) {
|
->whereHas('assetstatus', function ($query) {
|
||||||
$query->where('deployable', '=', 1)
|
$query->where('deployable', '=', 1)
|
||||||
->where('pending', '=', 0)
|
->where('pending', '=', 0)
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
public/css/dist/all.css
vendored
BIN
public/css/dist/all.css
vendored
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
public/js/dist/all.js
vendored
BIN
public/js/dist/all.js
vendored
Binary file not shown.
|
@ -1,14 +1,10 @@
|
||||||
{
|
{
|
||||||
"/js/build/vue.js": "/js/build/vue.js?id=88921ad9bb64a0915ebb",
|
"/js/build/vue.js": "/js/build/vue.js?id=b0a1e5b88633fe31d519",
|
||||||
"/css/AdminLTE.css": "/css/AdminLTE.css?id=5e72463a66acbcc740d5",
|
"/css/AdminLTE.css": "/css/AdminLTE.css?id=873655358c9cf6f3d557",
|
||||||
"/css/app.css": "/css/app.css?id=407edb63cc6b6dc62405",
|
"/css/app.css": "/css/app.css?id=0efd6c8bfb966ea55978",
|
||||||
"/css/overrides.css": "/css/overrides.css?id=c289c71c08df753ebc45",
|
"/css/overrides.css": "/css/overrides.css?id=f1b32a8f3214d14bbd76",
|
||||||
"/js/build/vue.js.map": "/js/build/vue.js.map?id=0b7679d18eb22094e3b7",
|
"/css/dist/all.css": "/css/dist/all.css?id=2e031623c0f385ac1e4a",
|
||||||
"/css/AdminLTE.css.map": "/css/AdminLTE.css.map?id=99f5a5a03c4155cf69f6",
|
"/js/dist/all.js": "/js/dist/all.js?id=cc7ceb552461b7599537",
|
||||||
"/css/app.css.map": "/css/app.css.map?id=bdbe05e6ecd70ccfac72",
|
"/css/build/all.css": "/css/build/all.css?id=2e031623c0f385ac1e4a",
|
||||||
"/css/overrides.css.map": "/css/overrides.css.map?id=898c91d4a425b01b589b",
|
"/js/build/all.js": "/js/build/all.js?id=cc7ceb552461b7599537"
|
||||||
"/css/dist/all.css": "/css/dist/all.css?id=e3ae07b03a1d53657a1e",
|
|
||||||
"/js/dist/all.js": "/js/dist/all.js?id=3f7017ebedf1da0319ef",
|
|
||||||
"/css/build/all.css": "/css/build/all.css?id=e3ae07b03a1d53657a1e",
|
|
||||||
"/js/build/all.js": "/js/build/all.js?id=3f7017ebedf1da0319ef"
|
|
||||||
}
|
}
|
|
@ -206,7 +206,8 @@ $(document).ready(function () {
|
||||||
data: function (params) {
|
data: function (params) {
|
||||||
var data = {
|
var data = {
|
||||||
search: params.term,
|
search: params.term,
|
||||||
page: params.page || 1
|
page: params.page || 1,
|
||||||
|
assetStatusType: link.data("asset-status-type"),
|
||||||
};
|
};
|
||||||
return data;
|
return data;
|
||||||
},
|
},
|
||||||
|
|
|
@ -68,7 +68,12 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
@include ('partials.forms.edit.asset-select', ['translated_name' => trans('general.assets'), 'fieldname' => 'selected_assets[]', 'multiple' => true])
|
@include ('partials.forms.edit.asset-select', [
|
||||||
|
'translated_name' => trans('general.assets'),
|
||||||
|
'fieldname' => 'selected_assets[]',
|
||||||
|
'multiple' => true,
|
||||||
|
'asset_status_type' => 'RTD',
|
||||||
|
])
|
||||||
|
|
||||||
|
|
||||||
</div> <!--./box-body-->
|
</div> <!--./box-body-->
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
<div id="assigned_asset" class="form-group{{ $errors->has($fieldname) ? ' has-error' : '' }}"{!! (isset($style)) ? ' style="'.e($style).'"' : '' !!}>
|
<div id="assigned_asset" class="form-group{{ $errors->has($fieldname) ? ' has-error' : '' }}"{!! (isset($style)) ? ' style="'.e($style).'"' : '' !!}>
|
||||||
{{ Form::label($fieldname, $translated_name, array('class' => 'col-md-3 control-label')) }}
|
{{ Form::label($fieldname, $translated_name, array('class' => 'col-md-3 control-label')) }}
|
||||||
<div class="col-md-7{{ ((isset($required) && ($required =='true'))) ? ' required' : '' }}">
|
<div class="col-md-7{{ ((isset($required) && ($required =='true'))) ? ' required' : '' }}">
|
||||||
<select class="js-data-ajax select2" data-endpoint="hardware" name="{{ $fieldname }}" style="width: 100%" id="assigned_asset_select"{{ (isset($multiple)) ? ' multiple="multiple"' : '' }}>
|
<select class="js-data-ajax select2" data-endpoint="hardware" name="{{ $fieldname }}" style="width: 100%" id="assigned_asset_select"{{ (isset($multiple)) ? ' multiple' : '' }}{!! (!empty($asset_status_type)) ? ' data-asset-status-type="' . $asset_status_type . '"' : '' !!}>
|
||||||
|
|
||||||
@if ((!isset($unselect)) && ($asset_id = Input::old($fieldname, (isset($asset) ? $asset->id : (isset($item) ? $item->{$fieldname} : '')))))
|
@if ((!isset($unselect)) && ($asset_id = Input::old($fieldname, (isset($asset) ? $asset->id : (isset($item) ? $item->{$fieldname} : '')))))
|
||||||
<option value="{{ $asset_id }}" selected="selected">
|
<option value="{{ $asset_id }}" selected="selected">
|
||||||
|
|
|
@ -20,7 +20,7 @@ class CustomFieldTest extends BaseTest
|
||||||
|
|
||||||
public function testFormat()
|
public function testFormat()
|
||||||
{
|
{
|
||||||
$customfield = factory(CustomField::class)->make();
|
$customfield = factory(CustomField::class)->make(['format' => 'IP']);
|
||||||
$values = [
|
$values = [
|
||||||
'name' => $customfield->name,
|
'name' => $customfield->name,
|
||||||
'format' => $customfield->format,
|
'format' => $customfield->format,
|
||||||
|
|
Loading…
Reference in a new issue