@@ -60,7 +60,12 @@ public function __construct()
6060 */
6161 public function index ()
6262 {
63- $ tickets = request ()->user ()->tickets ()->orderBy ('id ' , 'desc ' )->paginate (10 );
63+ if (\request ()->user ()->can (config ('laravel-tickets.permissions.all-ticket ' ))) {
64+ $ tickets = Ticket::query ();
65+ } else {
66+ $ tickets = request ()->user ()->tickets ();
67+ }
68+ $ tickets = $ tickets ->orderBy ('id ' , 'desc ' )->paginate (10 );
6469
6570 return request ()->wantsJson () ?
6671 response ()->json (compact ('tickets ' )) :
@@ -166,7 +171,8 @@ public function store(Request $request)
166171 */
167172 public function show (Ticket $ ticket )
168173 {
169- if (! $ ticket ->user ()->get ()->contains (\request ()->user ())) {
174+ if (! $ ticket ->user ()->get ()->contains (\request ()->user ()) &&
175+ ! request ()->user ()->can (config ('laravel-tickets.permissions.all-ticket ' ))) {
170176 return abort (403 );
171177 }
172178
@@ -196,7 +202,8 @@ public function show(Ticket $ticket)
196202 */
197203 public function message (Request $ request , Ticket $ ticket )
198204 {
199- if (! $ ticket ->user ()->get ()->contains (\request ()->user ())) {
205+ if (! $ ticket ->user ()->get ()->contains (\request ()->user ()) &&
206+ ! request ()->user ()->can (config ('laravel-tickets.permissions.all-ticket ' ))) {
200207 return abort (403 );
201208 }
202209
@@ -250,7 +257,8 @@ public function message(Request $request, Ticket $ticket)
250257 */
251258 public function close (Ticket $ ticket )
252259 {
253- if (! $ ticket ->user ()->get ()->contains (\request ()->user ())) {
260+ if (! $ ticket ->user ()->get ()->contains (\request ()->user ()) &&
261+ ! request ()->user ()->can (config ('laravel-tickets.permissions.all-ticket ' ))) {
254262 return abort (403 );
255263 }
256264 if ($ ticket ->state === 'CLOSED ' ) {
@@ -285,8 +293,8 @@ public function close(Ticket $ticket)
285293 */
286294 public function download (Ticket $ ticket , TicketUpload $ ticketUpload )
287295 {
288- if (! $ ticket ->user ()->get ()->contains (\request ()->user ()) ||
289- ! $ ticket -> messages ()->get ()->contains ( $ ticketUpload -> message ()-> first ( ))) {
296+ if (! $ ticket ->user ()->get ()->contains (\request ()->user ()) &&
297+ ! request ()->user ()->can ( config ( ' laravel-tickets.permissions.all-ticket ' ))) {
290298 return abort (403 );
291299 }
292300
0 commit comments