- Validación AJAX quitada
- Organización de candidato (pestaña Resumen y Capacidades Profesionales) git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_IntranetNueva/trunk@34 77cfc57b-8ef4-1849-9df6-4a38aa5da120
This commit is contained in:
parent
0b8c8f8e3f
commit
ebb10d87b0
9
www/.htaccess
Normal file
9
www/.htaccess
Normal file
@ -0,0 +1,9 @@
|
||||
RewriteEngine on
|
||||
RewriteBase /intranet/
|
||||
|
||||
# if a directory or a file exists, use it directly
|
||||
RewriteCond %{REQUEST_FILENAME} !-f
|
||||
RewriteCond %{REQUEST_FILENAME} !-d
|
||||
|
||||
# otherwise forward it to index.php
|
||||
RewriteRule . index.php
|
||||
@ -64,4 +64,13 @@ span.timestamp {
|
||||
|
||||
.disabled {
|
||||
color: #999;
|
||||
}
|
||||
}
|
||||
|
||||
/**RESUMEN**/
|
||||
.resumen { padding: 25px; position: relative; overflow: hidden; }
|
||||
.resumen .title { color: #006699; }
|
||||
.resumen_table { border-collape: collapse; }
|
||||
.resumen_table thead td { border-bottom: 1px solid #ccc; padding: 5px 0; font-weight: bold; }
|
||||
.resumen_table .subtotal td { font-weight: bold; }
|
||||
.resumen_table tr td.line { border-bottom: 1px solid #ccc; }
|
||||
|
||||
|
||||
19
www/css/gridview3.css
Normal file
19
www/css/gridview3.css
Normal file
@ -0,0 +1,19 @@
|
||||
.sTable3 {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
border-top: 1px solid #ccc;
|
||||
}
|
||||
.sTable3 thead th {
|
||||
padding: 5px 10px;
|
||||
background: #eee url(../images/thead.png) repeat-x top left;
|
||||
border-bottom: 1px solid #ccc;
|
||||
}
|
||||
.sTable3 tbody tr td {
|
||||
padding: 10px;
|
||||
background: #fff;
|
||||
border-top: 1px solid #eee;
|
||||
border-left: 1px solid #eee;
|
||||
}
|
||||
.sTable3 tbody tr.even td {
|
||||
background: #fcfcfc;
|
||||
}
|
||||
@ -28,14 +28,14 @@
|
||||
.ui-tabs-hide { display: none; }
|
||||
.ui-tabs-panel { padding: 15px; }
|
||||
|
||||
/*
|
||||
|
||||
.tabs2 { border: 0; }
|
||||
.tabs2 .ui-tabs-nav { padding: 5px 0 0 5px; border: 1px solid #6082AD; background: #688AB5 url(../../images/titlebg.png) repeat-x top left; }
|
||||
.tabs2 .ui-tabs-nav li:last-child a { -moz-border-radius: 0 3px 0 0; -webkit-border-radius: 0 3px 0 0; border-radius: 0 3px 0 0; }
|
||||
.tabs2 .ui-tabs-panel { border: 1px solid #ccc; border-top: 0; }
|
||||
.tabs2 .ui-tabs-nav li a { background: #a8c0df; border: 0; color: #fff; margin-right: 1px; }
|
||||
.tabs2 .ui-tabs-nav li.ui-state-active a { background: #fcfcfc; color: #688AB5; border-bottom: 1px solid #fcfcfc; }
|
||||
*/
|
||||
|
||||
|
||||
/** ACCORDION **/
|
||||
.accordion { border: 1px solid #ccc; background: #fcfcfc; overflow: hidden; -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; }
|
||||
|
||||
@ -11,6 +11,7 @@
|
||||
@import url('plugins/jquery.alerts.css');
|
||||
@import url('plugins/fullcalendar.css');
|
||||
|
||||
@import url('tabs.css');
|
||||
@import url('custom.css');
|
||||
|
||||
html, body, div, span, applet, object, iframe,
|
||||
@ -521,15 +522,6 @@ input[type=radio], input[type=checkbox] { margin: 0; padding: 0; vertical-align:
|
||||
.iconlink2:hover { background-position: 0 -37px; text-decoration: none; }
|
||||
.iconlink2 img { vertical-align: middle; display: inline-block; }
|
||||
|
||||
/**INVOICE**/
|
||||
.invoice { border: 1px solid #ccc; background: #f7f7f7; -moz-box-shadow: 1px 1px 3px #ddd; -webkit-box-shadow: 1px 1px 3px #ddd; box-shadow: 1px 1px 3px #ddd; }
|
||||
.invoice_inner { padding: 20px; position: relative; overflow: hidden; }
|
||||
.invoice .title { font-size: 18px; float: right; }
|
||||
.invoicetable { border-collape: collapse; }
|
||||
.invoicetable thead td { border-bottom: 1px solid #ccc; padding: 5px 0; font-weight: bold; }
|
||||
.invoicetable .subtotal td { font-weight: bold; }
|
||||
.invoicetable tr td.line { border-bottom: 1px solid #ccc; }
|
||||
|
||||
/** FOOTER**/
|
||||
.footer { background: #333; padding: 10px 0; }
|
||||
.footerinner { padding: 0 20px; text-align: right; font-size: 11px; color: #ccc; }
|
||||
|
||||
11
www/css/tabs.css
Normal file
11
www/css/tabs.css
Normal file
@ -0,0 +1,11 @@
|
||||
.tabs { border: 1px solid #ccc; background: #fcfcfc; -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; }
|
||||
.tabs { -moz-box-shadow: 1px 1px 2px #ddd; -webkit-box-shadow: 1px 1px 2px #ddd; box-shadow: 1px 1px 2px #ddd; }
|
||||
.tabs-nav { list-style: none; background: #eee url(../images/thead.png) repeat-x top left; border-bottom: 1px solid #ccc; }
|
||||
.tabs-nav { position: relative; height: 41px; -moz-border-radius: 3px 3px 0 0; -webkit-border-radius: 3px 3px 0 0; border-radius: 3px 3px 0 0; }
|
||||
.tabs-nav li { display: inline-block; float: left; }
|
||||
.tabs-nav li:first-child a { -moz-border-radius: 3px 0 0 0; -webkit-border-radius: 3px 0 0 0; border-radius: 3px 0 0 0; }
|
||||
.tabs-nav li a { display: block; padding: 10px 20px; background: #eee; color: #333; border-right: 1px solid #ccc; border-bottom: 1px solid #ccc; }
|
||||
.tabs-nav li a:hover { text-decoration: none; background: #e7e7e7; }
|
||||
.tabs-nav li.current a { background: #fcfcfc; color: #069; border-bottom: 1px solid #fcfcfc; }
|
||||
.tabs-hide { display: none; }
|
||||
.tabs-panel { padding: 15px; }
|
||||
@ -33,12 +33,7 @@ jQuery(document).ready(function(){
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
/**
|
||||
* Tab
|
||||
**/
|
||||
jQuery( "#tabs" ).tabs();
|
||||
|
||||
|
||||
/**
|
||||
* Accordion
|
||||
**/
|
||||
|
||||
@ -1 +0,0 @@
|
||||
deny from all
|
||||
@ -33,14 +33,15 @@ $config = array(
|
||||
'allowAutoLogin'=>true,
|
||||
),
|
||||
// uncomment the following to enable URLs in path-format
|
||||
/*'urlManager'=>array(
|
||||
'urlFormat'=>'path',
|
||||
'rules'=>array(
|
||||
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
|
||||
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
|
||||
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
|
||||
),
|
||||
/*'urlManager' => array(
|
||||
'urlFormat' => 'path',
|
||||
// Ocultar 'index.php' de las URL's.
|
||||
// Hay que poner un fichero .htaccess con la redirección.
|
||||
'showScriptName' => false,
|
||||
'urlSuffix' => '.html',
|
||||
'rules' => require(dirname(__FILE__) . '/url_rules.php'),
|
||||
),*/
|
||||
|
||||
'errorHandler'=>array(
|
||||
// use 'site/error' action to display errors
|
||||
'errorAction'=>'site/error',
|
||||
|
||||
43
www/protected/config/url_rules.php
Normal file
43
www/protected/config/url_rules.php
Normal file
@ -0,0 +1,43 @@
|
||||
<?php
|
||||
return array(
|
||||
// REST patterns
|
||||
/*array('api/list', 'pattern' => 'api/<model:\w+>', 'verb' => 'GET'),
|
||||
array('api/view', 'pattern' => 'api/<model:\w+>/<id:\d+>', 'verb' => 'GET'),
|
||||
array('api/update', 'pattern' => 'api/<model:\w+>/<id:\d+>', 'verb' => 'PUT'),
|
||||
array('api/execute', 'pattern' => 'api/execute', 'verb' => 'POST'),
|
||||
array('api/delete', 'pattern' => 'api/<model:\w+>/<id:\d+>', 'verb' => 'DELETE'),
|
||||
array('api/create', 'pattern' => 'api/<model:\w+>', 'verb' => 'POST'),*/
|
||||
'/usuarios/' => 'usuario/index',
|
||||
'/candidatos/' => 'candidato/index',
|
||||
'/candidato/<_a:(create)>' => 'candidato/<_a>', // <- ???????????????
|
||||
'/candidatos/<id:\d+>' => 'candidato/view',
|
||||
'/candidatos/<id:\d+>/capacidades' => 'candidatoCapacidad/index',
|
||||
|
||||
|
||||
/*
|
||||
'/projects/' => 'project/index',
|
||||
'/project/<_a:(create)>' => 'project/<_a>',
|
||||
'/projects/<identifier>' => 'project/view',
|
||||
'/projects/<identifier>/issues' => 'issue/index',
|
||||
'/projects/<identifier>/changesets' => 'changeset/index',
|
||||
'/projects/<identifier>/issue/<_a:(create)>' => 'issue/<_a>',
|
||||
'/projects/<identifier>/member/<_a:(create)>' => 'member/<_a>',
|
||||
'/projects/<identifier>/milestone/<_a:(create)>' => 'milestone/<_a>',
|
||||
'/projects/<identifier>/repository/<_a:(create)>' => 'repository/<_a>',
|
||||
'/projects/<identifier>/issueCategory/<_a:(create)>' => 'issueCategory/<_a>',
|
||||
'/projects/<identifier>/issue/<action:\w+>/<id:\d+>' => 'issue/<action>',
|
||||
'/projects/<identifier>/issues/<action:\w+>/<id:\d+>' => 'issue/<action>',
|
||||
'/projects/<identifier>/member/<action:\w+>/<id:\d+>' => 'member/<action>',
|
||||
'/projects/<identifier>/milestone/<action:\w+>/<id:\d+>' => 'milestone/<action>',
|
||||
'/projects/<identifier>/repository/<action:\w+>/<id:\d+>' => 'repository/<action>',
|
||||
'/projects/<identifier>/issueCategory/<action:\w+>/<id:\d+>' => 'issueCategory/<action>',
|
||||
'/projects/<identifier>/changeset/<action:\w+>/<id:\d+>' => 'changeset/<action>',
|
||||
'/projects/<identifier>/<_a:(activity|roadmap|code|settings)>' => 'project/<_a>',
|
||||
*/
|
||||
|
||||
'<controller:\w+>/<id:\d+>'=>'<controller>/view',
|
||||
'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',
|
||||
'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',
|
||||
//'candidatos/<identifier>/feed' => array('project/feed', 'urlSuffix' => '.xml', 'caseSensitive' => false),
|
||||
//'/issues/' => 'issue/index',
|
||||
);
|
||||
@ -48,29 +48,34 @@ class CandidatoCapacidadController extends Controller
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new model.
|
||||
* If creation is successful, the browser will be redirected to the 'view' page.
|
||||
*/
|
||||
public function actionCreate()
|
||||
* Crea una nueva capacidad asociado al candidato indicado.
|
||||
* @param integer $cid el ID del candidato
|
||||
*/
|
||||
public function actionCreate($cid)
|
||||
{
|
||||
$model=new CandidatoCapacidad;
|
||||
$model=new CandidatoCapacidad;
|
||||
$model->candidato_id = $cid;
|
||||
|
||||
// Uncomment the following line if AJAX validation is needed
|
||||
$this->performAjaxValidation($model);
|
||||
$candidato = Candidato::model()->findByPk($cid);
|
||||
|
||||
if(isset($_POST['CandidatoCapacidad']))
|
||||
{
|
||||
print_r($_POST);
|
||||
$model->attributes=$_POST['CandidatoCapacidad'];
|
||||
if($model->save())
|
||||
$this->redirect(array('view','id'=>$model->id));
|
||||
// Uncomment the following line if AJAX validation is needed
|
||||
// $this->performAjaxValidation($model);
|
||||
|
||||
if(isset($_POST['CandidatoCapacidad']))
|
||||
{
|
||||
$model->attributes=$_POST['CandidatoCapacidad'];
|
||||
if($model->save()) {
|
||||
Yii::app()->user->setFlash('success', Yii::t('intranet', 'Capacidad creada correctamente.'));
|
||||
$this->redirect(array('index', 'cid'=>$cid));
|
||||
}
|
||||
}
|
||||
|
||||
$this->render('create',array(
|
||||
'model'=>$model,
|
||||
));
|
||||
$this->render('create',array(
|
||||
'model'=>$model,
|
||||
'candidato'=>$candidato,
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Updates a particular model.
|
||||
* If update is successful, the browser will be redirected to the 'view' page.
|
||||
@ -78,21 +83,25 @@ class CandidatoCapacidadController extends Controller
|
||||
*/
|
||||
public function actionUpdate($id)
|
||||
{
|
||||
$model=$this->loadModel($id);
|
||||
$model=$this->loadModel($id);
|
||||
$candidato = Candidato::model()->findByPk($model->candidato_id);
|
||||
|
||||
// Uncomment the following line if AJAX validation is needed
|
||||
$this->performAjaxValidation($model);
|
||||
// Uncomment the following line if AJAX validation is needed
|
||||
// $this->performAjaxValidation($model);
|
||||
|
||||
if(isset($_POST['CandidatoCapacidad']))
|
||||
{
|
||||
$model->attributes=$_POST['CandidatoCapacidad'];
|
||||
if($model->save())
|
||||
$this->redirect(array('view','id'=>$model->id));
|
||||
if(isset($_POST['CandidatoCapacidad']))
|
||||
{
|
||||
$model->attributes=$_POST['CandidatoCapacidad'];
|
||||
if($model->save()) {
|
||||
Yii::app()->user->setFlash('success', Yii::t('intranet', 'Capacidad actualizada correctamente.'));
|
||||
$this->redirect(array('index', 'cid'=>$candidato->id));
|
||||
}
|
||||
}
|
||||
|
||||
$this->render('update',array(
|
||||
'model'=>$model,
|
||||
));
|
||||
$this->render('update',array(
|
||||
'model'=>$model,
|
||||
'candidato'=>$candidato,
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -102,28 +111,39 @@ class CandidatoCapacidadController extends Controller
|
||||
*/
|
||||
public function actionDelete($id)
|
||||
{
|
||||
if(Yii::app()->request->isPostRequest)
|
||||
{
|
||||
// we only allow deletion via POST request
|
||||
$this->loadModel($id)->delete();
|
||||
if(Yii::app()->request->isPostRequest)
|
||||
{
|
||||
// we only allow deletion via POST request
|
||||
$this->loadModel($id)->delete();
|
||||
Yii::app()->user->setFlash('success', Yii::t('intranet', 'Capacidad eliminada correctamente.'));
|
||||
|
||||
// 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.');
|
||||
// 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()
|
||||
public function actionIndex($cid)
|
||||
{
|
||||
$dataProvider=new CActiveDataProvider('CandidatoCapacidad');
|
||||
$this->render('index',array(
|
||||
'dataProvider'=>$dataProvider,
|
||||
));
|
||||
$this->layout = '//layouts/candidato';
|
||||
$candidato = Candidato::model()->findByPk($cid);
|
||||
|
||||
$dataProvider = new CActiveDataProvider('CandidatoCapacidad', array(
|
||||
'criteria'=>array(
|
||||
'condition' => 'candidato_id='.$cid,
|
||||
),
|
||||
));
|
||||
|
||||
$this->render('index',array(
|
||||
'dataProvider'=>$dataProvider,
|
||||
'candidato'=>$candidato,
|
||||
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -7,14 +7,14 @@ class CandidatoController extends Controller
|
||||
* using two-column layout. See 'protected/views/layouts/column2.php'.
|
||||
*/
|
||||
public $layout='//layouts/default';
|
||||
|
||||
|
||||
/**
|
||||
* @return array action filters
|
||||
*/
|
||||
public function filters()
|
||||
{
|
||||
return array(
|
||||
'accessControl', // perform access control for CRUD operations
|
||||
'accessControl', // perform access control for CRUD operations
|
||||
);
|
||||
}
|
||||
|
||||
@ -26,6 +26,12 @@ class CandidatoController extends Controller
|
||||
public function accessRules()
|
||||
{
|
||||
return array(
|
||||
array('allow',
|
||||
'actions' => array('index','view','create','update','delete','admin'),
|
||||
'users' => array('*'),
|
||||
),
|
||||
);
|
||||
/*return array(
|
||||
array('allow', // allow authenticated user to perform 'create' and 'update' actions
|
||||
'actions'=>array('index','view','create','update','delete','admin'),
|
||||
'users'=>array('@'),
|
||||
@ -33,7 +39,7 @@ class CandidatoController extends Controller
|
||||
array('deny', // deny all users
|
||||
'users'=>array('*'),
|
||||
),
|
||||
);
|
||||
);*/
|
||||
}
|
||||
|
||||
/**
|
||||
@ -42,9 +48,10 @@ class CandidatoController extends Controller
|
||||
*/
|
||||
public function actionView($id)
|
||||
{
|
||||
$this->render('view',array(
|
||||
'model'=>$this->loadModel($id),
|
||||
));
|
||||
$this->layout='//layouts/candidato';
|
||||
$this->render('view',array(
|
||||
'model'=>$this->loadModel($id),
|
||||
));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -63,49 +70,7 @@ class CandidatoController extends Controller
|
||||
$titulacionesValidas = array();
|
||||
|
||||
// Uncomment the following line if AJAX validation is needed
|
||||
$this->performAjaxValidation($model);
|
||||
|
||||
/*if(isset($_POST['Candidato']))
|
||||
{
|
||||
$model->attributes=$_POST['Candidato'];
|
||||
$foto=CUploadedFile::getInstance($model,'foto');
|
||||
|
||||
if ($model->validate())
|
||||
{
|
||||
$foundInvalidChild = false;
|
||||
$arrayIdiomas = array();
|
||||
if(isset($_POST['CandidatoIdioma']))
|
||||
{
|
||||
foreach ($_POST['CandidatoIdioma'] as $idioma)
|
||||
{
|
||||
$CandidatoIdioma = new CandidatoIdioma;
|
||||
$CandidatoIdioma->attributes = $idioma;
|
||||
|
||||
if ($model->id)
|
||||
$CandidatoIdioma->candidato_id = $model->id;
|
||||
|
||||
if (!$CandidatoIdioma->validate())
|
||||
$foundInvalidChild = true;
|
||||
|
||||
$arrayIdiomas[] = $CandidatoIdioma;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!$foundInvalidChild && $model->save()) {
|
||||
$this->guardarFoto($model->id, $foto);
|
||||
|
||||
// Guardar los idiomas
|
||||
foreach($arrayIdiomas as $CandidatoIdioma)
|
||||
{
|
||||
$CandidatoIdioma->candidato_id = $model->id;
|
||||
$CandidatoIdioma->save();
|
||||
}
|
||||
|
||||
Yii::app()->user->setFlash('success', "Candidato dado de alta correctamente.");
|
||||
$this->redirect(array('index'));
|
||||
}
|
||||
}*/
|
||||
// $this->performAjaxValidation($model);
|
||||
|
||||
if (isset($_POST['Candidato'])) {
|
||||
$model->attributes=$_POST['Candidato'];
|
||||
@ -113,25 +78,40 @@ class CandidatoController extends Controller
|
||||
|
||||
$foundInvalidChild = false;
|
||||
if ($model->validate()) {
|
||||
if (!MultiModelForm::validate($idioma, $idiomasValidos, $idiomasBorrados))
|
||||
$foundInvalidChild = true;
|
||||
if (!MultiModelForm::validate($idioma, $idiomasValidos, $idiomasBorrados)) {
|
||||
Yii::app()->user->setFlash('error', Yii::t('intranet', 'Algún idioma del candidato no es válido.'));
|
||||
$foundInvalidChild = true;
|
||||
}
|
||||
|
||||
if (!MultiModelForm::validate($titulacion, $titulacionesValidas, $titulacionesBorradas))
|
||||
$foundInvalidChild = true;
|
||||
if (!MultiModelForm::validate($titulacion, $titulacionesValidas, $titulacionesBorradas)) {
|
||||
Yii::app()->user->setFlash('error', Yii::t('intranet', 'Alguna titulación del candidato no es válida.'));
|
||||
$foundInvalidChild = true;
|
||||
}
|
||||
} else {
|
||||
Yii::app()->user->setFlash('error', Yii::t('intranet', 'Algún dato del candidato no es válido.'));
|
||||
}
|
||||
|
||||
|
||||
if (!$foundInvalidChild && $model->save() ) {
|
||||
$masterValues = array ('candidato_id'=>$model->id);
|
||||
|
||||
if (MultiModelForm::save($idioma, $idiomasValidos, $idiomasBorrados, $masterValues) &&
|
||||
MultiModelForm::save($titulacion, $titulacionesValidas, $titulacionesBorradas, $masterValues))
|
||||
{
|
||||
if (!MultiModelForm::save($idioma, $idiomasValidos, $idiomasBorrados, $masterValues)) {
|
||||
Yii::app()->user->setFlash('error', Yii::t('intranet', 'Se ha producido un error al guardar los idiomas del candidato.'));
|
||||
$foundInvalidChild = true;
|
||||
}
|
||||
if (!MultiModelForm::save($titulacion, $titulacionesValidas, $titulacionesBorradas, $masterValues)) {
|
||||
Yii::app()->user->setFlash('error', Yii::t('intranet', 'Se ha producido un error al guardar las titulaciones del candidato.'));
|
||||
$foundInvalidChild = true;
|
||||
}
|
||||
|
||||
if (!$foundInvalidChild) {
|
||||
$this->guardarFoto($model->id, $foto);
|
||||
Yii::app()->user->setFlash('success', "Candidato dado de alta correctamente.");
|
||||
$url=$this->createUrl('index', array('id' => $model->id));
|
||||
Yii::app()->user->setFlash('success', Yii::t('intranet', 'Candidato dado de alta correctamente.'));
|
||||
$url=$this->createUrl('view', array('id' => $model->id));
|
||||
$this->redirect($url);
|
||||
}
|
||||
}
|
||||
} else {
|
||||
Yii::app()->user->setFlash('error', Yii::t('intranet', 'Se ha producido un error al guardar el candidato.'));
|
||||
}
|
||||
}
|
||||
|
||||
$this->render('create',array(
|
||||
@ -160,92 +140,49 @@ class CandidatoController extends Controller
|
||||
$titulacionesValidas = array();
|
||||
|
||||
// Uncomment the following line if AJAX validation is needed
|
||||
$this->performAjaxValidation($model);
|
||||
|
||||
/*if(isset($_POST['Candidato']))
|
||||
{
|
||||
$foto=CUploadedFile::getInstance($model,'foto');
|
||||
$model->attributes=$_POST['Candidato'];
|
||||
|
||||
if ($model->validate())
|
||||
{
|
||||
$foundInvalidChild = false;
|
||||
$arrayIdiomas = array();
|
||||
if(isset($_POST['CandidatoIdioma']))
|
||||
{
|
||||
foreach ($_POST['CandidatoIdioma'] as $idioma)
|
||||
{
|
||||
//$CandidatoIdioma = CandidatoIdioma::model()->findB;
|
||||
//CandidatoIdioma::model()->deleteAllByAttributes($arrayIdiomas)
|
||||
|
||||
$CandidatoIdioma->attributes = $idioma;
|
||||
|
||||
|
||||
if ($model->id)
|
||||
$CandidatoIdioma->candidato_id = $model->id;
|
||||
|
||||
if (!$CandidatoIdioma->validate())
|
||||
$foundInvalidChild = true;
|
||||
|
||||
$arrayIdiomas[] = $CandidatoIdioma;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!$foundInvalidChild && $model->save()) {
|
||||
$this->guardarFoto($model->id, $foto);
|
||||
|
||||
// Guardar los idiomas
|
||||
foreach($arrayIdiomas as $CandidatoIdioma)
|
||||
{
|
||||
$CandidatoIdioma->candidato_id = $model->id;
|
||||
$CandidatoIdioma->save();
|
||||
}
|
||||
|
||||
Yii::app()->user->setFlash('success', "Candidato actualizado correctamente.");
|
||||
//$this->redirect(array('view','id'=>$model->id));
|
||||
}
|
||||
}*/
|
||||
// $this->performAjaxValidation($model);
|
||||
|
||||
if (isset($_POST['Candidato'])) {
|
||||
$model->attributes=$_POST['Candidato'];
|
||||
$foto=CUploadedFile::getInstance($model,'foto');
|
||||
|
||||
$foundInvalidChild = false;
|
||||
if ($model->validate()) {
|
||||
if (!MultiModelForm::validate($idioma, $idiomasValidos, $idiomasBorrados))
|
||||
$foundInvalidChild = true;
|
||||
if ($model->validate()) {
|
||||
if (!MultiModelForm::validate($idioma, $idiomasValidos, $idiomasBorrados)) {
|
||||
Yii::app()->user->setFlash('error', Yii::t('intranet', 'Algún idioma del candidato no es válido.'));
|
||||
$foundInvalidChild = true;
|
||||
}
|
||||
|
||||
if (!MultiModelForm::validate($titulacion, $titulacionesValidas, $titulacionesBorradas))
|
||||
$foundInvalidChild = true;
|
||||
if (!MultiModelForm::validate($titulacion, $titulacionesValidas, $titulacionesBorradas)) {
|
||||
Yii::app()->user->setFlash('error', Yii::t('intranet', 'Alguna titulación del candidato no es válida.'));
|
||||
$foundInvalidChild = true;
|
||||
}
|
||||
} else {
|
||||
Yii::app()->user->setFlash('error', Yii::t('intranet', 'Algún dato del candidato no es válido.'));
|
||||
}
|
||||
|
||||
|
||||
if (!$foundInvalidChild && $model->save() ) {
|
||||
$masterValues = array ('candidato_id'=>$model->id);
|
||||
|
||||
if (MultiModelForm::save($idioma, $idiomasValidos, $idiomasBorrados, $masterValues) &&
|
||||
MultiModelForm::save($titulacion, $titulacionesValidas, $titulacionesBorradas, $masterValues))
|
||||
{
|
||||
$this->guardarFoto($model->id, $foto);
|
||||
Yii::app()->user->setFlash('success', "Candidato actualizado correctamente.");
|
||||
$this->redirect(array('index'));
|
||||
if (!MultiModelForm::save($idioma, $idiomasValidos, $idiomasBorrados, $masterValues)) {
|
||||
Yii::app()->user->setFlash('error', Yii::t('intranet', 'Se ha producido un error al guardar los idiomas del candidato.'));
|
||||
$foundInvalidChild = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*if(isset($_POST['Candidato'])) {
|
||||
|
||||
//the value for the foreign key 'candidato_id'
|
||||
$masterValues = array ('candidato_id'=>$model->id);
|
||||
|
||||
//Save the master model after saving valid members
|
||||
if (MultiModelForm::save($idioma, $validatedIdiomas, $deleteIdiomas, $masterValues) && $model->save() ) {
|
||||
$this->guardarFoto($model->id, $foto);
|
||||
Yii::app()->user->setFlash('success', "Candidato actualizado correctamente.");
|
||||
//$this->redirect(array('view','id'=>$model->id));
|
||||
if (!MultiModelForm::save($titulacion, $titulacionesValidas, $titulacionesBorradas, $masterValues)) {
|
||||
Yii::app()->user->setFlash('error', Yii::t('intranet', 'Se ha producido un error al guardar las titulaciones del candidato.'));
|
||||
$foundInvalidChild = true;
|
||||
}
|
||||
|
||||
if (!$foundInvalidChild) {
|
||||
$this->guardarFoto($model->id, $foto);
|
||||
Yii::app()->user->setFlash('success', Yii::t('intranet', 'Candidato modificado correctamente.'));
|
||||
$url=$this->createUrl('view', array('id' => $model->id));
|
||||
$this->redirect($url);
|
||||
}
|
||||
} else {
|
||||
Yii::app()->user->setFlash('error', Yii::t('intranet', 'Se ha producido un error al guardar el candidato.'));
|
||||
}
|
||||
}*/
|
||||
}
|
||||
|
||||
$this->render('update',array(
|
||||
'model'=>$model,
|
||||
@ -268,7 +205,7 @@ class CandidatoController extends Controller
|
||||
// we only allow deletion via POST request
|
||||
$this->loadModel($id)->delete();
|
||||
$this->borrarFoto($id);
|
||||
|
||||
Yii::app()->user->setFlash('success', "Candidato eliminardo correctamente.");
|
||||
// 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('index'));
|
||||
@ -389,6 +326,24 @@ class CandidatoController extends Controller
|
||||
}*/
|
||||
$value = implode('<br/>', $lista);
|
||||
return ($value == NULL) ? CHtml::tag("span", array("class"=>"nodata"), Yii::t('intranet', 'Sin capacidades')) : $value;
|
||||
}
|
||||
}
|
||||
|
||||
public function darListaTitulaciones($model)
|
||||
{
|
||||
$lista = array();
|
||||
foreach ($model->titulaciones as $titulacion) {
|
||||
$lista[] = $titulacion->titulacion;
|
||||
}
|
||||
return $lista;
|
||||
}
|
||||
|
||||
public function darListaIdiomas($model)
|
||||
{
|
||||
$lista = array();
|
||||
foreach ($model->idiomas as $idioma) {
|
||||
$lista[] = $idioma->idioma;
|
||||
}
|
||||
return $lista;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ -66,6 +66,15 @@ class Candidato extends CActiveRecord
|
||||
$this->_nombreCompleto = $value;
|
||||
}
|
||||
|
||||
public function getRangoSalarial() {
|
||||
return Yii::app()->numberFormatter->formatCurrency($this->salario_minimo,'EUR') . ' - ' .
|
||||
Yii::app()->numberFormatter->formatCurrency($this->salario_maximo,'EUR');
|
||||
}
|
||||
|
||||
public function getTieneVehiculoPropio() {
|
||||
return Yii::app()->format->boolean($this->vehiculo_propio);
|
||||
}
|
||||
|
||||
/**
|
||||
* Devuelve la lista de géneros de un candidato.
|
||||
* @return array lista de géneros permitidos
|
||||
@ -144,7 +153,8 @@ class Candidato extends CActiveRecord
|
||||
disponibilidad_proyectos_internacionales',
|
||||
'length', 'max'=>255),
|
||||
|
||||
array('fecha_nacimiento', 'safe'),
|
||||
array('fecha_nacimiento, observaciones', 'safe'),
|
||||
array('estado', 'unsafe'),
|
||||
// The following rule is used by search().
|
||||
// Please remove those attributes that should not be searched.
|
||||
array('id, estado, dni, nombre, apellidos, email, telefono_fijo,
|
||||
|
||||
@ -86,7 +86,7 @@ class CandidatoIdioma extends CActiveRecord
|
||||
'candidato_id' => 'Id Candidato',
|
||||
'idioma' => 'Idioma',
|
||||
'conversacion' => 'Conversación',
|
||||
'lectura_traduccion' => 'Lectura/traduccion',
|
||||
'lectura_traduccion' => 'Lectura/traducción',
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@ -9,7 +9,7 @@
|
||||
* @property string $titulacion
|
||||
*
|
||||
* The followings are the available model relations:
|
||||
* @property Candidatos $candidato
|
||||
* @property Candidato $candidato
|
||||
*/
|
||||
class CandidatoTitulacion extends CActiveRecord
|
||||
{
|
||||
@ -39,12 +39,10 @@ class CandidatoTitulacion extends CActiveRecord
|
||||
// NOTE: you should only define rules for those attributes that
|
||||
// will receive user inputs.
|
||||
return array(
|
||||
array('candidato_id, titulacion', 'required'),
|
||||
array('candidato_id', 'numerical', 'integerOnly'=>true),
|
||||
array('titulacion', 'length', 'max'=>255),
|
||||
// The following rule is used by search().
|
||||
// Please remove those attributes that should not be searched.
|
||||
array('id, candidato_id, titulacion', 'safe', 'on'=>'search'),
|
||||
array('titulacion', 'safe', 'on'=>'search'),
|
||||
);
|
||||
}
|
||||
|
||||
@ -56,7 +54,7 @@ class CandidatoTitulacion extends CActiveRecord
|
||||
// NOTE: you may need to adjust the relation name and the related
|
||||
// class name for the relations automatically generated below.
|
||||
return array(
|
||||
'candidato' => array(self::BELONGS_TO, 'Candidatos', 'candidato_id'),
|
||||
'candidato' => array(self::BELONGS_TO, 'Candidato', 'candidato_id'),
|
||||
);
|
||||
}
|
||||
|
||||
@ -67,7 +65,7 @@ class CandidatoTitulacion extends CActiveRecord
|
||||
{
|
||||
return array(
|
||||
'id' => 'ID',
|
||||
'candidato_id' => 'Candidato',
|
||||
'candidato_id' => 'ID Candidato',
|
||||
'titulacion' => 'Titulación',
|
||||
);
|
||||
}
|
||||
|
||||
@ -1,10 +1,29 @@
|
||||
<?php
|
||||
Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl . '/js/custom/elements.js');
|
||||
Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl . '/js/plugins/wysiwyg/jquery.wysiwyg.js');
|
||||
Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl . 'js/plugins/wysiwyg/wysiwyg.image.js');
|
||||
Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl . 'js/plugins/wysiwyg/wysiwyg.link.js');
|
||||
Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl . 'js/plugins/wysiwyg/wysiwyg.table.js');
|
||||
|
||||
$script=<<<HTML
|
||||
jQuery(document).ready(function() {
|
||||
jQuery('#wysiwyg').wysiwyg({
|
||||
initialContent: "",
|
||||
controls: {
|
||||
cut: { visible: true },
|
||||
copy: { visible: true },
|
||||
paste: { visible: true }
|
||||
}
|
||||
});
|
||||
});
|
||||
HTML;
|
||||
|
||||
Yii::app()->clientScript->registerScript('wysiwyg', $script, CClientScript::POS_END);
|
||||
?>
|
||||
|
||||
<?php $form=$this->beginWidget('CActiveForm', array(
|
||||
'id'=>'candidato-form',
|
||||
'enableAjaxValidation'=>true,
|
||||
//'enableAjaxValidation'=>true,
|
||||
'htmlOptions'=>array('enctype' => 'multipart/form-data'),
|
||||
)); ?>
|
||||
|
||||
@ -176,14 +195,13 @@ Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl . '/js/custom/e
|
||||
<div class="widgetbox two_third last form_default">
|
||||
<h3>
|
||||
<span>
|
||||
<legend><?php echo Yii::t('intranet', 'Datos académicos'); ?></legend>
|
||||
<legend><?php echo Yii::t('intranet', 'Observaciones'); ?></legend>
|
||||
</span>
|
||||
</h3>
|
||||
<?php /*$this->renderPartial('_capacidades', array(
|
||||
'model'=>$model,
|
||||
'capacidad'=>$capacidad,
|
||||
'capacidadesValidas'=>$capacidadesValidas,
|
||||
));*/ ?>
|
||||
<div class="content nopadding">
|
||||
<?php echo $form->textArea($model, 'observaciones', array('id'=>'wysiwyg', 'class'=>'ff')); ?>
|
||||
<?php echo $form->error($model,'observaciones', array('class'=>'errortext')); ?>
|
||||
</div>
|
||||
</div>
|
||||
<br clear="all" />
|
||||
<div class="form_default">
|
||||
|
||||
@ -1,66 +1,94 @@
|
||||
<div class="view">
|
||||
<?php
|
||||
//Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl . '/js/custom/elements.js');
|
||||
?>
|
||||
|
||||
<b><?php echo CHtml::encode($data->getAttributeLabel('id')); ?>:</b>
|
||||
<?php echo CHtml::link(CHtml::encode($data->id), array('view', 'id'=>$data->id)); ?>
|
||||
<br />
|
||||
<div class="resumen">
|
||||
<div class="one_half">
|
||||
<div class="one_half alignright">
|
||||
<?php
|
||||
echo CHtml::image($data->foto, $data->nombre,
|
||||
array("title" => $data->nombre, "width"=>"120", "height"=>"120")
|
||||
); ?>
|
||||
</div>
|
||||
<div class="one_half last">
|
||||
<h2><?php echo CHtml::encode($data->nombreCompleto); ?></h2>
|
||||
<?php echo CHtml::link(CHtml::encode($data->estado), "#", array("class" => $data->cssClassEstado)); ?><br/>
|
||||
<strong><?php echo CHtml::encode($data->getAttributeLabel('sexo')); ?>:</strong> <?php echo CHtml::encode($data->sexo); ?><br/>
|
||||
<strong><?php echo CHtml::encode($data->getAttributeLabel('fecha_nacimiento')); ?>:</strong> <?php echo CHtml::encode($data->fecha_nacimiento); ?><br/>
|
||||
<strong><?php echo CHtml::encode($data->getAttributeLabel('lugar_nacimiento')); ?>:</strong> <?php echo CHtml::encode($data->lugar_nacimiento); ?><br/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="one_half last">
|
||||
<div class="one_third alignright">
|
||||
<strong><?php echo CHtml::encode($data->getAttributeLabel('dni')); ?>:</strong><br/>
|
||||
<strong><?php echo CHtml::encode($data->getAttributeLabel('localidad')); ?>:</strong><br/>
|
||||
<strong><?php echo CHtml::encode($data->getAttributeLabel('email')); ?>:</strong><br/>
|
||||
<strong><?php echo CHtml::encode($data->getAttributeLabel('telefono_fijo')); ?>:</strong><br/>
|
||||
<strong><?php echo CHtml::encode($data->getAttributeLabel('telefono_movil')); ?>:</strong><br/>
|
||||
|
||||
<b><?php echo CHtml::encode($data->getAttributeLabel('foto')); ?>:</b>
|
||||
<?php echo CHtml::encode($data->foto); ?>
|
||||
<br />
|
||||
|
||||
<b><?php echo CHtml::encode($data->getAttributeLabel('dni')); ?>:</b>
|
||||
<?php echo CHtml::encode($data->dni); ?>
|
||||
<br />
|
||||
|
||||
<b><?php echo CHtml::encode($data->getAttributeLabel('nombre')); ?>:</b>
|
||||
<?php echo CHtml::encode($data->nombre); ?>
|
||||
<br />
|
||||
|
||||
<b><?php echo CHtml::encode($data->getAttributeLabel('apellidos')); ?>:</b>
|
||||
<?php echo CHtml::encode($data->apellidos); ?>
|
||||
<br />
|
||||
|
||||
<b><?php echo CHtml::encode($data->getAttributeLabel('email')); ?>:</b>
|
||||
<?php echo CHtml::encode($data->email); ?>
|
||||
<br />
|
||||
|
||||
<b><?php echo CHtml::encode($data->getAttributeLabel('telefono_fijo')); ?>:</b>
|
||||
<?php echo CHtml::encode($data->telefono_fijo); ?>
|
||||
<br />
|
||||
|
||||
<?php /*
|
||||
<b><?php echo CHtml::encode($data->getAttributeLabel('telefono_movil')); ?>:</b>
|
||||
<?php echo CHtml::encode($data->telefono_movil); ?>
|
||||
<br />
|
||||
|
||||
<b><?php echo CHtml::encode($data->getAttributeLabel('sexo')); ?>:</b>
|
||||
<?php echo CHtml::encode($data->sexo); ?>
|
||||
<br />
|
||||
|
||||
<b><?php echo CHtml::encode($data->getAttributeLabel('fecha_nacimiento')); ?>:</b>
|
||||
<?php echo CHtml::encode($data->fecha_nacimiento); ?>
|
||||
<br />
|
||||
|
||||
<b><?php echo CHtml::encode($data->getAttributeLabel('lugar_nacimiento')); ?>:</b>
|
||||
<?php echo CHtml::encode($data->lugar_nacimiento); ?>
|
||||
<br />
|
||||
|
||||
<b><?php echo CHtml::encode($data->getAttributeLabel('fecha_alta')); ?>:</b>
|
||||
<?php echo CHtml::encode($data->fecha_alta); ?>
|
||||
<br />
|
||||
|
||||
<b><?php echo CHtml::encode($data->getAttributeLabel('usuario_alta')); ?>:</b>
|
||||
<?php echo CHtml::encode($data->usuario_alta); ?>
|
||||
<br />
|
||||
|
||||
<b><?php echo CHtml::encode($data->getAttributeLabel('fecha_modificacion')); ?>:</b>
|
||||
<?php echo CHtml::encode($data->fecha_modificacion); ?>
|
||||
<br />
|
||||
|
||||
<b><?php echo CHtml::encode($data->getAttributeLabel('usuario_modificacion')); ?>:</b>
|
||||
<?php echo CHtml::encode($data->usuario_modificacion); ?>
|
||||
<br />
|
||||
|
||||
*/ ?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="two_third last">
|
||||
<?php echo CHtml::encode($data->dni); ?><br/>
|
||||
<?php echo CHtml::encode($data->localidad); ?><br/>
|
||||
<?php echo CHtml::mailto($data->email); ?><br/>
|
||||
<?php echo CHtml::encode($data->telefono_fijo); ?><br/>
|
||||
<?php echo CHtml::encode($data->telefono_movil); ?><br/>
|
||||
</div>
|
||||
</div>
|
||||
<br clear="all"/>
|
||||
<br clear="all"/>
|
||||
|
||||
<div class="one_half ">
|
||||
<div class="one_half alignright">
|
||||
<h3 class="title">Disponibilidad</h3>
|
||||
<strong><?php echo Yii::t('intranet', 'Incorporación'); ?>:</strong><br/>
|
||||
<strong><?php echo Yii::t('intranet', 'Entrevistas'); ?>:</strong><br/>
|
||||
<strong><?php echo Yii::t('intranet', 'Para guardias'); ?>:</strong><br/>
|
||||
<strong><?php echo Yii::t('intranet', 'Para viajar'); ?>:</strong><br/>
|
||||
<strong><?php echo Yii::t('intranet', 'Proyectos internacionales'); ?>:</strong><br/>
|
||||
</div>
|
||||
<div class="one_half last">
|
||||
<br/>
|
||||
<?php echo CHtml::encode($data->disponibilidad_incorporacion); ?><br/>
|
||||
<?php echo CHtml::encode($data->disponibilidad_entrevistas); ?><br/>
|
||||
<?php echo CHtml::encode($data->disponibilidad_guardias); ?><br/>
|
||||
<?php echo CHtml::encode($data->disponibilidad_viajar); ?><br/>
|
||||
<?php echo CHtml::encode($data->disponibilidad_proyectos_internacionales); ?><br/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="one_half last">
|
||||
<div class="one_third alignright">
|
||||
<strong><?php echo CHtml::encode($data->getAttributeLabel('carnet_conducir')); ?>:</strong><br/>
|
||||
<strong><?php echo CHtml::encode($data->getAttributeLabel('vehiculo_propio')); ?>:</strong><br/>
|
||||
<strong><?php echo Yii::t('intranet', 'Rango salarial'); ?>:</strong><br/>
|
||||
<strong><?php echo CHtml::encode($data->getAttributeLabel('telefono_movil')); ?>:</strong><br/>
|
||||
<strong><?php echo CHtml::encode($data->getAttributeLabel('idiomas')); ?>:</strong><br/>
|
||||
<strong><?php echo CHtml::encode($data->getAttributeLabel('titulacciones')); ?>:</strong><br/>
|
||||
|
||||
</div>
|
||||
<div class="two_third last">
|
||||
<?php echo CHtml::encode($data->carnet_conducir); ?><br/>
|
||||
<?php echo CHtml::encode($data->tieneVehiculoPropio); ?><br/>
|
||||
<?php echo CHtml::encode($data->rangoSalarial); ?><br/>
|
||||
<?php echo CHtml::encode($data->telefono_movil); ?><br/>
|
||||
<?php echo implode(', <br/>', ($this->darListaIdiomas($data))); ?>
|
||||
<?php echo implode(', <br/>', ($this->darListaTitulaciones($data))); ?>
|
||||
</div>
|
||||
</div>
|
||||
<br clear="all"/>
|
||||
<br clear="all"/>
|
||||
<div class="one_half ">
|
||||
<div class="one_half alignright">
|
||||
<strong><?php echo CHtml::encode($data->getAttributeLabel('observaciones')); ?>:</strong>
|
||||
</div>
|
||||
<div class="one_half last">
|
||||
<?php echo CHtml::encode($data->observaciones); ?>
|
||||
</div>
|
||||
</div>
|
||||
<div class="one_half last">
|
||||
<div class="one_half alignright">
|
||||
</div>
|
||||
<div class="one_half last">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<?php
|
||||
$this->breadcrumbs=array(
|
||||
'Candidatos'=>array('index'),
|
||||
'Nuevo candidato',
|
||||
Yii::t('intranet', 'Candidatos') => array('candidato/index'),
|
||||
Yii::t('intranet', 'Nuevo candidato') => array('candidato/index'),
|
||||
);
|
||||
$this->menu=array(
|
||||
array(
|
||||
@ -10,7 +10,7 @@ $this->menu=array(
|
||||
'linkOptions'=>array('class'=>'iconlink'),
|
||||
),
|
||||
);
|
||||
$this->pageTitle='Nuevo candidato';
|
||||
$this->pageTitle=Yii::t('intranet', 'Nuevo candidato');
|
||||
?>
|
||||
|
||||
<?php echo $this->renderPartial('_form', array(
|
||||
|
||||
@ -4,6 +4,7 @@ $this->breadcrumbs=array(
|
||||
);
|
||||
|
||||
$this->menu=array(
|
||||
'principal' => array(
|
||||
array(
|
||||
'label'=>'<img class="mgright5" alt="Nuevo candidato" src="' . Yii::app()->baseUrl . '/images/icons/small/white/user.png"/>Nuevo candidato',
|
||||
'url'=>array('create'),
|
||||
@ -14,6 +15,7 @@ $this->menu=array(
|
||||
'url'=>array('#'),
|
||||
'linkOptions'=>array('class'=>'iconlink search-button'),
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
$this->pageTitle=Yii::t('intranet', 'Gestión de candidatos');
|
||||
@ -31,7 +33,6 @@ $('.search-form form').submit(function(){
|
||||
});
|
||||
");
|
||||
|
||||
|
||||
?>
|
||||
|
||||
<div class="search-form" style="display:none">
|
||||
@ -74,7 +75,7 @@ $('.search-form form').submit(function(){
|
||||
array(
|
||||
'type' => 'html',
|
||||
'name' => 'nombreCompleto',
|
||||
'value' => 'CHtml::link(CHtml::encode($data->nombreCompleto), array("update", "id"=>$data->id));',
|
||||
'value' => 'CHtml::link(CHtml::encode($data->nombreCompleto), array("view", "id"=>$data->id));',
|
||||
'headerHtmlOptions'=>array(
|
||||
'class' => 'head0 sorting',
|
||||
),
|
||||
@ -83,7 +84,7 @@ $('.search-form form').submit(function(){
|
||||
array(
|
||||
'type' => 'html',
|
||||
'name' => 'capacidad_tecnica_search',
|
||||
'value'=>array($this, 'gridDataColumnCapacidadTecnica'),
|
||||
'value'=> array($this, 'gridDataColumnCapacidadTecnica'),
|
||||
'header' => 'Capacidad técnica',
|
||||
'filter' => CHtml::listData(PerfilTecnico::model()->findAll(), 'id', 'descripcion'),
|
||||
'cssClassExpression' => '"con0"',
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<?php
|
||||
$this->breadcrumbs=array(
|
||||
'Candidatos'=>array('index'),
|
||||
Yii::t('intranet', 'Candidatos') => array('candidato/index'),
|
||||
$model->nombre . ' ' . $model->apellidos=>array('view','id'=>$model->id),
|
||||
Yii::t('intranet', 'Modificación'),
|
||||
);
|
||||
@ -22,4 +22,5 @@ $this->pageTitle=Yii::t('intranet', 'Modificar candidato') . ' "' . $model->nomb
|
||||
'idiomasValidos'=>$idiomasValidos,
|
||||
'titulacionesValidas'=>$titulacionesValidas,
|
||||
));
|
||||
?>
|
||||
?>
|
||||
|
||||
|
||||
@ -1,37 +1,13 @@
|
||||
<?php
|
||||
$this->breadcrumbs=array(
|
||||
'Candidatos'=>array('index'),
|
||||
$model->id,
|
||||
$model->nombre . ' ' . $model->apellidos=>array('view','id'=>$model->id),
|
||||
);
|
||||
|
||||
$this->menu=array(
|
||||
array('label'=>'List Candidato', 'url'=>array('index')),
|
||||
array('label'=>'Create Candidato', 'url'=>array('create')),
|
||||
array('label'=>'Update Candidato', 'url'=>array('update', 'id'=>$model->id)),
|
||||
array('label'=>'Delete Candidato', 'url'=>'#', 'linkOptions'=>array('submit'=>array('delete','id'=>$model->id),'confirm'=>'Are you sure you want to delete this item?')),
|
||||
array('label'=>'Manage Candidato', 'url'=>array('admin')),
|
||||
);
|
||||
$this->pageTitle=Yii::t('intranet', 'Candidato') . ' "' . $model->nombre . ' ' . $model->apellidos . '"';
|
||||
?>
|
||||
|
||||
<h1>View Candidato #<?php echo $model->id; ?></h1>
|
||||
|
||||
<?php $this->widget('zii.widgets.CDetailView', array(
|
||||
'data'=>$model,
|
||||
'attributes'=>array(
|
||||
'id',
|
||||
'foto',
|
||||
'dni',
|
||||
'nombre',
|
||||
'apellidos',
|
||||
'email',
|
||||
'telefono_fijo',
|
||||
'telefono_movil',
|
||||
'sexo',
|
||||
'fecha_nacimiento',
|
||||
'lugar_nacimiento',
|
||||
'fecha_alta',
|
||||
'usuario_alta',
|
||||
'fecha_modificacion',
|
||||
'usuario_modificacion',
|
||||
),
|
||||
)); ?>
|
||||
<?php echo $this->renderPartial('_view', array(
|
||||
'data'=>$model,
|
||||
));
|
||||
?>
|
||||
|
||||
@ -23,7 +23,7 @@ Yii::app()->clientScript->registerScript('wysiwyg', $script, CClientScript::POS_
|
||||
|
||||
<?php $form=$this->beginWidget('CActiveForm', array(
|
||||
'id'=>'candidato-capacidad-form',
|
||||
'enableAjaxValidation'=>true,
|
||||
//'enableAjaxValidation'=>true,
|
||||
'clientOptions'=>array('validateOnSubmit'=>true, 'validateOnChange'=>true),
|
||||
)); ?>
|
||||
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
<?php
|
||||
$this->breadcrumbs=array(
|
||||
'Capacidades profesionales'=>array('index'),
|
||||
Yii::t('intranet', 'Candidatos') => array('candidato/index'),
|
||||
$candidato->nombre . ' ' . $candidato->apellidos => array('candidato/view','id'=>$candidato->id),
|
||||
Yii::t('intranet', 'Capacidades profesionales') => array('candidatoCapacidad/index'),
|
||||
Yii::t('intranet', 'Nueva capacidad profesional'),
|
||||
);
|
||||
|
||||
|
||||
@ -1,17 +1,75 @@
|
||||
<?php
|
||||
$this->breadcrumbs=array(
|
||||
'Candidato Capacidads',
|
||||
Yii::t('intranet', 'Candidatos') => array('candidato/index'),
|
||||
$candidato->nombre . ' ' . $candidato->apellidos => array('candidato/view','id'=>$candidato->id),
|
||||
Yii::t('intranet', 'Capacidades profesionales'),
|
||||
);
|
||||
|
||||
$this->menu=array(
|
||||
array('label'=>'Create CandidatoCapacidad', 'url'=>array('create')),
|
||||
array('label'=>'Manage CandidatoCapacidad', 'url'=>array('admin')),
|
||||
);
|
||||
$this->pageTitle=Yii::t('intranet', 'Gestión de capacidades profesionales');
|
||||
$candidatoId = $this->actionParams['cid'];
|
||||
?>
|
||||
|
||||
<h1>Candidato Capacidads</h1>
|
||||
<?php
|
||||
echo CHtml::link(
|
||||
Yii::t('intranet', 'Nueva capacidad'),
|
||||
$this->createUrl('candidatoCapacidad/create', array('cid'=>$candidatoId))
|
||||
);
|
||||
?>
|
||||
|
||||
<?php $this->widget('zii.widgets.CListView', array(
|
||||
'dataProvider'=>$dataProvider,
|
||||
'itemView'=>'_view',
|
||||
)); ?>
|
||||
<div class="widgetbox">
|
||||
<div class="content nopadding ohidden">
|
||||
<?php
|
||||
$columns = array(
|
||||
array(
|
||||
'header'=>Yii::t('intranet', 'Acciones'),
|
||||
'class'=>'CButtonColumn',
|
||||
'headerHtmlOptions'=>array(
|
||||
'style' => 'width:55px;',
|
||||
'class' => 'head1',
|
||||
),
|
||||
'template'=>'{update}{delete}',
|
||||
'cssClassExpression' => '"con0"',
|
||||
),
|
||||
array(
|
||||
'type' => 'html',
|
||||
'name' => 'perfilTecnico.descripcion',
|
||||
'value' => 'CHtml::link(CHtml::encode($data->perfilTecnico->descripcion), array("update", "id"=>$data->id));',
|
||||
'headerHtmlOptions'=>array(
|
||||
'class' => 'head0 sorting',
|
||||
),
|
||||
'cssClassExpression' => '"con1"',
|
||||
),
|
||||
array(
|
||||
'type' => 'html',
|
||||
'name' => 'meses_perfil_tecnico',
|
||||
//'value'=> array($this, 'gridDataColumnCapacidadTecnica'),
|
||||
//'header' => 'Capacidad técnica',
|
||||
//'filter' => CHtml::listData(PerfilTecnico::model()->findAll(), 'id', 'descripcion'),
|
||||
'headerHtmlOptions'=>array(
|
||||
'class' => 'head1 sorting',
|
||||
),
|
||||
'cssClassExpression' => '"con0"',
|
||||
'htmlOptions'=>array(
|
||||
'align' => 'right',
|
||||
'width' => '50px',
|
||||
)
|
||||
),
|
||||
);
|
||||
|
||||
$pageSize = Yii::app()->user->getState('pageSize', Yii::app()->params['defaultPageSize']);
|
||||
$dataProvider->getPagination()->setPageSize($pageSize);
|
||||
|
||||
$this->widget('application.extensions.SelGridView', array(
|
||||
'id'=>'capacidades-grid',
|
||||
'dataProvider'=>$dataProvider,
|
||||
'columns'=>$columns,
|
||||
'cssFile' => Yii::app()->baseUrl . '/css/gridview3.css',
|
||||
'itemsCssClass' => 'sTable3',
|
||||
'pagerCssClass' => 'dataTables_paginate',
|
||||
'template' => '{items}{pager}',
|
||||
'emptyText' => Yii::t('intranet', 'Este candidato no tiene capacidades'),
|
||||
'selectableRows' => 1,
|
||||
));
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -1,8 +1,9 @@
|
||||
<?php
|
||||
$this->breadcrumbs=array(
|
||||
'Capacidades profesionales'=>array('index'),
|
||||
$model->id=>array('view','id'=>$model->id),
|
||||
Yii::t('intranet', 'Modificación'),
|
||||
Yii::t('intranet', 'Candidatos') => array('candidato/index'),
|
||||
$candidato->nombre . ' ' . $candidato->apellidos => array('candidato/view','id'=>$candidato->id),
|
||||
Yii::t('intranet', 'Capacidades profesionales') => array('candidatoCapacidad/index'),
|
||||
$model->perfilTecnico->descripcion,
|
||||
);
|
||||
|
||||
$this->pageTitle=Yii::t('intranet', 'Modificar capacidad profesional');
|
||||
|
||||
85
www/protected/views/layouts/candidato.php
Normal file
85
www/protected/views/layouts/candidato.php
Normal file
@ -0,0 +1,85 @@
|
||||
<?php $this->beginContent('//layouts/default'); ?>
|
||||
|
||||
<?php
|
||||
|
||||
$candidatoId = (isset($this->actionParams['cid'])) ? $this->actionParams['cid'] : $this->actionParams['id'];
|
||||
|
||||
$editImg = CHtml::image(
|
||||
Yii::app()->baseUrl . '/images/icons/small/white/edit.png',
|
||||
Yii::t('intranet', 'Modificar'),
|
||||
array('class' => 'mgright5'));
|
||||
|
||||
$deleteImg = CHtml::image(
|
||||
Yii::app()->baseUrl . '/images/icons/small/white/close.png',
|
||||
Yii::t('intranet', 'Eliminar'),
|
||||
array('class' => 'mgright5'));
|
||||
|
||||
$botonesPrincipales = array(
|
||||
array(
|
||||
'label' => $editImg . Yii::t('intranet', 'Modificar'),
|
||||
'url' => $this->createUrl('candidato/update', array('id'=>$candidatoId)),
|
||||
'linkOptions' => array('class'=>'iconlink'),
|
||||
),
|
||||
array(
|
||||
'label' => $deleteImg . Yii::t('intranet', 'Eliminar'),
|
||||
'url' => '#',
|
||||
'linkOptions' => array(
|
||||
'class' => 'iconlink',
|
||||
'submit' => $this->createUrl('candidato/delete', array('id'=>$candidatoId)),
|
||||
'confirm' => Yii::t('intranet', '¿Desea eliminar este candidato?')
|
||||
),
|
||||
),
|
||||
);
|
||||
|
||||
$pestañas = array(
|
||||
array(
|
||||
'label' => Yii::t('intranet', 'Resumen'),
|
||||
'url' => $this->createUrl('candidato/view',array('id' => $candidatoId)),
|
||||
'linkOptions' => array('class'=>'candidatos'),
|
||||
'active' => ($this->getId() == 'candidato'),
|
||||
),
|
||||
array(
|
||||
'label' => Yii::t('intranet', 'Capacidades profesionales'),
|
||||
'url' => $this->createUrl('candidatoCapacidad/index', array('cid'=>$candidatoId)),
|
||||
'active' => ($this->getId() == 'candidatoCapacidad'),
|
||||
),
|
||||
array(
|
||||
'label' => Yii::t('intranet', 'Currículums'),
|
||||
'url' => array('/usuario'),
|
||||
'linkOptions' => array('class'=>'curriculum'),
|
||||
'active' => ($this->getId() == 'curriculum')
|
||||
),
|
||||
array(
|
||||
'label' => Yii::t('intranet', 'Historial'),
|
||||
'url' => array('/site/index'),
|
||||
'active' => ($this->getId() == 'solicitud'),
|
||||
),
|
||||
);
|
||||
|
||||
$this->menu=array(
|
||||
'principal' => $botonesPrincipales,
|
||||
'pestañas' => $pestañas,
|
||||
);
|
||||
|
||||
?>
|
||||
<div class="clear"></div>
|
||||
|
||||
<div class="two_third last">
|
||||
<div id="tabs" class="tabs">
|
||||
<?php if (isset($this->menu['pestañas'])) : ?>
|
||||
<?php $this->widget('zii.widgets.CMenu',array(
|
||||
'htmlOptions'=>array(
|
||||
'class' => 'tabs-nav',
|
||||
),
|
||||
'activeCssClass'=>'current',
|
||||
'linkLabelWrapper' => 'span',
|
||||
'items' => $this->menu['pestañas'],
|
||||
));
|
||||
?>
|
||||
<?php endif ?>
|
||||
<div class="tabs-panel">
|
||||
<?php echo $content; ?>
|
||||
</div>
|
||||
</div>
|
||||
</div><!-- two_third last -->
|
||||
<?php $this->endContent(); ?>
|
||||
@ -72,7 +72,7 @@
|
||||
),
|
||||
array(
|
||||
'label'=>Yii::t('intranet', 'Candidatos'),
|
||||
'url'=>array('/candidato'),
|
||||
'url'=>array('/candidato/index'),
|
||||
'linkOptions'=>array('class'=>'candidatos'),
|
||||
'active' => ($this->getId() == 'candidato'),
|
||||
),
|
||||
@ -90,7 +90,7 @@
|
||||
),
|
||||
array(
|
||||
'label'=>Yii::t('intranet', 'Sistema'),
|
||||
'url'=>array('/usuario'),
|
||||
'url'=>array('/usuario/index'),
|
||||
'linkOptions'=>array('class'=>'sistema'),
|
||||
'active' => ($this->getId() == 'usuario')
|
||||
),
|
||||
@ -129,9 +129,9 @@
|
||||
<?php endif; ?>
|
||||
|
||||
<?php $flashMessages = Yii::app()->user->getFlashes(); ?>
|
||||
<?php if ($flashMessages): ?>
|
||||
<?php if (count($flashMessages) > 0) : ?>
|
||||
<div class="two_third last">
|
||||
<?php
|
||||
<?php
|
||||
foreach($flashMessages as $key => $message) {
|
||||
switch($key) {
|
||||
case 'error': $class = 'msgerror'; break;
|
||||
@ -155,7 +155,7 @@
|
||||
<div class="operations">
|
||||
<?php
|
||||
$this->widget('zii.widgets.CMenu', array(
|
||||
'items'=>$this->menu,
|
||||
'items'=> (isset($this->menu['principal'])) ? $this->menu['principal'] : $this->menu,
|
||||
'encodeLabel' => false,
|
||||
));
|
||||
?>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user