register.php 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. <?php
  2. use yii\helpers\Html;
  3. use yii\widgets\ActiveForm;
  4. use yii\captcha\Captcha;
  5. use kartik\file\FileInput;
  6. /**
  7. * @var yii\web\View $this
  8. * @var app\models\RegistrationForm $model
  9. */
  10. $this->title = Yii::t('user', 'Sign up');
  11. $this->params['breadcrumbs'][] = $this->title;
  12. $files = new \app\models\Files();
  13. ?>
  14. <div class="col-md-6 col-md-offset-3">
  15. <div class="panel panel-primary">
  16. <div class="panel-heading">
  17. <span class="glyphicon glyphicon-qrcode"></span>
  18. <strong><?= Html::encode($this->title) ?></strong>
  19. </div>
  20. <div class="panel-body">
  21. <div class="row">
  22. <div class="col">
  23. <?= Html::errorSummary($model, ['class' => 'alert alert-danger']) ?>
  24. <?php $form = ActiveForm::begin([
  25. 'id' => 'registration-form',
  26. 'enableAjaxValidation' => true,
  27. 'enableClientValidation' => true,
  28. ]); ?>
  29. <!-- Роль пользователя -->
  30. <?= $form->field($model, 'role')->radioList([
  31. '2' => Yii::t('app', 'Member'),
  32. '1' => Yii::t('app', 'Organizer'),
  33. ], [
  34. 'class' => 'role-selector',
  35. ]) ?>
  36. <?= $form->field($model, 'org_type')->radioList([
  37. 'entity' => Yii::t('app', 'Entity'),
  38. 'individual' => Yii::t('app', 'Individual'),
  39. 'fop' => Yii::t('app', 'FOP'),
  40. ]) ?>
  41. <?= $form->field($model, 'at_org') ?>
  42. <?= $form->field($model, 'fio') ?>
  43. <?= $form->field($model, 'phone')->widget(\yii\widgets\MaskedInput::className(), [
  44. 'mask' => '+389999999999',
  45. ]) ?>
  46. <?= $form->field($model, 'inn') ?>
  47. <?= $form->field($model, 'u_address') ?>
  48. <?= $form->field($model, 'f_address') ?>
  49. <?= $form->field($model, 'member')->textInput()->label(Yii::t('app', 'MemberFrom ID')) ?>
  50. <?php echo $form->field($files, 'file')->widget(FileInput::classname(), [
  51. 'model' => $files,
  52. 'pluginOptions' => [
  53. //'allowedFileExtensions'=>['doc','docx','pdf', 'png', ],
  54. 'initialCaption'=>'*.doc *.docx *.pdf *.png *.jpg *.tiff, *.zip *rar',
  55. 'showPreview' => false,
  56. 'showCaption' => true,
  57. 'showRemove' => false,
  58. 'showUpload' => false
  59. ],
  60. 'options' => ['multiple' => true,],
  61. ])->label(Yii::t('app','Документи')); ?>
  62. <!-- Поля пользователя -->
  63. <?= $form->field($model, 'email') ?>
  64. <?= $form->field($model, 'username') ?>
  65. <?= $form->field($model, 'password')->passwordInput() ?>
  66. <?= $form->field($model, 'repeatpassword')->passwordInput() ?>
  67. <!-- Captcha -->
  68. <!-- Кнопка регистрации -->
  69. <?= Html::submitButton(Yii::t('user', 'Sign up'), ['class' => 'btn btn-success btn-block']) ?>
  70. <?php ActiveForm::end(); ?>
  71. </div>
  72. </div>
  73. </div>
  74. </div>
  75. </div>
  76. <?php
  77. $script = <<<JS
  78. function updateVisibility() {
  79. var role = $('input[name="register-form[role]"]:checked').val();
  80. var orgType = $('input[name="register-form[org_type]"]:checked').val();
  81. $('.field-register-form-at_org').show();
  82. if (orgType === 'entity') {
  83. $('.field-register-form-at_org').hide();
  84. }
  85. // $('.field-register-form-member').show();
  86. // if (orgType !== 'individual' || orgType !== 'fop') {
  87. // $('.field-register-form-member').hide();
  88. // }
  89. // console.log(role, orgType);
  90. }
  91. $(document).on('change', '.role-selector input, #register-form-org_type input', updateVisibility);
  92. updateVisibility();
  93. JS;
  94. $this->registerJs($script);
  95. ?>