HEX
Server: Apache/2.4.41 (Ubuntu)
System: Linux ip-172-31-42-149 5.15.0-1084-aws #91~20.04.1-Ubuntu SMP Fri May 2 07:00:04 UTC 2025 aarch64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/vhost/disk-apps/agile-selling-wpb/app/Http/Controllers/SymbolicTicketUserController.php
<?php

namespace App\Http\Controllers;

use Illuminate\Support\Facades\Auth;
use App\SymbolicTicketUser;
use App\SymbolicTicketPrice;
use Datatables;
use DB;

use Illuminate\Http\Request;

class SymbolicTicketUserController extends Controller
{

    public function index($id){
        return view("symbolic_tickets_user.index_symbolic_tickets_users", compact('id'));
    }

    public function create($symbolic_ticket_id){
        return view("symbolic_tickets_user.add_symbolic_tickets_user", compact('symbolic_ticket_id'));
    }

    public function edit($id){
        $obj = SymbolicTicketPrice::find($id);
        return view("symbolic_tickets_user.edit_symbolic_tickets_user", compact('obj'));
    }

    public function add(Request $request){
        $obj = new SymbolicTicketPrice;
        $obj->price = $request['price'];
        $obj->comment = $request['comment'];
        $obj->symbolic_ticket_id = $request['symbolic_ticket_id'];

        $obj->save();

        return array('r' => true, 'm' => trans('messages.symbolic_tickets.to_create'), 'd' => $obj->id);
    }
    public function update(Request $request){

        $obj = SymbolicTicketPrice::find($request['id']);

        $obj->price = $request['price'];
        $obj->comment = $request['comment'];

        $obj->update();

        return array('r' => true, 'm' => trans('messages.symbolic_tickets.to_update'), 'd' => $obj->id);
    }


    public function tableFilterUsers(Request $request){
        $obj = SymbolicTicketUser::select('id','symbolic_ticket_id', 'symbolic_ticket_price_id', 'user_id','payment_reference','payment_state','pin')
                                    ->with('user','symbolic_ticket_price','symbolic_ticket')
                                    ->where('symbolic_ticket_id', $request['id']);

    return Datatables::of($obj)
        ->editColumn('active', function ($obj) {
            if ($obj->payment_state != "CONFIRMED") {
                return '<div class="switch"><label><div class="checkbox checbox-switch switch-success"> <label> No <input type="checkbox" onChange="chkSymbolicTicket(' . $obj->id . ')" data-id="' . $obj->id . '" id="Checkactive' . $obj->id . '" name="Checkactivo" /> <span></span>Si </label></div> </label> </div>';
            } else {
                return '<div class="switch"><label> <div class="checkbox checbox-switch switch-success"> <label>   No <input type="checkbox" onChange="chkSymbolicTicket(' . $obj->id . ')" data-id="' . $obj->id . '" id="Checkactive' . $obj->id . '" name="Checkactivo" checked="" />
                        <span></span> Si </label> </div>  </label> </div>';
            }
        })
        ->rawColumns(['active'])
        ->make(true);
    }

    public function activeSymbolicTicket(Request $request)
    {
        $id = $request['id'];
        $state = $request['state'];

        $obj = SymbolicTicketUser::find($id);
        $logObj = $obj;
        if($state == 1){
            $obj->payment_state = "CONFIRMED";
        }else{
            $obj->payment_state = "REJECTED";
        }
        $obj->update();
        // Log
        $this->registerLog(Auth::user()->id, 'Actualizó campo payment_state de ticket symbolic user', json_encode($logObj), "Update", 5);
        return array('r' => true, 'm' => trans('messages.symbolic_tickets.update_state'));
    }
}