<?php Yii::app()->clientScript->registerScript('search', "
    $('.search-button').click(function(){
        $('.search-form').toggle();
        return false;
    });
    $('.search-form form').submit(function(){
        $.fn.yiiGridView.update('credito-grid', {
            data: $(this).serialize()
        });
        return false;
    });
"); ?>

<h3 style="text-align: center">Administrador de solicitudes de pr&eacute;stamo</h3>
<?php $this->widget('bootstrap.widgets.TbAlert', [
    'block' => true,
    'fade' => true,
    'closeText' => '×',
    'alerts' => [
        'success' => ['block' => true, 'fade' => true, 'closeText' => '×'],
        'error' => ['block' => true, 'fade' => true, 'closeText' => '×'],
        'info' => ['block' => true, 'fade' => true, 'closeText' => '×'],
    ],
]); ?>

<?php
foreach (Yii::app()->user->getFlashes() as $key => $message) {
    echo '<div class="success flash-'.$key.'">'.$message."</div>\n";
}

if (Yii::app()->user->checkAccess('reportes_credito_admin')) {
    $this->widget('bootstrap.widgets.TbButtonGroup', [
        'type' => 'action',
        'buttons' => [
            [
                'label' => 'Reportes',
                'type' => 'danger',
                'icon' => 'icon-file icon-white',
                'items' => [
                    [
                        'label' => 'Reporte General',
                        'icon' => 'icon-print',
                        'target' => '_blank',
                        'url' => ['credito/reporte'],
                    ],
                ],
            ],
        ],
    ]);
}
?>

<?php echo '<br><br>'.CHtml::link('Busqueda Avanzada', '#', ['class' => 'search-button btn']); ?>
<div class="search-form" style="display:none">
    <?php $this->renderPartial('_search', [
        'model' => $model,
    ]); ?>
</div>
<div id="mensaje"></div>
<?php
$this->widget('bootstrap.widgets.TbGridView', [
    'id' => 'credito-grid',
    'dataProvider' => $model->search(),
    'filter' => $model,
    'columns' => [
        [
            'name' => 'cedula',
            'value' => '$data->idAsociado->cedula',
            'type' => 'text',
        ],
        [
            'header' => 'Nombres y apellidos',
            'name' => 'nombre',
            'value' => '(isset($data->idAsociado->nombre))?$data->idAsociado->nombre." ".$data->idAsociado->apellidos:""',
            'type' => 'text', ],
        [
            'name' => 'unidad',
            'filter' => CHtml::listData(Unidad::model()->findAll(['order' => 'descripcion', 'condition' => 'blnborrado=false']), 'idunidad', 'descripcion'),
            'value' => '$data->idAsociado->unidad->descripcion',
            'type' => 'text', ],
        [
            'name' => 'id_tipo_cobro',
            'value' => '(isset($data->idTipoCobro))?$data->idTipoCobro->descripcion:""',
            'htmlOptions' => ['style' => 'text-align: center', 'width' => '80px'],
            'filter' => CHtml::listData(TipoCobro::model()->findAll(), 'id', 'descripcion'),
        ],
        [
            'name' => 'id_tipo_credito',
            'value' => '(isset($data->idTipoCredito))?$data->idTipoCredito->descripcion:""',
            'htmlOptions' => ['style' => 'text-align: center', 'width' => '80px'],
            'filter' => CHtml::listData(TipoCredito::model()->findAll(['condition' => 'blnborrado=false']), 'id', 'descripcion'),
        ],
        [
            'name' => 'refinanciado',
            'value' => '($data->refinanciado==0)?"Ordinario":(($data->refinanciado==1)?"Refinanciado":"Reestructuración")',
            'htmlOptions' => ['style' => 'text-align: center', 'width' => '80px'],
            'filter' => [0 => 'Ordinario', 1 => 'Refinanciado', 2 => 'Reestructuración'],
        ],
        [
            'name' => 'monto_credito',
            'value' => "number_format(\$data->monto_credito, 2,',','.')",
        ],
        [
            'name' => 'monto_credito_depositar',
            'value' => "number_format(\$data->monto_credito_depositar, 2,',','.')",
        ],
        [
            'name' => 'fecha_solicita',
            'value' => '(!empty($data->fecha_solicita))?date("d-m-Y",strtotime($data->fecha_solicita)):""',
            'class' => 'SYDateColumn',
        ],
        [
            'name' => 'fecha_estatus',
            'value' => '(!empty($data->fecha_estatus))?date("d-m-Y",strtotime($data->fecha_estatus)):""',
            'class' => 'SYDateColumn',
        ],
        [
            'name' => 'id_estatus',
            'value' => '$data->nombre_estatus',
            'filter' => CHtml::listData(EstatusCredito::model()->findAll('blnborrado= false'), 'id', 'nombre_estatus'),
        ],
        [
            'class' => 'bootstrap.widgets.TbButtonColumn',
            'template' => '{view} {aprobar} {denegar} {pagado} {imprimir} {cambio_fecha} {reestructuracion_credito} {reversar_pago}',
            'header' => 'Acciones',
            'htmlOptions' => [
                'style' => 'width: 100px;',
            ],
            'buttons' => [
                'update' => [
                    'visible' => "Yii::app()->user->checkAccess('action_credito_update')",
                ],
                'aprobar' => [
                    'label' => 'Aprobar',
                    'url' => "CHtml::normalizeUrl(array('aprobar', 'id'=>\$data->id))",
                    'imageUrl' => Yii::app()->request->baseUrl.'/images/aprobar.png',
                    'visible' => "Yii::app()->user->checkAccess('action_credito_aprobar') && \$data->idTipoCredito->bloquea_pago==0 && (\$data->id_estatus==1||\$data->id_estatus==6 || \$data->id_estatus==8)",
                    'options' => ['class' => 'aprobar'],
                ],
                'denegar' => [
                    'label' => 'Denegar Préstamo',
                    'visible' => 'Yii::app()->user->checkAccess("action_credito_denegar") && ($data->id_estatus==2) && !$data->estaPrestamoNominaPago()',
                    'icon' => 'icon-remove',
                    'url' => "CHtml::normalizeUrl(array('denegar', 'id'=>\$data->id))",
                ],
                'pagado' => [
                    'label' => 'Pagado',
                    'url' => "CHtml::normalizeUrl(array('pagar', 'id'=>\$data->id))",
                    'imageUrl' => Yii::app()->request->baseUrl.'/images/pagado.png',
                    'visible' => 'Yii::app()->user->checkAccess(\'action_credito_pagar_form\') && ($data->id_estatus==2 )',
                    'options' => ['class' => 'pagado'],
                ],
                'cambio_fecha' => [
                    'label' => 'Cambiar fecha de inicio del prestamo',
                    'url' => '$data->id',
                    'icon' => 'icon-calendar',
                    'visible' => 'Yii::app()->user->checkAccess(\'action_credito_BuscarCredito\') && ($data->id_estatus==2 || $data->id_estatus==4)',
                    'click' => 'js:function() { mostrarFormCambiosFecha($(this).attr("href"));return false; }',
                ],
                'reestructuracion_credito' => [
                    'label' => 'Reestructuración del préstamo',
                    'icon' => 'icon-random',
                    'visible' => 'Yii::app()->user->checkAccess(\'action_credito_ReestructuracionCredito\') && ($data->id_estatus==4)',
                    'url' => "CHtml::normalizeUrl(array('ReestructuracionCredito', 'id'=>\$data->id))",
                ],
                'imprimir' => [
                    'label' => 'Imprimir Planilla',
                    'icon' => 'icon-print',
                    'url' => "CHtml::normalizeUrl(array('Credito/ComprobanteSolcitudPrestamo', 'id'=>\$data->id))",
                    'options' => ['class' => 'imprimir', 'confirm' => '¿Desea imprimir la planilla?'],
                ],
                'reversar_pago' => [
                    'label' => 'Reversar pago del prestamo',
                    'icon' => 'icon-share-alt icon-flipped',
                        'url' => function ($model) {
                            return CHtml::normalizeUrl(['reversarPago', 'id' => $model->id]);
                        },
                    'visible' => function ($index, $model) {
                        return Yii::app()->user->checkAccess('action_credito_reversarPago')
                            && $model->id_estatus == 4 
                            && ! $model->hasLiquidacion();
                    },
                ],
            ],
        ],
    ],
]);
?>
<div id="modal-cambio-fecha-descuento-prestamo" class="modal fade bs-example-modal-lg" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel"
    style="width: 93%;display: block;margin-left:-46%;">
    <div class="modal-dialog modal-lg" role="document">
        <div class="modal-header">
            <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
            <h4 id="myModalLabel">Cambio de fecha de inicio al pr&eacute;stamo.</h4>
        </div>
        <div class="modal-body">
            <div id="mostrar-error"></div>
            <div id="resultado"></div>
        </div>
        <div class="modal-footer">
            <button class="btn btn-success" id="btn-cambiar-fecha" onclick="guardarCambioFecha()" style="display: none">Guardar</button>
            <button class="btn" data-dismiss="modal" aria-hidden="true">Cerrar</button>
        </div>
    </div>
</div>

<?php Yii::app()->clientScript->registerScript('admin-creditos', '

        let idcredito = 0;

        function mostrarFormCambiosFecha(id){
                $.ajax({
                    url:"'.CController::createUrl('/prestamo/Credito/BuscarCredito').'",
                    cache: false,
                    type: "POST",
                    dataType: "json",
                    data: ({id:id}),
                    beforeSend: function(xkr){

                        idcredito = 0;

                        $("#resultado").html("");

                        $("#mostrar-error").html("");

                        $("#mensaje").html("");

                        $("#btn-cambiar-fecha").hide("slow");

                    },
                    success: function(data){

                        $("#resultado").html(data.vista);

                        $("#modal-cambio-fecha-descuento-prestamo").modal({backdrop: "static", keyboard: false});

                        if(data.encontrado == 1){

                            idcredito =  id;

                            $("#btn-cambiar-fecha").show("fast");

                            $("#modal-footer").show("fast");
                        }
                    }
                });

        }

     function guardarCambioFecha(){

            data = $("#resultado :input").serialize()+ \'&Credito[id]=\' + idcredito;

            $.ajax({
                    url:"'.CController::createUrl('/prestamo/Credito/GuardarNuevaFechaDescuento').'",
                    cache: false,

                    type: "POST",

                    dataType: "json",

                    data:data,

                    beforeSend: function(xkr){

                        $("#modal-cambio-fecha-descuento-prestamo .modal-footer").hide("slow");

                         $("#mostrar-error").html("");

                    },
                    success:function(data){
                        try{

                            $("#modal-cambio-fecha-descuento-prestamo .modal-footer").show("slow");

                            if(data.guardado==1){

                                $("#modal-cambio-fecha-descuento-prestamo").modal(\'hide\');

                                $.fn.yiiGridView.update("credito-grid");

                                $("#mensaje").html("<div class=\"alert in alert-block fade alert-success\">El registro han sido actualizado exitosamente</div>");

                            }
                            else if(data.error==1){


                                if( data.encontrado ==1 ){

                                   $("#mostrar-error").html(data.error_dato);

                                }

                            }
                        }
                        catch(err){

                            $("#modal-cambio-fecha-descuento-prestamo .modal-footer").show("slow");

                            $("#mostrar-error").html("<div class=\"alert in alert-block fade alert-error\">Lo sentimos, ha ocurrido un error</div>");

                        }
                    },
                    error: function(data) {

                        $("#modal-cambio-fecha-descuento-prestamo .modal-footer").show("slow");

                        $("#mostrar-error").html("<div class=\"alert in alert-block fade alert-error\">Lo sentimos, ha ocurrido un error</div>");

                    },
                });

        }
    ', CClientScript::POS_HEAD);
