@@ -64,12 +64,7 @@ public function store(Request $request, $seatId = null, $backTo = null)
6464
6565 $ this ->authorize ('checkout ' , $ license );
6666
67- if (! $ license ->reassignable ) {
68- // Not allowed to checkin
69- Session::flash ('error ' , trans ('admin/licenses/message.checkin.not_reassignable ' ) . '. ' );
7067
71- return redirect ()->back ()->withInput ();
72- }
7368
7469 // Declare the rules for the form validation
7570 $ rules = [
@@ -98,6 +93,9 @@ public function store(Request $request, $seatId = null, $backTo = null)
9893 $ licenseSeat ->assigned_to = null ;
9994 $ licenseSeat ->asset_id = null ;
10095 $ licenseSeat ->notes = $ request ->input ('notes ' );
96+ if (! $ licenseSeat ->license ->reassignable ) {
97+ $ licenseSeat ->unreassignable_seat = true ;
98+ }
10199
102100 session ()->put (['redirect_option ' => $ request ->get ('redirect_option ' )]);
103101 if ($ request ->get ('redirect_option ' ) === 'target ' ){
@@ -106,7 +104,7 @@ public function store(Request $request, $seatId = null, $backTo = null)
106104
107105 // Was the asset updated?
108106 if ($ licenseSeat ->save ()) {
109- event (new CheckoutableCheckedIn ($ licenseSeat , $ return_to , auth ()->user (), $ request -> input ( ' notes ' ) ));
107+ event (new CheckoutableCheckedIn ($ licenseSeat , $ return_to , auth ()->user (), $ licenseSeat -> notes ));
110108
111109
112110 return Helper::getRedirectOption ($ request , $ license ->id , 'Licenses ' )
@@ -132,21 +130,17 @@ public function bulkCheckin(Request $request, $licenseId) {
132130 $ license = License::findOrFail ($ licenseId );
133131 $ this ->authorize ('checkin ' , $ license );
134132
135- if (! $ license ->reassignable ) {
136- // Not allowed to checkin
137- Session::flash ('error ' , 'License not reassignable. ' );
138-
139- return redirect ()->back ()->withInput ();
140- }
141-
142133 $ licenseSeatsByUser = LicenseSeat::where ('license_id ' , '= ' , $ licenseId )
143134 ->whereNotNull ('assigned_to ' )
144- ->with ('user ' )
135+ ->with ('user ' , ' license ' )
145136 ->get ();
146137
138+ $ license = $ licenseSeatsByUser ->first ()?->license;
147139 foreach ($ licenseSeatsByUser as $ user_seat ) {
148140 $ user_seat ->assigned_to = null ;
149-
141+ if ($ license && ! $ license ->reassignable ) {
142+ $ user_seat ->unreassignable_seat = true ;
143+ }
150144 if ($ user_seat ->save ()) {
151145 Log::debug ('Checking in ' .$ license ->name .' from user ' .$ user_seat ->username );
152146 $ user_seat ->logCheckin ($ user_seat ->user , trans ('admin/licenses/general.bulk.checkin_all.log_msg ' ));
@@ -159,9 +153,12 @@ public function bulkCheckin(Request $request, $licenseId) {
159153 ->get ();
160154
161155 $ count = 0 ;
156+ $ license = $ licenseSeatsByAsset ->first ()?->license;
162157 foreach ($ licenseSeatsByAsset as $ asset_seat ) {
163158 $ asset_seat ->asset_id = null ;
164-
159+ if ($ license && ! $ license ->reassignable ) {
160+ $ asset_seat ->unreassignable_seat = true ;
161+ }
165162 if ($ asset_seat ->save ()) {
166163 Log::debug ('Checking in ' .$ license ->name .' from asset ' .$ asset_seat ->asset_tag );
167164 $ asset_seat ->logCheckin ($ asset_seat ->asset , trans ('admin/licenses/general.bulk.checkin_all.log_msg ' ));
0 commit comments