Merge remote-tracking branch 'origin/develop'

This commit is contained in:
snipe
2025-06-11 10:32:49 +01:00
6 changed files with 73 additions and 9 deletions

View File

@@ -207,11 +207,11 @@ class UsersController extends Controller
}
if ($request->filled('manages_users_count')) {
$users->has('manages_users_count', '=', $request->input('manages_users_count'));
$users->has('managesUsers', '=', $request->input('manages_users_count'));
}
if ($request->filled('manages_locations_count')) {
$users->has('manages_locations_count', '=', $request->input('manages_locations_count'));
$users->has('managedLocations', '=', $request->input('manages_locations_count'));
}
if ($request->filled('autoassign_licenses')) {

View File

@@ -307,6 +307,7 @@ return [
'type' => 'Type',
'undeployable' => 'Un-deployable',
'unknown_admin' => 'Unknown Admin',
'unknown_user' => 'Unknown User',
'username' => 'Username',
'update' => 'Update',
'updating_item' => 'Updating :item',

View File

@@ -14,7 +14,7 @@
}
@page {
size: A4;
size: auto;
}
table.inventory th, table.inventory td {
border: solid #000;
@@ -36,13 +36,13 @@
<h3>
@if ($snipeSettings->logo!='')
<img class="print-logo" src="{{ config('app.url') }}/uploads/{{ $snipeSettings->logo }}">
<img class="print-logo" src="{{ config('app.url') }}/uploads/{{ $snipeSettings->acceptance_pdf_logo }}">
@endif
{{ $snipeSettings->site_name }}
</h3>
@elseif ($snipeSettings->brand == '2')
@if ($snipeSettings->logo!='')
<img class="print-logo" src="{{ config('app.url') }}/uploads/{{ $snipeSettings->logo }}">
<img class="print-logo" src="{{ config('app.url') }}/uploads/{{ $snipeSettings->acceptance_pdf_logo }}">
@endif
@else
<h3>{{ $snipeSettings->site_name }}</h3>

View File

@@ -9,8 +9,11 @@
@foreach ($assets as $asset)
@php
$checkin = Helper::getFormattedDateObject($asset->expected_checkin, 'date');
$assignedToName = $asset->assignedTo ? $asset->assignedTo->present()->fullName : trans('general.unknown_user');
$assignedToRoute = $asset->assignedTo ? route($asset->targetShowRoute().'.show', [$asset->assignedTo->id]) : '';
@endphp
| [{{ $asset->present()->name }}]({{ route('hardware.show', $asset) }}) | [{{ $asset->assignedTo->present()->fullName }}]({{ route($asset->targetShowRoute().'.show', [$asset->assignedTo->id]) }}) | {{ $checkin['formatted'] }}
| [{{ $asset->present()->name }}]({{ route('hardware.show', $asset) }}) | @if ($asset->assignedTo) [{{ $assignedToName }}]({{ $assignedToRoute }}) @else {{ $assignedToName }} @endif | {{ $checkin['formatted'] }}
@endforeach
@endcomponent

View File

@@ -34,7 +34,7 @@
}
@page {
size: A4;
size: auto;
}
.print-logo {
@@ -66,13 +66,13 @@
<h2>
@if ($snipeSettings->logo!='')
<img class="print-logo" src="{{ config('app.url') }}/uploads/{{ $snipeSettings->logo }}">
<img class="print-logo" src="{{ config('app.url') }}/uploads/{{ $snipeSettings->acceptance_pdf_logo }}">
@endif
{{ $snipeSettings->site_name }}
</h2>
@elseif ($snipeSettings->brand == '2')
@if ($snipeSettings->logo!='')
<img class="print-logo" src="{{ config('app.url') }}/uploads/{{ $snipeSettings->logo }}">
<img class="print-logo" src="{{ config('app.url') }}/uploads/{{ $snipeSettings->acceptance_pdf_logo }}">
@endif
@else
<h2>{{ $snipeSettings->site_name }}</h2>

View File

@@ -0,0 +1,60 @@
<?php
namespace Tests\Feature\Users\Api;
use App\Models\Location;
use App\Models\User;
use Illuminate\Testing\Fluent\AssertableJson;
use Tests\TestCase;
class IndexUsersTest extends TestCase
{
public function testRequiresPermission()
{
$this->actingAsForApi(User::factory()->create())
->getJson(route('api.users.index'))
->assertForbidden();
}
public function testReturnsManagedUsersCountCorrectly()
{
$manager = User::factory()->create(['first_name' => 'Manages Users']);
User::factory()->create(['first_name' => 'Does Not Manage Users']);
User::factory()->create(['manager_id' => $manager->id]);
User::factory()->create(['manager_id' => $manager->id]);
$response = $this->actingAsForApi(User::factory()->viewUsers()->create())
->getJson(route('api.users.index', [
'manages_users_count' => 2,
]))
->assertOk();
$response->assertJson(function (AssertableJson $json) {
$json->has('rows', 1)
->where('rows.0.first_name', 'Manages Users')
->etc();
});
}
public function testReturnsManagedLocationsCountCorrectly()
{
$manager = User::factory()->create(['first_name' => 'Manages Locations']);
User::factory()->create(['first_name' => 'Does Not Manage Locations']);
Location::factory()->create(['manager_id' => $manager->id]);
Location::factory()->create(['manager_id' => $manager->id]);
$response = $this->actingAsForApi(User::factory()->viewUsers()->create())
->getJson(route('api.users.index', [
'manages_locations_count' => 2,
]))
->assertOk();
$response->assertJson(function (AssertableJson $json) {
$json->has('rows', 1)
->where('rows.0.first_name', 'Manages Locations')
->etc();
});
}
}