/** * Creates a new model. * If creation is successful, the browser will be redirected to the 'view' page. */ public function actionCreate() { $model = new DemandaJudicial(); // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if (isset($_POST['DemandaJudicial'])) { $model->attributes = $_POST['DemandaJudicial']; $contrato = Contrato::model()->findByPk($model->contrato_id); if (!$contrato->estaAsociadoAPropietario(Yii::app()->user->id)) { Yii::app()->user->setFlash('error', "No tiene permisos para crear esta demanda."); $this->redirect(CController::createUrl("//demandaJudicial/admin")); } $cliente = $contrato->cliente; $usuario = $cliente->usuario; $departamento = $contrato->departamento; $propiedad = $departamento->propiedad; if ($model->save()) { $this->doccy->newFile($model->formato_demanda_id . '.docx'); $this->doccy->phpdocx->assignToHeader("", ""); $this->doccy->phpdocx->assignToFooter("", ""); $this->doccy->phpdocx->assign("#CONTRATO_FOLIO#", $contrato->folio); $this->doccy->phpdocx->assign("#CONTRATO_FECHA_INICIO#", Tools::backFecha($contrato->fecha_inicio)); $this->doccy->phpdocx->assign("#CONTRATO_MONTO_RENTA#", Tools::formateaPlata($contrato->monto_renta)); $this->doccy->phpdocx->assign("#CONTRATO_MONTO_PRIMER_MES#", Tools::formateaPlata($contrato->monto_primer_mes)); $this->doccy->phpdocx->assign("#CONTRATO_DIAS_PRIMER_MES#", $contrato->dias_primer_mes); $this->doccy->phpdocx->assign("#CONTRATO_MONTO_CHEQUE#", Tools::formateaPlata($contrato->monto_cheque)); $this->doccy->phpdocx->assign("#CONTRATO_MONTO_GASTO_COMUN#", Tools::formateaPlata($contrato->monto_gastocomun)); $this->doccy->phpdocx->assign("#CONTRATO_MONTO_MUEBLE#", Tools::formateaPlata($contrato->monto_mueble)); $this->doccy->phpdocx->assign("#CONTRATO_MONTO_GASTO_VARIABLE#", Tools::formateaPlata($contrato->monto_gastovariable)); $this->doccy->phpdocx->assign("#CONTRATO_REAJUSTA_MESES#", Tools::formateaPlata($contrato->reajusta_meses)); $this->doccy->phpdocx->assign("#CONTRATO_DIA_PAGO#", Tools::formateaPlata($contrato->dia_pago)); $this->doccy->phpdocx->assign("#CONTRATO_MONTO_CASTIGADO#", Tools::formateaPlata($contrato->monto_castigado)); $this->doccy->phpdocx->assign("#CONTRATO_PLAZO#", $contrato->plazo); $this->doccy->phpdocx->assign("#CLIENTE_RUT#", $cliente->rut); $this->doccy->phpdocx->assign("#CLIENTE_NOMBRE#", $usuario->nombre); $this->doccy->phpdocx->assign("#CLIENTE_APELLIDO#", $usuario->apellido); $this->doccy->phpdocx->assign("#CLIENTE_EMAIL#", $usuario->email); $this->doccy->phpdocx->assign("#CLIENTE_DIRECCION#", $cliente->direccion_alternativa); $this->doccy->phpdocx->assign("#CLIENTE_TELEFONO#", $cliente->telefono); $this->doccy->phpdocx->assign("#CLIENTE_OCUPACION#", $cliente->ocupacion); $this->doccy->phpdocx->assign("#CLIENTE_RENTA#", Tools::formateaPlata($cliente->renta)); $this->doccy->phpdocx->assign("#PROPIEDAD_NOMBRE#", $propiedad->nombre); $this->doccy->phpdocx->assign("#PROPIEDAD_DIRECCION#", $propiedad->direccion); $this->doccy->phpdocx->assign("#DEPARTAMENTO_NUMERO#", $departamento->numero); $this->doccy->phpdocx->assign("#DEPARTAMENTO_MT2#", $departamento->mt2); $this->doccy->phpdocx->assign("#DEPARTAMENTO_DORMITORIOS#", $departamento->dormitorios); $this->doccy->phpdocx->assign("#DEPARTAMENTO_ESTACIONAMIENTOS#", $departamento->estacionamientos); $this->doccy->phpdocx->assign("#DEPARTAMENTO_RENTA#", Tools::formateaPlata($departamento->renta)); $this->renderDocx("Demanda_" . $cliente->rut . "_depto" . $departamento->numero . ".docx", false); $this->redirect(array('admin')); } } $this->render('create', array('model' => $model)); }
/** * Creates a new model. * If creation is successful, the browser will be redirected to the 'view' page. */ public function existeCarta($contrato_id) { $contrato = Contrato::model()->findByPk($contrato_id); $cliente = $contrato->cliente; $departamento = $contrato->departamento; $archivo = Yii::app()->basePath . '/documentos/contratos/CartaAviso_' . $cliente->rut . "_depto" . $departamento->numero . ".docx"; if (file_exists($archivo)) { return true; } else { return false; } }
/** * Displays a particular model. * @param integer $id the ID of the model to be displayed */ public function actionView($id) { $contrato = Contrato::model()->findByPk($id); if (Yii::app()->user->rol == 'propietario') { if (!$contrato->estaAsociadoAPropietario(Yii::app()->user->id)) { throw new CHttpException(403, 'Usted no se encuentra autorizado para realizar esta acción.'); } } $model = new DebePagar('search'); $model->unsetAttributes(); // clear any default values if (isset($_GET['DebePagar'])) { $model->attributes = $_GET['DebePagar']; } $this->render('view', array('model' => $model, 'contrato' => $contrato)); }
/** * Retrieves a list of models based on the current search/filter conditions. * @return CActiveDataProvider the data provider that can return the models based on the search/filter conditions. */ public function search() { // Warning: Please modify the following code to remove attributes that // should not be searched. $criteria = new CDbCriteria(); $criteria->compare('id', $this->id); $criteria->compare('contrato_id', $this->contrato_id); $criteria->join = ' join contrato on contrato.id = t.contrato_id' . ' join departamento as d on d.id = contrato.departamento_id ' . ' join propiedad as p on p.id = d.propiedad_id' . ' join cliente as c on c.id = contrato.cliente_id ' . ' join usuario as u on u.id = c.usuario_id '; if (Yii::app()->user->rol == 'propietario') { $criteriaPropietario = new CDbCriteria(); $contratos = Contrato::model()->relacionadosConPropietario(Yii::app()->user->id); foreach ($contratos as $contrato_id) { $criteriaPropietario->compare('contrato.id', $contrato_id, false, 'OR'); } $criteria->mergeWith($criteriaPropietario, 'AND'); } $nombre = ""; $apellido = ""; $nombres = explode(" ", $this->cliente_nombre); if (count($nombres) == 1) { $nombre = $this->cliente_nombre; $apellido = $this->cliente_nombre; } elseif (count($nombres) == 2) { $nombre = $nombres[0]; $apellido = $nombres[1]; } if (Yii::app()->user->rol == 'cliente') { $cliente = Cliente::model()->findByAttributes(array('usuario_id' => Yii::app()->user->id)); if ($cliente != null) { $criteria->compare('contrato.cliente_id', $cliente->id); } else { $criteria->compare('contrato.cliente_id', -1); } } $criteria->compare('d.numero', $this->depto_nombre, true); $criteria->compare('p.nombre', $this->propiedad_nombre, true); $criteria->compare('contrato.folio', $this->folio, true); $criteria->compare('c.rut', $this->cliente_rut, true); $criteria->compare('u.nombre', $nombre, true, 'OR'); $criteria->compare('u.apellido', $apellido, true, 'OR'); return new CActiveDataProvider($this, array('criteria' => $criteria, 'sort' => array('attributes' => array('depto_nombre' => array('asc' => 'd.numero', 'desc' => 'd.numero DESC'), 'folio' => array('asc' => 'contrato.folio', 'desc' => 'contrato.folio DESC'), 'cliente_rut' => array('asc' => 'c.rut', 'desc' => 'c.rut DESC'), 'cliente_nombre' => array('asc' => 'u.apellido,u.nombre', 'desc' => 'u.apellido DESC,u.nombre DESC'), 'propiedad_nombre' => array('asc' => 'p.nombre', 'desc' => 'p.nombre DESC'), '*')))); }
/** * Retrieves a list of models based on the current search/filter conditions. * @return CActiveDataProvider the data provider that can return the models based on the search/filter conditions. */ public function search() { // Warning: Please modify the following code to remove attributes that // should not be searched. $criteria = new CDbCriteria(); $criteria->join = " join departamento on departamento.id = t.departamento_id " . " join propiedad on propiedad.id = departamento.propiedad_id" . " join contrato on contrato.departamento_id = t.departamento_id"; $criteria->compare('id', $this->id); $criteria->compare('t.nombre', $this->nombre, true); $criteria->compare('fecha_compra', Tools::fixFecha($this->fecha_compra), true); $criteria->compare('t.departamento_id', $this->departamento_id); $criteria->compare('departamento.numero', $this->departamento_num, true); $criteria->compare('propiedad.nombre', $this->propiedad_nom, true); if (Yii::app()->user->rol == 'propietario') { $criteriaPropietario = new CDbCriteria(); $contratos = Contrato::model()->relacionadosConPropietario(Yii::app()->user->id); foreach ($contratos as $contrato_id) { $criteriaPropietario->compare('contrato.id', $contrato_id, false, 'OR'); } $criteria->mergeWith($criteriaPropietario, 'AND'); } return new CActiveDataProvider($this, array('criteria' => $criteria, 'sort' => array('attributes' => array('propiedad_nom' => array('asc' => 'propiedad.nombre', 'desc' => 'propiedad.nombre DESC'), 'departamento_num' => array('asc' => 'departamento.numero', 'desc' => 'departamento.numero DESC'), '*')))); }
/** * Retrieves a list of models based on the current search/filter conditions. * @return CActiveDataProvider the data provider that can return the models based on the search/filter conditions. */ public function search() { // Warning: Please modify the following code to remove attributes that // should not be searched. $criteria = new CDbCriteria(); $arreglo = explode(" ", $this->cliente_nombre); $nombreApellido = array(); foreach ($arreglo as $palabra) { if (trim($palabra) != '') { $nombreApellido[] = $palabra; } } $criteriaNombreUser1 = new CDbCriteria(); $palabras = count($nombreApellido); if ($palabras == 1) { $busqueda = $nombreApellido[0]; if (trim($busqueda) != '') { $criteriaNombreUser1->compare('u.nombre', $busqueda, true); $criteriaNombreUser1->compare('u.apellido', $busqueda, true, 'OR'); } } if ($palabras == 2) { $nombre = $nombreApellido[0]; $apellido = $nombreApellido[1]; $criteriaNombreUser1->compare('u.nombre', $nombre, true); $criteriaNombreUser1->compare('u.apellido', $apellido, true); } $criteria->compare('id', $this->id); $criteria->mergeWith($criteriaNombreUser1, 'AND'); $criteria->compare('rol', $this->rol, true); $criteria->compare('causa', $this->causa, true); $criteria->compare('contrato_id', $this->contrato_id); $criteria->compare('f.nombre', $this->formato, true); $criteria->join = ' join contrato on contrato.id = t.contrato_id' . ' join cliente as c on c.id = contrato.cliente_id ' . ' join usuario as u on u.id = c.usuario_id ' . ' join formato_demanda as f on f.id = t.formato_demanda_id'; $criteria->compare('contrato.folio', $this->folio); if (Yii::app()->user->rol == 'propietario') { $criteriaPropietario = new CDbCriteria(); $contratos = Contrato::model()->relacionadosConPropietario(Yii::app()->user->id); foreach ($contratos as $contrato_id) { $criteriaPropietario->compare('contrato.id', $contrato_id, false, 'OR'); } $criteria->mergeWith($criteriaPropietario, 'AND'); } return new CActiveDataProvider($this, array('criteria' => $criteria, 'sort' => array('attributes' => array('folio' => array('asc' => 'contrato.folio', 'desc' => 'contrato.folio DESC'), 'cliente_rut' => array('asc' => 'c.rut', 'desc' => 'c.rut DESC'), 'cliente_nombre' => array('asc' => 'u.apellido,u.nombre', 'desc' => 'u.apellido DESC,u.nombre DESC'), 'formato' => array('asc' => 'f.nombre', 'desc' => 'f.nombre DESC'), '*')))); }
<div class="form"> <?php $form = $this->beginWidget('CActiveForm', array('id' => 'contrato-mueble-form', 'enableAjaxValidation' => false, 'htmlOptions' => array('enctype' => 'multipart/form-data'))); ?> <?php echo $form->errorSummary($model); ?> <div class="row"> <?php echo $form->labelEx($model, 'folio_contrato_asociado'); ?> <?php echo $form->dropDownList($model, 'contrato_id', CHtml::listData(Contrato::model()->getDeUsuario(Yii::app()->user->id), 'id', 'folio'), array('prompt' => 'Seleccione un Contrato')); ?> <?php echo $form->error($model, 'contrato_id'); ?> </div> <div class="row"> <?php echo $form->labelEx($model, 'imagen'); ?> <?php echo $form->fileField($model, 'imagen'); ?> <?php
public function actionExportarXLS() { // generate a resultset $data = Contrato::model()->with(array('departamento', 'cliente', 'tipoContrato'))->findAll(); $this->toExcel($data, array('folio', 'fecha_inicio', 'monto_renta', 'monto_gastocomun', 'monto_castigado', 'plazo', 'departamento.numero', 'cliente.rut', 'tipoContrato.nombre'), 'Contratos', array()); }
'action' => Yii::app()->createUrl($this->route), 'method' => 'get', )); ?> <div class="row"> <?php echo $form->label($model, 'idosagrupacion'); ?> <?php echo $form->textFieldControlGroup($model,'idosagrupacion'); ?> </div> <div class="row"> <?php echo $form->label($model, 'nombre'); ?> <?php echo $form->textFieldControlGroup($model,'nombre',array('size'=>60,'maxlength'=>100)); ?> </div> <div class="row"> <?php echo $form->label($model, 'idcontrato'); ?> <?php echo $form->dropDownListControlGroup($model, 'idcontrato0', CHtml::listData(Contrato::model()->findAll(array('order'=>'desde')),'idcontrato', 'desde')); ?> </div> <div class="row"> <?php echo $form->label($model, 'idosfacturacion'); ?> <?php echo $form->dropDownListControlGroup($model, 'idosfacturacion0', CHtml::listData(Osfacturacion::model()->findAll(array('order'=>'nombre')),'idosfacturacion', 'nombre')); ?> </div> <div class="row buttons"> <?php echo CHtml::submitButton(Yii::t('app', 'Search')); ?> </div> <?php $this->endWidget(); ?> </div><!-- search-form -->
public function actionExportarXLS($id) { // generate a resultset $contrato = Contrato::model()->findByPk($id); $pagos = PagoMes::model()->findAll(array('select' => 't.* ,c.folio', 'join' => 'JOIN contrato AS c ON t.contrato_id = c.id', 'condition' => 'contrato_id = :contrato_id', 'order' => 'fecha DESC', 'params' => array(':contrato_id' => $id))); $this->toExcel($pagos, array('fecha', 'monto_renta', 'gasto_comun', 'monto_mueble', 'gasto_variable'), 'Pagos realizados para el contrato ' . $contrato->folio, array()); }
/** * Retrieves a list of models based on the current search/filter conditions. * * Typical usecase: * - Initialize the model fields with values from filter form. * - Execute this method to get CActiveDataProvider instance which will filter * models according to data in model fields. * - Pass data provider to CGridView, CListView or any similar widget. * * @return CActiveDataProvider the data provider that can return the models * based on the search/filter conditions. */ public function search() { // @todo Please modify the following code to remove attributes that should not be searched. $criteria = new CDbCriteria(); $arreglo = explode(" ", $this->nombre_ap); $nombreApellido = array(); foreach ($arreglo as $palabra) { if (trim($palabra) != '') { $nombreApellido[] = $palabra; } } $criteriaNombre = new CDbCriteria(); $palabras = count($nombreApellido); if ($palabras == 1) { $busqueda = $nombreApellido[0]; if (trim($busqueda) != '') { $criteriaNombre->compare('nombre', $busqueda, true); $criteriaNombre->compare('apellido', $busqueda, true, 'OR'); } } if ($palabras == 2) { $nombre = $nombreApellido[0]; $apellido = $nombreApellido[1]; $criteriaNombre->compare('nombre', $nombre, true); $criteriaNombre->compare('apellido', $apellido, true); } $criteria->compare('id', $this->id); $criteria->mergeWith($criteriaNombre, 'AND'); $criteria->compare('propiedad', $this->propiedad, true); $criteria->compare('departamento', $this->departamento, true); $criteria->compare('monto', $this->monto); $criteria->compare('fecha', Tools::fixFecha($this->fecha)); $criteria->compare('dias', $this->dias); if (Yii::app()->user->rol == 'propietario') { $criteriaPropietario = new CDbCriteria(); $contratos = Contrato::model()->relacionadosConPropietario(Yii::app()->user->id); foreach ($contratos as $contrato_id) { $criteriaPropietario->compare('t.contrato_id', $contrato_id, false, 'OR'); } $criteria->mergeWith($criteriaPropietario, 'AND'); } $data = new CActiveDataProvider($this, array('criteria' => $criteria, 'sort' => array('attributes' => array('nombre_ap' => array('asc' => 'apellido,nombre', 'desc' => 'apellido DESC,nombre'), '*')))); Yii::app()->user->setState('morososFiltrados', $this); return $data; }
public function actionExportarXLS() { // generate a resultset $data = Contrato::model()->findAll(); $this->toExcel($data, array('fecha', 'tipo', 'monto', 'detalle'), 'Movimientos Cuenta Corriente', array()); }
public function loadModel($id) { $model = Contrato::model()->findByPk($id); if ($model === null) { throw new CHttpException(404, Yii::t('app', 'The requested page does not exist.')); } return $model; }
public function estaRelacionadoConPropietario($propietario_id) { $contratos = Contrato::model()->findAll(); $devolver = array(); foreach ($contratos as $contrato) { $propiedad = $contrato->departamento->propiedad; if ($propiedad->propietario_id == $propietario_id) { $devolver[] = $contrato; } } return $devolver; }
/** * Deletes a particular model. * If deletion is successful, the browser will be redirected to the 'admin' page. * @param integer $id the ID of the model to be deleted */ public function actionDelete($id) { $model = $this->loadModel($id); $filename = Yii::app()->basePath . '/documentos/contratosMuebles/' . $id . '.jpg'; if (file_exists($filename)) { unlink($filename); } //disminuir el monto del mueble al contrato asociado $contrato = Contrato::model()->findByPk($model->contrato_id); $contrato->monto_mueble -= (int) $model->monto; $contrato->propiedad_id = $contrato->departamento->propiedad->id; $contrato->save(); $model->delete(); // if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser if (!isset($_GET['ajax'])) { $this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('admin')); } }
/** * Updates a particular model. * If update is successful, the browser will be redirected to the 'view' page. * @param integer $id the ID of the model to be updated */ public function actionUpdate($id) { $model = $this->loadModel($id); $model->fecha = Tools::backFecha($model->fecha); $deptos = new Departamento('search'); $deptos->unsetAttributes(); if (isset($_GET['Departamento'])) { $deptos->attributes = $_GET['Departamento']; } // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if (isset($_POST['Prestacion'])) { $model->attributes = $_POST['Prestacion']; $model->fecha = Tools::fixFecha($model->fecha); if ($model->save()) { $movimientosPrestacion = PrestacionGeneraMovimiento::model()->findAllByAttributes(array('prestacion_id' => $model->id)); foreach ($movimientosPrestacion as $mov) { $movimiento = $mov->movimiento; if ($movimiento->tipo == Tools::MOVIMIENTO_TIPO_CARGO) { $movimiento->actualizaSaldosPosteriores($movimiento->monto); } $mov->delete(); $movimiento->delete(); } PrestacionADepartamento::model()->deleteAllByAttributes(array('prestacion_id' => $model->id)); if (isset($_POST['chbDepartamentoId']) && !$model->general_prop) { $cant_deptos = count($_POST['chbDepartamentoId']); if ($cant_deptos != 0) { $monto = (int) $model->monto / $cant_deptos; } foreach ($_POST['chbDepartamentoId'] as $i => $departamento) { $prest_depto = new PrestacionADepartamento(); $prest_depto->departamento_id = $departamento; $prest_depto->prestacion_id = $model->id; if ($prest_depto->validate()) { $prest_depto->save(); } if ($model->genera_cargos == "1") { $cargo = new Movimiento(); $contrato = Contrato::model()->findByAttributes(array('departamento_id' => $departamento, 'vigente' => 1)); if ($contrato != null) { if ($contrato->vigente) { $cargo->cuenta_corriente_id = $contrato->cuentaCorriente->id; } else { continue; } } else { continue; } $cargo->fecha = $model->fecha; $cargo->tipo = Tools::MOVIMIENTO_TIPO_CARGO; $cargo->monto = $monto; $cargo->detalle = "PRESTACIÓN REALIZADA: " . $model->descripcion; $cargo->validado = 1; $cargo->saldo_cuenta = $cargo->ultimoSaldo(); $cargo->save(); $cargo->actualizaSaldosPosteriores(-$monto); $prestacionMovimiento = new PrestacionGeneraMovimiento(); $prestacionMovimiento->prestacion_id = $model->id; $prestacionMovimiento->movimiento_id = $cargo->id; $prestacionMovimiento->save(); } } } if ($model->general_prop) { if ($model->genera_cargos == "1") { //se crean los cargos para los deptos $departamentos = Departamento::model()->getVigentesDePropiedad($model->propiedad_id); $cant_deptos = count($departamentos); if ($cant_deptos != 0) { $monto = (int) $model->monto / $cant_deptos; foreach ($departamentos as $depto) { $cargo = new Movimiento(); if ($depto->contrato != null) { if ($depto->contrato->vigente) { $cargo->cuenta_corriente_id = $depto->contrato->cuentaCorriente->id; } else { continue; } } else { continue; } $cargo->fecha = $model->fecha; $cargo->tipo = Tools::MOVIMIENTO_TIPO_CARGO; $cargo->monto = $monto; $cargo->detalle = "PRESTACIÓN REALIZADA: " . $model->descripcion; $cargo->validado = 1; $cargo->saldo_cuenta = $cargo->ultimoSaldo(); $cargo->save(); $cargo->actualizaSaldosPosteriores(-$monto); $prestacionMovimiento = new PrestacionGeneraMovimiento(); $prestacionMovimiento->prestacion_id = $model->id; $prestacionMovimiento->movimiento_id = $cargo->id; $prestacionMovimiento->save(); } } } } $this->redirect(array('view', 'id' => $model->id)); } } $this->render('update', array('model' => $model, 'departamentos' => $deptos)); }