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