public function editpromo(Request $request, $id) { $updated_data = Request::all(); $promocion = App\Promocion::find($id); $negocio = App\Negocio::find(Auth::user()->user->negocio)->nameConcatenated(); try { // validamos que no se selecciono un nuevo volante if (!empty($updated_data['archivo'])) { $input = $updated_data['archivo']; $extension = $input->getClientOriginalExtension(); $input->move(public_path() . '/negocios/' . $negocio . '/imgs' . '/', $updated_data['updated_flyer']); $promocion->nombre_promo = $updated_data['name_updated']; $promocion->descripcion_promo = $updated_data['desc_updated']; $promocion->img_promo = "../negocios/" . $negocio . "/imgs" . "//" . $updated_data['updated_flyer']; $promocion->valido_hasta = $updated_data['enddate_updated']; $promocion->save(); return response()->json(["mensaje" => "¡Se han guardado los cambios en la promoción!"]); } else { $promocion->nombre_promo = $updated_data['name_updated']; $promocion->descripcion_promo = $updated_data['desc_updated']; $promocion->valido_hasta = $updated_data['enddate_updated']; $promocion->save(); return response()->json(["mensaje" => "¡Se han guardado los cambios en la promoción pero el volante de la promoción no ha cambiado!"]); } } catch (Exception $e) { return response()->json(["mensaje" => "Ha ocurrido un error al modificar la promoción"]); } }
public function actualizarPromocion(Request $request, $id) { //Estandar de promociones 1="PAgue en..." 2="PAgue en 6 quincenas" 3="Pague en 8 quincenas" $fechaHoy = Carbon::today(); $promocionEditada = Promocion::find($id); //$promocionEditada->tipo_promocion = $request->input('tipo_promocion'); $promocionEditada->fecha_creacion = $request->input('fecha_creacion'); $promocionEditada->fecha_termino = $request->input('fecha_termino'); if ($request->input('fecha_inicio') != NULL) { $promocionEditada->fecha_inicio = $request->input('fecha_inicio'); $fechaInicioPagoPromoDB = $promocionEditada->fecha_inicio; $fechaInicioPagoNuevaCarbon = Carbon::parse($fechaInicioPagoPromoDB); } //var_dump($promocionEditada->fecha_termino); if ($request->input('numero_pagos') != NULL) { $promocionEditada->numero_pagos = $request->input('numero_pagos'); } //return $promocionEditada; $fechaCreacionPromoDB = $promocionEditada->fecha_creacion; $fechaTerminoPromoDB = $promocionEditada->fecha_termino; $fechaInicioNuevaCarbon = Carbon::parse($fechaCreacionPromoDB); $fechaTerminoNuevaCarbon = Carbon::parse($fechaTerminoPromoDB); $filtroPromocions = Promocion::all(); for ($i = 0; $i < count($filtroPromocions); $i++) { if ($promocionEditada->id_promocion != $filtroPromocions[$i]->id_promocion) { $promocions[$i] = $filtroPromocions[$i]; } } foreach ($promocions as $promocion) { $fechaInicioCarbon = Carbon::parse($promocion->fecha_creacion); $fechaTerminoCarbon = Carbon::parse($promocion->fecha_termino); //if(($fechaInicioNuevaCarbon>=$fechaCreacionCarbon && $fechaInicioNuevaCarbon<=$fechaTerminoCarbon) || ($fechaTerminoNuevaCarbon>=$fechaCreacionCarbon && $fechaTerminoNuevaCarbon<=$fechaTerminoCarbon)) if ($promocionEditada->tipo_promocion == $promocion->tipo_promocion && ($fechaInicioNuevaCarbon >= $fechaInicioCarbon && $fechaInicioNuevaCarbon <= $fechaTerminoCarbon || $fechaTerminoNuevaCarbon >= $fechaInicioCarbon && $fechaTerminoNuevaCarbon <= $fechaTerminoCarbon)) { $promocionRepetida = $promocion; $Repetida = true; break; } else { $Repetida = false; } } if ($fechaInicioNuevaCarbon < $fechaHoy) { Session::flash('message', 'La fecha de inicio no puede ser menor a la fecha de hoy'); Session::flash('class', 'danger'); } else { if ($fechaInicioNuevaCarbon >= $fechaTerminoNuevaCarbon) { Session::flash('message', 'La fecha de inicio no puede ser mayor o igual a la fecha de termino'); Session::flash('class', 'danger'); } else { if ($fechaTerminoNuevaCarbon <= $fechaInicioNuevaCarbon) { Session::flash('message', 'La fecha de termino no puede ser menor o igual a fecha de inicio'); Session::flash('class', 'danger'); } else { if ($request->input('fecha_inicio') != NULL) { if ($fechaInicioPagoNuevaCarbon <= $fechaTerminoNuevaCarbon) { Session::flash('message', 'La fecha del primer pago no puede ser menor o igual a la fecha termino'); Session::flash('class', 'danger'); } else { if ($Repetida) { switch ($promocionRepetida->tipo_promocion) { case 1: Session::flash('message', 'Ya se encuentra una promoción vigente que abarca del ' . $promocionRepetida->fecha_creacion . ' al ' . $promocionRepetida->fecha_termino . ' con fecha de inicio de ' . $promocionRepetida->fecha_inicio); Session::flash('class', 'danger'); break; case 2: Session::flash('message', 'Ya se encuentra una promoción vigente que abarca del ' . $promocionRepetida->fecha_creacion . ' al ' . $promocionRepetida->fecha_termino . ' a ' . $promocionRepetida->numero_pagos . ' quincenas'); Session::flash('class', 'danger'); break; } } else { $promocionEditada->save(); Session::flash('message', 'Guardado Correctamente'); Session::flash('class', 'success'); } } } else { if ($Repetida) { Session::flash('message', 'Ya se encuentra una promoción vigente del mismo tipo'); Session::flash('class', 'danger'); } else { $promocionEditada->save(); Session::flash('message', 'Guardado Correctamente'); Session::flash('class', 'success'); } } } } } return redirect('consultarPromociones'); }