<?php

class EmpleoController extends Controller
{
	
	public $layout='//layouts/column2';

	
	public function filters()
	{
		return array(
			'accessControl', // perform access control for CRUD operations
			'postOnly + delete', // we only allow deletion via POST request
		);
	}

	
	
		public function accessRules()
	{
		return array(
			array('allow',  
				'actions'=>array('index','create','update','delete'),
				'expression' => array('EmpleoController', 'validaracceso'),
			),
			array('deny',
				'users'=>array('*'),
			),
		);
	}

	public static function validaracceso() {
            if (!Yii::app()->user->isGuest) {
                   return true;
            } else {
                Yii::app()->user->setFlash('error', Yii::app()->params['sesion']);
                return false;
            }
        }

	

	public function actionCreate()
	{
		$model=new Empleo();
                $model->scenario = 'create'; 
                $this->pageTitle = 'AGREGAR EMPLEO';

                $this->performAjaxValidation($model);
                
		if(isset($_POST['Empleo']))
		{
			$model->attributes=$_POST['Empleo'];
			try
                        {
                          $agregar= Empleo::add();  
                          if ($agregar) {
                            Yii::app()->user->setFlash('success', '¡El empleo se ha guardado exitosamente!');
                            $this->redirect(array('index'));  
                            }  else {
                               Yii::app()->user->setFlash('info', 'Error al agregar el empleo.');
                            }
                        }catch(Exception $e)
                        {
                         Yii::app()->user->setFlash('danger', Yii::app()->params['error']); 
                        }
		}

		$this->render('create',array(
			'model'=>$model,
		));
	}

	
	public function actionUpdate($id)
	{
		$model=$this->loadModel($id);
                $model->scenario = 'update'; 
                $this->pageTitle = 'MODIFICAR EMPLEO';
                
                $this->performAjaxValidation($model);
                
		if(isset($_POST['Empleo']))
		{
			$model->attributes=$_POST['Empleo'];
                      try
                        {
                          $editar=Empleo::edit($id);  
                            Yii::app()->user->setFlash('success', 'El empleo fue actualizado con éxito.');   
                            $this->redirect(Yii::app()->request->baseUrl."/empleo");

                        }catch(Exception $e)
                        {
                         Yii::app()->user->setFlash('danger', Yii::app()->params['error']); 
                        }
		}

		$this->render('update',array(
			'model'=>$model,
		));
	}



	public function actionIndex()
	{
		$this->pageTitle = 'LISTA DE EMPLEOS';
		$model=new Empleo('search');
		$model->unsetAttributes(); 
                if (isset($_GET['pageSize'])){
                    Yii::app()->user->setState('pageSize', (int) $_GET['pageSize']);
                    unset($_GET['pageSize']);
                }
		if(isset($_GET['Empleo']))
			$model->attributes=$_GET['Empleo'];

		$this->render('index',array(
			'model'=>$model,
		));
	}
        
	public function actionDelete($id)
	{
                Empleo::borrar($id);
		if(!isset($_GET['ajax']))
			$this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('index'));
	}
        
	public function loadModel($id)
	{
		$model=Empleo::model()->findByPk($id);
		if($model===null)
			throw new CHttpException(404,'The requested page does not exist.');
		return $model;
	}
	protected function performAjaxValidation($model)
	{
		if(isset($_POST['ajax']) && $_POST['ajax']==='empleo-form')
		{
			echo CActiveForm::validate($model);
			Yii::app()->end();
		}
	}
}
