public function actionListapedidos() { $model = new Compras('search'); $model->unsetAttributes(); if (isset($_GET['Compras'])) { $model->attributes = $_GET['Compras']; } $model->activa = 1; $model->identificacionUsuario = Yii::app()->user->name; $this->render('pedidos', array('model' => $model)); }
public function actionDetallepedido($pedido) { $this->layout = "simple"; $objCompra = Compras::model()->find(array('with' => array("objUsuario", "objCompraDireccion" => array("with" => array("objCiudad", "objSector")), "objFormaPagoCompra" => array("with" => "objFormaPago"), "objFormaPagoCompra", "objEstadoCompra", "objOperador", "listItems" => array("with" => array("objProducto", "listBeneficios", "objImpuesto", "objEstadoItem"), "listObservaciones" => array("with" => array("objTipoObservacion")))), 'condition' => 't.idCompra=:id', 'params' => array(':id' => $pedido))); if ($objCompra === null) { throw new CHttpException(404, 'Pedido solicitado no existe.'); } $asignar = Yii::app()->request->getParam('asignar', false); $opcion = Yii::app()->request->getParam('opcion', 'pdv'); if ($asignar && $objCompra->idOperador == null && $objCompra->idEstadoCompra == Yii::app()->params->callcenter['estadoCompra']['estado']['pendiente']) { $transaction = Yii::app()->db->beginTransaction(); try { $objCompra->idOperador = Yii::app()->controller->module->user->id; $objCompra->idEstadoCompra = Yii::app()->params->callcenter['estadoCompra']['estado']['tramite']; $objCompraEstado = new ComprasEstados(); $objCompraEstado->idCompra = $objCompra->idCompra; $objCompraEstado->idEstadoCompra = Yii::app()->params->callcenter['estadoCompra']['estado']['tramite']; $objCompraEstado->idOperador = Yii::app()->controller->module->user->id; $objObservacion = new ComprasObservaciones(); $objObservacion->idCompra = $objCompra->idCompra; $objObservacion->observacion = "Cambio de Estado: En Trámite"; $objObservacion->idOperador = Yii::app()->controller->module->user->id; $objObservacion->notificarCliente = 0; if (!$objObservacion->save()) { throw new Exception("Error al guardar observación" . $objObservacion->validateErrorsResponse()); } if (!$objCompraEstado->save()) { throw new Exception("Error al guardar estado" . $objCompraEstado->validateErrorsResponse()); } if (!$objCompra->save()) { throw new Exception("Error al actualizar estado" . $objCompra->validateErrorsResponse()); } $transaction->commit(); } catch (Exception $exc) { Yii::log($exc->getMessage() . "\n" . $exc->getTraceAsString(), CLogger::LEVEL_ERROR, 'application'); try { $transaction->rollBack(); } catch (Exception $txexc) { Yii::log($txexc->getMessage() . "\n" . $txexc->getTraceAsString(), CLogger::LEVEL_ERROR, 'application'); } Yii::app()->user->setFlash('danger', "Error al asignar pedido: " . $exc->getMessage()); $this->redirect(Yii::app()->request->urlReferrer); //$this->redirect(Yii::app()->user->returnUrl); Yii::app()->end(); } } $params = array(); $params['params']['objCompra'] = $objCompra; $params['opcion'] = $opcion; if ($opcion == "pedido") { $params['vista'] = "_adminPedido"; } else { if ($opcion == "cliente") { $params['vista'] = "_clienteDespacho"; $listDirecciones = DireccionesDespacho::model()->findAll(array('with' => 'objCiudad', 'condition' => 'identificacionUsuario=:usuario AND activo=:activo', 'params' => array(':usuario' => $objCompra->identificacionUsuario, ':activo' => 1))); $params['params']['listDirecciones'] = $listDirecciones; } else { if ($opcion == "observacion") { $params['vista'] = "_observacionesPedido"; } else { Yii::import('ext.select2.Select2'); $params['vista'] = "_ubicarPDV"; $params['opcion'] = "pdv"; $modelCompraAnteriores = new Compras('search'); $modelCompraAnteriores->unsetAttributes(); if (isset($_GET['Compras'])) { $modelCompraAnteriores->attributes = $_GET['Compras']; } $modelCompraAnteriores->identificacionUsuario = $objCompra->identificacionUsuario; $modelCompraAnteriores->tipoEntrega = Yii::app()->params->entrega["tipo"]['domicilio']; $params['params']['modelCompra'] = $modelCompraAnteriores; } } } $this->render('pedido', $params); }