diff --git a/www/protected/controllers/PerfilFuncionalController.php b/www/protected/controllers/PerfilFuncionalController.php new file mode 100644 index 0000000..426935e --- /dev/null +++ b/www/protected/controllers/PerfilFuncionalController.php @@ -0,0 +1,101 @@ +performAjaxValidation($model); + + if(isset($_POST['PerfilFuncional'])) + { + $model->attributes=$_POST['PerfilFuncional']; + 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['PerfilFuncional'])) + { + $model->attributes=$_POST['PerfilFuncional']; + 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 PerfilFuncional('search'); + $model->unsetAttributes(); // clear any default values + + if(isset($_GET['PerfilFuncional'])) + $model->attributes=$_GET['PerfilFuncional']; + + $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=PerfilFuncional::model()->findByPk($id); + if($model===null) + throw new CHttpException(404,'The requested page does not exist.'); + return $model; + } + +} diff --git a/www/protected/models/PerfilFuncional.php b/www/protected/models/PerfilFuncional.php index b21858c..f0c1f34 100644 --- a/www/protected/models/PerfilFuncional.php +++ b/www/protected/models/PerfilFuncional.php @@ -81,8 +81,13 @@ class PerfilFuncional 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/PerfilTecnico/update.php b/www/protected/views/PerfilTecnico/update.php index c71aeb5..e81ad70 100644 --- a/www/protected/views/PerfilTecnico/update.php +++ b/www/protected/views/PerfilTecnico/update.php @@ -10,7 +10,7 @@ $this->menu=array( 'linkOptions'=>array('class'=>'iconlink'), ), array( - 'label'=>'Nuevo pefil técnícoNuevo perfil técnico', + 'label'=>'Nuevo perfil técnícoNuevo perfil técnico', 'url'=>array('create'), 'linkOptions'=>array('class'=>'iconlink2'), ), diff --git a/www/protected/views/perfilfuncional/_form.php b/www/protected/views/perfilfuncional/_form.php new file mode 100644 index 0000000..df8ea0c --- /dev/null +++ b/www/protected/views/perfilfuncional/_form.php @@ -0,0 +1,41 @@ +beginWidget('CActiveForm', array( + 'id'=>'perfilfuncional-form', + 'enableAjaxValidation'=>false, +)); ?> + + +
+
+ +

Los campos marcados con * son obligatorios.

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

+ + Datos del perfil funcional + +

+
+
+ labelEx($model,'descripcion'); ?> +
+ textField($model,'descripcion',array('maxlength'=>255,'class'=>'mf')); ?> + error($model,'descripcion', array('class'=>'errortext')); ?> +
+
+ +
+ +
+
+
+ +
+ +endWidget(); ?> + diff --git a/www/protected/views/perfilfuncional/_search.php b/www/protected/views/perfilfuncional/_search.php new file mode 100644 index 0000000..40104bd --- /dev/null +++ b/www/protected/views/perfilfuncional/_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/perfilfuncional/create.php b/www/protected/views/perfilfuncional/create.php new file mode 100644 index 0000000..377f0e6 --- /dev/null +++ b/www/protected/views/perfilfuncional/create.php @@ -0,0 +1,17 @@ +breadcrumbs=array( + Yii::t('intranet', 'Perfil funcional')=>array('index'), + Yii::t('intranet', 'Nuevo perfil funcional'), +); + +$this->menu=array( + array( + 'label'=>'Lista de perfiles funcionalesLista de perfiles funcionales', + 'url'=>array('index'), + 'linkOptions'=>array('class'=>'iconlink'), + ), +); +$this->pageTitle=Yii::t('intranet', 'Nuevo perfil funcional'); +?> + +renderPartial('_form', array('model'=>$model)); ?> \ No newline at end of file diff --git a/www/protected/views/perfilfuncional/index.php b/www/protected/views/perfilfuncional/index.php new file mode 100644 index 0000000..ada0520 --- /dev/null +++ b/www/protected/views/perfilfuncional/index.php @@ -0,0 +1,86 @@ +breadcrumbs = array( + Yii::t('Intranet', 'Perfil funcional'), +); + +$this->menu = array( + array( + 'label'=>'' . Yii::t('intranet', 'Nuevo perfil funcional') . '' . Yii::t('intranet', 'Nueva perfil funcional'), + 'url'=>array('create'), + 'linkOptions'=>array('class'=>'iconlink'), + ), +); + +$this->pageTitle = Yii::t('intranet', 'Gestión de perfiles funcionales'); + +?> + + +
+ +
+
+
+ widget('application.extensions.PageSize.PageSize', array( + 'mGridId' => 'perfilfuncional-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'=>'perfilfuncional-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 perfiles técnicos'), + 'summaryCssClass' => 'dataTables_info', + 'summaryText' => 'Mostrando registros del {start} al {end} de {count} en total.', + 'selectableRows' => 1, + )); + + ?> +
diff --git a/www/protected/views/perfilfuncional/update.php b/www/protected/views/perfilfuncional/update.php new file mode 100644 index 0000000..d771008 --- /dev/null +++ b/www/protected/views/perfilfuncional/update.php @@ -0,0 +1,23 @@ +breadcrumbs=array( + Yii::t('intranet', 'Perfil funcional')=>array('index'), + Yii::t('intranet', 'Modificar perfil funcional'), +); +$this->menu=array( + array( + 'label'=>'Lista de perfiles funcionalesLista de perfiles funcionales', + 'url'=>array('index'), + 'linkOptions'=>array('class'=>'iconlink'), + ), + array( + 'label'=>'Nuevo perfil funcionalNuevo perfil funcional', + 'url'=>array('create'), + 'linkOptions'=>array('class'=>'iconlink2'), + ), +); +$this->pageTitle=Yii::t('intranet', 'Modificar perfil funcional ') . $model->descripcion; +?> + +renderPartial('_form', array('model'=>$model)); ?> + + diff --git a/www/protected/views/sistema/index.php b/www/protected/views/sistema/index.php index 57f2057..fa18ec6 100644 --- a/www/protected/views/sistema/index.php +++ b/www/protected/views/sistema/index.php @@ -10,5 +10,6 @@ $this->breadcrumbs = array(
  • Titulaciones', $this->createAbsoluteUrl('/titulacion')); ?>
  • Tecnologías', $this->createAbsoluteUrl('/tecnologia')); ?>
  • Perfiles Técnicos', $this->createAbsoluteUrl('/PerfilTecnico')); ?>
  • +
  • Perfiles Funcionales', $this->createAbsoluteUrl('/PerfilFuncional')); ?>