_feedback_company.php 2.52 KB
<?php
    /**
     * @var User $company
     * @var User $user
     * @var View $this
     */
    use common\models\FeedbackCompany;
    use common\models\User;
    use yii\helpers\Html;
    use yii\web\View;
    use yii\widgets\ActiveForm;

    $user = \Yii::$app->user->identity;
    $model = new FeedbackCompany([ 'user_id' => $company->id ]);
    if(!empty( $user )) {
        $model->name = $user->name;
        $phones = $user->getPhones();
        if(!empty( $phones )) {
            $model->phone = $phones[ 1 ][ 'phone' ];
        }
    }
?>
    <div class="performance-vacancy-call-back">
        <div class="performance-vacancy-call-back-title">Оставьте заявку<br/>и мы вам перезвоним
        </div>
        <?php
            $form = ActiveForm::begin([
                'action'  => [ 'ajax/feedback-company' ],
                'method'  => 'POST',
                'options' => [ 'class' => 'callback' ],
            ]);
            echo $form->field($model, 'user_id')
                      ->label(false)
                      ->hiddenInput();
            echo $form->field($model, 'name', [ 'options' => [ 'class' => 'input-blocks-wrapper' ] ])
                      ->textInput([ 'placeholder' => 'Иванов Иван' ]);
            echo $form->field($model, 'phone', [ 'options' => [ 'class' => 'input-blocks-wrapper' ] ])
                      ->textInput([ 'placeholder' => '+38(093)111-11-11' ]);
            echo Html::submitInput('Перезвонить мне', [ 'id' => 'feedback_company_submit' ]);
            $form->end();
        ?>
        <div class="performance-vacancy-call-back-conf">Гарантируем конфидециальность</div>
    </div>
<?php
    $js = "
        $(document).on('click', '#feedback_company_submit', function(e) {
            e.preventDefault();
            var form = $(this).parents('form');
            var action = $(form).attr('action');
            var id = $(form).attr('id');
            //$('#'+id).data('yiiActiveForm').submitting = true;
            $('#'+id).yiiActiveForm('validate');
            if($(form).find('.input-blocks-wrapper.has-error').length <= 0) {
                $.post(action, $(form).serialize(), function(data) {
                    if(data.error) {
                        alert(data.error);
                    } else {
                        alert(data.result.message);
                        document.getElementById(id).reset();
                    }
                });
            }
        });
    ";
    $this->registerJs($js);
?>