Commit 9cc08528cac5f9e54f8a6dbe98f2a6c25b9a01f5
1 parent
37cb2820
test
Showing
6 changed files
with
59 additions
and
37 deletions
Show diff stats
common/models/Currency.php
... | ... | @@ -54,4 +54,9 @@ class Currency extends \yii\db\ActiveRecord |
54 | 54 | 'is_default' => Yii::t('app', 'Is Default'), |
55 | 55 | ]; |
56 | 56 | } |
57 | + | |
58 | + public static function getCurrencyDropdown() | |
59 | + { | |
60 | + return self::find()->select(['label', 'currency_id'])->indexBy('currency_id')->orderBy(['is_default' => SORT_DESC, 'currency_id' => SORT_ASC])->asArray()->column(); | |
61 | + } | |
57 | 62 | } | ... | ... |
common/models/UserInfo.php
... | ... | @@ -28,6 +28,7 @@ |
28 | 28 | * @property string $about |
29 | 29 | * @property integer $type |
30 | 30 | * @property string $geography |
31 | + * @property integer $salary_currency | |
31 | 32 | */ |
32 | 33 | class UserInfo extends \yii\db\ActiveRecord |
33 | 34 | { |
... | ... | @@ -68,6 +69,7 @@ |
68 | 69 | [ |
69 | 70 | 'is_customer', |
70 | 71 | 'is_freelancer', |
72 | + 'salary_currency', | |
71 | 73 | ], |
72 | 74 | 'integer', |
73 | 75 | ], |
... | ... | @@ -175,39 +177,40 @@ |
175 | 177 | public function attributeLabels() |
176 | 178 | { |
177 | 179 | return [ |
178 | - 'user_id' => Yii::t('app', 'User ID'), | |
179 | - 'view_count' => Yii::t('app', 'Количество просмотров'), | |
180 | - 'busy' => Yii::t('app', 'Статус'), | |
181 | - 'date_visit' => Yii::t('app', 'Дата визита'), | |
182 | - 'experience' => Yii::t('app', 'Опыт работы'), | |
183 | - 'rank' => Yii::t('app', 'Rank'), | |
184 | - 'salary' => Yii::t('app', 'Зарплата'), | |
185 | - 'job' => Yii::t('app', 'Место работы'), | |
186 | - 'location' => Yii::t('app', 'Место расположения'), | |
187 | - 'soft' => Yii::t('app', 'Работа с программами'), | |
188 | - 'user_info_id' => Yii::t('app', 'User Info ID'), | |
189 | - 'guarantee' => Yii::t('app', 'Гарантия качества работ'), | |
190 | - 'contract' => Yii::t('app', 'Работа по договору'), | |
191 | - 'estimate' => Yii::t('app', 'Предоставляете смету'), | |
192 | - 'purchase' => Yii::t('app', 'Делаете сами закупку материалов'), | |
193 | - 'delivery' => Yii::t('app', 'Занимаетесь сами доставкой материалов'), | |
194 | - 'prepayment' => Yii::t('app', 'Минимальная предоплата за работы'), | |
195 | - 'about' => Yii::t('app', 'О себе'), | |
196 | - 'type' => Yii::t('app', 'Is Default'), | |
197 | - 'member' => Yii::t('app', 'Членство в МФП'), | |
198 | - 'alt_location' => 'Город не в списке', | |
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', 'География работ'), | |
209 | - 'is_customer' => '', | |
210 | - 'is_freelancer' => '', | |
180 | + 'user_id' => Yii::t('app', 'User ID'), | |
181 | + 'view_count' => Yii::t('app', 'Количество просмотров'), | |
182 | + 'busy' => Yii::t('app', 'Статус'), | |
183 | + 'date_visit' => Yii::t('app', 'Дата визита'), | |
184 | + 'experience' => Yii::t('app', 'Опыт работы'), | |
185 | + 'rank' => Yii::t('app', 'Rank'), | |
186 | + 'salary' => Yii::t('app', 'Зарплата'), | |
187 | + 'job' => Yii::t('app', 'Место работы'), | |
188 | + 'location' => Yii::t('app', 'Место расположения'), | |
189 | + 'soft' => Yii::t('app', 'Работа с программами'), | |
190 | + 'user_info_id' => Yii::t('app', 'User Info ID'), | |
191 | + 'guarantee' => Yii::t('app', 'Гарантия качества работ'), | |
192 | + 'contract' => Yii::t('app', 'Работа по договору'), | |
193 | + 'estimate' => Yii::t('app', 'Предоставляете смету'), | |
194 | + 'purchase' => Yii::t('app', 'Делаете сами закупку материалов'), | |
195 | + 'delivery' => Yii::t('app', 'Занимаетесь сами доставкой материалов'), | |
196 | + 'prepayment' => Yii::t('app', 'Минимальная предоплата за работы'), | |
197 | + 'about' => Yii::t('app', 'О себе'), | |
198 | + 'type' => Yii::t('app', 'Is Default'), | |
199 | + 'member' => Yii::t('app', 'Членство в МФП'), | |
200 | + 'alt_location' => 'Город не в списке', | |
201 | + 'country' => Yii::t('app', 'Страна'), | |
202 | + 'city' => Yii::t('app', 'Город'), | |
203 | + 'image' => Yii::t('app', 'Аватар'), | |
204 | + 'poster' => Yii::t('app', 'Подложка'), | |
205 | + 'social_vk' => Yii::t('app', 'Vk.com'), | |
206 | + 'social_fb' => Yii::t('app', 'FaceBook.com'), | |
207 | + 'social_in' => Yii::t('app', 'LinkedIn.com'), | |
208 | + 'social_t' => Yii::t('app', 'Twitter.com'), | |
209 | + 'geography' => Yii::t('app', 'География работ'), | |
210 | + 'geographies' => Yii::t('app', 'География работ'), | |
211 | + 'salary_currency' => Yii::t('app', 'Валюта'), | |
212 | + 'is_customer' => '', | |
213 | + 'is_freelancer' => '', | |
211 | 214 | |
212 | 215 | ]; |
213 | 216 | } | ... | ... |
console/migrations/m160217_092739_currency_table.php
... | ... | @@ -16,6 +16,7 @@ |
16 | 16 | 'date_update' => $this->timestamp()->defaultExpression('NOW()') |
17 | 17 | ->notNull(), |
18 | 18 | 'is_default' => $this->smallInteger(), |
19 | + 'label' => $this->string(), | |
19 | 20 | ]); |
20 | 21 | $this->batchInsert('{{%currency}}', [ |
21 | 22 | 'currency_id', |
... | ... | @@ -24,6 +25,7 @@ |
24 | 25 | 'code', |
25 | 26 | 'rate', |
26 | 27 | 'is_default', |
28 | + 'string', | |
27 | 29 | ], [ |
28 | 30 | [ |
29 | 31 | 1, |
... | ... | @@ -32,6 +34,7 @@ |
32 | 34 | 'USD', |
33 | 35 | 27.31, |
34 | 36 | 0, |
37 | + '$', | |
35 | 38 | ], |
36 | 39 | [ |
37 | 40 | 2, |
... | ... | @@ -39,7 +42,8 @@ |
39 | 42 | '€', |
40 | 43 | 'EUR', |
41 | 44 | 30.28, |
42 | - 0 | |
45 | + 0, | |
46 | + '€', | |
43 | 47 | ], |
44 | 48 | [ |
45 | 49 | 3, |
... | ... | @@ -48,6 +52,7 @@ |
48 | 52 | 'UAH', |
49 | 53 | 1, |
50 | 54 | 1, |
55 | + 'грн.', | |
51 | 56 | ], |
52 | 57 | [ |
53 | 58 | 4, |
... | ... | @@ -56,6 +61,7 @@ |
56 | 61 | 'RUB', |
57 | 62 | 0.34, |
58 | 63 | 0, |
64 | + 'руб.', | |
59 | 65 | ], |
60 | 66 | ]); |
61 | 67 | } | ... | ... |
frontend/controllers/AccountsController.php
... | ... | @@ -5,6 +5,7 @@ |
5 | 5 | use common\models\BlogSearch; |
6 | 6 | use common\models\CompanyInfo; |
7 | 7 | use common\models\Country; |
8 | + use common\models\Currency; | |
8 | 9 | use common\models\Department; |
9 | 10 | use common\models\Employment; |
10 | 11 | use common\models\Fields; |
... | ... | @@ -777,6 +778,7 @@ |
777 | 778 | ->indexBy('payment_id') |
778 | 779 | ->asArray() |
779 | 780 | ->column(); |
781 | + $currencies = | |
780 | 782 | $post = \Yii::$app->request->post(); |
781 | 783 | if(!empty( $post )) { |
782 | 784 | $user_info->load($post); | ... | ... |
frontend/views/accounts/_projects_form.php
... | ... | @@ -5,6 +5,7 @@ |
5 | 5 | * @var Payment[] $payment |
6 | 6 | * @var string[] $projects |
7 | 7 | */ |
8 | + use common\models\Currency; | |
8 | 9 | use common\models\Payment; |
9 | 10 | use common\models\Project; |
10 | 11 | use common\models\Specialization; |
... | ... | @@ -125,8 +126,9 @@ |
125 | 126 | ->textInput (['class'=> 'custom-input-2','type'=>'number']) ?> |
126 | 127 | </div> |
127 | 128 | <div class="input-blocks home-input"> |
128 | - <?= $form->field($project, 'budget') | |
129 | - ->textInput (['class'=> 'custom-input-2','type'=>'number']) ?> | |
129 | + <?= | |
130 | + $form->field($project, 'budget_currency')->label(false)->dropDownList(Currency::getCurrencyDropdown(), ['class'=> 'custom-input-2']); | |
131 | + ?> | |
130 | 132 | </div> |
131 | 133 | <div class="input-blocks home-input"> |
132 | 134 | <?= $form->field($project, 'contractual') | ... | ... |
frontend/views/accounts/service.php
... | ... | @@ -5,6 +5,7 @@ |
5 | 5 | * @var string[] $specialization |
6 | 6 | * @var string[] $payment |
7 | 7 | */ |
8 | + use common\models\Currency; | |
8 | 9 | use common\models\Specialization; |
9 | 10 | use common\models\User; |
10 | 11 | use common\models\UserInfo; |
... | ... | @@ -31,8 +32,11 @@ |
31 | 32 | ?> |
32 | 33 | <div class="input-blocks-wrapper"> |
33 | 34 | <div class="input-blocks"> |
35 | + <?= | |
36 | + $form->field($user_info, 'salary_currency')->label(false)->dropDownList(Currency::getCurrencyDropdown()); | |
37 | + ?> | |
34 | 38 | <?= $form->field($user_info, 'salary', [ |
35 | - 'template' => "{label}<br /><span class='admn-input-txt'>от</span>{input}<span class='admn-input-txt'><span style='color: red'>ВЫБОР ВАЛЮТЫ!!!!!!!</span>за час</span>\n{hint}\n{error}", | |
39 | + 'template' => "{label}<br /><span class='admn-input-txt'>от</span>{input}<span class='admn-input-txt'>за час</span>\n{hint}\n{error}", | |
36 | 40 | 'options' => [ 'class' => 'form-inline' ], |
37 | 41 | ]) |
38 | 42 | ->label('Стоимость работ') | ... | ... |