mirror of
https://github.com/grokability/snipe-it.git
synced 2026-03-12 17:52:00 +08:00
Merge branch 'develop' into livewire4
This commit is contained in:
@@ -113,7 +113,7 @@ class UploadedFilesController extends Controller
|
||||
$object->logUpload($file_name, $request->input('notes'));
|
||||
}
|
||||
|
||||
if ($files) {
|
||||
if (isset($files)) {
|
||||
$file_results = Actionlog::select('action_logs.*')->where('action_type', '=', 'uploaded')
|
||||
->where('item_type', '=', self::$map_object_type[$object_type])
|
||||
->where('item_id', '=', $id)->whereIn('filename', $files)
|
||||
|
||||
@@ -56,7 +56,7 @@ class UsersController extends Controller
|
||||
public function create(Request $request)
|
||||
{
|
||||
$this->authorize('create', User::class);
|
||||
$groups = Group::pluck('name', 'id');
|
||||
$groups = Group::orderBy('name', 'asc')->pluck('name', 'id');
|
||||
|
||||
$userGroups = collect();
|
||||
|
||||
@@ -151,7 +151,9 @@ class UsersController extends Controller
|
||||
}
|
||||
|
||||
if ($request->filled('groups')) {
|
||||
$user->groups()->sync($request->input('groups'));
|
||||
if (auth()->user()->can('canEditAuthFields', $user) && auth()->user()->can('editableOnDemo')) {
|
||||
$user->groups()->sync($request->input('groups'));
|
||||
}
|
||||
} else {
|
||||
$user->groups()->sync([]);
|
||||
}
|
||||
@@ -199,7 +201,7 @@ class UsersController extends Controller
|
||||
}
|
||||
|
||||
$permissions = config('permissions');
|
||||
$groups = Group::pluck('name', 'id');
|
||||
$groups = Group::orderBy('name', 'asc')->pluck('name', 'id');
|
||||
|
||||
$userGroups = $user->groups()->pluck('name', 'id');
|
||||
$user->permissions = $user->decodePermissions();
|
||||
|
||||
78
composer.lock
generated
78
composer.lock
generated
@@ -5067,16 +5067,16 @@
|
||||
},
|
||||
{
|
||||
"name": "nikic/php-parser",
|
||||
"version": "v5.6.1",
|
||||
"version": "v5.7.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/nikic/PHP-Parser.git",
|
||||
"reference": "f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2"
|
||||
"reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2",
|
||||
"reference": "f103601b29efebd7ff4a1ca7b3eeea9e3336a2a2",
|
||||
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/dca41cd15c2ac9d055ad70dbfd011130757d1f82",
|
||||
"reference": "dca41cd15c2ac9d055ad70dbfd011130757d1f82",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -5119,9 +5119,9 @@
|
||||
],
|
||||
"support": {
|
||||
"issues": "https://github.com/nikic/PHP-Parser/issues",
|
||||
"source": "https://github.com/nikic/PHP-Parser/tree/v5.6.1"
|
||||
"source": "https://github.com/nikic/PHP-Parser/tree/v5.7.0"
|
||||
},
|
||||
"time": "2025-08-13T20:13:15+00:00"
|
||||
"time": "2025-12-06T11:56:16+00:00"
|
||||
},
|
||||
{
|
||||
"name": "nunomaduro/collision",
|
||||
@@ -7495,16 +7495,16 @@
|
||||
},
|
||||
{
|
||||
"name": "sebastian/comparator",
|
||||
"version": "5.0.4",
|
||||
"version": "5.0.5",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/comparator.git",
|
||||
"reference": "e8e53097718d2b53cfb2aa859b06a41abf58c62e"
|
||||
"reference": "55dfef806eb7dfeb6e7a6935601fef866f8ca48d"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/e8e53097718d2b53cfb2aa859b06a41abf58c62e",
|
||||
"reference": "e8e53097718d2b53cfb2aa859b06a41abf58c62e",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/55dfef806eb7dfeb6e7a6935601fef866f8ca48d",
|
||||
"reference": "55dfef806eb7dfeb6e7a6935601fef866f8ca48d",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -7560,7 +7560,7 @@
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/comparator/issues",
|
||||
"security": "https://github.com/sebastianbergmann/comparator/security/policy",
|
||||
"source": "https://github.com/sebastianbergmann/comparator/tree/5.0.4"
|
||||
"source": "https://github.com/sebastianbergmann/comparator/tree/5.0.5"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -7580,7 +7580,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2025-09-07T05:25:07+00:00"
|
||||
"time": "2026-01-24T09:25:16+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/diff",
|
||||
@@ -7651,16 +7651,16 @@
|
||||
},
|
||||
{
|
||||
"name": "sebastian/exporter",
|
||||
"version": "5.1.2",
|
||||
"version": "5.1.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/exporter.git",
|
||||
"reference": "955288482d97c19a372d3f31006ab3f37da47adf"
|
||||
"reference": "0735b90f4da94969541dac1da743446e276defa6"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/955288482d97c19a372d3f31006ab3f37da47adf",
|
||||
"reference": "955288482d97c19a372d3f31006ab3f37da47adf",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/0735b90f4da94969541dac1da743446e276defa6",
|
||||
"reference": "0735b90f4da94969541dac1da743446e276defa6",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -7669,7 +7669,7 @@
|
||||
"sebastian/recursion-context": "^5.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "^10.0"
|
||||
"phpunit/phpunit": "^10.5"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
@@ -7717,15 +7717,27 @@
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/exporter/issues",
|
||||
"security": "https://github.com/sebastianbergmann/exporter/security/policy",
|
||||
"source": "https://github.com/sebastianbergmann/exporter/tree/5.1.2"
|
||||
"source": "https://github.com/sebastianbergmann/exporter/tree/5.1.4"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
"url": "https://github.com/sebastianbergmann",
|
||||
"type": "github"
|
||||
},
|
||||
{
|
||||
"url": "https://liberapay.com/sebastianbergmann",
|
||||
"type": "liberapay"
|
||||
},
|
||||
{
|
||||
"url": "https://thanks.dev/u/gh/sebastianbergmann",
|
||||
"type": "thanks_dev"
|
||||
},
|
||||
{
|
||||
"url": "https://tidelift.com/funding/github/packagist/sebastian/exporter",
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2024-03-02T07:17:12+00:00"
|
||||
"time": "2025-09-24T06:09:11+00:00"
|
||||
},
|
||||
{
|
||||
"name": "sebastian/recursion-context",
|
||||
@@ -14245,16 +14257,16 @@
|
||||
},
|
||||
{
|
||||
"name": "phpunit/phpunit",
|
||||
"version": "10.5.55",
|
||||
"version": "10.5.63",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/sebastianbergmann/phpunit.git",
|
||||
"reference": "4b2d546b336876bd9562f24641b08a25335b06b6"
|
||||
"reference": "33198268dad71e926626b618f3ec3966661e4d90"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/4b2d546b336876bd9562f24641b08a25335b06b6",
|
||||
"reference": "4b2d546b336876bd9562f24641b08a25335b06b6",
|
||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/33198268dad71e926626b618f3ec3966661e4d90",
|
||||
"reference": "33198268dad71e926626b618f3ec3966661e4d90",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -14275,10 +14287,10 @@
|
||||
"phpunit/php-timer": "^6.0.0",
|
||||
"sebastian/cli-parser": "^2.0.1",
|
||||
"sebastian/code-unit": "^2.0.0",
|
||||
"sebastian/comparator": "^5.0.4",
|
||||
"sebastian/comparator": "^5.0.5",
|
||||
"sebastian/diff": "^5.1.1",
|
||||
"sebastian/environment": "^6.1.0",
|
||||
"sebastian/exporter": "^5.1.2",
|
||||
"sebastian/exporter": "^5.1.4",
|
||||
"sebastian/global-state": "^6.0.2",
|
||||
"sebastian/object-enumerator": "^5.0.0",
|
||||
"sebastian/recursion-context": "^5.0.1",
|
||||
@@ -14326,7 +14338,7 @@
|
||||
"support": {
|
||||
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
|
||||
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
|
||||
"source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.55"
|
||||
"source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.63"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -14350,7 +14362,7 @@
|
||||
"type": "tidelift"
|
||||
}
|
||||
],
|
||||
"time": "2025-09-14T06:19:20+00:00"
|
||||
"time": "2026-01-27T05:48:37+00:00"
|
||||
},
|
||||
{
|
||||
"name": "react/cache",
|
||||
@@ -16454,16 +16466,16 @@
|
||||
},
|
||||
{
|
||||
"name": "theseer/tokenizer",
|
||||
"version": "1.2.3",
|
||||
"version": "1.3.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/theseer/tokenizer.git",
|
||||
"reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2"
|
||||
"reference": "b7489ce515e168639d17feec34b8847c326b0b3c"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2",
|
||||
"reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2",
|
||||
"url": "https://api.github.com/repos/theseer/tokenizer/zipball/b7489ce515e168639d17feec34b8847c326b0b3c",
|
||||
"reference": "b7489ce515e168639d17feec34b8847c326b0b3c",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -16492,7 +16504,7 @@
|
||||
"description": "A small library for converting tokenized PHP source code into XML and potentially other formats",
|
||||
"support": {
|
||||
"issues": "https://github.com/theseer/tokenizer/issues",
|
||||
"source": "https://github.com/theseer/tokenizer/tree/1.2.3"
|
||||
"source": "https://github.com/theseer/tokenizer/tree/1.3.1"
|
||||
},
|
||||
"funding": [
|
||||
{
|
||||
@@ -16500,7 +16512,7 @@
|
||||
"type": "github"
|
||||
}
|
||||
],
|
||||
"time": "2024-03-03T12:36:25+00:00"
|
||||
"time": "2025-11-17T20:03:58+00:00"
|
||||
}
|
||||
],
|
||||
"aliases": [],
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
<?php
|
||||
return array (
|
||||
'app_version' => 'v8.3.7',
|
||||
'full_app_version' => 'v8.3.7 - build 20803-gdba8cb83b',
|
||||
'build_version' => '20803',
|
||||
'full_app_version' => 'v8.3.7 - build 21025-ga8c268760',
|
||||
'build_version' => '21025',
|
||||
'prerelease_version' => '',
|
||||
'hash_version' => 'gdba8cb83b',
|
||||
'full_hash' => 'v8.3.7-250-gdba8cb83b',
|
||||
'hash_version' => 'ga8c268760',
|
||||
'full_hash' => 'v8.3.7-220-ga8c268760',
|
||||
'branch' => 'develop',
|
||||
);
|
||||
@@ -402,6 +402,7 @@ return [
|
||||
'select_template' => 'Select a Template',
|
||||
'label2_fields' => 'Field Definitions',
|
||||
'label2_fields_help' => 'Fields can be added, removed, and reordered in the left column. For each field, multiple options for Label and DataSource can be added, removed, and reordered in the right column. Field changes made here will be reflected immediately in the preview below but must be saved for them to apply to new labels.',
|
||||
"label2_label_preview" => 'Label Preview',
|
||||
'purge_barcodes' => 'Purge Barcodes',
|
||||
'help_asterisk_bold' => 'Text entered as <code>**text**</code> will be displayed as bold',
|
||||
'help_blank_to_use' => 'Leave blank to use the value from <code>:setting_name</code>',
|
||||
|
||||
@@ -51,11 +51,11 @@
|
||||
|
||||
@if ($api_url)
|
||||
data-side-pagination="server"
|
||||
data-url="{!! $api_url !!}"
|
||||
data-url="{!! $api_url !!}"
|
||||
@endif
|
||||
|
||||
data-export-options='{
|
||||
"fileName": "{{ $export_filename }}",
|
||||
"ignoreColumn": ["actions","available_actions", "image","change","checkbox","checkincheckout","icon"]
|
||||
}'>
|
||||
</table>
|
||||
</table>
|
||||
|
||||
@@ -21,8 +21,7 @@
|
||||
</div>
|
||||
</div><!-- /.box-header -->
|
||||
<div class="box-body">
|
||||
<table
|
||||
name="fieldsets" id="sort" class="table table-responsive todo-list">
|
||||
<table id="sort" class="table table-responsive table-striped snipe-table table-no-bordered todo-list">
|
||||
<thead>
|
||||
<tr>
|
||||
{{-- Hide the sorting handle if we can't update the fieldset --}}
|
||||
|
||||
@@ -157,7 +157,7 @@
|
||||
{!! $errors->first('note', '<span class="alert-msg" aria-hidden="true"><i class="fas fa-times" aria-hidden="true"></i> :message</span>') !!}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<!-- Custom fields -->
|
||||
@include("models/custom_fields_form", [
|
||||
'model' => $asset->model,
|
||||
@@ -167,7 +167,8 @@
|
||||
|
||||
|
||||
@if ($asset->requireAcceptance() || $asset->getEula() || ($snipeSettings->webhook_endpoint!=''))
|
||||
<div class="form-group notification-callout">
|
||||
<div class="row">
|
||||
<div class="notification-callout">
|
||||
<div class="col-md-8 col-md-offset-3">
|
||||
<div class="callout callout-info">
|
||||
|
||||
@@ -190,6 +191,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
</div> <!--/.box-body-->
|
||||
|
||||
@@ -175,6 +175,11 @@
|
||||
border: 1px solid hsl(from var(--btn-theme-base) h s calc(l - 15)) !important;
|
||||
}
|
||||
|
||||
.btn-theme.active
|
||||
{
|
||||
background-color: var(--btn-theme-hover) !important;
|
||||
}
|
||||
|
||||
.btn-theme:focus {
|
||||
color: var(--nav-primary-text-color) !important;
|
||||
}
|
||||
@@ -529,14 +534,18 @@
|
||||
|
||||
.table-striped > tbody > tr:nth-of-type(even),
|
||||
.row-new-striped > .row:nth-of-type(even),
|
||||
.row-new-striped > .div:nth-of-type(odd) {
|
||||
.row-new-striped > .div:nth-of-type(odd),
|
||||
.cansort
|
||||
{
|
||||
background-color: var(--table-stripe-bg) !important;
|
||||
border-top: var(--table-border-row-top) !important;
|
||||
color: var(--nav-primary-text-color) !important;
|
||||
}
|
||||
|
||||
.table-striped > tbody > tr:nth-of-type(odd),
|
||||
.row-new-striped > .row:nth-of-type(even),
|
||||
.row-new-striped > .div:nth-of-type(odd)
|
||||
.row-new-striped > .div:nth-of-type(odd),
|
||||
.cansort
|
||||
{
|
||||
background-color: var(--table-stripe-bg-alt) !important;
|
||||
border-top: var(--table-border-row-top) !important;
|
||||
@@ -729,8 +738,9 @@
|
||||
.table > tfoot > tr > td
|
||||
|
||||
{
|
||||
border-top-color: var(--box-header-bottom-border-color) !important;
|
||||
border-top-color: var(--box-bg) !important;
|
||||
border-bottom-color: var(--box-header-bottom-border-color) !important;
|
||||
color: var(--color-fg);
|
||||
}
|
||||
|
||||
|
||||
@@ -1826,7 +1836,7 @@
|
||||
<a target="_blank" href="https://bsky.app/profile/snipeitapp.com" rel="noopener" data-tooltip="true" data-title="Join us on Bluesky">
|
||||
<i class="fa-brands fa-square-bluesky fa-fw"></i>
|
||||
</a>
|
||||
<a target="_blank" href="https://hachyderm.io/@grokability" rel="noopener" data-tooltip="true" data-title="Join us on Github">
|
||||
<a target="_blank" href="https://github.com/grokability/snipe-it/" rel="noopener" data-tooltip="true" data-title="Join us on Github">
|
||||
<i class="fa-brands fa-square-github fa-fw"></i>
|
||||
</a>
|
||||
<a target="_blank" href="https://hachyderm.io/@grokability" rel="noopener" data-tooltip="true" data-title="Join us on Mastodon">
|
||||
|
||||
@@ -355,9 +355,9 @@
|
||||
<x-slot:content>
|
||||
<x-table
|
||||
name="locationHistory"
|
||||
api_url="{{ route('api.activity.index', ['target_id' => $location->id, 'target_type' => 'location']) }}"
|
||||
api_url="{{ route('api.activity.index', ['item_id' => $location->id, 'item_type' => 'location']) }}"
|
||||
:presenter="\App\Presenters\HistoryPresenter::dataTableLayout()"
|
||||
export_filename="export-children-locations-{{ str_slug($location->name) }}-{{ date('Y-m-d') }}"
|
||||
export_filename="export-locations-history-{{ str_slug($location->name) }}-{{ date('Y-m-d') }}"
|
||||
/>
|
||||
</x-slot:content>
|
||||
</x-tabs.pane>
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
|
||||
<div class="btn-group" data-toggle="buttons">
|
||||
@if ((isset($user_select)) && ($user_select!='false'))
|
||||
<label class="btn btn-default{{ (session('checkout_to_type') ?: 'user') == 'user' ? ' active' : '' }}">
|
||||
<label class="btn btn-theme{{ (session('checkout_to_type') ?: 'user') == 'user' ? ' active' : '' }}">
|
||||
<input name="checkout_to_type" value="user" aria-label="checkout_to_type"
|
||||
type="radio" {{ (session('checkout_to_type') ?: 'user') == 'user' ? 'checked' : '' }}>
|
||||
<x-icon type="user" />
|
||||
@@ -12,7 +12,7 @@
|
||||
</label>
|
||||
@endif
|
||||
@if ((isset($asset_select)) && ($asset_select!='false'))
|
||||
<label class="btn btn-default{{ session('checkout_to_type') == 'asset' ? ' active' : '' }}">
|
||||
<label class="btn btn-theme{{ session('checkout_to_type') == 'asset' ? ' active' : '' }}">
|
||||
<input name="checkout_to_type" value="asset" aria-label="checkout_to_type"
|
||||
type="radio" {{ session('checkout_to_type') == 'asset' ? 'checked': '' }}>
|
||||
<i class="fas fa-barcode" aria-hidden="true"></i>
|
||||
@@ -20,7 +20,7 @@
|
||||
</label>
|
||||
@endif
|
||||
@if ((isset($location_select)) && ($location_select!='false'))
|
||||
<label class="btn btn-default{{ session('checkout_to_type') == 'location' ? ' active' : '' }}">
|
||||
<label class="btn btn-theme{{ session('checkout_to_type') == 'location' ? ' active' : '' }}">
|
||||
<input name="checkout_to_type" value="location" aria-label="checkout_to_type"
|
||||
type="radio" {{ session('checkout_to_type') == 'location' ? 'checked' : '' }}>
|
||||
<i class="fas fa-map-marker-alt" aria-hidden="true"></i>
|
||||
|
||||
@@ -382,7 +382,7 @@
|
||||
|
||||
<fieldset name="label-preview">
|
||||
<x-form.legend>
|
||||
Label Preview
|
||||
{{ trans('admin/settings/general.label2_label_preview') }}: <code>{{ $setting->label2_template}}</code>
|
||||
</x-form.legend>
|
||||
<div class="col-md-12" style="margin-bottom: 10px;">
|
||||
@include('partials.label2-preview')
|
||||
|
||||
@@ -600,6 +600,7 @@
|
||||
<div class="controls">
|
||||
<select
|
||||
name="groups[]"
|
||||
size="{{ ($groups->count() > 25) ? '25' : '10' }}"
|
||||
aria-label="groups[]"
|
||||
id="groups[]"
|
||||
multiple="multiple"
|
||||
|
||||
Reference in New Issue
Block a user