public function actionCreate() { $cuenta_id = $_POST['cuenta']; $fecha = $_POST['fecha']; $monto = $_POST['monto']; $detalle = $_POST['detalle']; $tipo = $_POST['tipo']; $forma_pago_id = -1; if (isset($_POST['formaPago'])) { $forma_pago_id = $_POST['formaPago']; } $model = new Movimiento(); $model->fecha = $fecha; $model->monto = $monto; $model->detalle = $detalle; $model->tipo = $tipo; if ($model->tipo == Tools::MOVIMIENTO_TIPO_CARGO) { $model->validado = 1; } else { $model->validado = 0; $model->forma_pago_id = $forma_pago_id; } $model->cuenta_corriente_id = $cuenta_id; $cuenta = CuentaCorriente::model()->findByPk($cuenta_id); if ($cuenta == null) { echo -1; die; } else { if ($cuenta->estaAsociadoPropietario(Yii::app()->user->id)) { $anterior = $model->findAllByAttributes(array('fecha' => $model->fecha, 'tipo' => $model->tipo, 'monto' => $model->monto, 'detalle' => $model->detalle, 'cuenta_corriente_id' => $model->cuenta_corriente_id)); if (count($anterior) == 0) { $model->saldo_cuenta = $model->cuentaCorriente->saldoAFecha($model->fecha); if ($model->save()) { if ($model->validado) { if ($model->tipo == Tools::MOVIMIENTO_TIPO_ABONO) { $model->actualizaSaldosPosteriores($model->monto); } else { $model->actualizaSaldosPosteriores(-$model->monto); } } else { $model->actualizaSaldosPosteriores(0); } echo $model->id; } else { echo CHtml::errorSummary($model); } } else { echo -1; } die; } else { echo -1; die; } } }