general.php 11.2 KB
<?php
    /**
     * @var UserInfo    $user_info
     * @var User        $user
     * @var CompanyInfo $company_info
     */
    use common\models\CompanyInfo;
    use common\models\Option;
    use common\models\User;
    use common\models\UserInfo;
    use common\widgets\ImageUploader;
    use yii\helpers\Html;
    use yii\widgets\ActiveForm;
    use \common\widgets\MultiLangForm;
    use kartik\select2\Select2;
    use yii\web\JsExpression;

    $this->title = 'Учетные данные';
    $this->params['breadcrumbs'][] = $this->title;
?>
<div class="login-left-column-title"><?= $this->title ?></div>

<div class="" id="form_definition">
    <?php $form = ActiveForm::begin(); ?>

    <div class="general-check-wr style">
        <div class="general-check">

            <div class="general-check-left">
                <?= $form->field($user, 'isPerformer', [ 'template' => "{input}\n{label}\n{error}" ])
                         ->label('<span></span>Я - исполнитель')
                         ->checkbox([
                             'class'    => 'custom-check disabled admin-check',
                             'disabled' => 'disabled',
                         ], false); ?>
            </div>
            <div class="general-check-right">
                <div class="general-check-right-txt">Обязательно должны быть указаны специализации услуг, что бы вы попали в рейтинг исполнителей</div>
            </div>
        </div>

        <div class="general-check">
            <div class="general-check-left">
                <?= $form->field($user, 'isCustomer', [ 'template' => "{input}\n{label}\n{error}" ])
                         ->label('<span></span>Я - заказчик')
                         ->checkbox([
                             'class'    => 'custom-check disabled admin-check',
                             'disabled' => 'disabled',
                         ], false); ?>
            </div>
            <div class="general-check-right">
                <div class="general-check-right-txt">Обязательно должны быть созданы проекты вами, что бы вы попали в рейтинг исполнителей</div>
            </div>
        </div>

    </div>
    <div class="general-who style border-general">
        <div class="general-who-title gen-admin-title">Кто вы:</div>

        <?= $form->field ($user, 'type')
            ->label (false)
            ->radioList (
                [1 => 'Частное лицо', 2 => 'Компания'],
                [
                    'item' => function($index, $label, $name, $checked, $value) {
                        $return = '<div class="admin-who-check">';
                        $return .= '<input class="custom-radio" id="select_admin_'.$value.'" type="radio" name="' . $name . '" value="' . $value . '" '.($checked ? "checked" :"").' >';
                        $return .= '<label for="select_admin_'.$value.'" >';
                        $return .= '<span></span>' . ucwords($label);
                        $return .= '</label>';
                        $return .= '</div>';
                        return $return;
                    }
                ]
            );
        ?>


    </div>
    <div class="style border-general" style="margin-top: 11px">
        <div class="hidden-input-admin-general">
            <div class="input-blocks-wrapper">
                <div class="input-blocks">
                <?= $form->field ($company_info, 'name', ['options' => ['class' => 'form-group company_info']])
                          ->label ('Название компании')
                          ->textInput (['class'=> 'custom-input-2']);
                ?>
                </div>
            </div>
            <div class="input-blocks-wrapper">
                <div class="input-blocks">
                <?= $form->field ($company_info, 'staff', ['options' => ['class' => 'form-group company_info']])
                          ->label ('Количество сотрудников')
                          ->textInput (['class'=> 'custom-input-2','type'=>'number']);
                ?>
                </div>
            </div>
        </div>

        <div class="input-blocks-wrapper">
            <div class="input-blocks">
                <?= $form->field ($user, 'firstname')
                    ->label ('Имя')
                    ->textInput (['class'=> 'custom-input-2']);
                ?>
            </div>
        </div>

        <div class="input-blocks-wrapper">
            <div class="input-blocks">
                <?= $form->field ($user, 'lastname')
                    ->label ('Фамилия')
                    ->textInput (['class'=> 'custom-input-2']);
                ?>
            </div>
        </div>
        <div class="input-blocks-wrapper">
            <div class="input-blocks">
            <?= $form->field ($user_info, 'country')
                      ->label ('Ваша страна')
                      ->textInput (['class'=> 'custom-input-2']);
            ?>
            </div>
        </div>
        <div class="input-blocks-wrapper">
            <div class="input-blocks">
            <?=
            $form->field($user_info, 'city')->widget(Select2::classname(), [
                'options' => ['placeholder' => 'Выбор города ...'],
                'pluginOptions' => [
                    'allowClear' => true,
                    'minimumInputLength' => 3,
                    'ajax' => [
                        'url' => \yii\helpers\Url::to(['site/city']),
                        'dataType' => 'json',
                        'data' => new JsExpression('function(params) { return {q:params.term}; }')
                    ],
                    'escapeMarkup' => new JsExpression('function (markup) { return markup; }'),
                    'templateResult' => new JsExpression('function(city) { return city.text; }'),
                    'templateSelection' => new JsExpression('function (city) { return city.text; }'),
                ],
            ]);
            ?>

            </div>

            <div class="input-blocks street-input">
                <?= $form->field ($company_info, 'street', ['options' => ['class' => 'form-group company_info']])
                    ->label ('Улица')
                    ->textInput (['class'=> 'custom-input-2']);
                ?>
            </div>

            <div class="input-blocks home-input">
                <?= $form->field ($company_info, 'house', ['options' => ['class' => 'form-group company_info']])
                    ->label ('Дом')
                    ->textInput (['class'=> 'custom-input-2']);
                ?>
            </div>
        </div>

        <div class="input-blocks-wrapper ">
            <div class="input-blocks">
            <?= $form->field ($user, 'email')
                      ->label ('Email')
                      ->textInput (['class'=> 'custom-input-2']);
            ?>
            </div>
            <div class="input-blocks hide-mail-check">
            <?= $form->field ($company_info, 'hide_mail', ['options' => ['class' => 'form-group company_info', ], 'template' => "{input}{label}\n{hint}\n{error}"])
                      ->label ('<span></span>не публиковать Email')
                      ->checkbox (['checked'=>'checked', 'class'=> 'custom-check'], false);
            ?>
            </div>
        </div>
    </div>
    <div class="input-blocks-wrapper border-general">
        <div class="input-blocks weight-normal">
        <div class="gen-admin-title">Статус:</div>
        <?= $form->field ($user_info, 'busy')
                  ->label (false)
                  ->radioList (
                      [0 => 'Свободен', 1 => 'Занят'],
                      [
                          'item' => function($index, $label, $name, $checked, $value) {
                              $return = '<div class="admin-who-check">';
                              $return .= '<input class="custom-radio" id="select_admin_status'.$value.'" type="radio" name="' . $name . '" value="' . $value . '" '.($checked ? "checked" :"").' >';
                              $return .= '<label for="select_admin_status'.$value.'" >';
                              $return .= '<span></span>' . ucwords($label);
                              $return .= '</label>';
                              $return .= '</div>';
                              return $return;
                          }
                      ]
                  );
        ?>
        </div>
    </div>


    <div class="style border-general">
        <div class="input-blocks-wrapper admin-avatar">
            <div class="gen-admin-title">Аватар</div>
            <?= ImageUploader::widget([
                'model'=> $user_info,
                'field'=>'image',
                'width'=>180,
                'height'=>180,
                'multi'=>false,
                'gallery' =>$user_info->image,
                'name' => 'Выбрать файл'
            ]);
            ?>
        </div>

        <div class="input-blocks-wrapper admin-avatar admin-pattern">
            <div class="gen-admin-title">Подложка</div>
                <?= ImageUploader::widget([
                    'model'=> $user_info,
                    'field'=>'poster',
                    'width'=>1920,
                    'height'=>600,
                    'multi'=>false,
                    'gallery' =>$user_info->poster,
                    'name' => 'Выбрать файл'
                ]);
                ?>
        </div>

    </div>


    <div class="input-blocks-wrapper">
        <div class="input-blocks weight-normal">
            <div class="gen-admin-title">Членство в МФП</div>
            <div class="admin-fix-mfp">
                <?= $form->field ($user_info, 'member')
                    ->label (false)
                    ->radioList ([0 => 'Не хочу', 1 => 'Хочу стать'],
                        [
                            'item' => function($index, $label, $name, $checked, $value) {
                                $return = '<div class="admin-who-check">';
                                $return .= '<input class="custom-radio" id="select_admin_mfp'.$value.'" type="radio" name="' . $name . '" value="' . $value . '" '.($checked ? "checked" :"").' >';
                                $return .= '<label for="select_admin_mfp'.$value.'" >';
                                $return .= '<span></span>' . ucwords($label);
                                $return .= '</label>';
                                $return .= '</div>';
                                return $return;
                            }
                        ]
                    );
                ?>
            </div>
            <div class="admin-mfp-help">Выберите если хотите стать членом МФП и наш менеджер свяжется с Вами.</div>
        </div>

    </div>


    <div class="input-blocks-wrapper">
        <div class="admin-save-btn style">
        <?= Html::submitButton('Обновить', ['class' => 'input-blocks-wrapper button']);
        $form->end ();
        ?>
        </div>
    </div>
</div>