diff --git a/www/protected/controllers/TitulacionController.php b/www/protected/controllers/TitulacionController.php new file mode 100644 index 0000000..60c3bbd --- /dev/null +++ b/www/protected/controllers/TitulacionController.php @@ -0,0 +1,144 @@ +array('index','view'), + 'users'=>array('*'), + ), + array('allow', // allow authenticated user to perform 'create' and 'update' actions + 'actions'=>array('create','update'), + 'users'=>array('@'), + ), + array('allow', // allow admin user to perform 'admin' and 'delete' actions + 'actions'=>array('admin','delete'), + 'users'=>array('admin'), + ), + array('deny', // deny all users + 'users'=>array('*'), + ), + ); + } +*/ + /** + * Creates a new model. + * If creation is successful, the browser will be redirected to the 'view' page. + */ + public function actionCreate() + { + $model=new Titulacion; + + // Uncomment the following line if AJAX validation is needed + // $this->performAjaxValidation($model); + + if(isset($_POST['Titulacion'])) + { + $model->attributes=$_POST['Titulacion']; + 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['Titulacion'])) + { + $model->attributes=$_POST['Titulacion']; + 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 Titulacion('search'); + $model->unsetAttributes(); // clear any default values + + if(isset($_GET['Titulacion'])) + $model->attributes=$_GET['Titulacion']; + + $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=Titulacion::model()->findByPk($id); + if($model===null) + throw new CHttpException(404,'The requested page does not exist.'); + return $model; + } + +} diff --git a/www/protected/models/Titulacion.php b/www/protected/models/Titulacion.php index 352209f..173dad4 100644 --- a/www/protected/models/Titulacion.php +++ b/www/protected/models/Titulacion.php @@ -61,7 +61,7 @@ class Titulacion extends CActiveRecord { return array( 'id' => 'ID', - 'descripcion' => 'Titulacion', + 'descripcion' => 'Descripción', ); } @@ -79,8 +79,13 @@ class Titulacion 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/idioma/index.php b/www/protected/views/idioma/index.php index a269ec3..8a6c718 100644 --- a/www/protected/views/idioma/index.php +++ b/www/protected/views/idioma/index.php @@ -52,7 +52,9 @@ $this->pageTitle = Yii::t('intranet', 'Gestión de idiomas'); 'cssClassExpression' => '"con1"', ), array( + 'type' => 'html', 'name' => 'descripcion', + 'value' => 'CHtml::link(CHtml::encode($data->descripcion), array("update", "id"=>$data->id));', 'headerHtmlOptions'=>array( 'class' => 'head0', ), diff --git a/www/protected/views/sistema/index.php b/www/protected/views/sistema/index.php index f650110..b1700e8 100644 --- a/www/protected/views/sistema/index.php +++ b/www/protected/views/sistema/index.php @@ -7,5 +7,6 @@ $this->breadcrumbs = array( diff --git a/www/protected/views/titulacion/_form.php b/www/protected/views/titulacion/_form.php new file mode 100644 index 0000000..08a35a9 --- /dev/null +++ b/www/protected/views/titulacion/_form.php @@ -0,0 +1,41 @@ +beginWidget('CActiveForm', array( + 'id'=>'titulacion-form', + 'enableAjaxValidation'=>false, +)); ?> + + +
+
+ +

Los campos marcados con * son obligatorios.

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

+ + Datos de la titulación + +

+
+
+ labelEx($model,'descripcion'); ?> +
+ textField($model,'descripcion',array('maxlength'=>255,'class'=>'mf')); ?> + error($model,'descripcion', array('class'=>'errortext')); ?> +
+
+ +
+ +
+
+
+ +
+ +endWidget(); ?> + diff --git a/www/protected/views/titulacion/_search.php b/www/protected/views/titulacion/_search.php new file mode 100644 index 0000000..40104bd --- /dev/null +++ b/www/protected/views/titulacion/_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/titulacion/create.php b/www/protected/views/titulacion/create.php new file mode 100644 index 0000000..d4a1cbf --- /dev/null +++ b/www/protected/views/titulacion/create.php @@ -0,0 +1,17 @@ +breadcrumbs=array( + Yii::t('intranet', 'Titulaciones')=>array('index'), + Yii::t('intranet', 'Nueva titulacion'), +); + +$this->menu=array( + array( + 'label'=>'Lista de titulacionesLista de titulaciones', + 'url'=>array('index'), + 'linkOptions'=>array('class'=>'iconlink'), + ), +); +$this->pageTitle=Yii::t('intranet', 'Nueva titulación'); +?> + +renderPartial('_form', array('model'=>$model)); ?> \ No newline at end of file diff --git a/www/protected/views/titulacion/index.php b/www/protected/views/titulacion/index.php new file mode 100644 index 0000000..8e9fa51 --- /dev/null +++ b/www/protected/views/titulacion/index.php @@ -0,0 +1,86 @@ +breadcrumbs = array( + Yii::t('Intranet', 'Titulaciones'), +); + +$this->menu = array( + array( + 'label'=>'' . Yii::t('intranet', 'Nueva titulación') . '' . Yii::t('intranet', 'Nueva titulación'), + 'url'=>array('create'), + 'linkOptions'=>array('class'=>'iconlink'), + ), +); + +$this->pageTitle = Yii::t('intranet', 'Gestión de titulaciones'); + +?> + + +
+ +
+
+
+ widget('application.extensions.PageSize.PageSize', array( + 'mGridId' => 'titulacion-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'=>'titulacion-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 titulaciones'), + 'summaryCssClass' => 'dataTables_info', + 'summaryText' => 'Mostrando registros del {start} al {end} de {count} en total.', + 'selectableRows' => 1, + )); + + ?> +
diff --git a/www/protected/views/titulacion/update.php b/www/protected/views/titulacion/update.php new file mode 100644 index 0000000..9c6781a --- /dev/null +++ b/www/protected/views/titulacion/update.php @@ -0,0 +1,23 @@ +breadcrumbs=array( + Yii::t('intranet', 'Titulación')=>array('index'), + Yii::t('intranet', 'Modificar titulación'), +); +$this->menu=array( + array( + 'label'=>'Lista de titulacionesLista de titulaciones', + 'url'=>array('index'), + 'linkOptions'=>array('class'=>'iconlink'), + ), + array( + 'label'=>'Nueva titulaciónNueva titulación', + 'url'=>array('create'), + 'linkOptions'=>array('class'=>'iconlink2'), + ), +); +$this->pageTitle=Yii::t('intranet', 'Modificar titulación ') . $model->descripcion; +?> + +renderPartial('_form', array('model'=>$model)); ?> + +