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 perfil técnico',
+ 'label'=>'Nuevo 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,
+)); ?>
+
+
+