Se añaden las tecnologías a las capacidades profesionales de un candidato.
git-svn-id: https://192.168.0.254/svn/Proyectos.Incam_IntranetNueva/trunk@38 77cfc57b-8ef4-1849-9df6-4a38aa5da120
This commit is contained in:
parent
d796d04dda
commit
f079e779c2
@ -56,6 +56,9 @@ class CandidatoCapacidadController extends Controller
|
|||||||
$model=new CandidatoCapacidad;
|
$model=new CandidatoCapacidad;
|
||||||
$model->candidato_id = $cid;
|
$model->candidato_id = $cid;
|
||||||
|
|
||||||
|
$tecnologia = new CandidatoCapacidadTecnologia();
|
||||||
|
$tecnologiasValidas = array();
|
||||||
|
|
||||||
$candidato = Candidato::model()->findByPk($cid);
|
$candidato = Candidato::model()->findByPk($cid);
|
||||||
|
|
||||||
// Uncomment the following line if AJAX validation is needed
|
// Uncomment the following line if AJAX validation is needed
|
||||||
@ -73,6 +76,8 @@ class CandidatoCapacidadController extends Controller
|
|||||||
$this->render('create',array(
|
$this->render('create',array(
|
||||||
'model'=>$model,
|
'model'=>$model,
|
||||||
'candidato'=>$candidato,
|
'candidato'=>$candidato,
|
||||||
|
'tecnologia'=>$tecnologia,
|
||||||
|
'tecnologiasValidas'=>$tecnologiasValidas,
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -83,24 +88,53 @@ class CandidatoCapacidadController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function actionUpdate($id)
|
public function actionUpdate($id)
|
||||||
{
|
{
|
||||||
|
Yii::import('ext.multimodelform.MultiModelForm');
|
||||||
|
|
||||||
$model=$this->loadModel($id);
|
$model=$this->loadModel($id);
|
||||||
$candidato = Candidato::model()->findByPk($model->candidato_id);
|
$candidato = Candidato::model()->findByPk($model->candidato_id);
|
||||||
|
|
||||||
|
$tecnologia = new CandidatoCapacidadTecnologia();
|
||||||
|
$tecnologiasValidas = array();
|
||||||
|
|
||||||
// Uncomment the following line if AJAX validation is needed
|
// Uncomment the following line if AJAX validation is needed
|
||||||
// $this->performAjaxValidation($model);
|
// $this->performAjaxValidation($model);
|
||||||
|
|
||||||
if(isset($_POST['CandidatoCapacidad']))
|
if(isset($_POST['CandidatoCapacidad']))
|
||||||
{
|
{
|
||||||
$model->attributes=$_POST['CandidatoCapacidad'];
|
$model->attributes=$_POST['CandidatoCapacidad'];
|
||||||
if($model->save()) {
|
|
||||||
Yii::app()->user->setFlash('success', Yii::t('intranet', 'Capacidad actualizada correctamente.'));
|
$foundInvalidChild = false;
|
||||||
$this->redirect(array('index', 'cid'=>$candidato->id));
|
if ($model->validate()) {
|
||||||
|
if (!MultiModelForm::validate($tecnologia, $tecnologiasValidas, $tecnologiasBorradas)) {
|
||||||
|
Yii::app()->user->setFlash('error', Yii::t('intranet', 'Alguna tecnología no es válida.'));
|
||||||
|
$foundInvalidChild = true;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Yii::app()->user->setFlash('error', Yii::t('intranet', 'Algún dato de la capacidad profesional no es válida.'));
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$foundInvalidChild && $model->save() ) {
|
||||||
|
$masterValues = array ('capacidad_id'=>$model->id);
|
||||||
|
|
||||||
|
if (!MultiModelForm::save($tecnologia, $tecnologiasValidas, $tecnologiasBorradas, $masterValues)) {
|
||||||
|
Yii::app()->user->setFlash('error', Yii::t('intranet', 'Se ha producido un error al guardar los datos de las tecnologías.'));
|
||||||
|
$foundInvalidChild = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$foundInvalidChild) {
|
||||||
|
Yii::app()->user->setFlash('success', Yii::t('intranet', 'Capacidad actualizada correctamente.'));
|
||||||
|
$this->redirect(array('index', 'cid'=>$candidato->id));
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
//Yii::app()->user->setFlash('error', Yii::t('intranet', 'Se ha producido un error al guardar la capacidad.'));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->render('update',array(
|
$this->render('update',array(
|
||||||
'model'=>$model,
|
'model'=>$model,
|
||||||
'candidato'=>$candidato,
|
'candidato'=>$candidato,
|
||||||
|
'tecnologia'=>$tecnologia,
|
||||||
|
'tecnologiasValidas'=>$tecnologiasValidas,
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -41,11 +41,13 @@ class CandidatoCapacidadTecnologia extends CActiveRecord
|
|||||||
// NOTE: you should only define rules for those attributes that
|
// NOTE: you should only define rules for those attributes that
|
||||||
// will receive user inputs.
|
// will receive user inputs.
|
||||||
return array(
|
return array(
|
||||||
array('capacidad_id, tecnologia_id', 'required'),
|
array('tecnologia_id', 'required'),
|
||||||
array('capacidad_id, tecnologia_id, meses_tecnologia', 'numerical', 'integerOnly'=>true),
|
array('capacidad_id, tecnologia_id, meses_tecnologia', 'numerical', 'integerOnly'=>true),
|
||||||
// The following rule is used by search().
|
//array('id, capacidad_id, tecnologia_id, meses_tecnologia', 'safe'),
|
||||||
// Please remove those attributes that should not be searched.
|
|
||||||
array('id, capacidad_id, tecnologia_id, meses_tecnologia', 'safe', 'on'=>'search'),
|
// The following rule is used by search().
|
||||||
|
// Please remove those attributes that should not be searched.
|
||||||
|
array('id, capacidad_id, tecnologia_id, meses_tecnologia', 'safe', 'on'=>'search'),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -14,10 +14,10 @@ $this->pageTitle=Yii::t('intranet', 'Nuevo candidato');
|
|||||||
?>
|
?>
|
||||||
|
|
||||||
<?php echo $this->renderPartial('_form', array(
|
<?php echo $this->renderPartial('_form', array(
|
||||||
'model'=>$model,
|
'model'=>$model,
|
||||||
'idioma'=>$idioma,
|
'idioma'=>$idioma,
|
||||||
'titulacion'=>$titulacion,
|
'titulacion'=>$titulacion,
|
||||||
'idiomasValidos'=>$idiomasValidos,
|
'idiomasValidos'=>$idiomasValidos,
|
||||||
'titulacionesValidas'=>$titulacionesValidas,
|
'titulacionesValidas'=>$titulacionesValidas,
|
||||||
));
|
));
|
||||||
?>
|
?>
|
||||||
@ -42,7 +42,7 @@ Yii::app()->clientScript->registerScript('wysiwyg', $script, CClientScript::POS_
|
|||||||
<div class="widgetbox two_third last form_default">
|
<div class="widgetbox two_third last form_default">
|
||||||
<h3>
|
<h3>
|
||||||
<span>
|
<span>
|
||||||
<legend>Datos de contacto</legend>
|
<legend>Capacidad profesional</legend>
|
||||||
</span>
|
</span>
|
||||||
</h3>
|
</h3>
|
||||||
<div class="content nopadding">
|
<div class="content nopadding">
|
||||||
@ -88,6 +88,14 @@ Yii::app()->clientScript->registerScript('wysiwyg', $script, CClientScript::POS_
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="content nopadding ohidden">
|
||||||
|
<?php $this->renderPartial('_tecnologias', array(
|
||||||
|
'model'=>$model,
|
||||||
|
'tecnologia'=>$tecnologia,
|
||||||
|
'tecnologiasValidas'=>$tecnologiasValidas,
|
||||||
|
)); ?>
|
||||||
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<br clear="all" />
|
<br clear="all" />
|
||||||
|
|
||||||
|
|||||||
63
www/protected/views/candidatoCapacidad/_tecnologias.php
Normal file
63
www/protected/views/candidatoCapacidad/_tecnologias.php
Normal file
@ -0,0 +1,63 @@
|
|||||||
|
<?php
|
||||||
|
Yii::app()->clientScript->registerScriptFile(Yii::app()->baseUrl . '/js/plugins/jquery-ui-1.8.16.custom.min.js');
|
||||||
|
?>
|
||||||
|
|
||||||
|
<?php
|
||||||
|
$tecnologiaFormConfig = array(
|
||||||
|
'elements'=>array(
|
||||||
|
'tecnologia_id'=>array(
|
||||||
|
'type'=>'dropdownlist',
|
||||||
|
'layout'=>'{input}',
|
||||||
|
'class'=>'ff',
|
||||||
|
'items'=>array(0 => '-') + CHtml::listData(Tecnologia::model()->findAll(), 'id', 'descripcion'),
|
||||||
|
),
|
||||||
|
'meses_tecnologia'=>array(
|
||||||
|
'class'=>'sf',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
);
|
||||||
|
?>
|
||||||
|
|
||||||
|
<div class="padding1020 borderbottom">
|
||||||
|
<label><?php echo Yii::t('intranet', 'Tecnologías'); ?></label>
|
||||||
|
|
||||||
|
<div class="marginleft150">
|
||||||
|
<?php $this->widget('ext.multimodelform.MultiModelForm',array(
|
||||||
|
'id' => 'id_tecnologia', //the unique widget id
|
||||||
|
'addItemText' => '', // no quiero mostrar el enlace de añadir
|
||||||
|
'removeText' => 'Eliminar',
|
||||||
|
'removeConfirm' => '¿Desea eliminar esta tecnología?',
|
||||||
|
'tableHtmlOptions' => array(
|
||||||
|
'class' => 'sTable2',
|
||||||
|
'width' => '99%',
|
||||||
|
),
|
||||||
|
'tableView' => true,
|
||||||
|
'formConfig' => $tecnologiaFormConfig, //the form configuration array
|
||||||
|
'model' => $tecnologia, //instance of the form model
|
||||||
|
|
||||||
|
//if submitted not empty from the controller,
|
||||||
|
//the form will be rendered with validation errors
|
||||||
|
'validatedItems' => $tecnologiasValidas,
|
||||||
|
|
||||||
|
//array of member instances loaded from db
|
||||||
|
'data' => $tecnologia->findAll('capacidad_id=:capacidad_id', array(':capacidad_id'=>$model->id)),
|
||||||
|
|
||||||
|
'removeHtmlOptions' => array(
|
||||||
|
'class' => 'button plain',
|
||||||
|
),
|
||||||
|
));
|
||||||
|
?>
|
||||||
|
<br clear="all" />
|
||||||
|
<div class="mmf_addlink">
|
||||||
|
<?php
|
||||||
|
echo CHtml::link('Añadir tecnología', '#', array(
|
||||||
|
'class' => 'button plain',
|
||||||
|
'rel' => '.id_tecnologia_copy',
|
||||||
|
'id' => 'id_tecnologia',
|
||||||
|
));
|
||||||
|
|
||||||
|
?>
|
||||||
|
</div>
|
||||||
|
<br clear="all" />
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
@ -10,6 +10,8 @@ $this->pageTitle=Yii::t('intranet', 'Nueva capacidad profesional');
|
|||||||
?>
|
?>
|
||||||
|
|
||||||
<?php echo $this->renderPartial('_form', array(
|
<?php echo $this->renderPartial('_form', array(
|
||||||
'model'=>$model,
|
'model'=>$model,
|
||||||
|
'tecnologia'=>$tecnologia,
|
||||||
|
'tecnologiasValidas'=>$tecnologiasValidas,
|
||||||
));
|
));
|
||||||
?>
|
?>
|
||||||
@ -10,6 +10,8 @@ $this->pageTitle=Yii::t('intranet', 'Modificar capacidad profesional');
|
|||||||
?>
|
?>
|
||||||
|
|
||||||
<?php echo $this->renderPartial('_form', array(
|
<?php echo $this->renderPartial('_form', array(
|
||||||
'model'=>$model,
|
'model'=>$model,
|
||||||
|
'tecnologia'=>$tecnologia,
|
||||||
|
'tecnologiasValidas'=>$tecnologiasValidas,
|
||||||
));
|
));
|
||||||
?>
|
?>
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user