Commit e4a014b8984be64f35fa8989694833914b5a7eb9

Authored by Yarik
1 parent df1b36d6

test

common/models/TeamSearch.php
... ... @@ -202,31 +202,31 @@
202 202 ])
203 203 ->andFilterWhere([
204 204 'like',
205   - 'country_id',
206   - $this->country_id,
  205 + 'LOWER(country_id)',
  206 + mb_strtolower($this->country_id),
207 207 ])
208 208 ->andFilterWhere([
209 209 'or',
210 210 [
211 211 'like',
212   - 'lastname',
213   - $this->user,
  212 + 'LOWER(lastname)',
  213 + mb_strtolower($this->user),
214 214 ],
215 215 [
216 216 'like',
217   - 'firstname',
218   - $this->user,
  217 + 'LOWER(firstname)',
  218 + mb_strtolower($this->user),
219 219 ],
220 220 [
221 221 'like',
222   - 'middlename',
223   - $this->user,
  222 + 'LOWER(middlename)',
  223 + mb_strtolower($this->user),
224 224 ],
225 225 ])
226 226 ->andFilterWhere([
227 227 'like',
228   - 'department.name',
229   - $this->department,
  228 + 'LOWER(department.name)',
  229 + mb_strtolower($this->department),
230 230 ]);
231 231  
232 232 return $dataProvider;
... ...
frontend/controllers/AccountsController.php
... ... @@ -183,7 +183,7 @@
183 183 $user_info = new UserInfo([ 'user_id' => \Yii::$app->user->getId() ]);
184 184 }
185 185 if(!empty( \Yii::$app->request->post() )) {
186   - if(!empty(Yii::$app->request->post('Fields'))) {
  186 + if(!empty( Yii::$app->request->post('Fields') )) {
187 187 Fields::saveFieldData(Yii::$app->request->post('Fields'), \Yii::$app->user->identity->id, User::className(), 'ru');
188 188 }
189 189 $user_info->load(\Yii::$app->request->post());
... ... @@ -519,7 +519,7 @@
519 519 $portfolio->save();
520 520 $portfolio->unlinkAll('specializations', true);
521 521 foreach($portfolio->specializationInput as $one_specialization) {
522   - $portfolio->link('specializations', Specialization::findOne($one_specialization));
  522 + $portfolio->link('specializations', Specialization::findOne($one_specialization));
523 523 }
524 524 return $this->redirect('portfolio');
525 525 }
... ... @@ -843,10 +843,19 @@
843 843 {
844 844 $searchModel = new TeamSearch();
845 845 $dataProvider = $searchModel->search(Yii::$app->request->queryParams);
  846 + $departments = Department::find()
  847 + ->select([
  848 + 'name',
  849 + 'department_id',
  850 + ])
  851 + ->indexBy('department_id')
  852 + ->asArray()
  853 + ->column();
846 854  
847 855 return $this->render('team', [
848 856 'searchModel' => $searchModel,
849 857 'dataProvider' => $dataProvider,
  858 + 'departments' => $departments,
850 859 ]);
851 860 }
852 861  
... ... @@ -873,8 +882,7 @@
873 882 $post = \Yii::$app->request->post();
874 883 if($team->load($post) && $team->save()) {
875 884 return $this->redirect([
876   - 'team-update',
877   - 'id' => $team->team_id,
  885 + 'team',
878 886 ]);
879 887 } else {
880 888 return $this->render('_team_form', [
... ... @@ -918,8 +926,7 @@
918 926 $post = \Yii::$app->request->post();
919 927 if($team->load($post) && $team->save()) {
920 928 return $this->redirect([
921   - 'team-update',
922   - 'id' => $team->team_id,
  929 + 'team',
923 930 ]);
924 931 } else {
925 932 return $this->render('_team_form', [
... ... @@ -991,7 +998,7 @@
991 998 if(!empty( $post )) {
992 999 $vacancy->load($post);
993 1000 $vacancy->validate();
994   - if(empty($vacancy->specializationInput)) {
  1001 + if(empty( $vacancy->specializationInput )) {
995 1002 $vacancy->addError('specializationInput', 'Cannot be blank');
996 1003 } else {
997 1004 $vacancy->clearErrors('specializationInput');
... ... @@ -1055,7 +1062,7 @@
1055 1062 if(!empty( $post )) {
1056 1063 $vacancy->load($post);
1057 1064 $vacancy->validate();
1058   - if(empty($vacancy->specializationInput)) {
  1065 + if(empty( $vacancy->specializationInput )) {
1059 1066 $vacancy->addError('specializationInput', 'Cannot be blank');
1060 1067 } else {
1061 1068 $vacancy->clearErrors('specializationInput');
... ...
frontend/views/accounts/_portfolio_form.php
... ... @@ -5,15 +5,15 @@
5 5 */
6 6 use common\models\Option;
7 7 use common\models\Portfolio;
8   -use common\models\Specialization;
9   -use common\widgets\ImageUploader;
  8 + use common\models\Specialization;
  9 + use common\widgets\ImageUploader;
10 10 use mihaildev\ckeditor\CKEditor;
11   -use yii\helpers\ArrayHelper;
12   -use yii\helpers\Html;
  11 + use yii\helpers\ArrayHelper;
  12 + use yii\helpers\Html;
13 13 use yii\widgets\ActiveForm;
14 14 use \common\widgets\MultiLangForm;
15   -use kartik\select2\Select2;
16   -use yii\web\JsExpression;
  15 + use kartik\select2\Select2;
  16 + use yii\web\JsExpression;
17 17  
18 18 $this->title = 'Портфолио';
19 19 $this->params[ 'breadcrumbs' ][] = $this->title;
... ... @@ -24,7 +24,7 @@ use yii\web\JsExpression;
24 24 $form = ActiveForm::begin();
25 25 ?>
26 26 <div class="input-blocks-wrapper full-blocks data-block">
27   - <?= !empty($portfolio->date_add) ? "Дата создания: $portfolio->date_add" :""?>
  27 + <?= !empty( $portfolio->date_add ) ? "Дата создания: $portfolio->date_add" : "" ?>
28 28  
29 29 </div>
30 30 <div class="style">
... ... @@ -32,14 +32,14 @@ use yii\web\JsExpression;
32 32 <div class="input-blocks-wrapper">
33 33 <div class="input-blocks">
34 34 <?= $form->field($portfolio, 'name')
35   - ->textInput (['class'=> 'custom-input-2 fix-input-2']); ?>
  35 + ->textInput([ 'class' => 'custom-input-2 fix-input-2' ]); ?>
36 36 </div>
37 37 </div>
38 38  
39 39 <div class="input-blocks-wrapper">
40 40 <div class="input-blocks">
41 41 <?= $form->field($portfolio, 'link')
42   - ->textInput (['class'=> 'custom-input-2 fix-input-2']); ?>
  42 + ->textInput([ 'class' => 'custom-input-2 fix-input-2' ]); ?>
43 43 </div>
44 44 </div>
45 45  
... ... @@ -62,13 +62,13 @@ use yii\web\JsExpression;
62 62 <?= $form->field($portfolio, "specializationInput[{$child_second->specialization_id}]", [
63 63 'template' => '{input}{label}{hint}{error}',
64 64 ])
65   - ->label('<span></span>' . $child_second->specialization_name)
66   - ->checkbox([
67   - 'value' => $child_second->specialization_id,
68   - 'label' => NULL,
69   - 'uncheck' => NULL,
70   - 'class' => 'custom-check',
71   - ], false) ?>
  65 + ->label('<span></span>' . $child_second->specialization_name)
  66 + ->checkbox([
  67 + 'value' => $child_second->specialization_id,
  68 + 'label' => NULL,
  69 + 'uncheck' => NULL,
  70 + 'class' => 'custom-check',
  71 + ], false) ?>
72 72 </a>
73 73 </li>
74 74 <?php endif; ?>
... ... @@ -85,65 +85,60 @@ use yii\web\JsExpression;
85 85 </div>
86 86  
87 87  
88   -
89 88 <div class="input-blocks-wrapper admin-avatar portfolio-foto-admin hidden-foto foto-portfolio-adm">
90 89 <div class="gen-admin-title">Фото главное</div>
91 90 <div class="not-file-txt-adm">Файл не выбран</div>
92 91 <?= ImageUploader::widget([
93   - 'model'=> $portfolio,
94   - 'field'=>'cover',
95   - 'width'=>210,
96   - 'height'=>150,
97   - 'multi'=>false,
98   - 'gallery' =>$portfolio->cover,
99   - 'name' => 'Загрузить'
100   - ]);
101   - ?>
  92 + 'model' => $portfolio,
  93 + 'field' => 'cover',
  94 + 'width' => 210,
  95 + 'height' => 150,
  96 + 'multi' => false,
  97 + 'gallery' => $portfolio->cover,
  98 + 'name' => 'Загрузить',
  99 + ]); ?>
102 100 <div class="not-file-mb-adm">До 3 Мб файл</div>
103 101 </div>
104 102  
105 103 <div class="input-blocks-wrapper">
106 104 <div class="input-blocks">
107   - <?=
108   - $form->field($portfolio, 'city')->widget(Select2::classname(), [
109   - 'options' => ['class' => 'Выбор города ...'],
110   - 'pluginOptions' => [
111   - 'allowClear' => true,
112   - 'minimumInputLength' => 3,
113   - 'ajax' => [
114   - 'url' => \yii\helpers\Url::to(['site/city']),
115   - 'dataType' => 'json',
116   - 'data' => new JsExpression('function(params) { return {q:params.term}; }')
117   - ],
118   - 'escapeMarkup' => new JsExpression('function (markup) { return markup; }'),
119   - 'templateResult' => new JsExpression('function(city) { return city.text; }'),
120   - 'templateSelection' => new JsExpression('function (city) { return city.text; }'),
121   - ],
122   - ]);
123   - ?>
  105 + <?= $form->field($portfolio, 'city')
  106 + ->widget(Select2::classname(), [
  107 + 'options' => [ 'class' => 'Выбор города ...' ],
  108 + 'pluginOptions' => [
  109 + 'allowClear' => true,
  110 + 'minimumInputLength' => 3,
  111 + 'ajax' => [
  112 + 'url' => \yii\helpers\Url::to([ 'site/city' ]),
  113 + 'dataType' => 'json',
  114 + 'data' => new JsExpression('function(params) { return {q:params.term}; }'),
  115 + ],
  116 + 'escapeMarkup' => new JsExpression('function (markup) { return markup; }'),
  117 + 'templateResult' => new JsExpression('function(city) { return city.text; }'),
  118 + 'templateSelection' => new JsExpression('function (city) { return city.text; }'),
  119 + ],
  120 + ]); ?>
124 121  
125 122 </div>
126 123  
127 124 <div class="input-blocks street-input">
128   - <?= $form->field ($portfolio, 'street', ['options' => ['class' => 'form-group company_info']])
129   - ->label ('Улица')
130   - ->textInput (['class'=> 'custom-input-2']);
131   - ?>
  125 + <?= $form->field($portfolio, 'street', [ 'options' => [ 'class' => 'form-group company_info' ] ])
  126 + ->label('Улица')
  127 + ->textInput([ 'class' => 'custom-input-2' ]); ?>
132 128 </div>
133 129  
134 130 <div class="input-blocks home-input">
135   - <?= $form->field ($portfolio, 'house', ['options' => ['class' => 'form-group company_info']])
136   - ->label ('Дом')
137   - ->textInput (['class'=> 'custom-input-2']);
138   - ?>
  131 + <?= $form->field($portfolio, 'house', [ 'options' => [ 'class' => 'form-group company_info' ] ])
  132 + ->label('Дом')
  133 + ->textInput([ 'class' => 'custom-input-2' ]); ?>
139 134 </div>
140 135 </div>
141 136  
142 137  
143   -
144 138 <div class="input-blocks-wrapper full-blocks admin-editor-bl">
145 139 <div class="input-blocks">
146   - <?= $form->field($portfolio, 'description')->widget(CKEditor::className()) ?>
  140 + <?= $form->field($portfolio, 'description')
  141 + ->widget(CKEditor::className()) ?>
147 142 </div>
148 143 </div>
149 144  
... ... @@ -151,21 +146,21 @@ use yii\web\JsExpression;
151 146  
152 147 <div class="input-blocks-wrapper">
153 148 <div class="admin-save-btn skills-save-btn admin-add-remove-wr style">
154   - <?= Html::submitButton($portfolio->isNewRecord?'Добавить':'Обновить', [ 'class' => 'input-blocks-wrapper button' ]) ?>
  149 + <?= Html::submitButton($portfolio->isNewRecord ? 'Добавить' : 'Обновить', [ 'class' => 'input-blocks-wrapper button' ]) ?>
155 150 <div class="admin-remove-note">
156 151 <?php
157   - if(!$portfolio->isNewRecord) {
158   - echo Html::a('Удалить', [
159   - 'accounts/portfolio-delete',
160   - 'id' => $portfolio->portfolio_id,
161   - ], [
162   - 'title' => 'Удалить',
163   - 'aria-label' => 'Удалить',
164   - 'data-confirm' => 'Вы уверены, что хотите удалить этот элемент?',
165   - 'data-method' => 'post',
166   - 'data-pjax' => 0,
167   - ]);
168   - }
  152 + if(!$portfolio->isNewRecord) {
  153 + echo Html::a('Удалить', [
  154 + 'accounts/portfolio-delete',
  155 + 'id' => $portfolio->portfolio_id,
  156 + ], [
  157 + 'title' => 'Удалить',
  158 + 'aria-label' => 'Удалить',
  159 + 'data-confirm' => 'Вы уверены, что хотите удалить этот элемент?',
  160 + 'data-method' => 'post',
  161 + 'data-pjax' => 0,
  162 + ]);
  163 + }
169 164 ?>
170 165 </div>
171 166  
... ... @@ -178,7 +173,10 @@ use yii\web\JsExpression;
178 173 $form->end();
179 174 ?>
180 175 <script>
181   - $(document).ready(function(){
  176 + $(document).ready(
  177 + function()
  178 + {
182 179  
183   - })
  180 + }
  181 + )
184 182 </script>
... ...
frontend/views/accounts/team.php
... ... @@ -2,6 +2,7 @@
2 2 /**
3 3 * @var TeamSearch $searchModel
4 4 * @var ActiveDataProvider $dataProvider
  5 + * @var string[] $departments
5 6 */
6 7 use common\models\TeamSearch;
7 8 use yii\data\ActiveDataProvider;
... ... @@ -19,7 +20,7 @@
19 20  
20 21  
21 22 <?= GridView::widget([
22   - 'options' => ['class'=>'style admin-all-pages-wr'],
  23 + 'options' => [ 'class' => 'style admin-all-pages-wr' ],
23 24 'dataProvider' => $dataProvider,
24 25 'filterModel' => $searchModel,
25 26 'columns' => [
... ... @@ -44,7 +45,9 @@
44 45 'attribute' => 'department',
45 46 'value' => 'department.name',
46 47 'label' => 'Отдел компании',
  48 + 'filter' => $departments,
47 49 ],
  50 + 'position',
48 51 [
49 52 'attribute' => 'experience_from',
50 53 'value' => function($model, $key, $index, $column) {
... ... @@ -53,40 +56,43 @@
53 56 'label' => 'Опыт, лет',
54 57 'filter' => "<div class=\"input-group input-group-xs input-daterange\">
55 58 <span class='field-teamsearch-experience_from_from'>
56   -<input type='number' id='teamsearch-experience_from_from' class='form-control' name='TeamSearch[experience_from_from]' value='" . \Yii::$app->request->get('TeamSearch')['experience_from_from'] . "' min='0' max='" . \Yii::$app->request->get('TeamSearch')['experience_from_to'] . "'>
  59 +<input type='number' id='teamsearch-experience_from_from' class='form-control' name='TeamSearch[experience_from_from]' value='" . \Yii::$app->request->get('TeamSearch')[ 'experience_from_from' ] . "' min='0' max='" . \Yii::$app->request->get('TeamSearch')[ 'experience_from_to' ] . "'>
57 60 </span>
58 61 <span class=\"input-group-addon kv-field-separator\">
59 62 <i class=\"glyphicon glyphicon-resize-horizontal\"></i>
60 63 </span>
61 64 <span class='field-teamsearch-experience_from_to'>
62   -<input type='number' id='teamsearch-experience_from_to' class='form-control' name='TeamSearch[experience_from_to]' value='" . \Yii::$app->request->get('TeamSearch')['experience_from_to'] . "' min='" . \Yii::$app->request->get('TeamSearch')['experience_from_from'] . "' max='100'>
  65 +<input type='number' id='teamsearch-experience_from_to' class='form-control' name='TeamSearch[experience_from_to]' value='" . \Yii::$app->request->get('TeamSearch')[ 'experience_from_to' ] . "' min='" . \Yii::$app->request->get('TeamSearch')[ 'experience_from_from' ] . "' max='100'>
63 66 </span>
64 67 </div>",
65 68 ],
66   - 'position',
67 69 'country_id',
68 70  
69 71 [
70   - 'class' => 'yii\grid\ActionColumn',
71   - 'buttons' => [
  72 + 'class' => 'yii\grid\ActionColumn',
  73 + 'buttons' => [
72 74 'update' => function($url, $model, $key) {
73 75 return Html::a('<img src="/images/ico_pencil.png" alt="">', [
74   - 'team-update', 'id' => $model->team_id
75   - ],[
76   - 'title' => 'Редактировать',
  76 + 'team-update',
  77 + 'id' => $model->team_id,
  78 + ], [
  79 + 'title' => 'Редактировать',
77 80 ]);
78 81 },
79 82 'delete' => function($url, $model, $key) {
80   - return Html::a('<img src="/images/delete-ico.png" alt="">', ['team-delete', 'id' => $model->team_id], [
81   - 'title' => 'Удалить',
82   - 'aria-label' => 'Удалить',
  83 + return Html::a('<img src="/images/delete-ico.png" alt="">', [
  84 + 'team-delete',
  85 + 'id' => $model->team_id,
  86 + ], [
  87 + 'title' => 'Удалить',
  88 + 'aria-label' => 'Удалить',
83 89 'data-confirm' => 'Вы уверены, что хотите удалить этот элемент?',
84   - 'data-method' => 'post',
85   - 'data-pjax' => '0',
  90 + 'data-method' => 'post',
  91 + 'data-pjax' => '0',
86 92 ]);
87 93 },
88 94 ],
89   - 'template' => '{update} {delete}'
  95 + 'template' => '{update} {delete}',
90 96 ],
91 97 ],
92 98 ]); ?>
... ...
frontend/web/js/fieldWidget.js
1 1 $(function(){
  2 +
2 3 $(document).on('click', '.delete-field-item', function(){
3 4 var container = $(this).parents('.field_list').first();
4 5 $(this).parent('.form-group').remove();
... ...