Exemple #1
0
<?php
/* @var $this yii\web\View */
/* @var $form yii\widgets\ActiveForm */
/* @var $generator yii\gii\generators\form\Generator */
use app\models\TiposTramite;
use yii\helpers\ArrayHelper;

echo $form->field($generator, 'tableName');
echo $form->field($generator, 'modelClass');
echo $form->field($generator, 'ns');
echo $form->field($generator, 'baseClass');
echo $form->field($generator, 'db');
echo $form->field($generator, 'useTablePrefix')->checkbox();
echo $form->field($generator, 'generateRelations')->checkbox();
echo $form->field($generator, 'generateLabelsFromComments')->checkbox();
echo $form->field($generator, 'generateQuery')->checkbox();
echo $form->field($generator, 'queryNs');
echo $form->field($generator, 'queryClass');
echo $form->field($generator, 'queryBaseClass');
echo $form->field($generator, 'enableI18N')->checkbox();
echo $form->field($generator, 'messageCategory');
$tipos=TiposTramite::find()->all();
$listData=ArrayHelper::map($tipos,'id','nombre');
echo $form->field($generator, 'especializado')->dropDownList(
	                                $listData,['prompt'=>'Select...','id'=>'nombre']);
Exemple #2
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getTipoTramite()
 {
     $this->tipoTramiteId = $this->tipoDeTramite();
     return $this->hasOne(TiposTramite::className(), ['id' => 'tipoTramiteId']);
 }
Exemple #3
0
 public function actionTramiteroles($id)
 {
     if (isset($_POST['permisos'])) {
         $c = 1;
         foreach ($_POST['permisos'] as $permiso) {
             if (isset($permiso['id'])) {
                 $modelttr = TipoTramitesRoles::find()->where('id = :id', ['id' => $permiso['id']])->one();
             } else {
                 $modelttr = new TipoTramitesRoles();
             }
             $modelttr->roleId = $permiso['rolid'];
             $modelttr->tipoTramiteId = $permiso['ttid'];
             if (isset($permiso['leer'])) {
                 $modelttr->leer = 1;
             } else {
                 $modelttr->leer = 0;
             }
             if (isset($permiso['crear'])) {
                 $modelttr->crear = 1;
             } else {
                 $modelttr->crear = 0;
             }
             if (isset($permiso['actualizar'])) {
                 $modelttr->actualizar = 1;
             } else {
                 $modelttr->actualizar = 0;
             }
             if (isset($permiso['borrar'])) {
                 $modelttr->borrar = 1;
             } else {
                 $modelttr->borrar = 0;
             }
             $modelttr->save();
             //echo "<pre>";print_r($permiso['ppt']);echo "</pre>";exit;
             if (isset($permiso['ppt'])) {
                 foreach ($permiso['ppt'] as $ppt) {
                     if (isset($ppt['leer']) or isset($ppt['crear']) or isset($ppt['actualizar']) or isset($ppt['borrar'])) {
                         if (isset($ppt['id'])) {
                             $modelppt = PermisosPasoTramite::find()->where('id = :id', ['id' => $ppt['id']])->one();
                         } else {
                             $modelppt = new PermisosPasoTramite();
                         }
                         $modelppt->pasoTramiteId = $ppt['ptid'];
                         $modelppt->tipoTramiteRoleId = $modelttr->id;
                         if (isset($ppt['leer'])) {
                             $modelppt->leer = 1;
                         } else {
                             $modelppt->leer = 0;
                         }
                         if (isset($ppt['crear'])) {
                             $modelppt->crear = 1;
                         } else {
                             $modelppt->crear = 0;
                         }
                         if (isset($ppt['actualizar'])) {
                             $modelppt->actualizar = 1;
                         } else {
                             $modelppt->actualizar = 0;
                         }
                         if (isset($ppt['borrar'])) {
                             $modelppt->borrar = 1;
                         } else {
                             $modelppt->borrar = 0;
                         }
                         $modelppt->save();
                     }
                 }
             }
             $c++;
         }
     }
     $rol = Roles::find()->where('id = :id', ['id' => $id])->one();
     $tiposTramite = TiposTramite::find()->all();
     $pasosTramite = PasosTramite::find()->all();
     return $this->render('tramiteroles', ['tiposTramite' => $tiposTramite, 'rol' => $rol, 'pasosTramite' => $pasosTramite]);
 }
 public function actionImprimir()
 {
     // get your HTML raw content without any layouts or scrip
     $TiposTramite = TiposTramite::find()->all();
     $content = $this->renderPartial('_imprimir', ['TiposTramite' => $TiposTramite]);
     $header = $this->renderPartial('_header', ['TiposTramite' => $TiposTramite]);
     $pdf = new Pdf(['format' => Pdf::FORMAT_A4, 'orientation' => Pdf::ORIENT_PORTRAIT, 'destination' => Pdf::DEST_BROWSER, 'content' => $content, 'cssFile' => '@vendor/kartik-v/yii2-mpdf/assets/kv-mpdf-bootstrap.min.css', 'cssInline' => '.kv-heading-1{font-size:18px}', 'options' => ['title' => 'Krajee Report Title'], 'methods' => ['SetHeader' => $header, 'SetFooter' => ['{PAGENO}']]]);
     return $pdf->render();
 }
Exemple #5
0
    public function generateRulesEspeciales($paso)
    {
        $types = [];
        $lengths = [];

        if(empty($this->especializado))
                return null;
        /*foreach ($table->columns as $column) {
            if ($column->autoIncrement) {
                continue;
            }
            if (!$column->allowNull && $column->defaultValue === null) {
                $types['required'][] = $column->name;
            }
            switch ($column->type) {
                case Schema::TYPE_SMALLINT:
                case Schema::TYPE_INTEGER:
                case Schema::TYPE_BIGINT:
                    $types['integer'][] = $column->name;
                    break;
                case Schema::TYPE_BOOLEAN:
                    $types['boolean'][] = $column->name;
                    break;
                case Schema::TYPE_FLOAT:
                case 'double': // Schema::TYPE_DOUBLE, which is available since Yii 2.0.3
                case Schema::TYPE_DECIMAL:
                case Schema::TYPE_MONEY:
                    $types['number'][] = $column->name;
                    break;
                case Schema::TYPE_DATE:
                case Schema::TYPE_TIME:
                case Schema::TYPE_DATETIME:
                case Schema::TYPE_TIMESTAMP:
                    $types['safe'][] = $column->name;
                    break;
                default: // strings
                    if ($column->size > 0) {
                        $lengths[$column->size][] = $column->name;
                    } else {
                        $types['string'][] = $column->name;
                    }
            }
        }*/
        $tramite = TiposTramite::findOne($this->especializado);
        foreach ($tramite->atributos as $atributo) 
        {
            if($atributo->pasoId==$paso)
            {
                $types[$atributo->tipoAtributo->nombre][]=$atributo->nombre;
                if($atributo->allowNull==0)
                    $types['required'][] = $atributo->nombre;
                if($atributo->attrLength>0)
                    $lengths[$atributo->attrLength][] = $atributo->nombre;
            }

        }

        $rules = [];
        foreach ($types as $type => $columns) {
            $rules[] = "[['" . implode("', '", $columns) . "'], '$type']";
        }
        foreach ($lengths as $length => $columns) {
            $rules[] = "[['" . implode("', '", $columns) . "'], 'string', 'max' => $length]";
        }

        // Unique indexes rules
       /* try {
            $db = $this->getDbConnection();
            $uniqueIndexes = $db->getSchema()->findUniqueIndexes($table);
            foreach ($uniqueIndexes as $uniqueColumns) {
                // Avoid validating auto incremental columns
                if (!$this->isColumnAutoIncremental($table, $uniqueColumns)) {
                    $attributesCount = count($uniqueColumns);

                    if ($attributesCount == 1) {
                        $rules[] = "[['" . $uniqueColumns[0] . "'], 'unique']";
                    } elseif ($attributesCount > 1) {
                        $labels = array_intersect_key($this->generateLabels($table), array_flip($uniqueColumns));
                        $lastLabel = array_pop($labels);
                        $columnsList = implode("', '", $uniqueColumns);
                        $rules[] = "[['" . $columnsList . "'], 'unique', 'targetAttribute' => ['" . $columnsList . "'], 'message' => 'The combination of " . implode(', ', $labels) . " and " . $lastLabel . " has already been taken.']";
                    }
                }
            }
        } catch (NotSupportedException $e) {
            // doesn't support unique indexes information...do nothing
        }*/

        

        return $rules;
    }
Exemple #6
0
    }

    /**
     * @inheritdoc
     */
    public function attributeLabels()
    {
        return [
<?php foreach ($labels as $name => $label): ?>
            <?= "'$name' => " . $generator->generateString($label) . ",\n" ?>
<?php endforeach; ?>
        ];
    }

<?php if (!empty($generator->especializado)): 
        $tramite = TiposTramite::findOne($generator->especializado);
        foreach ($tramite->atributos as $atributo) :
            

?>
    public function get<?= Inflector::id2camel($atributo->nombre, '_') ?>()
    {
        <?php 
            switch ($atributo->tipoAtributo->nombre) {
                case app\models\TiposAtributo::ENTERO:
                case app\models\TiposAtributo::BOLEANO:
                    echo "return (int) \$this->retriveAttr({$atributo->id},{$atributo->pasoId})->valor;";
                    break;
                case app\models\TiposAtributo::FLOTANTE:
                    echo "return (float) \$this->retriveAttr({$atributo->id},{$atributo->pasoId})->valor;";
                    break;
Exemple #7
0
 private function psalvar($paso)
 {
     $transaction = Yii::$app->db->beginTransaction();
     $datos = [];
     try {
         $this->pasoActualId = $paso->id;
         $this->tipoTramiteId = $this->tipoDeTramite();
         $datos['tipoTramiteId'] = $this->tipoDeTramite();
         $this->scenario = $this->pasoActualId;
         if (!$this->save()) {
             print_r($this->errors);
             return false;
         }
         foreach ($paso->atributos as $atributo) {
             $valor = $this->retriveAttr($atributo->id, $paso->id);
             $valor->tramiteId = $this->id;
             if ($valor->isNewRecord && !$this->permisosPorPaso[$paso->id][USUARIOS::$CREAR]) {
                 $transaction->rollBack();
                 throw new ForbiddenHttpException('No tiene Permiso para generar esta operacion');
                 return false;
             }
             if (!$valor->isNewRecord && !$this->permisosPorPaso[$paso->id][USUARIOS::$ACTUALIZAR]) {
                 $transaction->rollBack();
                 throw new ForbiddenHttpException('No tiene Permiso para actualizar estos datos');
                 return false;
             }
             if (!$valor->save()) {
                 print_r($this->errors);
                 $transaction->rollBack();
                 return false;
             }
             $datos[$atributo->nombre] = $valor->valor;
         }
         $paso = $this->retriveSiguientePaso();
         $this->pasoActualId = $paso->id;
         $datos['pasoActualId'] = $paso->id;
         $datos['id'] = $this->id;
         $datos['observaciones'] = $this->observaciones;
         TiposTramite::findOne($this->pasoActualId);
         if (empty($this->folio)) {
             $ciclo = $this->ciclo;
             if (empty($ciclo)) {
                 $configuracion = Configuracion::findOne(1);
                 //print_r($configuracion);
                 $this->ciclo = $configuracion->cicloActual;
             }
             $folio = Folios::find()->where(['ciclo_id' => $this->ciclo, 'tipoTramite_id' => $this->tipoTramiteId])->one();
             if (empty($folio)) {
                 $folio = new Folios();
                 $folio->ciclo_id = $this->ciclo;
                 $folio->tipoTramite_id = $this->tipoTramiteId;
                 $folio->proximofolio = 1;
             }
             $this->folio = $folio->proximofolio;
             $folio->proximofolio = $folio->proximofolio + 1;
             if (!$folio->save()) {
                 $transaction->rollBack();
                 //print_r($folio);
                 return false;
             }
         }
         if (!$this->save()) {
             $transaction->rollBack();
             return false;
         }
         $transaction->commit();
         return $datos;
     } catch (Exception $e) {
         $transaction->rollBack();
         return false;
     }
     return false;
 }