adds migration for column unavailable, changes logic to utlize value

This commit is contained in:
Godfrey M 2025-01-15 15:36:12 -08:00
parent 9da15a8e58
commit 7a23372489
6 changed files with 47 additions and 25 deletions

View file

@ -1535,8 +1535,8 @@ class Helper
{
if (!$license->reassignable) {
$count = Actionlog::where('action_type', '=', 'checkin from')
->where('item_id', '=', $license->id)
$count = LicenseSeat::where('unavailable', '=', true)
->where('license_id', '=', $license->id)
->count();
return $count;
}

View file

@ -96,6 +96,7 @@ class LicenseCheckinController extends Controller
$licenseSeat->asset_id = null;
$licenseSeat->notes = $request->input('notes');
if (! $license->reassignable) {
$licenseSeat->unavailable = 1;
$licenseSeat->notes .= "\n" . trans('admin/licenses/message.checkin.not_reassignable') . '.';
}

View file

@ -49,7 +49,7 @@ class LicenseSeatsTransformer
'reassignable' => (bool) $seat->license->reassignable,
'notes' => e($seat->notes),
'user_can_checkout' => (($seat->assigned_to == '') && ($seat->asset_id == '')),
'disabled' => $this->unReassignable($seat),
'disabled' => $seat->unavailable,
];
if ($seat_count != 0) {
@ -68,17 +68,17 @@ class LicenseSeatsTransformer
return $array;
}
private function unReassignable($seat)
{
if (!$seat->license->reassignable) {
$exists = Actionlog::where('action_type', '=', 'checkin from')
->where('item_id', '=', $seat->license->id)
->where('updated_at', '=', $seat->updated_at)
->exists();
if($exists) {
return true;
}
return false;
}
}
// private function unReassignable($seat)
// {
// if (!$seat->license->reassignable) {
// $exists = Actionlog::where('action_type', '=', 'checkin from')
// ->where('item_id', '=', $seat->license->id)
// ->where('updated_at', '=', $seat->updated_at)
// ->exists();
// if($exists) {
// return true;
// }
// return false;
// }
// }
}

View file

@ -653,6 +653,7 @@ class License extends Depreciable
{
return $this->licenseseats()
->whereNull('deleted_at')
->where('unavailable', '=', 0)
->where(function ($query) {
$query->whereNull('assigned_to')
->whereNull('asset_id');

View file

@ -284,15 +284,6 @@ class LicensePresenter extends Presenter
'title' => trans('general.notes'),
'formatter' => 'notesFormatter'
],
[
'field' => 'reassignable',
'searchable' => false,
'sortable' => false,
'visible' => true,
'title' => trans('admin/licenses/form.reassignable'),
'formatter' => 'trueFalseFormatter',
'class' => 'text-center',
],
[
'field' => 'checkincheckout',
'searchable' => false,

View file

@ -0,0 +1,29 @@
<?php
namespace App\Models\LicenseSeat;
use App\Models\LicenseSeat;
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\DB;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::table('license_seats', function (Blueprint $table) {
$table->addColumn('boolean', 'unavailable')->default(false)->after('assigned_to');
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::table('license_seats_tables', function (Blueprint $table) {
$table->dropColumn('unavailable');
});
}
};