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
@ -55,6 +55,9 @@ class CandidatoCapacidadController extends Controller
|
||||
{
|
||||
$model=new CandidatoCapacidad;
|
||||
$model->candidato_id = $cid;
|
||||
|
||||
$tecnologia = new CandidatoCapacidadTecnologia();
|
||||
$tecnologiasValidas = array();
|
||||
|
||||
$candidato = Candidato::model()->findByPk($cid);
|
||||
|
||||
@ -73,6 +76,8 @@ class CandidatoCapacidadController extends Controller
|
||||
$this->render('create',array(
|
||||
'model'=>$model,
|
||||
'candidato'=>$candidato,
|
||||
'tecnologia'=>$tecnologia,
|
||||
'tecnologiasValidas'=>$tecnologiasValidas,
|
||||
));
|
||||
}
|
||||
|
||||
@ -83,24 +88,53 @@ class CandidatoCapacidadController extends Controller
|
||||
*/
|
||||
public function actionUpdate($id)
|
||||
{
|
||||
Yii::import('ext.multimodelform.MultiModelForm');
|
||||
|
||||
$model=$this->loadModel($id);
|
||||
$candidato = Candidato::model()->findByPk($model->candidato_id);
|
||||
|
||||
$tecnologia = new CandidatoCapacidadTecnologia();
|
||||
$tecnologiasValidas = array();
|
||||
|
||||
// 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 actualizada correctamente.'));
|
||||
$this->redirect(array('index', 'cid'=>$candidato->id));
|
||||
|
||||
$foundInvalidChild = false;
|
||||
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(
|
||||
'model'=>$model,
|
||||
'candidato'=>$candidato,
|
||||
'tecnologia'=>$tecnologia,
|
||||
'tecnologiasValidas'=>$tecnologiasValidas,
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
@ -41,11 +41,13 @@ class CandidatoCapacidadTecnologia extends CActiveRecord
|
||||
// NOTE: you should only define rules for those attributes that
|
||||
// will receive user inputs.
|
||||
return array(
|
||||
array('capacidad_id, tecnologia_id', 'required'),
|
||||
array('capacidad_id, tecnologia_id, meses_tecnologia', 'numerical', 'integerOnly'=>true),
|
||||
// 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'),
|
||||
array('tecnologia_id', 'required'),
|
||||
array('capacidad_id, tecnologia_id, meses_tecnologia', 'numerical', 'integerOnly'=>true),
|
||||
//array('id, capacidad_id, tecnologia_id, meses_tecnologia', 'safe'),
|
||||
|
||||
// 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(
|
||||
'model'=>$model,
|
||||
'idioma'=>$idioma,
|
||||
'titulacion'=>$titulacion,
|
||||
'idiomasValidos'=>$idiomasValidos,
|
||||
'titulacionesValidas'=>$titulacionesValidas,
|
||||
'model'=>$model,
|
||||
'idioma'=>$idioma,
|
||||
'titulacion'=>$titulacion,
|
||||
'idiomasValidos'=>$idiomasValidos,
|
||||
'titulacionesValidas'=>$titulacionesValidas,
|
||||
));
|
||||
?>
|
||||
@ -42,7 +42,7 @@ Yii::app()->clientScript->registerScript('wysiwyg', $script, CClientScript::POS_
|
||||
<div class="widgetbox two_third last form_default">
|
||||
<h3>
|
||||
<span>
|
||||
<legend>Datos de contacto</legend>
|
||||
<legend>Capacidad profesional</legend>
|
||||
</span>
|
||||
</h3>
|
||||
<div class="content nopadding">
|
||||
@ -87,7 +87,15 @@ Yii::app()->clientScript->registerScript('wysiwyg', $script, CClientScript::POS_
|
||||
<?php echo $form->error($model,'meses_perfil_tecnico', array('class'=>'errortext')); ?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="content nopadding ohidden">
|
||||
<?php $this->renderPartial('_tecnologias', array(
|
||||
'model'=>$model,
|
||||
'tecnologia'=>$tecnologia,
|
||||
'tecnologiasValidas'=>$tecnologiasValidas,
|
||||
)); ?>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<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(
|
||||
'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(
|
||||
'model'=>$model,
|
||||
'model'=>$model,
|
||||
'tecnologia'=>$tecnologia,
|
||||
'tecnologiasValidas'=>$tecnologiasValidas,
|
||||
));
|
||||
?>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user