Commit 39a349155dfcd56128a21b854ac439a99fad9e05

Authored by Yarik
1 parent a22972f9

Commit

common/models/TenderSearch.php
@@ -36,7 +36,6 @@ @@ -36,7 +36,6 @@
36 return [ 36 return [
37 [ 37 [
38 [ 38 [
39 - 'specialization',  
40 'budget_currency', 39 'budget_currency',
41 'contractual', 40 'contractual',
42 ], 41 ],
@@ -44,6 +43,7 @@ @@ -44,6 +43,7 @@
44 ], 43 ],
45 [ 44 [
46 [ 45 [
  46 + 'specialization',
47 'city', 47 'city',
48 'payment', 48 'payment',
49 'info', 49 'info',
frontend/controllers/SearchController.php
@@ -90,7 +90,7 @@ @@ -90,7 +90,7 @@
90 $dataProvider->setPagination([ 90 $dataProvider->setPagination([
91 'pageSize' => 10, 91 'pageSize' => 10,
92 ]); 92 ]);
93 - $specialization = Specialization::specializationsList(); 93 + $specializations = Specialization::getSorted()->all();
94 $currencies = Currency::getCurrencyDropdown(); 94 $currencies = Currency::getCurrencyDropdown();
95 $payments = Payment::find() 95 $payments = Payment::find()
96 ->select([ 96 ->select([
@@ -103,7 +103,7 @@ @@ -103,7 +103,7 @@
103 return $this->render('project', [ 103 return $this->render('project', [
104 'model' => $model, 104 'model' => $model,
105 'dataProvider' => $dataProvider, 105 'dataProvider' => $dataProvider,
106 - 'specialization' => $specialization, 106 + 'specializations' => $specializations,
107 'currencies' => $currencies, 107 'currencies' => $currencies,
108 'payments' => $payments, 108 'payments' => $payments,
109 ]); 109 ]);
@@ -143,7 +143,7 @@ @@ -143,7 +143,7 @@
143 { 143 {
144 $searchModel = new SearchVacancyForm(); 144 $searchModel = new SearchVacancyForm();
145 145
146 - $specialization = Specialization::specializationsList(); 146 + $specializations = Specialization::getSorted()->all();
147 147
148 $query = $searchModel->search(Yii::$app->request->queryParams); 148 $query = $searchModel->search(Yii::$app->request->queryParams);
149 149
@@ -170,7 +170,7 @@ @@ -170,7 +170,7 @@
170 170
171 return $this->render('vacancy', [ 171 return $this->render('vacancy', [
172 'dataProvider' => $dataProvider, 172 'dataProvider' => $dataProvider,
173 - 'specialization' => $specialization, 173 + 'specializations' => $specializations,
174 'model' => $searchModel, 174 'model' => $searchModel,
175 'pagination' => $pagination, 175 'pagination' => $pagination,
176 ]); 176 ]);
frontend/views/search/project.php
@@ -3,10 +3,11 @@ @@ -3,10 +3,11 @@
3 * @var View $this 3 * @var View $this
4 * @var TenderSearch $model 4 * @var TenderSearch $model
5 * @var ActiveDataProvider $dataProvider 5 * @var ActiveDataProvider $dataProvider
6 - * @var array $specialization 6 + * @var array $specializations
7 * @var array $currencies 7 * @var array $currencies
8 * @var array $payments 8 * @var array $payments
9 */ 9 */
  10 + use common\models\Specialization;
10 use common\models\TenderSearch; 11 use common\models\TenderSearch;
11 use kartik\select2\Select2; 12 use kartik\select2\Select2;
12 use yii\data\ActiveDataProvider; 13 use yii\data\ActiveDataProvider;
@@ -35,8 +36,71 @@ @@ -35,8 +36,71 @@
35 ->textInput([ 'class' => 'form-control', 36 ->textInput([ 'class' => 'form-control',
36 'placeholder' => 'Текст для поиска', 37 'placeholder' => 'Текст для поиска',
37 ]); 38 ]);
  39 + ?>
  40 + <?php
  41 + // New specialization chooser
  42 + ?>
  43 + <div class="input-blocks-wrapper admin-menu-list">
  44 + <div class="input-blocks" style="width: 100%; margin-bottom: 5px">
  45 + <label>Специализации</label>
  46 + <div class="required"></div>
  47 + </div>
  48 + <div class="new-spec-block style">
  49 + <ul class="content-menu-first">
  50 + <?php foreach($specializations as $specialization): ?>
  51 + <li data-img="<?= $specialization->image ?>">
  52 + <span data-menu-bg="<?= $specialization->background ?>" style="background: <?= $specialization->background ?>"></span><a href="#"><?= $specialization->specialization_name ?></a>
  53 + <ul>
  54 + <?php foreach($specialization->children as $child_first): ?>
  55 +
  56 + <?php if($child_first instanceof Specialization): ?>
  57 + <li>
  58 + <a href="#"><?= $child_first->specialization_name ?></a>
  59 + <ul>
  60 + <?php foreach($child_first->children as $child_second): ?>
  61 + <?php if($child_first instanceof Specialization): ?>
  62 + <li>
  63 + <a href="#" title="<?= $child_second->specialization_name ?>">
  64 + <?= $form->field($model, "specialization[{$child_second->specialization_id}]", [
  65 + 'template' => '{input}{label}{hint}{error}',
  66 + ])
  67 + ->label('<span></span>' . $child_second->specialization_name)
  68 + ->checkbox([
  69 + 'value' => $child_second->specialization_id,
  70 + 'label' => NULL,
  71 + 'uncheck' => NULL,
  72 + 'class' => 'custom-check',
  73 + ], false) ?>
  74 + </a>
  75 + </li>
  76 + <?php endif; ?>
  77 + <?php endforeach; ?>
  78 + </ul>
  79 + </li>
  80 + <?php endif; ?>
  81 + <?php endforeach; ?>
  82 +
  83 + </ul>
  84 + </li>
  85 + <?php endforeach; ?>
  86 + </ul>
  87 + </div>
  88 + <div class="style admn-menu-err">
  89 + <div class="help-block">Необходимо выбрать хотя бы одну «специализацию».</div>
  90 + </div>
  91 + </div>
  92 +
  93 + <div class="admin-specialization-selected style">
  94 + <ul></ul>
  95 + </div>
  96 + <?php
  97 + // End of new specialization chooser
  98 + ?>
  99 + <?php
  100 + /*
38 echo $form->field($model, 'specialization') 101 echo $form->field($model, 'specialization')
39 ->dropDownList($specialization, [ 'prompt' => 'Любая' ]); 102 ->dropDownList($specialization, [ 'prompt' => 'Любая' ]);
  103 + */
40 104
41 echo $form->field($model, 'city') 105 echo $form->field($model, 'city')
42 ->widget(Select2::classname(), [ 106 ->widget(Select2::classname(), [
frontend/views/search/vacancy.php
1 <?php 1 <?php
2 2
3 -use kartik\select2\Select2;  
4 -use \yii\helpers\Html;  
5 -use yii\web\JsExpression;  
6 -use yii\widgets\ActiveForm;  
7 -use yii\widgets\LinkPager;  
8 -use yii\widgets\ListView; 3 + use common\models\Specialization;
  4 + use kartik\select2\Select2;
  5 + use \yii\helpers\Html;
  6 + use yii\web\JsExpression;
  7 + use yii\widgets\ActiveForm;
  8 + use yii\widgets\LinkPager;
  9 + use yii\widgets\ListView;
9 10
10 -/* @var $this yii\web\View */ 11 + /* @var $this yii\web\View */
11 12
12 -$this->title = 'My Yii Application'; 13 + $this->title = 'My Yii Application';
13 ?> 14 ?>
14 15
15 <div class="section-box content"> 16 <div class="section-box content">
@@ -19,37 +20,99 @@ $this-&gt;title = &#39;My Yii Application&#39;; @@ -19,37 +20,99 @@ $this-&gt;title = &#39;My Yii Application&#39;;
19 <div class="performer-vacancy-sidebar-left-wr vacancy-general-sidebar-wr"> 20 <div class="performer-vacancy-sidebar-left-wr vacancy-general-sidebar-wr">
20 <div class="left-search-work"> 21 <div class="left-search-work">
21 <?php 22 <?php
22 - $form = ActiveForm::begin(['options'=>['class'=>'search-work-form'],'action'=>[''], 'method'=>'get']); 23 + $form = ActiveForm::begin([
  24 + 'options' => [ 'class' => 'search-work-form' ],
  25 + 'action' => [ '' ],
  26 + 'method' => 'get',
  27 + ]);
23 ?> 28 ?>
24 29
25 - <?=  
26 - $form->field($model, 'city')  
27 - ->widget(Select2::classname(), [  
28 - 'options' => [ 'placeholder' => 'Выбор города ...' ],  
29 - 'pluginOptions' => [  
30 - 'allowClear' => true,  
31 - 'minimumInputLength' => 3,  
32 - 'ajax' => [  
33 - 'url' => \yii\helpers\Url::to([ 'site/city' ]),  
34 - 'dataType' => 'json',  
35 - 'data' => new JsExpression('function(params) { return {q:params.term}; }'),  
36 - ],  
37 - 'escapeMarkup' => new JsExpression('function (markup) { return markup; }'),  
38 - 'templateResult' => new JsExpression('function(city) { return city.text; }'),  
39 - 'templateSelection' => new JsExpression('function (city) { return city.text; }'),  
40 - ],  
41 - ]);  
42 - ?>  
43 -  
44 - <?=  
45 - $form->field($model, 'specialization')  
46 - ->dropDownList($specialization, ['prompt' => 'Любая']);  
47 - ?> 30 + <?= $form->field($model, 'city')
  31 + ->widget(Select2::classname(), [
  32 + 'options' => [ 'placeholder' => 'Выбор города ...' ],
  33 + 'pluginOptions' => [
  34 + 'allowClear' => true,
  35 + 'minimumInputLength' => 3,
  36 + 'ajax' => [
  37 + 'url' => \yii\helpers\Url::to([ 'site/city' ]),
  38 + 'dataType' => 'json',
  39 + 'data' => new JsExpression('function(params) { return {q:params.term}; }'),
  40 + ],
  41 + 'escapeMarkup' => new JsExpression('function (markup) { return markup; }'),
  42 + 'templateResult' => new JsExpression('function(city) { return city.text; }'),
  43 + 'templateSelection' => new JsExpression('function (city) { return city.text; }'),
  44 + ],
  45 + ]); ?>
  46 + <?php
  47 + // New specialization chooser
  48 + ?>
  49 + <div class="input-blocks-wrapper admin-menu-list">
  50 + <div class="input-blocks" style="width: 100%; margin-bottom: 5px">
  51 + <label>Специализации</label>
  52 + <div class="required"></div>
  53 + </div>
  54 + <div class="new-spec-block style">
  55 + <ul class="content-menu-first">
  56 + <?php foreach($specializations as $specialization): ?>
  57 + <li data-img="<?= $specialization->image ?>">
  58 + <span data-menu-bg="<?= $specialization->background ?>" style="background: <?= $specialization->background ?>"></span><a href="#"><?= $specialization->specialization_name ?></a>
  59 + <ul>
  60 + <?php foreach($specialization->children as $child_first): ?>
48 61
  62 + <?php if($child_first instanceof Specialization): ?>
  63 + <li>
  64 + <a href="#"><?= $child_first->specialization_name ?></a>
  65 + <ul>
  66 + <?php foreach($child_first->children as $child_second): ?>
  67 + <?php if($child_first instanceof Specialization): ?>
  68 + <li>
  69 + <a href="#" title="<?= $child_second->specialization_name ?>">
  70 + <?= $form->field($model, "specialization[{$child_second->specialization_id}]", [
  71 + 'template' => '{input}{label}{hint}{error}',
  72 + ])
  73 + ->label('<span></span>' . $child_second->specialization_name)
  74 + ->checkbox([
  75 + 'value' => $child_second->specialization_id,
  76 + 'label' => NULL,
  77 + 'uncheck' => NULL,
  78 + 'class' => 'custom-check',
  79 + ], false) ?>
  80 + </a>
  81 + </li>
  82 + <?php endif; ?>
  83 + <?php endforeach; ?>
  84 + </ul>
  85 + </li>
  86 + <?php endif; ?>
  87 + <?php endforeach; ?>
49 88
50 - <div class="blocks-check-list-submit">  
51 - <?= Html::submitInput('Найти') ?> 89 + </ul>
  90 + </li>
  91 + <?php endforeach; ?>
  92 + </ul>
  93 + </div>
  94 + <div class="style admn-menu-err">
  95 + <div class="help-block">Необходимо выбрать хотя бы одну «специализацию».</div>
52 </div> 96 </div>
  97 + </div>
  98 +
  99 + <div class="admin-specialization-selected style">
  100 + <ul></ul>
  101 + </div>
  102 + <?php
  103 + // End of new specialization chooser
  104 + ?>
  105 + <?php
  106 + /*
  107 + $form->field($model, 'specialization')
  108 + ->dropDownList($specialization, ['prompt' => 'Любая']);
  109 + */
  110 + ?>
  111 +
  112 +
  113 + <div class="blocks-check-list-submit">
  114 + <?= Html::submitInput('Найти') ?>
  115 + </div>
53 <?php 116 <?php
54 $form->end(); 117 $form->end();
55 ?> 118 ?>
@@ -59,20 +122,16 @@ $this-&gt;title = &#39;My Yii Application&#39;; @@ -59,20 +122,16 @@ $this-&gt;title = &#39;My Yii Application&#39;;
59 <div class="performer-vacancy-vacant-title style">Вакансии</div> 122 <div class="performer-vacancy-vacant-title style">Вакансии</div>
60 <div class="performer-vacancy-vacant-title-reclam-wr style"> 123 <div class="performer-vacancy-vacant-title-reclam-wr style">
61 124
62 - <?=  
63 - ListView::widget([  
64 - 'dataProvider' => $dataProvider,  
65 - 'itemView' => '_vacancy_list_view',  
66 - 'summary' => false,  
67 - ]);  
68 - ?> 125 + <?= ListView::widget([
  126 + 'dataProvider' => $dataProvider,
  127 + 'itemView' => '_vacancy_list_view',
  128 + 'summary' => false,
  129 + ]); ?>
69 </div> 130 </div>
70 <div class="navi-buttons-wr style"> 131 <div class="navi-buttons-wr style">
71 - <?=  
72 - LinkPager::widget([  
73 - 'pagination' => $pagination  
74 - ])  
75 - ?> 132 + <?= LinkPager::widget([
  133 + 'pagination' => $pagination,
  134 + ]) ?>
76 </div> 135 </div>
77 </div> 136 </div>
78 </div> 137 </div>