@@ -161,7 +161,7 @@ public function data($ticketList = 'active')
161161
162162 \Carbon \Carbon::setLocale (config ('app.locale ' ));
163163
164- $ this ->renderTicketTable ($ collection );
164+ $ this ->renderTicketTable ($ collection, $ ticketList );
165165
166166 // method rawColumns was introduced in laravel-datatables 7, which is only compatible with >L5.4
167167 // in previous laravel-datatables versions escaping columns wasn't defaut
@@ -178,7 +178,7 @@ public function data($ticketList = 'active')
178178 return $ collection ->make (true );
179179 }
180180
181- public function renderTicketTable ($ collection )
181+ public function renderTicketTable ($ collection, $ ticketList )
182182 {
183183
184184 // Column edits
@@ -280,14 +280,19 @@ public function renderTicketTable($collection)
280280 ])
281281 ->get ()->toArray ();
282282
283+ $ active_status_name = Setting::grab ('default_reopen_status_id ' ) == '0 ' ? Models \Status::first ()->name : Models \Status::find (Setting::grab ('default_reopen_status_id ' ))->name ;
284+
283285 $ a_cat = [];
284286 foreach ($ a_cat_pre as $ cat ){
285287 $ a_cat [$ cat ['id ' ]] = $ cat ;
286288 $ html = '<div> ' ;
287289 foreach ($ cat ['agents ' ] as $ agent ){
288290 $ html .='<label><input type="radio" name="%1$s_agent" value=" ' .$ agent ['id ' ].'"> ' .$ agent ['name ' ].'</label><br /> ' ;
289291 }
290- $ html .='<br /><button type="button" class="btn btn-default btn-sm submit_agent_popover" data-ticket-id="%1$s"> ' .trans ('panichd::lang.btn-change ' ).'</button></div> ' ;
292+ if ($ ticketList == 'newest ' and Setting::grab ('use_default_status_id ' )){
293+ $ html .= '<br /><label><input type="checkbox" name="%1$s_status_checkbox"> ' . trans ('panichd::lang.table-agent-status-check ' , ['status ' => $ active_status_name ]) . '</label> ' ;
294+ }
295+ $ html .='<br /><button type="button" class="btn btn-default btn-sm submit_agent_popover" data-ticket-id="%1$s"> ' .trans ('panichd::lang.btn-change ' ).'</button></div> ' ;
291296 $ a_cat [$ cat ['id ' ]]['html ' ]=$ html ;
292297 }
293298
@@ -532,7 +537,7 @@ public function ticketCounts($request, $ticketList)
532537 }
533538 }
534539
535- if ($ this ->member ->isAdmin () or ($ this ->member ->isAgent () and Setting::grab ('agent_restrict ' ) == 0 )) {
540+ if ($ this ->member ->isAdmin () or ($ this ->member ->isAgent () and Models \ Setting::grab ('agent_restrict ' ) == 0 )) {
536541
537542 // Visible categories
538543 $ filters ['category ' ] = Category::visible ()->orderBy ('name ' )->get ();
@@ -1570,25 +1575,29 @@ public function agentList ($category_id)
15701575 /*
15711576 * Change agent in ticket list
15721577 */
1573- public function changeAgent (Request $ request ){
1578+ public function changeAgent (Request $ request )
1579+ {
15741580 $ original_ticket = Ticket::findOrFail ($ request ->input ('ticket_id ' ));
15751581 $ ticket = clone $ original_ticket ;
15761582 $ old_agent = $ ticket ->agent ()->first ();
1577- $ new_agent = \PanicHDMember::find ($ request ->input ('agent_id ' ));
1583+ if ($ request ->has ('agent_id ' )){
1584+ $ new_agent = \PanicHDMember::find ($ request ->input ('agent_id ' ));
1585+ }else
1586+ $ new_agent = clone $ old_agent ;
15781587
1579- if (is_null ($ new_agent ) || $ ticket ->agent_id == $ request ->input ('agent_id ' )){
1588+ if (! $ request -> has ( ' status_checkbox ' ) and ( is_null ($ new_agent ) || $ ticket ->agent_id == $ request ->input ('agent_id ' ) )){
15801589 return redirect ()->back ()->with ('warning ' , trans ('panichd::lang.update-agent-same ' , [
15811590 'name ' => '# ' .$ ticket ->id .' ' .$ ticket ->subject ,
15821591 'link ' => route (Setting::grab ('main_route ' ).'.show ' , $ ticket ->id ),
15831592 'title ' => trans ('panichd::lang.ticket-status-link-title ' )
15841593 ]));
15851594 }
15861595
1587- $ ticket ->agent_id = $ request -> input ( ' agent_id ' ) ;
1596+ $ ticket ->agent_id = $ new_agent -> id ;
15881597
15891598 $ old_status_id = $ ticket ->status_id ;
1590- if ($ ticket -> status_id == Setting::grab ('default_status_id ' )){
1591- $ ticket ->status_id = Setting::grab ('default_reopen_status_id ' );
1599+ if ($ request -> has ( ' status_checkbox ' ) || ! Setting::grab ('use_default_status_id ' )){
1600+ $ ticket ->status_id = Setting::grab ('default_reopen_status_id ' );
15921601 }
15931602 $ ticket ->save ();
15941603 event (new TicketUpdated ($ original_ticket , $ ticket ));
0 commit comments