<?php
$Permissoes = User::getUser(true);
if(!$Permissoes){
    User::blockAction("Você não tem permissão para acessar esta tela");
}
class VersoesController extends GxController {

    var $help = 'Esta é a ajuda';

    public function actionView($id) {
        $this->render('view', array(
            'model' => $this->loadModel($id, 'Versoes'),
        ));
    }

    public function actionCreate() {
        $model = new Versoes;


        if (isset($_POST['Versoes'])) {
            $model->setAttributes($_POST['Versoes']);

            if ($model->save()) {
                if (isset($_POST['Versoes']['VER_IDPROJETO']) && is_array($_POST['Versoes']['VER_IDPROJETO'])) {
                    foreach ($_POST['Versoes']['VER_IDPROJETO'] as $VRP_IDPROJETO) {
                        $VersoesProjetos = new VersoesProjetos;
                        $VersoesProjetos->VRP_IDVERSAO = $model->VER_IDVERSAO;
                        $VersoesProjetos->VRP_IDPROJETO = $VRP_IDPROJETO;
                        $VersoesProjetos->save();
                    }
                }
                if (Yii::app()->getRequest()->getIsAjaxRequest())
                    Yii::app()->end();
                else
                    $this->redirect(array('view', 'id' => $model->VER_IDVERSAO));
            }
        }

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

    public function actionUpdate($id) {
        $model = $this->loadModel($id, 'Versoes');


        if (isset($_POST['Versoes'])) {
            $model->setAttributes($_POST['Versoes']);

            if ($model->save()) {
                VersoesProjetos::model()->deleteAll('VRP_IDVERSAO = ' . $model->VER_IDVERSAO);
                if (isset($_POST['Versoes']['VER_IDPROJETO']) && is_array($_POST['Versoes']['VER_IDPROJETO'])) {
                    foreach ($_POST['Versoes']['VER_IDPROJETO'] as $VRP_IDPROJETO) {
                        $VersoesProjetos = new VersoesProjetos;
                        $VersoesProjetos->VRP_IDVERSAO = $model->VER_IDVERSAO;
                        $VersoesProjetos->VRP_IDPROJETO = $VRP_IDPROJETO;
                        $VersoesProjetos->save();
                    }
                }
                $this->redirect(array('view', 'id' => $model->VER_IDVERSAO));
            }
        }

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

    public function actionDelete($id) {
        if (Yii::app()->getRequest()->getIsPostRequest()) {
            $this->loadModel($id, 'Versoes')->delete();

            if (!Yii::app()->getRequest()->getIsAjaxRequest())
                $this->redirect(array('admin'));
        } else
            throw new CHttpException(400, 'Sua solicitação é inválida.');
    }

    public function actionIndex() {
        $dataProvider = new CActiveDataProvider('Versoes');
        $this->render('index', array(
            'dataProvider' => $dataProvider,
        ));
    }

    public function actionAdmin() {
        $model = new Versoes('search');
        $model->unsetAttributes();

        if (isset($_GET['Versoes']))
            $model->setAttributes($_GET['Versoes']);

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

    public function actionDynamicVersoes() {
        if (Yii::app()->getRequest()->getIsPostRequest() || !isset($_POST['SOL_IDPROJETO'])) {
            if (!Yii::app()->getRequest()->getIsAjaxRequest())
                User::blockAction("Você não tem permissão para acessar esta tela");

            $id_projeto = $_POST['SOL_IDPROJETO'];
            $data = Versoes::model()->getVersoesLiberadasByProjeto($id_projeto);
            $resultados = array();
            foreach ($data as $value => $versao) {
                $data_versao = DateTime::createFromFormat('d/m/Y', $versao->VER_DTLIBERACAO);
                $data_atual = DateTime::createFromFormat('d/m/Y', date('d/m/Y'));
                if(($data_versao <= $data_atual && $versao->VER_DTLIBERACAO != NULL)||$versao->VER_IDVERSAO == 419) {
                    $resultados[] = array(
                        'val' => $value,
                        'text' => $versao->VER_DESCRICAO,
                    );
                }
            }
            if(empty($resultados))
                echo '[{"val":1,"text":"Sem Versão"}]';
            else
                echo CJSON::encode($resultados);
        } else
            throw new CHttpException(400, 'Sua solicitação é inválida.');
            
    }

}