/**
  * Display a listing of the resource.
  *
  * @return Response
  */
 public function solicpremium()
 {
     $authuser = Auth::user();
     $clasificado = Clasificado::find(Input::get('clasfid'));
     $clasificado->solicitar_premium = 1;
     $clasificado->save();
     //Generar row en cobros y cobros_pendientes
     $cobrotipoSerProveedor = CobroTipo::where('tipo', 'clasificado_premium')->first();
     $cobro = new Cobro();
     $cobro->tipo_id = $cobrotipoSerProveedor->id;
     $cobro->usuario_id = $authuser->id;
     $cobro->estado = 'pendiente';
     $cobro->datosAdicionales = $clasificado->id;
     //Al entrar a este metodo estoy seguro que el usuario tiene un registro de proveedor asociado
     $cobro->save();
     $id = Str::random(4);
     $date_now = new DateTime();
     $cobrop = new CobroPendiente();
     $cobrop->cobro_id = $cobro->id;
     $cobrop->fecha = $date_now;
     $cobrop->cobro_concepto = 'TODCONS' . $cobro->id . 'CLASF' . $clasificado->id . $date_now->format('YmdHi') . $id;
     // Concepto = clave_empresa+ clave_cobro+ clave_tipo_cobro + clave_objeto_de_cobro + fecha+4_digitos_random (Por favor mejorar!!)
     $cobrop->save();
     return Redirect::to('vistausuario/clasificados')->with(array('usuarioimg' => $authuser->imagen, 'usuarionombre' => $authuser->nombre, 'usuarioid' => $authuser->id));
 }
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store()
 {
     //
     $authuser = Auth::user();
     if (!File::exists('images/banners/')) {
         $result = File::makeDirectory('images/banners/', 0777);
     }
     $rules = array('seccion' => 'required', 'imagen' => 'required|mimes:png,gif,jpeg,txt,pdf,doc,rtf|max:200000000');
     $validator = Validator::make(Input::all(), $rules);
     if ($validator->fails()) {
         return Redirect::to('vistausuario/banners/create')->withErrors($validator)->withInput();
     } else {
         $file = Input::file('imagen');
         $id = Str::random(4);
         $date_now = new DateTime();
         $destinationPath = 'images/banners/';
         $filename = $date_now->format('YmdHis') . $id;
         $mime_type = $file->getMimeType();
         $extension = $file->getClientOriginalExtension();
         $upload_success = $file->move($destinationPath, $filename . '.' . $extension);
         $banner = new Banner();
         $banner->usuario_id = $authuser->id;
         $banner->banner_img = $filename . '.' . $extension;
         $banner->solicitar_habilitar = 1;
         $banner->habilitar = 0;
         $banner->link = Input::get('link');
         $banner->seccion = Input::get('seccion');
         $banner->save();
         //TODO: Crear pago pendiente
         //Generar row en cobros y cobros_pendientes
         //'BLOG-IZQUIERDA' => 'BLOG - IZQUIERDA', 'BLOG-DERECHA' => 'BLOG - DERECHA','DIRECTORIO-IZQUIERDA' => 'DIRECTORIO - IZQUIERDA', 'DIRECTORIO-DERECHA' => 'DIRECTORIO - DERECHA','EVENTOS-IZQUIERDA' => 'EVENTOS - IZQUIERDA', 'EVENTOS-DERECHA' => 'EVENTOS - DERECHA','CLASIFICADOS-IZQUIERDA' => 'CLASIFICADOS - IZQUIERDA', 'CLASIFICADOS-DERECHA' => 'CLASIFICADOS - DERECHA','VIDEOBLOG-IZQUIERDA' => 'VIDEOBLOG - IZQUIERDA', 'VIDEOBLOG-DERECHA' => 'VIDEOBLOG - DERECHA'
         $cobrotipoBanner = CobroTipo::where('tipo', 'BANNER-' . Input::get('seccion'))->first();
         $cobro = new Cobro();
         $cobro->tipo_id = $cobrotipoBanner->id;
         $cobro->usuario_id = $authuser->id;
         $cobro->estado = 'pendiente';
         $cobro->datosAdicionales = $banner->id;
         $cobro->save();
         $id = Str::random(4);
         $date_now = new DateTime();
         $cobrop = new CobroPendiente();
         $cobrop->cobro_id = $cobro->id;
         $cobrop->fecha = $date_now;
         $cobrop->cobro_concepto = 'TODCONS' . $cobro->id . 'BANN' . $banner->id . $date_now->format('YmdHi') . $id;
         // Concepto = clave_empresa+ clave_cobro+ clave_tipo_cobro + clave_objeto_de_cobro + fecha+4_digitos_random (Por favor mejorar!!)
         $cobrop->save();
         return Redirect::to("vistausuario/banners")->with(array('usuarioimg' => $authuser->imagen, 'usuarionombre' => $authuser->nombre, 'usuarioid' => $authuser->id));
     }
 }
 /**
  * Remove the specified resource from storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function destroy($id)
 {
     //
     $authuser = Auth::user();
     $cobrop = CobroPendiente::find($id);
     $cobrot = $cobrop->cobro->tipo;
     $cobro = $cobrop->cobro;
     //Dependiendo de cobro_tipo, regregar estado de objeto de cobro a antes de solicitar premium
     if ($cobrot->tipo == 'ser_proveedor') {
         //regresar campo 'solicitar_premium' de 1 a 0
         $prov = Usuario::find($cobro->datosAdicionales)->proveedor;
         $prov->solicitar_premium = 0;
         $prov->save();
     }
     if ($cobrot->tipo == 'clasificado_premium') {
         //regresar campo 'solicitar_premium' de 1 a 0
         $clas = Clasificado::find($cobro->datosAdicionales);
         $clas->solicitar_premium = 0;
     }
     if ($cobrot->tipo == 'imagen_proveedor') {
         //regresar campo 'premium' de 1/2 a 0
     }
     //TODO: falta los cobrot=== de banners
     if ($cobrot->tipo == 'banner_index-izq' || $cobrot->tipo == 'banner_index-der' || $cobrot->tipo == 'banner_index-arr') {
         //hacer algo
     }
     $cobrop->delete();
     //Si cobro todavia no se activa (es decir cobro->fechaExpiracion es NULL y cobro->estado =='pendiente')
     //=> borrar registro de cobro
     if ($cobro->fechaExpiracion == null && ($cobro->estado == null || $cobro->estado == '' || $cobro->estado == 'pendiente')) {
         $cobro->delete();
     }
     return Redirect::to('/administracion/pagospendientes');
 }
 /**
  * Display a listing of the resource.
  *
  * @return Response
  */
 public function index()
 {
     //
     $authuser = Auth::user();
     //Super query
     $cobrospusuario = CobroPendiente::whereIn('cobro_id', function ($query) use($authuser) {
         $query->select('id')->from(with(new Cobro())->getTable())->where('usuario_id', $authuser->id);
     })->paginate(15);
     return View::make('vistausuario.pages.pagospendientes.index')->with(array('listaPagosPendientes' => $cobrospusuario, 'usuarioimg' => $authuser->imagen, 'usuarionombre' => $authuser->nombre, 'usuarioid' => $authuser->id));
 }
 public function guardarmodifdatos()
 {
     $authuser = Auth::user();
     $rules = array('metodopago' => 'required', 'referenciapago' => 'required');
     $validator = Validator::make(Input::all(), $rules);
     if ($validator->fails()) {
         return View::make('vistausuario.pages.pagospendientes.modifdatos')->with(array('pagop' => $pagopendiente, 'usuarioimg' => $authuser->imagen, 'usuarionombre' => $authuser->nombre, 'usuarioid' => $authuser->id))->withErrors($validator)->withInput();
     } else {
         $pagopendiente = CobroPendiente::find(Input::get('pagopid'));
         $pagopendiente->metodoPago = Input::get('metodopago');
         $pagopendiente->referenciaPago = Input::get('referenciapago');
         $pagopendiente->save();
         return Redirect::to('/vistausuario/pagospendientes');
     }
 }
 /**
  * Display a listing of the resource.
  *
  * @return Response
  */
 public function solicpremium()
 {
     $authuser = Auth::user();
     $proveedor = $authuser->proveedor;
     $proveedor->solicitar_premium = 1;
     $proveedor->save();
     //Generar row en cobros y cobros_pendientes
     $cobrotipoSerProveedor = CobroTipo::where('tipo', 'ser_proveedor')->first();
     $cobro = new Cobro();
     $cobro->tipo_id = $cobrotipoSerProveedor->id;
     $cobro->usuario_id = $authuser->id;
     $cobro->estado = 'pendiente';
     $cobro->datosAdicionales = $proveedor->id;
     $cobro->save();
     $id = Str::random(4);
     $date_now = new DateTime();
     $cobrop = new CobroPendiente();
     $cobrop->cobro_id = $cobro->id;
     $cobrop->fecha = $date_now;
     $cobrop->cobro_concepto = 'TODCONS' . $cobro->id . 'PROV' . $proveedor->id . $date_now->format('YmdHi') . $id;
     // Concepto = clave_empresa+ clave_cobro+ clave_tipo_cobro + clave_objeto_de_cobro + fecha+4_digitos_random (Por favor mejorar!!)
     $cobrop->save();
     return Redirect::to("vistausuario/")->with(array('usuarioimg' => $authuser->imagen, 'usuarionombre' => $authuser->nombre, 'usuarioid' => $authuser->id));
 }
 public function aceptarcobro()
 {
     $cobropid = Input::get('pagodpid');
     $cobrop = CobroPendiente::find($cobropid);
     $cobrot = $cobrop->cobro->tipo;
     $cobro = $cobrop->cobro;
     $usuario = $cobrop->cobro->usuario;
     $date_now = new DateTime();
     //Copiar datos a un nuevo row de CobroHistorial
     $cobroH = new CobroHistorial();
     $cobroH->cobro_id = $cobrop->cobro_id;
     $cobroH->fechaPago = $date_now;
     //Mejorar: Aqui mas bien seria la fecha en la que se registro el pago
     $cobroH->metodoPago = $cobrop->metodoPago;
     $cobroH->referenciaPago = $cobrop->referenciaPago;
     $cobroH->cobro_concepto = $cobrop->cobro_concepto;
     $cobroH->cobro_tipo = $cobrot->tipo;
     $cobroH->usuario_email = $usuario->email;
     $cobroH->cobro_datosAdicionales = $cobro->datosAdicionales;
     $cobroH->save();
     //Actualizar Cobro
     //=> Si es el primer cobro (fechaExpiracion ==null  y estado=='pendiente'
     if ($cobro->fechaExpiracion == null) {
         $expdatetime = $date_now->add(new DateInterval('P' . $cobrot->diasVigencia . 'D'));
         $cobro->fechaExpiracion = $expdatetime;
     } else {
         //Si es un cobro para extender el servicio premium
         $fechaEDT = new DateTime($cobro->fechaExpiracion);
         if ($fechaEDT < $date_now) {
             //si servicio ya estaba expirado
             $expdatetime = $date_now->add(new DateInterval('P' . $cobrot->diasVigencia . 'D'));
             //Agregar los dias a partir de la fecha actual
         } else {
             //si servicio todavia no expira
             $expdatetime = $fechaEDT->add(new DateInterval('P' . $cobrot->diasVigencia . 'D'));
             //Agregar los dias a la fecha de expiracion actual
         }
         $cobro->fechaExpiracion = $expdatetime;
     }
     $cobro->estado = 'pagado';
     //TODO: Falta ver seria un estado diferente cuando se paga por primera vez o las demas veces
     $cobro->save();
     //Borrar row de cobroPendiente
     $cobrop->delete();
     //Aqui ya depende del tipo de cobro
     if ($cobrot->tipo == 'ser_proveedor') {
         //regresar campo 'solicitar_premium' de 1 a 0 y poner habilitar a 1
         $prov = Proveedor::find($cobro->datosAdicionales);
         $prov->solicitar_premium = 0;
         $prov->habilitar = 1;
         $prov->no_primer_cobro = 1;
         $prov->save();
     }
     if ($cobrot->tipo == 'clasificado_premium') {
         //regresar campo 'solicitar_premium' de 1 a 0 y poner campo premium a 1
         $clas = Clasificado::find($cobro->datosAdicionales);
         $clas->solicitar_premium = 0;
         $clas->premium = 1;
         $clas->no_primer_cobro = 1;
         $clas->save();
     }
     if ($cobrot->tipo == 'imagen_proveedor') {
         //poner campo 'premium' 1 a 2
         $provimg = ProveedorGaleria::find($cobro->datosAdicionales);
         $provimg->premium = 2;
         $provimg->no_primer_cobro = 1;
         $provimg->save();
     }
     $cobrotipoprefix = substr($cobrot->tipo, 0, 7);
     if ($cobrotipoprefix == 'BANNER-') {
         //poner solicitar_habilitar a 0 y habilitar a 1
         $banner = Banner::find($cobro->datosAdicionales);
         $banner->solicitar_habilitar = 0;
         $banner->habilitar = 1;
         $banner->no_primer_cobro = 1;
         $banner->save();
     }
     return Redirect::to('/administracion/pagospendientes');
 }
 /**
  * Update the specified resource in storage.
  *
  * @param  int  $id
  * @return Response
  */
 public function update($id)
 {
     $authuser = Auth::user();
     //		$proveedorGaleria = Proveedor_galeria::find($id);
     //dd($blog);
     $descripcion = Input::get('descripcion');
     $idimagen = Input::get('idimagen');
     $idproveedor = Input::get('idproveedor');
     $eliminar = Input::get('eliminar');
     $premium = Input::get('premium');
     //echo sizeof($eliminar);
     if (!empty($descripcion)) {
         $indice = 0;
         foreach ($descripcion as $desc) {
             $proveedorGaleria = ProveedorGaleria::find($idimagen[$indice]);
             $proveedorGaleria->texto = $desc;
             //$proveedorGaleria->premium=0;
             $proveedorGaleria->save();
             unset($proveedorGaleria);
             $indice++;
         }
     }
     if (!empty($eliminar)) {
         $indice = 0;
         foreach ($eliminar as $el) {
             $proveedorGaleria = ProveedorGaleria::find($el);
             $proveedor = $proveedorGaleria->proveedor;
             File::delete('images/proveedores/' . $proveedor->nombre_usuario . '/galeria/' . $proveedorGaleria->imagen);
             $proveedorGaleria->delete();
             unset($proveedorGaleria);
             $indice++;
         }
     }
     if (!empty($premium)) {
         $indice = 0;
         foreach ($premium as $pre) {
             $proveedorGaleria = ProveedorGaleria::find($pre);
             $proveedorGaleria->premium = 1;
             //Crear un pago pendiente
             //Generar row en cobros y cobros_pendientes
             $cobrotipoSerProveedor = CobroTipo::where('tipo', 'imagen_proveedor')->first();
             $cobro = new Cobro();
             $cobro->tipo_id = $cobrotipoSerProveedor->id;
             $cobro->usuario_id = $authuser->id;
             $cobro->estado = 'pendiente';
             $cobro->datosAdicionales = $proveedorGaleria->id;
             $cobro->save();
             $id = Str::random(4);
             $date_now = new DateTime();
             $cobrop = new CobroPendiente();
             $cobrop->cobro_id = $cobro->id;
             $cobrop->fecha = $date_now;
             $cobrop->cobro_concepto = 'TODCONS' . $cobro->id . 'PROVIMG' . $proveedorGaleria->id . $date_now->format('YmdHi') . $id;
             // Concepto = clave_empresa+ clave_cobro+ clave_tipo_cobro + clave_objeto_de_cobro + fecha+4_digitos_random (Por favor mejorar!!)
             $cobrop->save();
             $proveedorGaleria->save();
             unset($proveedorGaleria);
             $indice++;
         }
     }
     return Redirect::to("vistausuario/proveedorgaleria")->with(array('usuarioimg' => $authuser->imagen, 'usuarionombre' => $authuser->nombre, 'usuarioid' => $authuser->id));
 }
Example #9
0
    Route::resource('cobrostipo', 'CobrosTipoController');
    Route::resource('cobroshistorial', 'CobrosHistorialController');
    Route::post('elimtodoscobrosh', 'CobrosHistorialController@eliminarTodos');
    //PAGOS PENDIENTES
    Route::resource('pagospendientes', 'PagosPendController');
    Route::post('pagospendaceptarcobro', 'PagosPendDatosController@aceptarcobro');
});
// ===============================================
// SECCION DE VISTA USUARIO =================================
// ===============================================
Route::group(array('prefix' => 'vistausuario', 'before' => 'auth.user'), function () {
    Route::get('/', function () {
        $authuser = Auth::user();
        //Super query
        $cobrospusuario = CobroPendiente::whereIn('cobro_id', function ($query) use($authuser) {
            $query->select('id')->from(with(new Cobro())->getTable())->where('usuario_id', $authuser->id);
        })->get();
        return View::make('vistausuario.index')->with(array('usuarioimg' => $authuser->imagen, 'usuarionombre' => $authuser->nombre, 'usuarioid' => $authuser->id, 'cpendientes' => $cobrospusuario));
    });
    //CLASIFICADOS
    Route::resource('clasificados', 'ClasificadosVistaController');
    Route::post('clasifsolicpremium', 'ClasfSolPremiumVistaController@solicpremium');
    Route::post('agospendclasguardarmeterdatos', 'ClasfSolPremiumVistaController@metedatos');
    //PROVEEDOR
    Route::resource('proveedor', 'ProveedorVistaController');
    Route::post('provsolicpremium', 'ProvSolPremiumVistaController@solicpremium');
    Route::resource('proveedorgaleria', 'ProveedorGaleriaVistaController');
    //USUARIOS
    Route::resource('usuarios', 'UsuariosVistaController');
    //PAGOS PENDIENTES
    Route::resource('pagospendientes', 'PagosPendVistaController');