diff --git a/www/protected/controllers/TecnologiaController.php b/www/protected/controllers/TecnologiaController.php new file mode 100644 index 0000000..dbe305d --- /dev/null +++ b/www/protected/controllers/TecnologiaController.php @@ -0,0 +1,101 @@ +performAjaxValidation($model); + + if(isset($_POST['Tecnologia'])) + { + $model->attributes=$_POST['Tecnologia']; + if($model->save()) + $this->redirect(array('index','id'=>$model->id)); + } + + $this->render('create',array( + 'model'=>$model, + )); + } + + /** + * 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); + + // Uncomment the following line if AJAX validation is needed + // $this->performAjaxValidation($model); + + if(isset($_POST['Tecnologia'])) + { + $model->attributes=$_POST['Tecnologia']; + if($model->save()) + $this->redirect(array('index','id'=>$model->id)); + } + + $this->render('update',array( + 'model'=>$model, + )); + } + + /** + * 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) + { + if(Yii::app()->request->isPostRequest) + { + // we only allow deletion via POST request + $this->loadModel($id)->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')); + } + else + throw new CHttpException(400,'Invalid request. Please do not repeat this request again.'); + } + + /** + * Lists all models. + */ + public function actionIndex() + { + $model=new Tecnologia('search'); + $model->unsetAttributes(); // clear any default values + + if(isset($_GET['Tecnologia'])) + $model->attributes=$_GET['Tecnologia']; + + $this->render('index',array( + 'model'=>$model, + )); + } + + /** + * Returns the data model based on the primary key given in the GET variable. + * If the data model is not found, an HTTP exception will be raised. + * @param integer the ID of the model to be loaded + */ + public function loadModel($id) + { + $model=Tecnologia::model()->findByPk($id); + if($model===null) + throw new CHttpException(404,'The requested page does not exist.'); + return $model; + } + +} diff --git a/www/protected/models/Tecnologia.php b/www/protected/models/Tecnologia.php index e91f526..39c5271 100644 --- a/www/protected/models/Tecnologia.php +++ b/www/protected/models/Tecnologia.php @@ -65,7 +65,7 @@ class Tecnologia extends CActiveRecord { return array( 'id' => 'ID', - 'descripcion' => 'Tecnologia', + 'descripcion' => 'Descripción', ); } @@ -83,8 +83,13 @@ class Tecnologia extends CActiveRecord $criteria->compare('id',$this->id); $criteria->compare('descripcion',$this->descripcion,true); + $sort = new CSort; + $sort->defaultOrder = 'descripcion ASC'; + return new CActiveDataProvider($this, array( 'criteria'=>$criteria, + 'sort' => $sort, + )); } } \ No newline at end of file diff --git a/www/protected/views/sistema/index.php b/www/protected/views/sistema/index.php index b1700e8..1c4e467 100644 --- a/www/protected/views/sistema/index.php +++ b/www/protected/views/sistema/index.php @@ -8,5 +8,6 @@ $this->breadcrumbs = array(
  • Usuarios', $this->createAbsoluteUrl('/usuario')); ?>
  • Idiomas', $this->createAbsoluteUrl('/idioma')); ?>
  • Titulaciones', $this->createAbsoluteUrl('/titulacion')); ?>
  • +
  • Tecnologías', $this->createAbsoluteUrl('/tecnologia')); ?>
  • diff --git a/www/protected/views/tecnologia/_form.php b/www/protected/views/tecnologia/_form.php new file mode 100644 index 0000000..55e3d78 --- /dev/null +++ b/www/protected/views/tecnologia/_form.php @@ -0,0 +1,41 @@ +beginWidget('CActiveForm', array( + 'id'=>'tecnologia-form', + 'enableAjaxValidation'=>false, +)); ?> + + +
    +
    + +

    Los campos marcados con * son obligatorios.

    +
    + + errorSummary($model, "", "", array('class'=>"notification msgerror")); ?> +
    +
    + +
    +

    + + Datos de la tecnología + +

    +
    +
    + labelEx($model,'descripcion'); ?> +
    + textField($model,'descripcion',array('maxlength'=>255,'class'=>'mf')); ?> + error($model,'descripcion', array('class'=>'errortext')); ?> +
    +
    + +
    + +
    +
    +
    + +
    + +endWidget(); ?> + diff --git a/www/protected/views/tecnologia/_search.php b/www/protected/views/tecnologia/_search.php new file mode 100644 index 0000000..40104bd --- /dev/null +++ b/www/protected/views/tecnologia/_search.php @@ -0,0 +1,24 @@ +
    + +beginWidget('CActiveForm', array( + 'action'=>Yii::app()->createUrl($this->route), + 'method'=>'get', +)); ?> + +
    + label($model,'id'); ?> + textField($model,'id'); ?> +
    + +
    + label($model,'descripcion'); ?> + textField($model,'descripcion',array('size'=>60,'maxlength'=>255)); ?> +
    + +
    + +
    + +endWidget(); ?> + +
    \ No newline at end of file diff --git a/www/protected/views/tecnologia/create.php b/www/protected/views/tecnologia/create.php new file mode 100644 index 0000000..09d9ec9 --- /dev/null +++ b/www/protected/views/tecnologia/create.php @@ -0,0 +1,17 @@ +breadcrumbs=array( + Yii::t('intranet', 'Tecnologías')=>array('index'), + Yii::t('intranet', 'Nueva tecnología'), +); + +$this->menu=array( + array( + 'label'=>'Lista de tecnologíasLista de tecnologías', + 'url'=>array('index'), + 'linkOptions'=>array('class'=>'iconlink'), + ), +); +$this->pageTitle=Yii::t('intranet', 'Nueva tecnología'); +?> + +renderPartial('_form', array('model'=>$model)); ?> \ No newline at end of file diff --git a/www/protected/views/tecnologia/index.php b/www/protected/views/tecnologia/index.php new file mode 100644 index 0000000..9eade7b --- /dev/null +++ b/www/protected/views/tecnologia/index.php @@ -0,0 +1,86 @@ +breadcrumbs = array( + Yii::t('Intranet', 'Tecnologias'), +); + +$this->menu = array( + array( + 'label'=>'' . Yii::t('intranet', 'Nueva tecnología') . '' . Yii::t('intranet', 'Nueva tecnología'), + 'url'=>array('create'), + 'linkOptions'=>array('class'=>'iconlink'), + ), +); + +$this->pageTitle = Yii::t('intranet', 'Gestión de tecnologías'); + +?> + + +
    + +
    +
    +
    + widget('application.extensions.PageSize.PageSize', array( + 'mGridId' => 'tecnologia-grid', + 'mPageSize' => @$_GET['pageSize'], + 'mDefPageSize' => Yii::app()->params['defaultPageSize'], + 'mPageSizeOptions' => Yii::app()->params['pageSizeOptions'], + )); + ?> +
    + +
    + +
    +
    + Yii::t('intranet', 'Acciones'), + 'class'=>'CButtonColumn', + 'headerHtmlOptions'=>array( + 'style' => 'width:55px;', + 'class' => 'head1', + ), + 'template'=>'{update}{delete}', + 'cssClassExpression' => '"con1"', + ), + array( + 'type' => 'html', + 'name' => 'descripcion', + 'value' => 'CHtml::link(CHtml::encode($data->descripcion), array("update", "id"=>$data->id));', + 'headerHtmlOptions'=>array( + 'class' => 'head0', + ), + 'cssClassExpression' => '"con0"', + ), + ); + + $dataProvider = $model->search(); + $pageSize = Yii::app()->user->getState('pageSize', Yii::app()->params['defaultPageSize']); + $dataProvider->getPagination()->setPageSize($pageSize); + + $this->widget('application.extensions.SelGridView', array( + 'id'=>'tecnologia-grid', + 'dataProvider'=>$dataProvider, + 'columns'=>$columns, + 'filter'=>$model, + 'filterPosition' => 'footer', + 'cssFile' => Yii::app()->baseUrl . '/css/gridview2.css', + 'itemsCssClass' => 'display', + 'pagerCssClass' => 'dataTables_paginate', + 'template' => '{items}{summary}{pager}', + 'emptyText' => Yii::t('intranet', 'No hay tecnologías'), + 'summaryCssClass' => 'dataTables_info', + 'summaryText' => 'Mostrando registros del {start} al {end} de {count} en total.', + 'selectableRows' => 1, + )); + + ?> +
    diff --git a/www/protected/views/tecnologia/update.php b/www/protected/views/tecnologia/update.php new file mode 100644 index 0000000..9e3d1a0 --- /dev/null +++ b/www/protected/views/tecnologia/update.php @@ -0,0 +1,23 @@ +breadcrumbs=array( + Yii::t('intranet', 'Tecnología')=>array('index'), + Yii::t('intranet', 'Modificar tecnología'), +); +$this->menu=array( + array( + 'label'=>'Lista de tecnologíasLista de tecnologías', + 'url'=>array('index'), + 'linkOptions'=>array('class'=>'iconlink'), + ), + array( + 'label'=>'Nueva tecnologíaNueva tecnología', + 'url'=>array('create'), + 'linkOptions'=>array('class'=>'iconlink2'), + ), +); +$this->pageTitle=Yii::t('intranet', 'Modificar tecnología ') . $model->descripcion; +?> + +renderPartial('_form', array('model'=>$model)); ?> + +