| Server IP : 54.233.248.239 / Your IP : 172.28.20.13 Web Server : Apache System : Linux ip-172-28-29-189 6.5.0-1014-aws #14~22.04.1-Ubuntu SMP Thu Feb 15 15:27:06 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.2.34-43+ubuntu22.04.1+deb.sury.org+1 Disable Function : 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, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /var/www/html/vinumday2_0/app/Modules/Canal/Controllers/Admin/ |
Upload File : |
<?php
namespace App\Modules\Canal\Controllers\Admin;
use Illuminate\Http\Request;
use Mail;
use Exception;
use App\Http\Requests;
use App\Http\Controllers\BaseController;
use App\Modules\Oferta\Models\Oferta;
use App\Modules\Canal\Models\Canal;
use App\Modules\CanalAcessoAutenticado\Models\CanalAcessoAutenticado;
use App\Modules\MailchimpCampaign\Models\MailchimpCampaign;
use App\Modules\CanalHasOferta\Models\CanalHasOferta;
use App\Modules\ModeloFaturamento\Models\ModeloFaturamento;
use App\Modules\PedidoVenda\Models\PedidoVenda;
use App\Modules\AlertaFila\Models\AlertaFila;
use App\User;
use DB;
use App\Services\GeralService;
use App\Services\CanalService;
class AdminCanalController extends BaseController
{
private $modulo;
private $fields;
private $fks;
private $lastInsertId;
public function __construct(){
parent::__construct();
$this->middleware('auth');
$this->modulo = \App\Gerador::where('nome', 'Canal')->with('campos', 'fks')->first();
$this->fields = $this->modulo->campos;
$this->fks = $this->modulo->fks;
$this->canal_m = new Canal();
}
public function index(){
$query = $this->canal_m->select('canal.*');
$data['fields_listagem'] = array();
foreach ($this->fields as $field) {
if($field->listagem){
$data['fields_listagem'][] = $field;
}
}
foreach ($this->fks as $fk) {
if($fk->listagem){
if($fk->campoRelacionado->translatable){
$table = $fk->moduloRelacionado->nome_tabela.'_descricao';
$on = $fk->moduloRelacionado->nome_tabela.'_descricao.'.$fk->moduloRelacionado->nome_tabela.'_id';
}else{
$table = $fk->moduloRelacionado->nome_tabela;
$on = $fk->moduloRelacionado->nome_tabela.'.id';
}
$query->leftJoin($table, 'canal.'.$fk->nome, '=', $on);
$query->addSelect($table.'.'.$fk->campoRelacionado->nome.' as fk'.$fk->id);
$data['fields_listagem'][] = $fk;
}
}
$data['canais'] = $query->groupBy('canal.id')->get();
usort($data['fields_listagem'], function($a, $b) {
return $a->ordem - $b->ordem;
});
return view('Canal::admin/canal',$data);
}
public function add(){
$data = array();
$data['modulo'] = $this->modulo;
$data['fields'] = [];
foreach ($this->fields as $field) {
$data['fields'][] = $field;
}
foreach ($this->fks as $fk) {
$data['fields'][] = $fk;
}
usort($data['fields'], function($a, $b) {
return $a->ordem - $b->ordem;
});
foreach ($this->fks as $fk) {
$classPath = '\App\Modules\\'.$fk->moduloRelacionado->nome.'\Models\\'.$fk->moduloRelacionado->nome;
$data['array_'.$fk->nome] = $classPath::get();
}
$data['nextId'] = $this->canal_m->getNextAutoIncrement();
$data['modelos'] = ModeloFaturamento::all();
$data['responsaveis'] = User::whereRaw("EXISTS (SELECT 1 FROM sis_role_users sru WHERE sru.user_id = sis_users.id AND sru.role_id = 1)")->orderBy('first_name', 'ASC')->get();
$data['campanhas'] = MailchimpCampaign::where('tipo', 'C')->orderBy('send_time')->get();
return view('Canal::admin/form-canal', $data);
}
public function edit($slug){
$id = Canal::where('slug', $slug)->value('id');
$data['modulo'] = $this->modulo;
$data['fields'] = [];
foreach ($this->fields as $field) {
$data['fields'][] = $field;
}
foreach ($this->fks as $fk) {
$data['fields'][] = $fk;
}
usort($data['fields'], function($a, $b) {
return $a->ordem - $b->ordem;
});
foreach ($this->fks as $fk) {
$classPath = '\App\Modules\\'.$fk->moduloRelacionado->nome.'\Models\\'.$fk->moduloRelacionado->nome;
$data['array_'.$fk->nome] = $classPath::get();
}
$data['canal'] = $this->canal_m->find($id);
if($this->modulo->galeria){
$data['canal']->imagens = $this->canal_m->getImagens($id);
}
$data['modelos'] = ModeloFaturamento::all();
$data['responsaveis'] = User::whereRaw("EXISTS (SELECT 1 FROM sis_role_users sru WHERE sru.user_id = sis_users.id AND sru.role_id = 1)")->orderBy('first_name', 'ASC')->get();
$data['campanhas'] = MailchimpCampaign::where('tipo', 'C')->orderBy('send_time')->get();
return view('Canal::admin/form-canal',$data);
}
public function save(Request $request){
$post = $request->input();
$post['meta_keywords'] = (isset($post['meta_keywords'])) ? implode(',',$post['meta_keywords']) : null;
foreach ($this->fields as $field) {
$arrayFields[] = $field->nome;
}
foreach ($this->fks as $fk) {
$arrayFields[] = $fk->nome;
}
if($this->modulo->imagem){
$arrayFields[] = 'thumbnail_principal';
}
$arrayFields[] = 'responsavel_id';
$arrayFields[] = 'modelo_faturamento_id';
$arrayFields[] = 'total_custo';
$arrayFields[] = 'ativar_url';
$arrayFields[] = 'senha_acesso';
$arrayFields[] = 'url_video';
$arrayFields[] = 'listar_ppr';
$arrayFields[] = 'exibir_bloco_home';
$arrayFields[] = 'exibir_menu_home';
$arrayFields[] = 'exibir_unidades_restantes';
$arrayFields[] = 'acesso_autenticado';
$arrayFields[] = 'fast_pass';
$arrayFields[] = 'permitir_cashback';
$arrayFields[] = 'mailchimp_campaign_id';
$arrayFields[] = 'permitir_oferta_confraria';
if($request->input('id')){
$id_canal = $this->canal_m->editar($arrayFields, $post, $request->input('id'));
}else{
$id_canal = $this->canal_m->criar($arrayFields, $post);
}
if(isset($post['mailchimp_campaign_id']) && !empty($post['mailchimp_campaign_id'])){
CanalService::updateOfertaCampaign($id_canal, $post['mailchimp_campaign_id']);
}
$ofertas = [];
if($request->input('oferta-checkbox')){
foreach($request->input('oferta-checkbox') as $key => $id_oferta) {
try {
if(!isset($post['oferta-data-inicial'][$key])){
continue;
}
$Oferta = Oferta::where('id', $id_oferta)->first();
$CanalHasOferta = CanalHasOferta::where('id_canal', $id_canal)->where('id_oferta', $id_oferta)->whereRaw('deleted_at IS NULL')->first();
if(!$CanalHasOferta){
$CanalHasOferta = new CanalHasOferta();
$CanalHasOferta->quantidade = $Oferta->estoque;
$CanalHasOferta->disponibilidade_canal = $Oferta->estoque;
$CanalHasOferta->id_canal = $id_canal;
$CanalHasOferta->id_oferta = $id_oferta;
}
$CanalHasOferta->ordenacao = (!empty($post['oferta-ordenacao'][$key]) ? $post['oferta-ordenacao'][$key] : 999);
$CanalHasOferta->ordenacao_original = (!empty($post['oferta-ordenacao'][$key]) ? $post['oferta-ordenacao'][$key] : 999);
$CanalHasOferta->data_inicial = $post['oferta-data-inicial'][$key];
$CanalHasOferta->data_final = $post['oferta-data-final'][$key];
$CanalHasOferta->save();
$ofertas[] = $id_oferta;
} catch (Exception $e) {
continue;
}
}
CanalHasOferta::where('id_canal', $id_canal)->whereNotIn('id_oferta', $ofertas)->whereRaw('deleted_at IS NULL')->update(['deleted_at' => date('Y-m-d :H:i:s')]);
}else{
CanalHasOferta::where('id_canal', $id_canal)->whereRaw('deleted_at IS NULL')->update(['deleted_at' => date('Y-m-d :H:i:s')]);
}
//Ativa/Desativa Fast Pass Produtos x Ofertas do Canal
CanalService::setFastPass($id_canal, $post['fast_pass']);
if(isset($post['thumbnail_principal']) && !empty($post['thumbnail_principal'])){
@unlink('uploads/canal/' . $post['thumbnail_principal']);
}
if(isset($post['thumbnail_secundaria']) && !empty($post['thumbnail_secundaria'])){
@unlink('uploads/canal/' . $post['thumbnail_secundaria']);
}
\Session::flash('type', 'success');
\Session::flash('message', "Alteracoes salvas com sucesso!");
return redirect()->back();
}
public function editAjax($slug){
$id = Canal::where('slug', $slug)->value('id');
$data['modulo'] = $this->modulo;
$data['fields'] = [];
foreach ($this->fields as $field) {
$data['fields'][] = $field;
}
foreach ($this->fks as $fk) {
$data['fields'][] = $fk;
}
usort($data['fields'], function($a, $b) {
return $a->ordem - $b->ordem;
});
foreach ($this->fks as $fk) {
$classPath = '\App\Modules\\'.$fk->moduloRelacionado->nome.'\Models\\'.$fk->moduloRelacionado->nome;
$data['array_'.$fk->nome] = $classPath::get();
}
$data['canal'] = $this->canal_m->find($id);
if($this->modulo->galeria){
$data['canal']->imagens = $this->canal_m->getImagens($id);
}
$data['modelos'] = ModeloFaturamento::all();
$data['responsaveis'] = User::whereRaw("EXISTS (SELECT 1 FROM sis_role_users sru WHERE sru.user_id = sis_users.id AND sru.role_id = 1)")->orderBy('first_name', 'ASC')->get();
$data['campanhas'] = MailchimpCampaign::where('tipo', 'C')->orderBy('send_time')->get();
return view('Canal::admin/form-canal-ajax',$data);
}
public function saveAjax(Request $request){
$post = $request->input();
$post['meta_keywords'] = (isset($post['meta_keywords'])) ? implode(',',$post['meta_keywords']) : null;
foreach ($this->fields as $field) {
$arrayFields[] = $field->nome;
}
foreach ($this->fks as $fk) {
$arrayFields[] = $fk->nome;
}
if($this->modulo->imagem){
$arrayFields[] = 'thumbnail_principal';
}
$arrayFields[] = 'responsavel_id';
$arrayFields[] = 'modelo_faturamento_id';
$arrayFields[] = 'total_custo';
$arrayFields[] = 'ativar_url';
$arrayFields[] = 'senha_acesso';
$arrayFields[] = 'url_video';
$arrayFields[] = 'listar_ppr';
$arrayFields[] = 'exibir_bloco_home';
$arrayFields[] = 'exibir_menu_home';
$arrayFields[] = 'exibir_unidades_restantes';
$arrayFields[] = 'acesso_autenticado';
$arrayFields[] = 'fast_pass';
$arrayFields[] = 'permitir_cashback';
$arrayFields[] = 'mailchimp_campaign_id';
$arrayFields[] = 'permitir_oferta_confraria';
if($request->input('id')){
$id_canal = $this->canal_m->editar($arrayFields, $post, $request->input('id'));
}else{
$id_canal = $this->canal_m->criar($arrayFields, $post);
}
if(isset($post['mailchimp_campaign_id']) && !empty($post['mailchimp_campaign_id'])){
CanalService::updateOfertaCampaign($id_canal, $post['mailchimp_campaign_id']);
}
if($request->hasFile('image_canal')) {
$file = $request->file('image_canal');
$canal = GeralService::uploadFile($file, 'canal', ['delete' => false]);
Canal::where('id', $id_canal)
->update([
'thumbnail_principal' => $canal->filename
]);
@unlink('uploads/canal/' . $canal->filename);
}
//Ativa/Desativa Fast Pass Produtos x Ofertas do Canal
CanalService::setFastPass($id_canal, $post['fast_pass']);
\Session::flash('type', 'success');
\Session::flash('message', "Alteracoes salvas com sucesso!");
return redirect('admin/canal');
}
public function acessoAutenticado(Request $request){
$data = [];
$data['listaCanaisFastPass'] = Canal::where('fast_pass', 1)->orderBy('nome', 'ASC')->get();
$data['listaCanaisAcessoAutenticado'] = Canal::where('acesso_autenticado', 1)->orderBy('nome', 'ASC')->get();
return view('Canal::admin/acesso-autenticado', $data);
}
public function buscarOfertas(Request $request){
$post = $request->input();
$query = Oferta::select('oferta.*', DB::raw("CONCAT(oferta.titulo, ' ', oferta.sub_titulo) as nome_oferta"));
if($request->input('tipo')){
$query->where('oferta.tipo', $request->input('tipo'));
}else{
$query->whereNotIn('oferta.tipo', ['M']);
}
if($request->input('id_canal')){
$id_canal = $request->input('id_canal');
$query->whereRaw("NOT EXISTS (SELECT 1 FROM canal_has_oferta cho WHERE cho.id_oferta = oferta.id AND cho.id_canal = {$id_canal})");
}
$query->having('nome_oferta', 'like', '%'.$post['term']['term'].'%');
$listaOfertas = $query->get();
$lista = [];
foreach ($listaOfertas as $objOferta) {
$objOferta->disponibilidade = ((isset($objOferta->produtos) && count($objOferta->produtos) == 1) ? $objOferta->produtos[0]->produto->disponibilidade : 0);
$lista[] = $objOferta;
}
return response()->json(array('items' => $lista));
}
public function buscarProdutos($canal_id){
$query = Oferta::select(
'produto.id', 'produto.nome', 'produto.sku'
)
->join('oferta_has_produto','oferta_has_produto.id_oferta','=','oferta.id')
->join('produto','produto.id','=','oferta_has_produto.id_produto')
->join('produto_caracteristica','produto.id','=','produto_caracteristica.id_produto')
->join('tipo_de_produto','tipo_de_produto.id','=','produto.id_tipo_produto')
->join('canal_has_oferta','canal_has_oferta.id_oferta','=','oferta.id')
->join('canal','canal_has_oferta.id_canal','=','canal.id')
->whereRaw('canal_has_oferta.deleted_at IS NULL')
->where('canal.id', $canal_id)
->groupBy('produto.id')
->orderBy('produto.nome', 'asc');
$produtos = $query->get();
$json = ['status' => true, 'produtos' => $produtos];
return response()->json($json);
}
public function listarClientesFastPass(Request $request){
$data = $request->input();
$canal_id_acesso_autenticado = $request->input('canal_id_acesso_autenticado') ? $request->input('canal_id_acesso_autenticado') : 0;
$canal_id_fast_pass = $request->input('canal_id_fast_pass') ? $request->input('canal_id_fast_pass') : 0;
$produto_id_fast_pass = $request->input('produto_id_fast_pass', 0);
$query = PedidoVenda::select(DB::raw("
pedido_venda.id AS 'pedido_venda_id',
pedido_venda.data_fechamento,
pedido_venda.id_cliente,
cadastro.nome cliente_nome,
cadastro.sobrenome cliente_sobrenome,
pvs.nome AS status_nome,
produto.id AS 'produto_id',
produto.nome AS 'produto_nome',
produto.sku AS 'produto_sku',
(SELECT habilitado FROM canal_acesso_autenticado caa WHERE caa.cadastro_id = pedido_venda.id_cliente AND caa.canal_id_fast_pass = {$canal_id_fast_pass} AND caa.canal_id_acesso_autenticado = {$canal_id_acesso_autenticado}) AS 'habilitado'
"))
->join('cadastro', 'cadastro.id', '=', 'pedido_venda.id_cliente')
->join('pedido_venda_status AS pvs', 'pvs.id', '=', 'pedido_venda.id_status_pedido_venda')
->join('pedido_venda_has_produto AS pvhp', 'pvhp.id_pedido_venda', '=', 'pedido_venda.id')
->join('produto', 'produto.id', '=', 'pvhp.id_produto')
->join('oferta_has_produto AS ohp', 'ohp.id_produto', '=', 'produto.id')
->join('canal_has_oferta AS cho', 'cho.id_oferta', '=', 'ohp.id_oferta')
->whereNotIn('pedido_venda.id_status_pedido_venda', [1,5])
->where('cho.id_canal', $canal_id_fast_pass);
if(!empty($produto_id_fast_pass) && $produto_id_fast_pass != 0){
$query->where('pvhp.id_produto', $produto_id_fast_pass);
}
if ($request->input('cliente_nome')){
$query->where(DB::raw('CONCAT(cadastro.nome, " ", cadastro.sobrenome)'), 'like', '%'.$request->input('cliente_nome').'%');
}
if($request->input('habilitado') && $request->input('habilitado') == 1){
$query->join('canal_acesso_autenticado AS cauth', 'cauth.cadastro_id', '=', 'cadastro.id');
$query->where('cauth.habilitado', $request->input('habilitado'));
}
$query->groupBy('pedido_venda.id');
$data['clientes'] = $query->orderBy('cadastro.nome', 'ASC')->get();
$html = view('Canal::admin/clientes-lista-fast-pass', $data)->render();
$json = [
'status' => true,
'html' => $html
];
return response()->json($json);
}
public function gerarAcessoAutenticado(Request $request){
$clientes = $request->input('clientes');
$errors = [];
$clientesIDs = [];
foreach ($clientes as $cliente) {
$clientesIDs[] = $cliente['cliente_id'];
}
$canal_id_acesso_autenticado = $request->input('canal_id_acesso_autenticado', 0);
$canal_id_fast_pass = $request->input('canal_id_fast_pass', 0);
$ClientesAutenticados = CanalAcessoAutenticado::where('canal_id_fast_pass', $canal_id_fast_pass)->where('canal_id_acesso_autenticado', $canal_id_acesso_autenticado)->whereIn('cadastro_id', $clientesIDs)->get();
$listaClientesAutenticados = [];
foreach ($ClientesAutenticados as $clienteAunteticado) {
$listaClientesAutenticados[$clienteAunteticado->cadastro_id] = $clienteAunteticado;
}
foreach ($clientes as $cliente) {
try {
$cadastro_id = $cliente['cliente_id'];
$produto_id = $cliente['produto_id'];
$pedido_venda_id = $cliente['pedido_venda_id'];
$habilitado = $cliente['habilitado'];
$created_at = date('Y-m-d H:i:s');
if(!isset($listaClientesAutenticados[$cadastro_id])){
$sql = "INSERT INTO canal_acesso_autenticado (canal_id_fast_pass, canal_id_acesso_autenticado, cadastro_id, pedido_venda_id, produto_id, habilitado, created_at, updated_at) VALUES ";
$sql .= " ({$canal_id_fast_pass}, {$canal_id_acesso_autenticado}, {$cadastro_id}, {$pedido_venda_id}, {$produto_id}, {$habilitado}, '{$created_at}', '{$created_at}')";
DB::insert($sql);
$clienteAunteticado = CanalAcessoAutenticado::where('canal_id_fast_pass', $canal_id_fast_pass)->where('canal_id_acesso_autenticado', $canal_id_acesso_autenticado)->where('cadastro_id', $cadastro_id)->first();
if($clienteAunteticado){
$listaClientesAutenticados[$clienteAunteticado->cadastro_id] = $clienteAunteticado;
if($habilitado){
//cria array da fila para enviar email de notificação
$parametrosAlerta = array();
$parametrosAlerta['alertaFila'] = ['cadastro' => [], 'tipo' => 'canal-acesso-autenticado', 'tipo_id' => $clienteAunteticado->id, 'timeout' => 1];
$parametrosAlerta['alertaFila']['cadastro'][$cadastro_id] = $cadastro_id;
$retornoAlerta = AlertaFila::criarAlertaFila($parametrosAlerta);
}
}
}else{
$clienteAunteticado = $listaClientesAutenticados[$cadastro_id];
$sql = "UPDATE canal_acesso_autenticado SET habilitado = {$habilitado}, updated_at = '{$created_at}' WHERE id = {$clienteAunteticado->id}";
DB::update($sql);
if(!$clienteAunteticado->habilitado && $habilitado){
//cria array da fila para enviar email de notificação
$parametrosAlerta = array();
$parametrosAlerta['alertaFila'] = ['cadastro' => [], 'tipo' => 'canal-acesso-autenticado', 'tipo_id' => $clienteAunteticado->id, 'timeout' => 1];
$parametrosAlerta['alertaFila']['cadastro'][$cadastro_id] = $cadastro_id;
$retornoAlerta = AlertaFila::criarAlertaFila($parametrosAlerta);
}
}
} catch (Exception $e) {
$errors[] = "Erro Cliente: {$cliente['cliente_id']} " . $e->getMessage();
Log::info('Erro ao Gerar Cliente: ' . $e->getMessage());
}
}
$json = ['status' => true, 'message' => "Cliente(s) gravado(s) com sucesso!", 'errors' => $errors];
return response()->json($json);
}
public function upload_image(Request $request) {
if($request->hasFile('file')) {
//upload an image to the /img/tmp directory and return the filepath.
$file = $request->file('file');
$tmpFilePath = '/uploads/canal/';
$tmpFileName = time() . '-' . $file->getClientOriginalName();
$file = $file->move(public_path() . $tmpFilePath, $tmpFileName);
$path = $tmpFilePath . $tmpFileName;
return response()->json(array('path'=> $path, 'file_name'=> $tmpFileName), 200);
} else {
return response()->json(false, 200);
}
}
public function upload_galeria($id, Request $request) {
if($request->hasFile('file')) {
//upload an image to the /img/tmp directory and return the filepath.
$file = $request->file('file');
$canal = GeralService::uploadFile($file, 'canal', ['delete' => false]);
$this->canal_m->criar_imagem(array('id_canal' => $id, 'thumbnail_principal' => $canal->filename));
return response()->json(array('path'=> '/uploads/canal/' . $canal->filename, 'file_name'=> $canal->filename), 200);
} else {
return response()->json(false, 200);
}
}
public function crop_image(Request $request) {
$img = \Image::make('uploads/canal/'.$request->input('file_name'));
$dataCrop = json_decode($request->input('data_crop'));
if($img->crop(intval($dataCrop->width), intval($dataCrop->height), intval($dataCrop->x), intval($dataCrop->y))->save('uploads/canal/thumb_'.$request->input('file_name'))){
GeralService::deleteFileImages($request->input('file_name'), 'canal');
$canal = GeralService::uploadFile(FALSE, 'canal', ['filename' => 'thumb_'.$request->input('file_name'), 'delete' => false]);
echo json_encode(array(
'status' => true,
'path' => '/uploads/canal/thumb_'.$request->input('file_name'),
'file_name' => 'thumb_'.$request->input('file_name'),
));
}else{
echo json_encode(array(
'status' => false,
'message' => 'Não foi possível alterar a imagem.'
));
}
}
public function delete($slug){
$id = Canal::where('slug', $slug)->value('id');
$this->canal_m->deletar($id);
\Session::flash('type', 'success');
\Session::flash('message', "Registro removido com sucesso!");
return redirect('admin/canal');
}
public function delete_imagem($id){
try{
$imagem = $this->canal_m->getImagem($id);
$this->canal_m->deletar_imagem($id);
GeralService::deleteFileImages($imagem->thumbnail_principal, 'canal');
return response()->json(array('status' => true, 'message' => 'Registro removido com sucesso!'));
}catch(Exception $e){
return response()->json(array('status' => false, 'message' => $e->getMessage()));
}
}
private function slugify($string)
{
return strtolower(trim(preg_replace('~[^0-9a-z]+~i', '-', html_entity_decode(preg_replace('~&([a-z]{1,2})(?:acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml);~i', '$1', htmlentities($string, ENT_QUOTES, 'UTF-8')), ENT_QUOTES, 'UTF-8')), '-'));
}
public function getOfertas($id_canal, Request $request){
$post = $request->input();
$filtros = [];
$filtros['id_canal'] = $id_canal;
$filtros = array_merge($filtros, $post);
$listaOfertas = GeralService::buscarCanalHasOferta($filtros);
return view('Canal::admin/lista-ofertas',['listaOfertas' => $listaOfertas, 'filtro' => $filtros]);
}
}