<?php
$this->renderPartial('/solicitacoes/_cabecalho', array('model' => $model));
?>
<div class="form">

    <?php
    $form = $this->beginWidget('GxActiveForm', array(
        'htmlOptions'=>array('enctype' => 'multipart/form-data'),
        'id' => 'solicitacoes-atividades-form',
        'enableAjaxValidation' => false,
        ));

    $this->widget('application.extensions.EChosen.EChosen', array(
        'target' => '.echosen',
        'useJQuery' => true)
    );

    ?>

    <div class="frm_col col_1">
        <?php echo FaHtml::getFormInfo($form, $model); ?>

        <h2 class="header2">Complexidade</h2>
        <div class="row">
            <?php
                $required = $model->SOL_IDLOCAL == 3 ? true : false;
                echo $form->labelEx($model, 'SOL_NIVEL_COMPLEXIDADE', array('required' => $required));

                $niveisComplexidade = CHtml::listData(
                    Complexidades::model()->findAll("CPX_STATUS=1 ORDER BY CPX_DESCRICAO"),
                    'CPX_ID',
                    'CPX_DESCRICAO'
                );
                echo $form->dropDownList($model, 'SOL_NIVEL_COMPLEXIDADE', $niveisComplexidade, array(
                    'prompt' => 'Selecione'
                ));
            ?>
            <?php echo $form->error($model, 'SOL_NIVEL_COMPLEXIDADE'); ?>
        </div><!-- row -->

        <?php if ($nivelComplexidadeJaPreenchido) { ?>
            <div class="row">
                <?php
                    echo $form->labelEx($model, 'justificativa', array(
                        'label' => 'Justificativa da alteração',
                        'required' => true
                    ));
                ?>
                <?php
                    echo $form->textArea($model, 'justificativa');
                ?>
                <?php echo $form->error($model, 'justificativa'); ?>
            </div><!-- row -->
        <?php } ?>

        <h2 class="header2">Previsões</h2>
        <div class="row">
            <?php echo $form->labelEx($model, 'SOL_IDPREVISAOVERSAO'); ?>
            <?php
                $versoes = Versoes::model()->getVersoesComPrevisaoByProjeto($model->SOL_IDPROJETO);
                if (!empty($model->SOL_IDPREVISAOVERSAO) && !in_array($model->SOL_IDPREVISAOVERSAO, array_keys($versoes))) {
                    $outraVersao = Versoes::model()->findByPk($model->SOL_IDPREVISAOVERSAO);
                    $versoes += array($outraVersao->VER_IDVERSAO => $outraVersao->getVersaoComPrevisao());
                }
                echo $form->dropDownList($model, 'SOL_IDPREVISAOVERSAO', $versoes, array('prompt' => 'Selecione'));
            ?>
            <?php echo $form->error($model, 'SOL_IDPREVISAOVERSAO'); ?>
        </div><!-- row -->
        <div class="row">
            <?php echo $form->labelEx($model, 'SOL_IDANALISTA'); ?>
            <?php
                echo $form->dropDownList($model, 'SOL_IDANALISTA', GxHtml::listDataEx(Funcionarios::model()->findAnalistasAtivos()), array('prompt' => 'Selecione'));
            ?>
            <?php echo $form->error($model, 'SOL_IDANALISTA'); ?>
        </div><!-- row -->
        <div class="row">
            <?php echo $form->labelEx($model, 'SOL_IDDESENVOLVEDOR'); ?>
            <?php echo $form->dropDownList($model, 'SOL_IDDESENVOLVEDOR', GxHtml::listDataEx(Funcionarios::model()->findDesenvolvedoresAtivos()), array('prompt' => 'Selecione')); ?>
            <?php echo $form->error($model, 'SOL_IDDESENVOLVEDOR'); ?>
        </div><!-- row -->
        <div class="row">
            <?php echo $form->labelEx($model, 'SOL_IDTESTER'); ?>
            <?php
                echo $form->dropDownList($model, 'SOL_IDTESTER', GxHtml::listDataEx(Funcionarios::model()->findTestadoresAtivos()), array('prompt' => 'Selecione'));
            ?>
            <?php echo $form->error($model, 'SOL_IDANALISTA'); ?>
        </div><!-- row -->
        <div class="row previsao" id="previsao-analise">
            <h3>Previsões análise</h3>
            <div class="previsao-datas">
            <div class="previsao-data-ini">
                <?php echo $form->labelEx($model, 'SOL_INI_ANALISE', array('label' => 'Início')); ?>
                <?php
                    $form->widget('ext.Utils.widgets.CrmDatePicker', array(
                        'model' => $model,
                        'attribute' => 'SOL_INI_ANALISE'
                    ));
                ?>
            </div>
            <div class="previsao-data-fim">
                <?php echo $form->labelEx($model, 'SOL_FIM_ANALISE', array('label' => 'Fim')); ?>
                <?php
                    $form->widget('ext.Utils.widgets.CrmDatePicker', array(
                        'model' => $model,
                        'attribute' => 'SOL_FIM_ANALISE'
                    ));
                ?>
            </div>
            </div><!-- row -->
            <div class="previsao-horas">
                <?php echo $form->label($model, 'SOL_HORAS_ANALISE', array('label' => 'Horas de trabalho')); ?>
                <?php
                    echo $form->textField($model, 'SOL_HORAS_ANALISE', array(
                        'class' => 'hora_trabalhada',
                        'placeholder' => '00:00'
                    ));
                ?>
            </div>
            <div class="clear-fix"></div>
            <?php echo $form->error($model, 'SOL_INI_ANALISE'); ?>
            <?php echo $form->error($model, 'SOL_FIM_ANALISE'); ?>
            <?php echo $form->error($model, 'SOL_HORAS_ANALISE'); ?>
        </div>
        <div class="row previsao" id="previsao-desenvolvimento">
            <h3>Previsões desenvolvimento</h3>
            <div class="previsao-datas">
                <div class="previsao-data-ini">
                    <?php echo $form->labelEx($model, 'SOL_INI_DEV', array('label' => 'Início')); ?>
                    <?php
                        $form->widget('ext.Utils.widgets.CrmDatePicker', array(
                            'model' => $model,
                            'attribute' => 'SOL_INI_DEV'
                        ));
                    ?>
                </div>
                <div class="previsao-data-fim">
                    <?php echo $form->labelEx($model, 'SOL_FIM_DEV', array('label' => 'Fim')); ?>
                    <?php
                        $form->widget('ext.Utils.widgets.CrmDatePicker', array(
                            'model' => $model,
                            'attribute' => 'SOL_FIM_DEV'
                        ));
                    ?>
                </div>
            </div>
            <div class="previsao-horas">
                <?php echo $form->label($model, 'SOL_HORAS_DEV', array('label' => 'Horas de trabalho')); ?>
                <?php
                    echo $form->textField($model, 'SOL_HORAS_DEV', array(
                        'class' => 'hora_trabalhada',
                        'placeholder' => '00:00'
                    ));
                ?>
            </div>
            <div class="clear-fix"></div>
            <?php echo $form->error($model, 'SOL_INI_DEV'); ?>
            <?php echo $form->error($model, 'SOL_FIM_DEV'); ?>
            <?php echo $form->error($model, 'SOL_HORAS_DEV'); ?>
        </div>

        <div class="row previsao" id="previsao-pre-testes">
            <h3>Previsões pré testes</h3>
            <div class="previsao-datas">
            <div class="previsao-data-ini">
                <?php echo $form->labelEx($model, 'SOL_INI_TESTE', array('label' => 'Início')); ?>
                <?php
                    $form->widget('ext.Utils.widgets.CrmDatePicker', array(
                        'model' => $model,
                        'attribute' => 'SOL_INI_TESTE'
                    ));
                ?>
            </div>
            <div class="previsao-data-fim">
                <?php echo $form->labelEx($model, 'SOL_FIM_TESTE', array('label' => 'Fim')); ?>
                <?php
                    $form->widget('ext.Utils.widgets.CrmDatePicker', array(
                        'model' => $model,
                        'attribute' => 'SOL_FIM_TESTE'
                    ));
                ?>
            </div>
            </div><!-- row -->
            <div class="previsao-horas">
                <?php echo $form->label($model, 'SOL_HORAS_TESTE', array('label' => 'Horas de trabalho')); ?>
                <?php
                    echo $form->textField($model, 'SOL_HORAS_TESTE', array(
                        'class' => 'hora_trabalhada',
                        'placeholder' => '00:00'
                    ));
                ?>
            </div>
            <div class="clear-fix"></div>
            <?php echo $form->error($model, 'SOL_INI_TESTE'); ?>
            <?php echo $form->error($model, 'SOL_FIM_TESTE'); ?>
            <?php echo $form->error($model, 'SOL_HORAS_TESTE'); ?>
        </div>
    </div>
        <div class="frm_col col_2">
            <?php $this->renderPartial('/solicitacoes/_view', array('model' => $old, 'hide_horas' => true, 'hide_previsoes' => true)); ?>
        </div>
        <div class="clear"></div>
        <?php
        echo FaHtml::saveButton();

        $this->endWidget();
        ?>
    </div><!-- form -->
    <div id="div-atividades">
    <h1 class="novo-layout">Histórico de Atividades</h1>
    <?php
    $criteria = new CDbCriteria();
    $criteria->compare('SAT_IDSOLICITACAO', $model->SOL_IDPENDENCIA);

    $dataProvider = new CActiveDataProvider('SolicitacoesAtividades', array(
        'criteria' => $criteria,
        'sort' => array(
            'defaultOrder' => 'SAT_DATACADASTRO DESC, SAT_IDATIVIDADE DESC',
        ),
        'pagination'=>false,
    ));

    $this->widget('zii.widgets.CListView', array(
        'dataProvider' => $dataProvider,
        'itemView' => '../solicitacoesAtividades/_view'
    ));
    ?>
</div>

<?php
$cs = Yii::app()->getClientScript();

$css = <<<CSS
    .frm_col.col_1 {
        width: 30%!important;
    }
    .frm_col.col_1 input,
    .frm_col.col_1 select {
        max-width: 90%;
    }
    .frm_col.col_1 textarea {
        max-width: 86%;
    }
    .frm_col.col_1 .datepicker {
        width: 70px!important;
        width: 80%!important;
    }
    .frm_col.col_2 {
        width: 70%!important;
    }
    .frm_col.col_1 input.hora_trabalhada {
        width:  80px;
    }
    div.form .row {
        margin-bottom: 0;
    }
    h3 {
        line-height: 10px;
        margin-bottom:  0;
    }
    .previsao-datas,
    .previsao-datas .previsao-data-ini,
    .previsao-datas .previsao-data-fim,
    .previsao-horas {
        display: inline;
        float: left;
        width: 50%;
        -webkit-box-sizing: border-box;
      -moz-box-sizing: border-box;
      box-sizing: border-box;
    }
    .previsao-datas label {
        padding-left: 1px;
    }
    .previsao-horas {
        padding-left: 20px;
    }
    .header2 {
        font-size: 15px;
        line-height: 30px;
        margin: 10px 0 0 0;
        float: left;
    }
CSS;

$cs->registerCss(Util::uid(), $css);

$script = <<<JAVASCRIPT
    $(document).ready(function () {
        FormataHoraTrabalhada("Solicitacoes_SOL_HORAS_ANALISE", true);
        FormataHoraTrabalhada("Solicitacoes_SOL_HORAS_DEV", true);
        FormataHoraTrabalhada("Solicitacoes_SOL_HORAS_TESTE", true);

        $("#Solicitacoes_SOL_NIVEL_COMPLEXIDADE").change(function(event) {
            event.preventDefault();

            var nivelComplexidade = $(this).val();
            if ($(this).val() != "") {
                $.ajax({
                    url: createUrl('complexidades/horas'),
                    type: 'GET',
                    dataType: 'json',
                    data: {
                        id: nivelComplexidade
                    },
                })
                .done(function(result) {
                    var inputAnalise = $("#previsao-analise").find(".previsao-horas").find('input');
                    inputAnalise.val(result.previsaoAnalise);
                    inputAnalise.addClass('atualizado');

                    var inputDesenvolvimento = $("#previsao-desenvolvimento").find(".previsao-horas").find('input');
                    inputDesenvolvimento.val(result.previsaoDesenvolvimento);
                    inputDesenvolvimento.addClass('atualizado');

                    var inputPreTestes = $("#previsao-pre-testes").find(".previsao-horas").find('input');
                    inputPreTestes.val(result.previsaoPreTestes);
                    inputPreTestes.addClass('atualizado');
                })
                .fail(function() {
                    $(".previsao-horas").find('input').val('00:00');
                    alert('Ocorreu um erro ao carregar as previsões de horas, tente novamente.')
                });

            } else {
                $(".previsao-horas").find('input').val('00:00');
            }
        });
    });
JAVASCRIPT;

$cs->registerScript(Util::uid(), $script);