<?php

$Permissoes = User::getUser(true);

if ($Permissoes->FUN_TBL_RELATORIO_FINANCEIRO == 1 or $Permissoes->FUN_PRM_PRIVILEGIO == 10) {

    class TitulosController extends GxController {

        var $help = 'Esta é a ajuda';

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

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

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

                if ($model->save()) {
                    if (Yii::app()->getRequest()->getIsAjaxRequest())
                        Yii::app()->end();
                    else
                        $this->redirect(array('view', 'id' => $model->TIT_IDTITULO));
                }
            }

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

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


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

                if ($model->save()) {
                    $this->redirect(array('view', 'id' => $model->TIT_IDTITULO));
                }
            }

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

        public function actionDelete($id) {
            if (Yii::app()->getRequest()->getIsPostRequest()) {
                $this->loadModel($id, 'Titulos')->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('Titulos');
            $this->render('index', array('dataProvider' => $dataProvider));
        }

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

            if (isset($_GET['Titulos'])) {
                $model->setAttributes($_GET['Titulos']);
            }

            if(isset($_GET['exportar']) && $_GET['exportar'] == 1) {
                $this->actionGenerateExcel($model);
            }

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

        public function actionGenerateExcel($model = false) {

            if($model == false){
                $model = new Titulos('search');
                if (isset($_GET['Titulos'])) {
                    $model->setAttributes($_GET['Titulos']);
                }
            }
            $search = $model->search();
            $dataProvider = $model->search($search->totalItemCount);

            if ($dataProvider === false) {
                throw new CHttpException(400, 'Sua solicitação é inválida. Você não definiu nenhum critério de busca ou seus critérios expiraram por terem sido gerados há mais de 60 minutos');
            }
            $this->layout = false;
            $data = $dataProvider->getData();

            Yii::app()->request->sendFile(
                'relatorio-financeiro-'. date('Ymd-His') . '.xlsx',
                $this->renderPartial('excelReport', array(
                    'dataProvider' => $dataProvider,
                    'data' => $data
                ), true),
                'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', true
            );
        }

        public function actionImprimeBoleto($id) {
            $this->layout = 'NULL';
            $this->render('boleto', array('model' => $this->loadModel($id, 'Titulos')));
        }

    }

}