?> </div> </div> <div class="col-md-12"> <div class="col-md-6"> <?php echo $form->fileFieldGroup($tecnico, 'contrato_adjunto', array('wrapperHtmlOptions' => array('class' => 'col-sm-5'))); ?> </div> <div class="col-md-6"> <?php echo $form->dropDownListGroup($tecnico, 'tipo_contrato_id', array('wrapperHtmlOptions' => array('class' => 'col-sm-5'), 'widgetOptions' => array('data' => CHtml::listData(TipoContrato::model()->findAll(), 'id', 'nombre'), 'htmlOptions' => array('prompt' => 'Seleccione Contrato')))); ?> </div> </div> <?php if (!empty($tecnico->contrato_adjunto)) { ?> <div class="col-md-12"> <div class="col-md-6"> <?php echo $tecnico->contrato_adjunto . CHtml::link('Descargar', Yii::app()->request->baseUrl . '/images/usuarios/contratos/' . $tecnico->contrato_adjunto, array('target' => '_blanc', 'class' => 'btn btn-primary', 'style' => 'width: 48%;')); ?> </div> </div>
public function actionExportarXLS() { // generate a resultset $data = TipoContrato::model()->findAll(); $this->toExcel($data, array('nombre'), 'Tipos de Contrato', array()); }
/** * Creates a new model. * If creation is successful, the browser will be redirected to the 'view' page. */ public function actionCreate() { $this->layout = "column1"; $ultimoContrato = Contrato::model()->findAll(array('order' => 'folio DESC')); $ultimoFolio = 0; if ($ultimoContrato != null) { $ultimoFolio = (int) $ultimoContrato[0]->folio; } $folio = $ultimoFolio + 1; // @todo: cambiar el modelo y el formulario para contratos de 1,2,3,4,5,6 meses o indefinido // @todo: Impedir la creación de contratos para deptos que ya tienen $model = new Contrato(); $model->folio = $folio; $model->dia_pago = 1; $model->fecha_inicio = date('d/m/Y'); $cuentaModel = new CuentaCorriente(); // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); $valid = false; if (isset($_POST['Contrato'])) { // generando cuenta corriente asociada al contrato $model->attributes = $_POST['Contrato']; $model->monto_gastovariable = $_POST['Contrato']['monto_gastovariable']; $model->monto_mueble = $_POST['Contrato']['monto_mueble']; $model->monto_primer_mes = $_POST['Contrato']['monto_primer_mes']; $model->dias_primer_mes = $_POST['Contrato']['dias_primer_mes']; $model->monto_cheque = $_POST['Contrato']['monto_cheque']; $model->monto_castigado = $_POST['Contrato']['monto_castigado']; $model->reajusta_meses = $_POST['Contrato']['reajusta_meses']; $model->dia_pago = $_POST['Contrato']['dia_pago']; $model->fecha_inicio = Tools::fixFecha($model->fecha_inicio); $model->vigente = 1; $model->reajusta = 1; $valid = $model->validate(); if ($valid) { $cuentaModel->attributes = $_POST['CuentaCorriente']; $cliente = $model->cliente; $departamento = $model->departamento; $cuentaModel->nombre = str_replace("-", "", $cliente->rut) . "-" . $departamento->propiedad->nombre . " (Depto." . $departamento->numero . ")"; $model->save(FALSE); $cuentaModel->contrato_id = $model->id; $valid = $valid && $cuentaModel->validate(); if ($valid) { $cuentaModel->save(FALSE); if ($valid) { $model->crearDeudaMes(date('Y-m-d')); $usuario = $cliente->usuario; $propiedad = $departamento->propiedad; //una vez que está creado el contrato, guardar la copia del docx $this->doccy->newFile($model->tipo_contrato_id . '.docx'); $this->doccy->phpdocx->assignToHeader("", ""); $this->doccy->phpdocx->assignToFooter("", ""); $this->doccy->phpdocx->assign("#CONTRATO_FOLIO#", $model->folio); $this->doccy->phpdocx->assign("#CONTRATO_FECHA_INICIO#", Tools::backFecha($model->fecha_inicio)); $this->doccy->phpdocx->assign("#CONTRATO_MONTO_RENTA#", Tools::formateaPlata($model->monto_renta)); $this->doccy->phpdocx->assign("#CONTRATO_MONTO_GASTO_COMUN#", Tools::formateaPlata($model->monto_gastocomun)); $this->doccy->phpdocx->assign("#CONTRATO_MONTO_PRIMER_MES#", Tools::formateaPlata($model->monto_primer_mes)); $this->doccy->phpdocx->assign("#CONTRATO_DIAS_PRIMER_MES#", $model->dias_primer_mes); $this->doccy->phpdocx->assign("#CONTRATO_MONTO_CHEQUE#", Tools::formateaPlata($model->monto_cheque)); $this->doccy->phpdocx->assign("#CONTRATO_MONTO_CASTIGADO#", Tools::formateaPlata($model->monto_castigado)); $this->doccy->phpdocx->assign("#CONTRATO_MONTO_MUEBLE#", Tools::formateaPlata($model->monto_mueble)); $this->doccy->phpdocx->assign("#CONTRATO_MONTO_GASTO_VARIABLE#", Tools::formateaPlata($model->monto_gastovariable)); $this->doccy->phpdocx->assign("#CONTRATO_REAJUSTA_MESES#", $model->reajusta_meses); $this->doccy->phpdocx->assign("#CONTRATO_DIA_PAGO#", $model->dia_pago); $this->doccy->phpdocx->assign("#CONTRATO_PLAZO#", $model->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("Contrato_" . $model->folio . ".docx", false); $this->redirect(array('admin')); } else { $model->delete(); $cuentaModel->delete(); $model->addError('id', 'No fue posible crear la cuenta asociada al contrato. Intente nuevamente'); } } else { $model->delete(); } } if (!$valid) { $model->fecha_inicio = Tools::backFecha($model->fecha_inicio); } } //$departamentos = Departamento::model()->getListWithoutContract(); $propiedades = Propiedad::model()->findAll(); $clientes = Cliente::model()->getList(); $tiposContrato = TipoContrato::model()->getList(); $this->render('create', array('model' => $model, 'ctaModel' => $cuentaModel, 'propiedades' => $propiedades, 'clientes' => $clientes, 'tiposContrato' => $tiposContrato)); }
/** * Entrega una lista con todos los tipos de contrato existentes * @return CHtml::listData */ public function getList() { $tiposContrato = TipoContrato::model()->findAll(); $listTipos = CHtml::listData($tiposContrato, 'id', 'nombre'); return $listTipos; }