diff --git a/www/css/custom.css b/www/css/custom.css index 3ed3931..8d9020d 100644 --- a/www/css/custom.css +++ b/www/css/custom.css @@ -63,6 +63,12 @@ span.timestamp { color: #006699; } +.ui-dialog-content .form_default label { + float: none; + margin-left: 20px; + margin-right: 5px; +} + .disabled { color: #999; } @@ -74,5 +80,3 @@ span.timestamp { .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; } - - diff --git a/www/css/plugins/jquery-ui.css b/www/css/plugins/jquery-ui.css index 45b2c7b..21b4e70 100644 --- a/www/css/plugins/jquery-ui.css +++ b/www/css/plugins/jquery-ui.css @@ -83,9 +83,11 @@ .ui-dialog { background: url(../../images/blacktrans1.png); padding: 5px; } .ui-dialog { -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; position: relative; } .ui-dialog-titlebar { padding: 8px 10px; color: #fff; background: #eee url(../../images/thead.png) repeat-x top left; border-bottom: 1px solid #ccc; } -.ui-dialog-content { background: #fff; padding: 10px; } -.ui-dialog-titlebar { color: #069; font-weight: bold; } -.ui-dialog-titlebar-close { position: absolute; top: 12px; right: 15px; font-size: 11px; font-weight: normal; color: #666; } +.ui-dialog-content, .ui-dialog-buttonpane { background: #FCFCFC; padding: 10px; margin: 0px;} +.ui-dialog-content { padding-top: 20px;} +.ui-dialog-buttonpane { padding-top: 0px;} +.ui-dialog-titlebar { color: #069; font-size: 14px; font-weight: bold; line-height: 21px;} +.ui-dialog-titlebar-close { position: absolute; top: 15px; right: 15px; font-size: 11px; font-weight: normal; color: #666; } .ui-dialog-titlebar-close:hover { text-decoration: none; color: #333; } .ui-dialog .wysiwyg legend { position: absolute; top: 13px; left: 15px; font-size: 11px; text-transform: uppercase; } @@ -93,3 +95,29 @@ .ui-dialog .wysiwyg input.submit { background: url(../../images/buttonbg3.png) repeat-x top left; border: 1px solid #314a78; color: #fff; font-size: 11px; } .ui-dialog .wysiwyg input.reset { background: url(../../images/thead.png) repeat-x top left; border: 1px solid #bbb; color: #333; font-size: 11px; } .ui-dialog .wysiwyg label { float: left; width: 100px; } + +.ui-dialog .ui-dialog-buttonset { text-align: center; margin: 0em 0em 0em 0em; } + + +.ui-button { margin: 0 2px; padding: 5px 15px; font-size: 12px; display: inline-block; -moz-border-radius: 3px; -webkit-border-radius: 3px; border-radius: 3px; } + +.ui-button { -moz-box-shadow: 1px 1px 2px #eee; -webkit-box-shadow: 1px 1px 2px #eee; box-shadow: 1px 1px 2px #eee; cursor: pointer; } +.ui-button:hover, .ui-button:active { background-position: 0 -39px; } + +.ui-button.ok-button { border: 1px solid #39537f; background: #eee url(../../images/buttons/button_blue.png) repeat-x top left; text-shadow: 1px 1px #39537f; color: #fff; } +.ui-button.ok-button:active { -moz-box-shadow: inset 2px 2px 2px #12274c; -webkit-box-shadow: inset 2px 2px 2px #12274c; box-shadow: inset 2px 2px 2px #12274c; } + +.ui-button.cancel-button { border: 1px solid #ccc; background: #eee url(../../images/buttons/button_white.png) repeat-x top left; text-shadow: 1px 1px #f7f7f7; color: #333; } +.ui-button.cancel-button:active { -moz-box-shadow: inset 2px 2px 2px #ccc; -webkit-box-shadow: inset 2px 2px 2px #ccc; box-shadow: inset 2px 2px 2px #ccc; } + +.ui-icon { display: block; text-indent: -99999px; overflow: hidden; background-repeat: no-repeat; } + +.ui-dialog-titlebar-close { width: 16px; height: 16px; background: url(../../images/icons/small/black/close.png) no-repeat top left; +} + + +/* Misc visuals +----------------------------------*/ + +/* Overlays */ +.ui-widget-overlay { background-color: #000; opacity: 0.5; position: absolute; top: 0; left: 0; width: 100%; height: 100%; } diff --git a/www/protected/controllers/CandidatoController.php b/www/protected/controllers/CandidatoController.php index 91c39c4..0b31382 100644 --- a/www/protected/controllers/CandidatoController.php +++ b/www/protected/controllers/CandidatoController.php @@ -27,7 +27,7 @@ class CandidatoController extends Controller { return array( array('allow', - 'actions' => array('index','view','create','update','delete','admin'), + 'actions' => array('index','view','create','update','delete','admin', 'updateEstado'), 'users' => array('*'), ), ); @@ -113,14 +113,14 @@ class CandidatoController extends Controller Yii::app()->user->setFlash('error', Yii::t('intranet', 'Se ha producido un error al guardar el candidato.')); } } - + $this->render('create',array( 'model'=>$model, 'idioma'=>$idioma, 'titulacion'=>$titulacion, 'idiomasValidos'=>$idiomasValidos, 'titulacionesValidas'=>$titulacionesValidas, - )); + )); } /** @@ -141,7 +141,7 @@ class CandidatoController extends Controller // 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'); @@ -176,11 +176,34 @@ class CandidatoController extends Controller if (!$foundInvalidChild) { $this->guardarFoto($model->id, $foto); Yii::app()->user->setFlash('success', Yii::t('intranet', 'Candidato modificado correctamente.')); + + if( Yii::app()->request->isAjaxRequest ) { + // Stop jQuery from re-initialization + Yii::app()->clientScript->scriptMap['jquery.js'] = false; + echo CJSON::encode( array( + 'status' => 'success', + 'content' => Yii::t('intranet', 'Candidato modificado correctamente.'), + )); + exit; + } + $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.')); + + if( Yii::app()->request->isAjaxRequest ) { + // Stop jQuery from re-initialization + Yii::app()->clientScript->scriptMap['jquery.js'] = false; + echo CJSON::encode( array( + 'status' => 'failure', + 'content' => Yii::t('intranet', 'Se ha producido un error al guardar el candidato.'), + )); + exit; + } + } } @@ -192,6 +215,29 @@ class CandidatoController extends Controller 'titulacionesValidas'=>$titulacionesValidas, )); } + + public function actionUpdateEstado($id) { + + $model = $this->loadModel($id); + + // Uncomment the following line if AJAX validation is needed + $this->performAjaxValidation($model); + + if(isset($_GET['ajax'])) + var_dump($_GET['ajax']); + + if (isset($_POST['Candidato'])) { + $model->id_estado = $_POST['Candidato']['id_estado']; + + if ($model->save()) { + + } else { + + } + } else { + echo $this->renderPartial('_form_estado', array('model' => $model, false, true)); + } + } /** * Deletes a particular model. @@ -289,7 +335,7 @@ class CandidatoController extends Controller $foto->saveAs($path.$fichero); } } - + private function borrarFoto($id) { $path = Yii::app()->basePath.'/../fotos/'; $fichero = $id.'.jpg'; @@ -303,7 +349,7 @@ class CandidatoController extends Controller $url = Yii::app()->request->baseUrl.'/fotos/'; return file_exists($path.$fichero) ? $url.$fichero : $url.'no_avatar.png'; } - + /** * Calcula el valor para la columna 'Capacidad técnica' del grid * @param $data datos de la fila actual diff --git a/www/protected/views/candidato/_form.php b/www/protected/views/candidato/_form.php index a241a89..e9c9822 100644 --- a/www/protected/views/candidato/_form.php +++ b/www/protected/views/candidato/_form.php @@ -121,7 +121,7 @@ Yii::app()->clientScript->registerScript('wysiwyg', $script, CClientScript::POS_ ) )); ?> - error($model,'fecha_nacimiento', array('class'=>'errortext')); ?> + error($model,'fecha_nacimiento', array('class'=>'errortext')); ?> @@ -259,7 +259,7 @@ Yii::app()->clientScript->registerScript('wysiwyg', $script, CClientScript::POS_ labelEx($model,'estado'); ?>