mirror of
https://github.com/snipe/snipe-it.git
synced 2025-03-05 20:52:15 -08:00
Merge branch 'develop' into snipeit_v7_laravel10
This commit is contained in:
commit
daed0b60bc
|
@ -235,7 +235,7 @@ class ComponentsController extends Controller
|
||||||
$this->authorize('checkout', $component);
|
$this->authorize('checkout', $component);
|
||||||
|
|
||||||
$validator = Validator::make($request->all(), [
|
$validator = Validator::make($request->all(), [
|
||||||
'asset_id' => 'required|exists:assets,id',
|
'assigned_to' => 'required|exists:assets,id',
|
||||||
'assigned_qty' => "required|numeric|min:1|digits_between:1,".$component->numRemaining(),
|
'assigned_qty' => "required|numeric|min:1|digits_between:1,".$component->numRemaining(),
|
||||||
]);
|
]);
|
||||||
|
|
||||||
|
|
|
@ -639,10 +639,16 @@ class ReportsController extends Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
if (($request->filled('created_start')) && ($request->filled('created_end'))) {
|
if (($request->filled('created_start')) && ($request->filled('created_end'))) {
|
||||||
$assets->whereBetween('assets.created_at', [$request->input('created_start'), $request->input('created_end')]);
|
$created_start = \Carbon::parse($request->input('created_start'))->startOfDay();
|
||||||
|
$created_end = \Carbon::parse($request->input('created_end'))->endOfDay();
|
||||||
|
|
||||||
|
$assets->whereBetween('assets.created_at', [$created_start, $created_end]);
|
||||||
}
|
}
|
||||||
if (($request->filled('checkout_date_start')) && ($request->filled('checkout_date_end'))) {
|
if (($request->filled('checkout_date_start')) && ($request->filled('checkout_date_end'))) {
|
||||||
$assets->whereBetween('assets.last_checkout', [$request->input('checkout_date_start'), $request->input('checkout_date_end')]);
|
$checkout_start = \Carbon::parse($request->input('checkout_date_start'))->startOfDay();
|
||||||
|
$checkout_end = \Carbon::parse($request->input('checkout_date_end'))->endOfDay();
|
||||||
|
|
||||||
|
$assets->whereBetween('assets.last_checkout', [$checkout_start, $checkout_end]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (($request->filled('expected_checkin_start')) && ($request->filled('expected_checkin_end'))) {
|
if (($request->filled('expected_checkin_start')) && ($request->filled('expected_checkin_end'))) {
|
||||||
|
@ -650,7 +656,10 @@ class ReportsController extends Controller
|
||||||
}
|
}
|
||||||
|
|
||||||
if (($request->filled('last_audit_start')) && ($request->filled('last_audit_end'))) {
|
if (($request->filled('last_audit_start')) && ($request->filled('last_audit_end'))) {
|
||||||
$assets->whereBetween('assets.last_audit_date', [$request->input('last_audit_start'), $request->input('last_audit_end')]);
|
$last_audit_start = \Carbon::parse($request->input('last_audit_start'))->startOfDay();
|
||||||
|
$last_audit_end = \Carbon::parse($request->input('last_audit_end'))->endOfDay();
|
||||||
|
|
||||||
|
$assets->whereBetween('assets.last_audit_date', [$last_audit_start, $last_audit_end]);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (($request->filled('next_audit_start')) && ($request->filled('next_audit_end'))) {
|
if (($request->filled('next_audit_start')) && ($request->filled('next_audit_end'))) {
|
||||||
|
|
|
@ -102,10 +102,10 @@ class AssetsTransformer
|
||||||
foreach ($asset->model->fieldset->fields as $field) {
|
foreach ($asset->model->fieldset->fields as $field) {
|
||||||
if ($field->isFieldDecryptable($asset->{$field->db_column})) {
|
if ($field->isFieldDecryptable($asset->{$field->db_column})) {
|
||||||
$decrypted = Helper::gracefulDecrypt($field, $asset->{$field->db_column});
|
$decrypted = Helper::gracefulDecrypt($field, $asset->{$field->db_column});
|
||||||
$value = (Gate::allows('superadmin')) ? $decrypted : strtoupper(trans('admin/custom_fields/general.encrypted'));
|
$value = (Gate::allows('assets.view.encrypted_custom_fields')) ? $decrypted : strtoupper(trans('admin/custom_fields/general.encrypted'));
|
||||||
|
|
||||||
if ($field->format == 'DATE'){
|
if ($field->format == 'DATE'){
|
||||||
if (Gate::allows('superadmin')){
|
if (Gate::allows('assets.view.encrypted_custom_fields')){
|
||||||
$value = Helper::getFormattedDateObject($value, 'date', false);
|
$value = Helper::getFormattedDateObject($value, 'date', false);
|
||||||
} else {
|
} else {
|
||||||
$value = strtoupper(trans('admin/custom_fields/general.encrypted'));
|
$value = strtoupper(trans('admin/custom_fields/general.encrypted'));
|
||||||
|
|
|
@ -146,6 +146,11 @@ class AuthServiceProvider extends ServiceProvider
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
Gate::define('assets.view.encrypted_custom_fields', function ($user) {
|
||||||
|
if($user->hasAccess('assets.view.encrypted_custom_fields')){
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
// -----------------------------------------
|
// -----------------------------------------
|
||||||
// Reports
|
// Reports
|
||||||
|
|
|
@ -106,6 +106,13 @@ return [
|
||||||
'display' => true,
|
'display' => true,
|
||||||
],
|
],
|
||||||
|
|
||||||
|
[
|
||||||
|
'permission' => 'assets.view.encrypted_custom_fields',
|
||||||
|
'label' => 'View and Modify Encrypted Custom Fields',
|
||||||
|
'note' => '',
|
||||||
|
'display' => true,
|
||||||
|
],
|
||||||
|
|
||||||
],
|
],
|
||||||
|
|
||||||
'Accessories' => [
|
'Accessories' => [
|
||||||
|
|
17
package-lock.json
generated
17
package-lock.json
generated
|
@ -15,7 +15,7 @@
|
||||||
"bootstrap-colorpicker": "^2.5.3",
|
"bootstrap-colorpicker": "^2.5.3",
|
||||||
"bootstrap-datepicker": "^1.10.0",
|
"bootstrap-datepicker": "^1.10.0",
|
||||||
"bootstrap-less": "^3.3.8",
|
"bootstrap-less": "^3.3.8",
|
||||||
"bootstrap-table": "1.22.0",
|
"bootstrap-table": "1.22.1",
|
||||||
"chart.js": "^2.9.4",
|
"chart.js": "^2.9.4",
|
||||||
"css-loader": "^4.0.0",
|
"css-loader": "^4.0.0",
|
||||||
"ekko-lightbox": "^5.1.1",
|
"ekko-lightbox": "^5.1.1",
|
||||||
|
@ -32,7 +32,7 @@
|
||||||
"papaparse": "^4.3.3",
|
"papaparse": "^4.3.3",
|
||||||
"select2": "4.0.13",
|
"select2": "4.0.13",
|
||||||
"sheetjs": "^2.0.0",
|
"sheetjs": "^2.0.0",
|
||||||
"tableexport.jquery.plugin": "1.27.0",
|
"tableexport.jquery.plugin": "1.28.0",
|
||||||
"tether": "^1.4.0",
|
"tether": "^1.4.0",
|
||||||
"vue-resource": "^1.5.2",
|
"vue-resource": "^1.5.2",
|
||||||
"webpack": "^5.87.0"
|
"webpack": "^5.87.0"
|
||||||
|
@ -3532,9 +3532,9 @@
|
||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/bootstrap-table": {
|
"node_modules/bootstrap-table": {
|
||||||
"version": "1.22.0",
|
"version": "1.22.1",
|
||||||
"resolved": "https://registry.npmjs.org/bootstrap-table/-/bootstrap-table-1.22.0.tgz",
|
"resolved": "https://registry.npmjs.org/bootstrap-table/-/bootstrap-table-1.22.1.tgz",
|
||||||
"integrity": "sha512-N1MLgPcIOa9cfwr7CaoLOekKJ9nHq/z8lk6LsC3mLUZq77VeMC/vTh+EqN7+iT8JADmoAsX7RqQbYfVxF9ZCig==",
|
"integrity": "sha512-Nw8p+BmaiMDSfoer/p49YeI3vJQAWhudxhyKMuqnJBb3NRvCRewMk7JDgiN9SQO3YeSejOirKtcdWpM0dtddWg==",
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"jquery": "3"
|
"jquery": "3"
|
||||||
}
|
}
|
||||||
|
@ -10406,10 +10406,11 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/tableexport.jquery.plugin": {
|
"node_modules/tableexport.jquery.plugin": {
|
||||||
"version": "1.27.0",
|
"version": "1.28.0",
|
||||||
"license": "MIT",
|
"resolved": "https://registry.npmjs.org/tableexport.jquery.plugin/-/tableexport.jquery.plugin-1.28.0.tgz",
|
||||||
|
"integrity": "sha512-ydDjOhw8A+LOu+801zPXDeMF8MoU1q2HtS2msphCuny0tdXgbXG9GJfA4ll1hBs0ABiAnOaVVZaRuxBmW/qHtw==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"file-saver": ">=2.0.1",
|
"file-saver": ">=2.0.4",
|
||||||
"html2canvas": ">=1.0.0",
|
"html2canvas": ">=1.0.0",
|
||||||
"jquery": ">=3.2.1",
|
"jquery": ">=3.2.1",
|
||||||
"jspdf": ">=2.0.0",
|
"jspdf": ">=2.0.0",
|
||||||
|
|
|
@ -34,7 +34,7 @@
|
||||||
"bootstrap-colorpicker": "^2.5.3",
|
"bootstrap-colorpicker": "^2.5.3",
|
||||||
"bootstrap-datepicker": "^1.10.0",
|
"bootstrap-datepicker": "^1.10.0",
|
||||||
"bootstrap-less": "^3.3.8",
|
"bootstrap-less": "^3.3.8",
|
||||||
"bootstrap-table": "1.22.0",
|
"bootstrap-table": "1.22.1",
|
||||||
"chart.js": "^2.9.4",
|
"chart.js": "^2.9.4",
|
||||||
"css-loader": "^4.0.0",
|
"css-loader": "^4.0.0",
|
||||||
"ekko-lightbox": "^5.1.1",
|
"ekko-lightbox": "^5.1.1",
|
||||||
|
@ -51,7 +51,7 @@
|
||||||
"papaparse": "^4.3.3",
|
"papaparse": "^4.3.3",
|
||||||
"select2": "4.0.13",
|
"select2": "4.0.13",
|
||||||
"sheetjs": "^2.0.0",
|
"sheetjs": "^2.0.0",
|
||||||
"tableexport.jquery.plugin": "1.27.0",
|
"tableexport.jquery.plugin": "1.28.0",
|
||||||
"tether": "^1.4.0",
|
"tether": "^1.4.0",
|
||||||
"vue-resource": "^1.5.2",
|
"vue-resource": "^1.5.2",
|
||||||
"webpack": "^5.87.0"
|
"webpack": "^5.87.0"
|
||||||
|
|
|
@ -410,7 +410,7 @@
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
@if ($field->isFieldDecryptable($asset->{$field->db_column_name()} ))
|
@if ($field->isFieldDecryptable($asset->{$field->db_column_name()} ))
|
||||||
@can('superuser')
|
@can('assets.view.encrypted_custom_fields')
|
||||||
@if (($field->format=='URL') && ($asset->{$field->db_column_name()}!=''))
|
@if (($field->format=='URL') && ($asset->{$field->db_column_name()}!=''))
|
||||||
<a href="{{ Helper::gracefulDecrypt($field, $asset->{$field->db_column_name()}) }}" target="_new">{{ Helper::gracefulDecrypt($field, $asset->{$field->db_column_name()}) }}</a>
|
<a href="{{ Helper::gracefulDecrypt($field, $asset->{$field->db_column_name()}) }}" target="_new">{{ Helper::gracefulDecrypt($field, $asset->{$field->db_column_name()}) }}</a>
|
||||||
@elseif (($field->format=='DATE') && ($asset->{$field->db_column_name()}!=''))
|
@elseif (($field->format=='DATE') && ($asset->{$field->db_column_name()}!=''))
|
||||||
|
|
|
@ -53,7 +53,7 @@
|
||||||
|
|
||||||
|
|
||||||
@else
|
@else
|
||||||
@if (($field->field_encrypted=='0') || (Gate::allows('admin')))
|
@if (($field->field_encrypted=='0') || (Gate::allows('assets.view.encrypted_custom_fields')))
|
||||||
<input type="text" value="{{ Request::old($field->db_column_name(),(isset($item) ? Helper::gracefulDecrypt($field, $item->{$field->db_column_name()}) : $field->defaultValue($model->id))) }}" id="{{ $field->db_column_name() }}" class="form-control" name="{{ $field->db_column_name() }}" placeholder="Enter {{ strtolower($field->format) }} text">
|
<input type="text" value="{{ Request::old($field->db_column_name(),(isset($item) ? Helper::gracefulDecrypt($field, $item->{$field->db_column_name()}) : $field->defaultValue($model->id))) }}" id="{{ $field->db_column_name() }}" class="form-control" name="{{ $field->db_column_name() }}" placeholder="Enter {{ strtolower($field->format) }} text">
|
||||||
@else
|
@else
|
||||||
<input type="text" value="{{ strtoupper(trans('admin/custom_fields/general.encrypted')) }}" class="form-control disabled" disabled>
|
<input type="text" value="{{ strtoupper(trans('admin/custom_fields/general.encrypted')) }}" class="form-control disabled" disabled>
|
||||||
|
|
Loading…
Reference in a new issue