Commit 9cc08528cac5f9e54f8a6dbe98f2a6c25b9a01f5

Authored by Yarik
1 parent 37cb2820

test

common/models/Currency.php
@@ -54,4 +54,9 @@ class Currency extends \yii\db\ActiveRecord @@ -54,4 +54,9 @@ class Currency extends \yii\db\ActiveRecord
54 'is_default' => Yii::t('app', 'Is Default'), 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,6 +28,7 @@
28 * @property string $about 28 * @property string $about
29 * @property integer $type 29 * @property integer $type
30 * @property string $geography 30 * @property string $geography
  31 + * @property integer $salary_currency
31 */ 32 */
32 class UserInfo extends \yii\db\ActiveRecord 33 class UserInfo extends \yii\db\ActiveRecord
33 { 34 {
@@ -68,6 +69,7 @@ @@ -68,6 +69,7 @@
68 [ 69 [
69 'is_customer', 70 'is_customer',
70 'is_freelancer', 71 'is_freelancer',
  72 + 'salary_currency',
71 ], 73 ],
72 'integer', 74 'integer',
73 ], 75 ],
@@ -175,39 +177,40 @@ @@ -175,39 +177,40 @@
175 public function attributeLabels() 177 public function attributeLabels()
176 { 178 {
177 return [ 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,6 +16,7 @@
16 'date_update' => $this->timestamp()->defaultExpression('NOW()') 16 'date_update' => $this->timestamp()->defaultExpression('NOW()')
17 ->notNull(), 17 ->notNull(),
18 'is_default' => $this->smallInteger(), 18 'is_default' => $this->smallInteger(),
  19 + 'label' => $this->string(),
19 ]); 20 ]);
20 $this->batchInsert('{{%currency}}', [ 21 $this->batchInsert('{{%currency}}', [
21 'currency_id', 22 'currency_id',
@@ -24,6 +25,7 @@ @@ -24,6 +25,7 @@
24 'code', 25 'code',
25 'rate', 26 'rate',
26 'is_default', 27 'is_default',
  28 + 'string',
27 ], [ 29 ], [
28 [ 30 [
29 1, 31 1,
@@ -32,6 +34,7 @@ @@ -32,6 +34,7 @@
32 'USD', 34 'USD',
33 27.31, 35 27.31,
34 0, 36 0,
  37 + '$',
35 ], 38 ],
36 [ 39 [
37 2, 40 2,
@@ -39,7 +42,8 @@ @@ -39,7 +42,8 @@
39 '€', 42 '€',
40 'EUR', 43 'EUR',
41 30.28, 44 30.28,
42 - 0 45 + 0,
  46 + '€',
43 ], 47 ],
44 [ 48 [
45 3, 49 3,
@@ -48,6 +52,7 @@ @@ -48,6 +52,7 @@
48 'UAH', 52 'UAH',
49 1, 53 1,
50 1, 54 1,
  55 + 'грн.',
51 ], 56 ],
52 [ 57 [
53 4, 58 4,
@@ -56,6 +61,7 @@ @@ -56,6 +61,7 @@
56 'RUB', 61 'RUB',
57 0.34, 62 0.34,
58 0, 63 0,
  64 + 'руб.',
59 ], 65 ],
60 ]); 66 ]);
61 } 67 }
frontend/controllers/AccountsController.php
@@ -5,6 +5,7 @@ @@ -5,6 +5,7 @@
5 use common\models\BlogSearch; 5 use common\models\BlogSearch;
6 use common\models\CompanyInfo; 6 use common\models\CompanyInfo;
7 use common\models\Country; 7 use common\models\Country;
  8 + use common\models\Currency;
8 use common\models\Department; 9 use common\models\Department;
9 use common\models\Employment; 10 use common\models\Employment;
10 use common\models\Fields; 11 use common\models\Fields;
@@ -777,6 +778,7 @@ @@ -777,6 +778,7 @@
777 ->indexBy('payment_id') 778 ->indexBy('payment_id')
778 ->asArray() 779 ->asArray()
779 ->column(); 780 ->column();
  781 + $currencies =
780 $post = \Yii::$app->request->post(); 782 $post = \Yii::$app->request->post();
781 if(!empty( $post )) { 783 if(!empty( $post )) {
782 $user_info->load($post); 784 $user_info->load($post);
frontend/views/accounts/_projects_form.php
@@ -5,6 +5,7 @@ @@ -5,6 +5,7 @@
5 * @var Payment[] $payment 5 * @var Payment[] $payment
6 * @var string[] $projects 6 * @var string[] $projects
7 */ 7 */
  8 + use common\models\Currency;
8 use common\models\Payment; 9 use common\models\Payment;
9 use common\models\Project; 10 use common\models\Project;
10 use common\models\Specialization; 11 use common\models\Specialization;
@@ -125,8 +126,9 @@ @@ -125,8 +126,9 @@
125 ->textInput (['class'=> 'custom-input-2','type'=>'number']) ?> 126 ->textInput (['class'=> 'custom-input-2','type'=>'number']) ?>
126 </div> 127 </div>
127 <div class="input-blocks home-input"> 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 </div> 132 </div>
131 <div class="input-blocks home-input"> 133 <div class="input-blocks home-input">
132 <?= $form->field($project, 'contractual') 134 <?= $form->field($project, 'contractual')
frontend/views/accounts/service.php
@@ -5,6 +5,7 @@ @@ -5,6 +5,7 @@
5 * @var string[] $specialization 5 * @var string[] $specialization
6 * @var string[] $payment 6 * @var string[] $payment
7 */ 7 */
  8 + use common\models\Currency;
8 use common\models\Specialization; 9 use common\models\Specialization;
9 use common\models\User; 10 use common\models\User;
10 use common\models\UserInfo; 11 use common\models\UserInfo;
@@ -31,8 +32,11 @@ @@ -31,8 +32,11 @@
31 ?> 32 ?>
32 <div class="input-blocks-wrapper"> 33 <div class="input-blocks-wrapper">
33 <div class="input-blocks"> 34 <div class="input-blocks">
  35 + <?=
  36 + $form->field($user_info, 'salary_currency')->label(false)->dropDownList(Currency::getCurrencyDropdown());
  37 + ?>
34 <?= $form->field($user_info, 'salary', [ 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 'options' => [ 'class' => 'form-inline' ], 40 'options' => [ 'class' => 'form-inline' ],
37 ]) 41 ])
38 ->label('Стоимость работ') 42 ->label('Стоимость работ')