/** * 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)); }
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');