Advertisement
Guest User

Untitled

a guest
Nov 13th, 2015
264
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.55 KB | None | 0 0
  1. function cancelar_pedido($cont) {
  2. try {
  3. if (!function_exists("conectar")){//compruebo si existe la funcion conectar, si existe es porque ya se ha hecho el include de conexion.php
  4. include 'Conexion.php';
  5. }
  6.  
  7.  
  8. $cont->PermitirCambiarEstado = false;
  9. //////////// INICIO VALIDACIÓN WILSON /////////
  10. //comprueba que exista la Id del pedido y q se pueda modificar.
  11. $pedido = new Pedido;
  12. $pedido->id_pedido = $cont->id_pedido;
  13. $evento = 'listar_pedido_por_id';
  14. ejecutar_componentes_sin_vista($evento, $pedido);
  15.  
  16. if ($pedido->transaccion) {
  17. //COMPROBACIÓN DE PREREQUISITOS
  18. if ($pedido->ped_estado != 'A') {
  19. //Validando si se puede cambiar el estado (seg{un el estado debe cumplir un prerequisito)
  20. if ($pedido->ped_estado == 'N') {
  21. $cont->PermitirCambiarEstado = true;
  22. }elseif ($pedido->ped_estado == 'RC') {
  23. $cont->mensaje_error = "ERROR. Este pedido ya se encuentra cancelado.";
  24. }else{
  25. $cont->mensaje_error = "ERROR. NO se puede CANCELAR este pedido.";
  26. }
  27. }else{
  28. $cont->mensaje_error = "ERROR. No se puede cambiar el estado de un pedido anulado.";
  29. }
  30. }else{
  31. $cont->mensaje_error = "ERROR. Pedido NO encontrado.";
  32. }
  33. ///////////FIN VALIDACIÓN WILSON//////////
  34.  
  35.  
  36. if ($cont->PermitirCambiarEstado) {
  37.  
  38. $db = conectar();
  39. //CONFIRMAR PEDIDO
  40. $coll = $db->selectCollection('del_pedidos');
  41. $post = array(
  42. "ped_estado" => 'RC',
  43. "ped_updatedat" => $cont->ped_updatedat,
  44. "ped_cancelado_observacion" => $cont->ped_cancelado_observacion,
  45. );
  46.  
  47. if ($coll->update(array('_id' => $cont->id_pedido), array('$set' => $post)))
  48. {
  49. $coll = $db->selectCollection('del_codigos');
  50. if (isset($cont->id_codigo)) {
  51. //$coll->remove(array('_id' => $cont->id_codigo), array('safe' => True));//ELIMINADO SEGURO
  52. }elseif($cont->localidad == "DetallePedidoWeb"){
  53. $coll->remove(array('id_pedido' => $cont->id_pedido), array('safe' => True));//ELIMINADO SEGURO
  54. }
  55.  
  56.  
  57. $cont->transaccion = true;
  58. }
  59.  
  60. $pedido = new Pedido;
  61. $pedido->id_pedido = new MongoID($cont->id_pedido);
  62. $evento = 'listar_pedido_por_id';
  63. ejecutar_componentes_sin_vista($evento, $pedido);
  64.  
  65. $comercio = new Comercio;
  66. $comercio->id_comercio = new MongoID($pedido->com_codigo);
  67. $evento = 'listar_comercio_por_id';
  68. ejecutar_componentes_sin_vista($evento, $comercio);
  69.  
  70. //al usuario pedidos@libelulasoft.com que se cancelo
  71.  
  72. //Enviar PUSH a usuario final
  73. $push_usu_final = new NotificacionPush;
  74. $push_usu_final->id_usuario = $pedido->usu_codigo;//Enviar a los Motorizado
  75. $push_usu_final->titulo = 'Tu pedido ha sido cancelado por el establecimiento '.$comercio->com_nombre;
  76. $push_usu_final->texto = 'Tu pedido ha sido cancelado por el establecimiento.';
  77. $push_usu_final->url = 'http://www.motodelivery.com.ec/';
  78. $push_usu_final->accion = '';
  79. $push_usu_final->valor = '';
  80. $evento = 'enviar_notificacion_push';
  81. ejecutar_componentes_sin_vista($evento, $push_usu_final);
  82.  
  83. $usuario = new Usuario;
  84. $usuario->id_usuario = $pedido->usu_codigo;
  85. $evento = 'listar_usuario_por_id';
  86. ejecutar_componentes_sin_vista($evento, $usuario);
  87.  
  88. //////////inicio prepara email ////////////////////
  89. $cont->AuxPathImagenesEmail = "http://www.motodelivery.com.ec/images/";
  90. $diccionario_listar_productos = array(
  91. 'PathImagenesEmail' => $cont->AuxPathImagenesEmail,
  92. 'titulo-mail' => 'Pedido cancelado',
  93. 'titulo-mail-2' => '',
  94. 'detalle-mail' => 'El establecimiento ha cancelado tu pedido No. '.$pedido->ped_codigo.', en unos minutos llegará tu pedido',
  95. 'detalle-mail-2' => 'Gracias por usar MotoDelivery, que tengas un buen día.',
  96. );
  97.  
  98. if (file_exists('restaurantes/plantillas/mail_general.html')) {
  99. $plantilla=file_get_contents('restaurantes/plantillas/mail_general.html');
  100. }elseif (file_exists('../restaurantes/plantillas/mail_general.html')) {
  101. $plantilla=file_get_contents('../restaurantes/plantillas/mail_general.html');
  102. }
  103.  
  104. foreach ($diccionario_listar_productos as $clave=>$valor) {
  105. $plantilla = str_replace('{'.$clave.'}', $valor, $plantilla);
  106. }
  107.  
  108. $cont_email = new Usuario;
  109. $cont_email->asunto = "Pedido ".$pedido->ped_codigo." cancelado por el establecimiento.";
  110. $cont_email->email = $usuario->usu_email;//""pewil1@yahoo.com""Email del usuario
  111. $cont_email->mensaje = $plantilla;
  112. $evento = 'enviar_correo';
  113. ejecutar_componentes_sin_vista($evento, $cont_email);
  114.  
  115. //---------------------------------------------
  116. //pedido confimado a pedidos
  117.  
  118. $diccionario_listar_productos = array(
  119. 'PathImagenesEmail' => $cont->AuxPathImagenesEmail,
  120. 'titulo-mail' => 'Pedido CANCELADO',
  121. 'titulo-mail-2' => '',
  122. 'detalle-mail' => 'El establecimiento '.$comercio->com_nombre.' ha cancelado el pedido No. '.$pedido->ped_codigo.'',
  123. 'detalle-mail-2' => '<strong>Observacion:</strong>'.$cont->ped_cancelado_observacion,
  124. );
  125.  
  126. if (file_exists('restaurantes/plantillas/mail_general.html')) {
  127. $plantilla=file_get_contents('restaurantes/plantillas/mail_general.html');
  128. }elseif (file_exists('../restaurantes/plantillas/mail_general.html')) {
  129. $plantilla=file_get_contents('../restaurantes/plantillas/mail_general.html');
  130. }
  131.  
  132. foreach ($diccionario_listar_productos as $clave=>$valor) {
  133. $plantilla = str_replace('{'.$clave.'}', $valor, $plantilla);
  134. }
  135.  
  136. $cont_email = new Usuario;
  137. $cont_email->asunto = "Pedido ".$pedido->ped_codigo." CANCELADO por el establecimiento.";
  138. $cont_email->email = 'doritamemo@hotmail.com';//""pewil1@yahoo.com""Email del usuario
  139. $cont_email->mensaje = $plantilla;
  140. $evento = 'enviar_correo';
  141. ejecutar_componentes_sin_vista($evento, $cont_email);
  142. }
  143. //al usuario normal
  144.  
  145. }catch(MongoException $e) {
  146. $cont->transaccion = false;
  147. echo "No es posible consultar la informacion, error: ".$e->getMessage()."<br>";
  148. echo "Codigo de error: ".$e->getCode()."<br>";
  149. }
  150. return $cont;
  151.  
  152. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement