public function actionFinalizarPedido() { $this->layout = 'sitio'; if (isset($_SESSION['Cliente'])) { if (count($_SESSION['carro']) > 0) { $pedido = new Pedido(); $direccion = Direccion::model()->with('comuna')->findByPk($_POST['Pedido']['direcciones']); $formaPago = FormaPago::model()->findByPk($_POST['Pedido']['formaPago']); $tipoDocumento = TipoDocumento::model()->findByPk($_POST['Pedido']['tiposDocumento']); $pedido->pedido_fecha = new CDbExpression('NOW()'); $pedido->pedido_cliente_nombre = $_SESSION['Cliente']['cliente_nombre']; $pedido->pedido_cliente_direccion = $direccion->direccion_descripcion; $pedido->pedido_cliente_comuna = $direccion->comuna->comuna_nombre; $pedido->pedido_cliente_telefono = $_SESSION['Cliente']['cliente_telefono']; $pedido->pedido_cliente_telefono_movil = $_SESSION['Cliente']['cliente_telefono_movil']; $pedido->pedido_total = $_SESSION['total_carro']; $pedido->cliente_id = $_SESSION['Cliente']['cliente_id']; $pedido->forma_pago_id = $formaPago->forma_pago_id; $pedido->tipo_documento_id = $tipoDocumento->tipo_documento_id; if ($pedido->save()) { Yii::app()->user->setFlash('pedidoRealizadoCorrecto', "¡Gracias por comprar!<br/>Tu pedido es el número: #" . str_pad($pedido->pedido_id, 10, "0", STR_PAD_LEFT) . "<br />Recibirás un e-mail con los detalles de tu pedido."); foreach ($_SESSION['carro'] as $key => $producto) { $pedidoDetalle = new PedidoDetalle(); $pedidoDetalle->producto_codigo = $producto['producto_codigo']; $pedidoDetalle->pedido_detalle_descripcion = $producto['producto_nombre']; $pedidoDetalle->pedido_detalle_precio = $producto['producto_precio']; $pedidoDetalle->pedido_detalle_cantidad = $producto['producto_cantidad']; $pedidoDetalle->pedido_detalle_total = $producto['producto_precio'] * $producto['producto_cantidad']; $pedidoDetalle->pedido_id = $pedido->pedido_id; $pedidoDetalle->producto_id = $producto['producto_id']; $pedidoDetalle->save(); } unset($_SESSION['carro']); $_SESSION['carro'] = array(); } else { //echo "<pre>"; print_r($pedido->getErrors()); echo "</pre>"; Yii::app()->user->setFlash('pedidoRealizadoError', "No es posible realizar tu pedido en este momento, favor intenta más tarde."); } } else { Yii::app()->user->setFlash('pedidoCarroVacio', "No es posible realizar tu pedido en este momento, agrega productos a tu carro."); } } $this->render('finalizarPedido'); }
public function pedidoexistente($id) { if ($id == 0) { $idpro = json_decode(Input::get('aInfo')); $formapago = Input::get('formapago'); $msjeria = Input::get('msjeria'); $cotizar = Input::get('cotizar'); $idusuario = Auth::user()->id; $resp = DB::table('cliente')->where('usuario_id', $idusuario)->pluck('id'); $clienteformapago = new ClienteFormaPago(); $clienteformapago->cliente_id = $resp; $clienteformapago->forma_pago_id = $formapago; $clienteformapago->save(); $mensajeria = new Mensajeria(); $mensajeria->id = Input::get('id'); $mensajeria->nombre = $msjeria; $mensajeria->save(); $pedido = new Pedido(); $pedido->cliente_id = $resp; $pedido->mensajeria_id = $mensajeria['id']; $pedido->direccion_cliente_id = " "; $pedido->forma_pago_id = $formapago; $pedido->num_pedido = date('Y') . date('m') . date("d") . $resp . $mensajeria['id']; $pedido->fecha_registro = date('Y-m-d'); $pedido->cotizar_envio = $cotizar; $pedido->observaciones = " "; $pedido->save(); for ($i = 0; $i < count($idpro); $i++) { $p_detalle = new PedidoDetalle(); $p_detalle->pedido_id = $pedido['id']; $p_detalle->producto_id = $idpro[$i]->idp; $p_detalle->cantidad = $idpro[$i]->cant; $p_detalle->save(); } } else { $idpro = json_decode(Input::get('aInfo')); $idusuario = Auth::user()->id; $resp = DB::table('cliente')->where('usuario_id', $idusuario)->pluck('id'); $formapago = Input::get('formapago'); $msjeria = Input::get('msjeria'); $cotizar = Input::get('cotizar'); $clienteformapago = new ClienteFormaPago(); $clienteformapago->cliente_id = $resp; $clienteformapago->forma_pago_id = $formapago; $clienteformapago->save(); $mensajeria = new Mensajeria(); $mensajeria->id = Input::get('id'); $mensajeria->nombre = $msjeria; $mensajeria->save(); $pedido = new Pedido(); //$pedido->id = Input::get('id'); $pedido->cliente_id = $resp; $pedido->mensajeria_id = $mensajeria['id']; $pedido->direccion_cliente_id = $id; $pedido->forma_pago_id = $formapago; $pedido->num_pedido = date('Y') . date('m') . date("d") . $mensajeria['id'] . $resp; $pedido->fecha_registro = date('Y-m-d'); $pedido->cotizar_envio = $cotizar; $pedido->observaciones = " "; $pedido->save(); for ($i = 0; $i < count($idpro); $i++) { $p_detalle = new PedidoDetalle(); $p_detalle->pedido_id = $pedido['id']; $p_detalle->producto_id = $idpro[$i]->idp; $p_detalle->cantidad = $idpro[$i]->cant; $p_detalle->save(); } } return Response::json($pedido['id']); }
/** * Displays a particular model. * @param integer $id the ID of the model to be displayed */ public function actionView($id) { $pedidoDetalle = PedidoDetalle::model()->findAll('pedido_id = ' . $id); $this->render('view', array('model' => $this->loadModel($id), 'pedidoDetalle' => $pedidoDetalle)); }