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/demo.sports-crowd.com/app/Http/Controllers/SalesChannelController.php
<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use App\SalesChannel;
use Datatables;
use DB;

class SalesChannelController extends Controller
{
    public function index(){
        // $rol = Auth::user()->rol->id;
        // if ($rol == 1 ||  $rol == 6) {
            $channels = SalesChannel::orderBy('name', 'ASC')->get();
            return view('channels.saleChannel')->with('channels',$channels);
        // }else{
        //     return redirect()->back();
        // }
    }

    /**
     * Este método se encarga de crear un channel de Venta.
     * @param Request donde llegan los parametros
     * @version 2018/05/20
     * @return response
     */
    public function create(Request $request){
        //Se instancia un nuevo objeto
        $channel = new SalesChannel();
        $channel->name =  $request["name"];//Se asigna el name que viene en el request

        $r = SalesChannel::where('name',$request["name"])->first();
        if($r){
            return array('r' => false, 'm'=> trans('messages.controller_channel_tag1'));
        }
        $channel->save();//Guarda el nuevo objeto
        $logObj = $channel;
        $this->registerLog(Auth::user()->id, 'Creó canal de venta', json_encode($logObj)
            , "Create", 5);
        return array('r' => true, 'm'=> trans('messages.controller_channel_tag2'));


    }

    /**
     * Este método se encarga de actualizar un channel de Venta.
     * @param Request donde llegan los parametros
     * @version 2018/05/20
     * @return response
     */
    public function update(Request $request){
        $id = $request["id"];
        //Se consulta channel de Venta
        $channel = SalesChannel::find($id);
        $logObj = $channel;
        $r = SalesChannel::where('name',$request["name"])->first();
        if($r){
            if($channel->name != $request["name"]){
                return array('r' => false, 'm'=> trans('messages.controller_channel_tag1'));
            }
        }
        $channel->name =  $request["name"];//Se asigna el nombre que viene en el request
        $channel->update();//Actualiza el objeto
        $this->registerLog(Auth::user()->id, 'Actualizó canal de venta', json_encode($logObj)
            , "Update", 5);
        return array('r' => true, 'm'=> trans('messages.controller_channel_tag3'));
    }

    /**
     * Este método se encarga de renderizar la vista de edición de channel de Venta.
     * @param id el id de channel de Venta
     * @version 2018/05/20
     * @return view la vista de edición de channel de Venta
     */
    public function indexEdit($id){

        $channel = SalesChannel::find($id);

        return view('channels.editSaleChannel')->with('channel',$channel);
    }

    public function activateChannel(Request $request){

        $id= $request['id'];
        $state=  $request['state'];

        $channel = SalesChannel::find($id);
        $logObj = $channel;
        $channel->active = $state;
        $channel->update();

        $this->registerLog(Auth::user()->id, 'Actualizó canal de venta', json_encode($logObj)
            , "Update", 5);


        return array('r' => true);

      }

      public function delete(Request $request){

        $id= $request['id'];
        $channel = SalesChannel::find($id);
        $logObj = $channel;
        $channel->delete();
        $this->registerLog(Auth::user()->id, 'Eliminó canal de venta', json_encode($logObj)
            , "Delete", 5);

        return array('r' => true);

      }
      public function tableFilter()
      {
          $obj = $obj = DB::table('sales_channels')
              ->select('sales_channels.id', 'sales_channels.name', 'sales_channels.active')->whereNull('sales_channels.deleted_at');

          return Datatables::of($obj)
              ->addColumn('actions', function ($obj) {
                  return '<i class="fa fa-pencil iconMini" onClick="clickEditChannel(' . $obj->id . ')" data-id="' . $obj->id . '"  title="Editar"></i>
                  <i class="fa fa-trash iconMini" onClick="clickDeleteChannel(' . $obj->id . ')" data-id="' . $obj->id . '"  title="Eliminar"></i>';

              })
              ->editColumn('active', function ($obj) {
                  if ($obj->active == 0) {
                      return '<div class="switch"><label><div class="checkbox checbox-switch switch-success"> <label> No <input type="checkbox" onChange="chkChannel(' . $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="chkChannel(' . $obj->id . ')" data-id="' . $obj->id . '" id="Checkactive' . $obj->id . '" name="Checkactivo" checked="" />
                          <span></span> Si </label> </div>  </label> </div>';

                  }

              })
              ->rawColumns(['active', 'actions'])
              ->make(true);
      }
}