Ejemplo n.º 1
0
    ?>
            </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>
Ejemplo n.º 2
0
 public function actionExportarXLS()
 {
     // generate a resultset
     $data = TipoContrato::model()->findAll();
     $this->toExcel($data, array('nombre'), 'Tipos de Contrato', array());
 }
Ejemplo n.º 3
0
 /**
  * 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));
 }
Ejemplo n.º 4
0
 /**
  * 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;
 }