Commit d02fd466ade19613365baef18ffb58add51b8aa8
1 parent
6f9635de
test
Showing
16 changed files
with
203 additions
and
37 deletions
Show diff stats
1 | +<?php | |
2 | + | |
3 | +namespace common\models; | |
4 | + | |
5 | +use Yii; | |
6 | + | |
7 | +/** | |
8 | + * This is the model class for table "currency". | |
9 | + * | |
10 | + * @property integer $currency_id | |
11 | + * @property string $name | |
12 | + * @property string $symbol | |
13 | + * @property string $code | |
14 | + * @property double $rate | |
15 | + * @property string $date_update | |
16 | + * @property integer $is_default | |
17 | + */ | |
18 | +class Currency extends \yii\db\ActiveRecord | |
19 | +{ | |
20 | + /** | |
21 | + * @inheritdoc | |
22 | + */ | |
23 | + public static function tableName() | |
24 | + { | |
25 | + return 'currency'; | |
26 | + } | |
27 | + | |
28 | + /** | |
29 | + * @inheritdoc | |
30 | + */ | |
31 | + public function rules() | |
32 | + { | |
33 | + return [ | |
34 | + [['rate'], 'number'], | |
35 | + [['date_update'], 'safe'], | |
36 | + [['is_default'], 'integer'], | |
37 | + [['name', 'symbol'], 'string', 'max' => 255], | |
38 | + [['code'], 'string', 'max' => 3], | |
39 | + ]; | |
40 | + } | |
41 | + | |
42 | + /** | |
43 | + * @inheritdoc | |
44 | + */ | |
45 | + public function attributeLabels() | |
46 | + { | |
47 | + return [ | |
48 | + 'currency_id' => Yii::t('app', 'Currency ID'), | |
49 | + 'name' => Yii::t('app', 'Name'), | |
50 | + 'symbol' => Yii::t('app', 'Symbol'), | |
51 | + 'code' => Yii::t('app', 'Code'), | |
52 | + 'rate' => Yii::t('app', 'Rate'), | |
53 | + 'date_update' => Yii::t('app', 'Date Update'), | |
54 | + 'is_default' => Yii::t('app', 'Is Default'), | |
55 | + ]; | |
56 | + } | |
57 | +} | ... | ... |
common/models/Project.php
... | ... | @@ -73,7 +73,6 @@ |
73 | 73 | ], |
74 | 74 | [ |
75 | 75 | [ |
76 | - 'deadline', | |
77 | 76 | 'project_pid', |
78 | 77 | 'payment_variant', |
79 | 78 | 'contractual', |
... | ... | @@ -116,6 +115,16 @@ |
116 | 115 | 'default', |
117 | 116 | 'value' => [ ], |
118 | 117 | ], |
118 | + [ | |
119 | + ['deadline'], | |
120 | + 'integer', | |
121 | + 'min' => 1, | |
122 | + ], | |
123 | + [ | |
124 | + ['deadline'], | |
125 | + 'default', | |
126 | + 'value' => 1, | |
127 | + ], | |
119 | 128 | ]; |
120 | 129 | } |
121 | 130 | ... | ... |
common/models/Team.php
common/models/UserInfo.php
... | ... | @@ -3,6 +3,8 @@ |
3 | 3 | namespace common\models; |
4 | 4 | |
5 | 5 | use Yii; |
6 | + use yii\behaviors\AttributeBehavior; | |
7 | + use yii\db\ActiveRecord; | |
6 | 8 | |
7 | 9 | /** |
8 | 10 | * This is the model class for table "user_info". |
... | ... | @@ -25,6 +27,7 @@ |
25 | 27 | * @property double $prepayment |
26 | 28 | * @property string $about |
27 | 29 | * @property integer $type |
30 | + * @property string $geography | |
28 | 31 | */ |
29 | 32 | class UserInfo extends \yii\db\ActiveRecord |
30 | 33 | { |
... | ... | @@ -69,7 +72,10 @@ |
69 | 72 | 'integer', |
70 | 73 | ], |
71 | 74 | [ |
72 | - [ 'date_visit' ], | |
75 | + [ | |
76 | + 'date_visit', | |
77 | + 'geographies', | |
78 | + ], | |
73 | 79 | 'safe', |
74 | 80 | ], |
75 | 81 | [ |
... | ... | @@ -91,6 +97,7 @@ |
91 | 97 | [ 'prepayment' ], |
92 | 98 | 'number', |
93 | 99 | 'min' => 1, |
100 | + 'max' => 100, | |
94 | 101 | ], |
95 | 102 | [ |
96 | 103 | [ 'experience' ], |
... | ... | @@ -130,12 +137,22 @@ |
130 | 137 | 'boolean', |
131 | 138 | ], |
132 | 139 | [ |
133 | - [ 'view_count', 'busy', 'member', 'salary', 'guarantee', 'prepayment' ], | |
140 | + [ | |
141 | + 'view_count', | |
142 | + 'busy', | |
143 | + 'member', | |
144 | + 'salary', | |
145 | + 'guarantee', | |
146 | + 'prepayment', | |
147 | + ], | |
134 | 148 | 'default', |
135 | 149 | 'value' => 0, |
136 | 150 | ], |
137 | 151 | [ |
138 | - ['salary', 'guarantee'], | |
152 | + [ | |
153 | + 'salary', | |
154 | + 'guarantee', | |
155 | + ], | |
139 | 156 | 'integer', |
140 | 157 | 'min' => 0, |
141 | 158 | ], |
... | ... | @@ -177,19 +194,37 @@ |
177 | 194 | 'prepayment' => Yii::t('app', 'Минимальная предоплата за работы'), |
178 | 195 | 'about' => Yii::t('app', 'О себе'), |
179 | 196 | 'type' => Yii::t('app', 'Is Default'), |
180 | - 'member' => Yii::t('app', 'Членство в МФП'), | |
197 | + 'member' => Yii::t('app', 'Членство в МФП'), | |
181 | 198 | 'alt_location' => 'Город не в списке', |
182 | - 'country' => Yii::t('app', 'Страна'), | |
183 | - 'city' => Yii::t('app', 'Город'), | |
184 | - 'image' => Yii::t('app', 'Аватар'), | |
185 | - 'poster' => Yii::t('app', 'Подложка'), | |
186 | - 'social_vk' => Yii::t('app', 'Vk.com'), | |
187 | - 'social_fb' => Yii::t('app', 'FaceBook.com'), | |
188 | - 'social_in' => Yii::t('app', 'LinkedIn.com'), | |
189 | - 'social_t' => Yii::t('app', 'Twitter.com'), | |
199 | + 'country' => Yii::t('app', 'Страна'), | |
200 | + 'city' => Yii::t('app', 'Город'), | |
201 | + 'image' => Yii::t('app', 'Аватар'), | |
202 | + 'poster' => Yii::t('app', 'Подложка'), | |
203 | + 'social_vk' => Yii::t('app', 'Vk.com'), | |
204 | + 'social_fb' => Yii::t('app', 'FaceBook.com'), | |
205 | + 'social_in' => Yii::t('app', 'LinkedIn.com'), | |
206 | + 'social_t' => Yii::t('app', 'Twitter.com'), | |
207 | + 'geography' => Yii::t('app', 'География работ'), | |
208 | + 'geographies' => Yii::t('app', 'География работ'), | |
190 | 209 | 'is_customer' => '', |
191 | 210 | 'is_freelancer' => '', |
192 | 211 | |
193 | 212 | ]; |
194 | 213 | } |
214 | + | |
215 | + public function beforeSave($insert) | |
216 | + { | |
217 | + $this->geography = json_encode($this->geographies, JSON_UNESCAPED_UNICODE); | |
218 | + return parent::beforeSave($insert); | |
219 | + } | |
220 | + | |
221 | + public function getGeographies() | |
222 | + { | |
223 | + return json_decode($this->geography); | |
224 | + } | |
225 | + | |
226 | + public function setGeographies($value) | |
227 | + { | |
228 | + $this->geographies = $value; | |
229 | + } | |
195 | 230 | } | ... | ... |
console/migrations/m160217_131655_currency_connection.php
0 → 100644
1 | +<?php | |
2 | + | |
3 | +use yii\db\Migration; | |
4 | + | |
5 | +class m160217_131655_currency_connection extends Migration | |
6 | +{ | |
7 | + public function up() | |
8 | + { | |
9 | + $this->addColumn('{{%user_info}}', 'salary_currency', $this->integer()->defaultValue(3)); | |
10 | + $this->addColumn('{{%vacancy}}', 'salary_currency', $this->integer()->defaultValue(3)); | |
11 | + $this->addColumn('{{%project}}', 'budget_currency', $this->integer()->defaultValue(3)); | |
12 | + $this->addForeignKey('user_info_salary_currency', '{{%user_info}}', 'salary_currency', '{{%currency}}', 'currency_id', 'SET DEFAULT', 'CASCADE'); | |
13 | + $this->addForeignKey('vacancy_salary_currency', '{{%vacancy}}', 'salary_currency', '{{%currency}}', 'currency_id', 'SET DEFAULT', 'CASCADE'); | |
14 | + $this->addForeignKey('project_budget_currency', '{{%project}}', 'budget_currency', '{{%currency}}', 'currency_id', 'SET DEFAULT', 'CASCADE'); | |
15 | + } | |
16 | + | |
17 | + public function down() | |
18 | + { | |
19 | + $this->dropForeignKey('user_info_salary_currency', '{{%user_info}}'); | |
20 | + $this->dropForeignKey('vacancy_salary_currency', '{{%vacancy}}'); | |
21 | + $this->dropForeignKey('project_budget_currency', '{{%project}}'); | |
22 | + $this->dropColumn('{{%user_info}}', 'salary_currency'); | |
23 | + $this->dropColumn('{{%vacancy}}', 'salary_currency'); | |
24 | + $this->dropColumn('{{%project}}', 'budget_currency'); | |
25 | + } | |
26 | +} | ... | ... |
frontend/controllers/AccountsController.php
... | ... | @@ -668,14 +668,7 @@ |
668 | 668 | if(!$project instanceof ActiveRecord) { |
669 | 669 | throw new NotFoundHttpException('Запись не найдена'); |
670 | 670 | } |
671 | - $specialization = Specialization::find() | |
672 | - ->select([ | |
673 | - 'specialization_name', | |
674 | - 'specialization_id', | |
675 | - ]) | |
676 | - ->indexBy('specialization_id') | |
677 | - ->asArray() | |
678 | - ->column(); | |
671 | + $specializations = Specialization::find()->where(['specialization_pid' => 0])->orderBy('specialization_id')->all(); | |
679 | 672 | $payment = Payment::find() |
680 | 673 | ->select([ |
681 | 674 | 'name', |
... | ... | @@ -726,7 +719,7 @@ |
726 | 719 | } |
727 | 720 | return $this->render('_projects_form', [ |
728 | 721 | 'project' => $project, |
729 | - 'specialization' => $specialization, | |
722 | + 'specializations' => $specializations, | |
730 | 723 | 'payment' => $payment, |
731 | 724 | 'projects' => $projects, |
732 | 725 | ]); | ... | ... |
frontend/views/accounts/_team_form.php
... | ... | @@ -72,7 +72,7 @@ |
72 | 72 | <div class="input-blocks-wrapper"> |
73 | 73 | <div class="input-blocks"> |
74 | 74 | <?= $form->field($team, 'experience_from', [ 'template' => "{label},<span style='font-weight: 700;font-size: 13px'>лет</span><br /><span class='admn-input-txt' style='margin-right: 10px'>с</span>{input}<span class='admn-input-txt' style='margin-left: 10px'>года</span> \n{hint}\n{error}" ]) |
75 | - ->textInput (['class'=> 'custom-input-2 custom-input-2-date','type'=>'number'])?> | |
75 | + ->textInput (['class'=> 'custom-input-2 custom-input-2-date','type'=>'number', 'min' => 1950, 'max' => date('Y')])?> | |
76 | 76 | </div> |
77 | 77 | </div> |
78 | 78 | ... | ... |
frontend/views/accounts/service.php
... | ... | @@ -8,8 +8,10 @@ |
8 | 8 | use common\models\Specialization; |
9 | 9 | use common\models\User; |
10 | 10 | use common\models\UserInfo; |
11 | + use kartik\select2\Select2; | |
11 | 12 | use yii\helpers\ArrayHelper; |
12 | 13 | use yii\helpers\Html; |
14 | + use yii\web\JsExpression; | |
13 | 15 | use yii\widgets\ActiveForm; |
14 | 16 | |
15 | 17 | $this->title = 'Услуги'; |
... | ... | @@ -71,8 +73,24 @@ |
71 | 73 | </ul> |
72 | 74 | </div> |
73 | 75 | <div class="input-blocks-wrapper"> |
74 | - <div class="input-blocks" style="color: red"> | |
75 | - Гоеграфия работ????????????? | |
76 | + <div class="input-blocks"> | |
77 | + <?= | |
78 | + $form->field($user_info, 'geographies')->widget(Select2::classname(), [ | |
79 | + 'options' => ['placeholder' => 'Выбор города ...', 'multiple' => true], | |
80 | + 'pluginOptions' => [ | |
81 | + 'allowClear' => true, | |
82 | + 'minimumInputLength' => 3, | |
83 | + 'ajax' => [ | |
84 | + 'url' => \yii\helpers\Url::to(['site/city']), | |
85 | + 'dataType' => 'json', | |
86 | + 'data' => new JsExpression('function(params) { return {q:params.term}; }') | |
87 | + ], | |
88 | + 'escapeMarkup' => new JsExpression('function (markup) { return markup; }'), | |
89 | + 'templateResult' => new JsExpression('function(city) { return city.text; }'), | |
90 | + 'templateSelection' => new JsExpression('function (city) { return city.text; }'), | |
91 | + ], | |
92 | + ]); | |
93 | + ?> | |
76 | 94 | </div> |
77 | 95 | </div> |
78 | 96 | <div class="input-blocks-wrapper"> | ... | ... |
frontend/views/layouts/admin.php
frontend/views/layouts/company.php
... | ... | @@ -162,4 +162,11 @@ $this->beginContent('@app/views/layouts/main.php'); |
162 | 162 | /*====End of blocks created in view====*/ |
163 | 163 | ?> |
164 | 164 | </div> |
165 | + <script> | |
166 | + $('div.rating').rating({ | |
167 | + fx: 'full', | |
168 | + readOnly: 'true', | |
169 | + url: 'rating.php' | |
170 | + }); | |
171 | + </script> | |
165 | 172 | <?php $this->endContent() ?> |
166 | 173 | \ No newline at end of file | ... | ... |
frontend/views/layouts/gallery-company.php
... | ... | @@ -118,4 +118,11 @@ $this->beginContent('@app/views/layouts/main.php'); |
118 | 118 | </div> |
119 | 119 | </div> |
120 | 120 | </div> |
121 | + <script> | |
122 | + $('div.rating').rating({ | |
123 | + fx: 'full', | |
124 | + readOnly: 'true', | |
125 | + url: 'rating.php' | |
126 | + }); | |
127 | + </script> | |
121 | 128 | <?php $this->endContent() ?> |
122 | 129 | \ No newline at end of file | ... | ... |
frontend/views/layouts/gallery.php
... | ... | @@ -107,5 +107,12 @@ $this->beginContent('@app/views/layouts/main.php'); |
107 | 107 | </div> |
108 | 108 | </div> |
109 | 109 | </div> |
110 | + <script> | |
111 | + $('div.rating').rating({ | |
112 | + fx: 'full', | |
113 | + readOnly: 'true', | |
114 | + url: 'rating.php' | |
115 | + }); | |
116 | + </script> | |
110 | 117 | |
111 | 118 | <?php $this->endContent() ?> |
112 | 119 | \ No newline at end of file | ... | ... |
frontend/views/layouts/main.php
... | ... | @@ -153,7 +153,7 @@ AppAsset::register($this); |
153 | 153 | ], |
154 | 154 | 'items' => [ |
155 | 155 | [ |
156 | - 'url' => ['accounts/projects'], | |
156 | + 'url' => ['/projects'], | |
157 | 157 | 'template' => '<a href="{url}" class="main-menu-icons-home"></a>', |
158 | 158 | ], |
159 | 159 | [ |
... | ... | @@ -368,13 +368,6 @@ AppAsset::register($this); |
368 | 368 | </div> |
369 | 369 | </div> |
370 | 370 | </div> |
371 | -<script> | |
372 | - $('div.rating').rating({ | |
373 | - fx: 'full', | |
374 | - readOnly: 'true', | |
375 | - url: 'rating.php' | |
376 | - }); | |
377 | -</script> | |
378 | 371 | <?php $this->endBody() ?> |
379 | 372 | |
380 | 373 | </body> | ... | ... |
frontend/views/layouts/performer.php
... | ... | @@ -140,5 +140,12 @@ $this->beginContent('@app/views/layouts/main.php'); |
140 | 140 | </div> |
141 | 141 | |
142 | 142 | </div> |
143 | + <script> | |
144 | + $('div.rating').rating({ | |
145 | + fx: 'full', | |
146 | + readOnly: 'true', | |
147 | + url: 'rating.php' | |
148 | + }); | |
149 | + </script> | |
143 | 150 | |
144 | 151 | <?php $this->endContent() ?> |
145 | 152 | \ No newline at end of file | ... | ... |
frontend/views/performer/_gallery_list_view.php
... | ... | @@ -2,7 +2,7 @@ |
2 | 2 | use yii\helpers\Html; |
3 | 3 | ?> |
4 | 4 | <div class="gallery-box"> |
5 | - <a href="#" class="gallery-box-min"><?= Html::img($model->cover)?></a> | |
5 | + <a href="#" class="gallery-box-min" title="<?=$model->name?>"><?= Html::img($model->cover)?></a> | |
6 | 6 | <div class="gallery-box-hidden"> |
7 | 7 | <div class="gallery-box-preview"> |
8 | 8 | <?php foreach($model->ShowGallery($model->photo ) as $image):?> | ... | ... |
frontend/views/tender/view.php
... | ... | @@ -381,4 +381,11 @@ $this->title = 'My Yii Application'; |
381 | 381 | </div> |
382 | 382 | </div> |
383 | 383 | </div> |
384 | -</div> | |
385 | 384 | \ No newline at end of file |
385 | +</div> | |
386 | +<script> | |
387 | + $('div.rating, div.rating-new').rating({ | |
388 | + fx: 'full', | |
389 | + readOnly: 'true', | |
390 | + url: 'rating.php' | |
391 | + }); | |
392 | +</script> | |
386 | 393 | \ No newline at end of file | ... | ... |