Commit 2bb287cd81165f7ccffc5e21db0067a0e977ed2b
Merge remote-tracking branch 'origin/master'
Showing
13 changed files
with
720 additions
and
240 deletions
Show diff stats
1 | +<?php | ||
2 | + | ||
3 | + namespace common\models; | ||
4 | + | ||
5 | + use Yii; | ||
6 | + use yii\base\Model; | ||
7 | + use yii\data\ActiveDataProvider; | ||
8 | + use common\models\User; | ||
9 | + | ||
10 | + /** | ||
11 | + * CustomerSearch represents the model behind the search form about `common\models\UserInfo`. | ||
12 | + */ | ||
13 | + class CustomerSearch extends User | ||
14 | + { | ||
15 | + | ||
16 | + public $type; | ||
17 | + | ||
18 | + public $rating; | ||
19 | + | ||
20 | + public $online; | ||
21 | + | ||
22 | + public $city; | ||
23 | + | ||
24 | + public $info; | ||
25 | + | ||
26 | + /** | ||
27 | + * @inheritdoc | ||
28 | + */ | ||
29 | + public function rules() | ||
30 | + { | ||
31 | + return [ | ||
32 | + [ | ||
33 | + [ | ||
34 | + 'type', | ||
35 | + 'rating', | ||
36 | + 'online', | ||
37 | + ], | ||
38 | + 'integer', | ||
39 | + ], | ||
40 | + [ | ||
41 | + [ | ||
42 | + 'city', | ||
43 | + 'info', | ||
44 | + ], | ||
45 | + 'safe', | ||
46 | + ], | ||
47 | + ]; | ||
48 | + } | ||
49 | + | ||
50 | + /** | ||
51 | + * @inheritdoc | ||
52 | + */ | ||
53 | + public function attributeLabels() | ||
54 | + { | ||
55 | + return [ | ||
56 | + 'type' => Yii::t('app', 'Тип заказчика'), | ||
57 | + 'rating' => Yii::t('app', 'Рейтинг'), | ||
58 | + 'online' => Yii::t('app', 'Статус'), | ||
59 | + 'city' => Yii::t('app', 'Город'), | ||
60 | + 'info' => Yii::t('app', 'Любая информация о заказчике'), | ||
61 | + ]; | ||
62 | + } | ||
63 | + | ||
64 | + /** | ||
65 | + * @inheritdoc | ||
66 | + */ | ||
67 | + public function scenarios() | ||
68 | + { | ||
69 | + // bypass scenarios() implementation in the parent class | ||
70 | + return Model::scenarios(); | ||
71 | + } | ||
72 | + | ||
73 | + /** | ||
74 | + * Creates data provider instance with search query applied | ||
75 | + * | ||
76 | + * @param array $params | ||
77 | + * | ||
78 | + * @return ActiveDataProvider | ||
79 | + */ | ||
80 | + public function search($params) | ||
81 | + { | ||
82 | + $query = User::find() | ||
83 | + ->joinWith('userInfo') | ||
84 | + ->joinWith('companyInfo'); | ||
85 | + | ||
86 | + $dataProvider = new ActiveDataProvider([ | ||
87 | + 'query' => $query, | ||
88 | + ]); | ||
89 | + | ||
90 | + $this->load($params); | ||
91 | + | ||
92 | + if(!$this->validate()) { | ||
93 | + // uncomment the following line if you do not want to return any records when validation fails | ||
94 | + // $query->where('0=1'); | ||
95 | + return $dataProvider; | ||
96 | + } | ||
97 | + | ||
98 | + $query->andWhere([ | ||
99 | + 'is_customer' => 1, | ||
100 | + ]); | ||
101 | + | ||
102 | + if($this->type == 2) { | ||
103 | + $query->andWhere([ | ||
104 | + 'not', | ||
105 | + [ 'company_info.company_info_id' => NULL ], | ||
106 | + ]); | ||
107 | + | ||
108 | + $query->andWhere([ | ||
109 | + 'type' => 2, | ||
110 | + ]); | ||
111 | + } elseif($this->type == 1) { | ||
112 | + $query->andWhere([ | ||
113 | + 'type' => 1, | ||
114 | + ]); | ||
115 | + } | ||
116 | + | ||
117 | + if($this->online == 1) { | ||
118 | + $query->andWhere([ | ||
119 | + '>=', | ||
120 | + 'user_info.date_visit', | ||
121 | + date('Y-m-d H:i:s.u', time() - 1800), | ||
122 | + ]); | ||
123 | + } | ||
124 | + | ||
125 | + $query->andFilterWhere([ | ||
126 | + 'like', | ||
127 | + 'user_info.city', | ||
128 | + $this->city, | ||
129 | + ])->andFilterWhere([ | ||
130 | + 'or', | ||
131 | + [ | ||
132 | + 'like', | ||
133 | + 'LOWER(username)', | ||
134 | + mb_strtolower($this->info), | ||
135 | + ], | ||
136 | + [ | ||
137 | + 'like', | ||
138 | + 'LOWER(lastname)', | ||
139 | + mb_strtolower($this->info), | ||
140 | + ], | ||
141 | + [ | ||
142 | + 'like', | ||
143 | + 'LOWER(firstname)', | ||
144 | + mb_strtolower($this->info), | ||
145 | + ], | ||
146 | + [ | ||
147 | + 'like', | ||
148 | + 'LOWER(middlename)', | ||
149 | + mb_strtolower($this->info), | ||
150 | + ], | ||
151 | + [ | ||
152 | + 'like', | ||
153 | + 'LOWER(company_info.name)', | ||
154 | + mb_strtolower($this->info), | ||
155 | + ], | ||
156 | + [ | ||
157 | + 'like', | ||
158 | + 'LOWER(company_info.street)', | ||
159 | + mb_strtolower($this->info), | ||
160 | + ], | ||
161 | + [ | ||
162 | + 'like', | ||
163 | + 'LOWER(user_info.country)', | ||
164 | + mb_strtolower($this->info), | ||
165 | + ], | ||
166 | + [ | ||
167 | + 'like', | ||
168 | + 'LOWER(user_info.city)', | ||
169 | + mb_strtolower($this->info), | ||
170 | + ], | ||
171 | + [ | ||
172 | + 'like', | ||
173 | + 'LOWER(user_info.about)', | ||
174 | + mb_strtolower($this->info), | ||
175 | + ], | ||
176 | + ]); | ||
177 | + | ||
178 | + return $dataProvider; | ||
179 | + } | ||
180 | + } |
common/models/User.php
1 | <?php | 1 | <?php |
2 | namespace common\models; | 2 | namespace common\models; |
3 | 3 | ||
4 | + use common\modules\comment\models\Comment; | ||
5 | + use common\modules\comment\models\Rating; | ||
4 | use Yii; | 6 | use Yii; |
7 | + use yii\base\InvalidConfigException; | ||
5 | use yii\base\NotSupportedException; | 8 | use yii\base\NotSupportedException; |
6 | use yii\behaviors\TimestampBehavior; | 9 | use yii\behaviors\TimestampBehavior; |
7 | use yii\db\ActiveQuery; | 10 | use yii\db\ActiveQuery; |
@@ -13,17 +16,18 @@ | @@ -13,17 +16,18 @@ | ||
13 | 16 | ||
14 | /** | 17 | /** |
15 | * User model | 18 | * User model |
16 | - * @property integer $id | ||
17 | - * @property string $username | ||
18 | - * @property string $password_hash | ||
19 | - * @property string $password_reset_token | ||
20 | - * @property string $email | ||
21 | - * @property string $auth_key | ||
22 | - * @property integer $status | ||
23 | - * @property integer $created_at | ||
24 | - * @property integer $updated_at | ||
25 | - * @property string $password write-only password | ||
26 | - * @property string $type | 19 | + * @property integer $id |
20 | + * @property string $username | ||
21 | + * @property string $password_hash | ||
22 | + * @property string $password_reset_token | ||
23 | + * @property string $email | ||
24 | + * @property string $auth_key | ||
25 | + * @property integer $status | ||
26 | + * @property integer $created_at | ||
27 | + * @property integer $updated_at | ||
28 | + * @property string $password write-only password | ||
29 | + * @property string $type | ||
30 | + * @property UserInfo $userInfo | ||
27 | */ | 31 | */ |
28 | class User extends ActiveRecord implements IdentityInterface, UserRbacInterface | 32 | class User extends ActiveRecord implements IdentityInterface, UserRbacInterface |
29 | { | 33 | { |
@@ -57,9 +61,6 @@ | @@ -57,9 +61,6 @@ | ||
57 | ]; | 61 | ]; |
58 | } | 62 | } |
59 | 63 | ||
60 | - | ||
61 | - | ||
62 | - | ||
63 | /** | 64 | /** |
64 | * @inheritdoc | 65 | * @inheritdoc |
65 | */ | 66 | */ |
@@ -93,10 +94,15 @@ | @@ -93,10 +94,15 @@ | ||
93 | [ | 94 | [ |
94 | 'specializationInput', | 95 | 'specializationInput', |
95 | 'paymentInput', | 96 | 'paymentInput', |
96 | - 'type' | 97 | + 'type', |
97 | ], | 98 | ], |
98 | 'safe', | 99 | 'safe', |
99 | ], | 100 | ], |
101 | + [ | ||
102 | + 'type', | ||
103 | + 'default', | ||
104 | + 'value' => 1, | ||
105 | + ], | ||
100 | ]; | 106 | ]; |
101 | } | 107 | } |
102 | 108 | ||
@@ -107,8 +113,8 @@ | @@ -107,8 +113,8 @@ | ||
107 | { | 113 | { |
108 | return [ | 114 | return [ |
109 | 'firstname' => Yii::t('app', 'Имя'), | 115 | 'firstname' => Yii::t('app', 'Имя'), |
110 | - 'lastname' => Yii::t('app', 'Фамилия'), | ||
111 | - 'email' => Yii::t('app', 'Email'), | 116 | + 'lastname' => Yii::t('app', 'Фамилия'), |
117 | + 'email' => Yii::t('app', 'Email'), | ||
112 | ]; | 118 | ]; |
113 | } | 119 | } |
114 | 120 | ||
@@ -343,7 +349,8 @@ | @@ -343,7 +349,8 @@ | ||
343 | */ | 349 | */ |
344 | public function getUserInfo() | 350 | public function getUserInfo() |
345 | { | 351 | { |
346 | - return $this->hasOne(UserInfo::className(), [ 'user_id' => 'id' ])->inverseOf('user'); | 352 | + return $this->hasOne(UserInfo::className(), [ 'user_id' => 'id' ]) |
353 | + ->inverseOf('user'); | ||
347 | } | 354 | } |
348 | 355 | ||
349 | /** | 356 | /** |
@@ -403,11 +410,11 @@ | @@ -403,11 +410,11 @@ | ||
403 | $date1 = new \DateTime(date('Y-m-d H:i:s', $this->created_at)); | 410 | $date1 = new \DateTime(date('Y-m-d H:i:s', $this->created_at)); |
404 | $result = explode(',', \Yii::$app->formatter->asDuration($date1->diff($now))); | 411 | $result = explode(',', \Yii::$app->formatter->asDuration($date1->diff($now))); |
405 | 412 | ||
406 | - if($result >= 4){ | 413 | + if($result >= 4) { |
407 | array_splice($result, 2); | 414 | array_splice($result, 2); |
408 | } | 415 | } |
409 | 416 | ||
410 | - return implode(',',$result); | 417 | + return implode(',', $result); |
411 | } | 418 | } |
412 | 419 | ||
413 | /** | 420 | /** |
@@ -544,7 +551,8 @@ | @@ -544,7 +551,8 @@ | ||
544 | */ | 551 | */ |
545 | public function getVacancies() | 552 | public function getVacancies() |
546 | { | 553 | { |
547 | - return $this->hasMany(Vacancy::className(), [ 'user_id' => 'id' ])->inverseOf('user'); | 554 | + return $this->hasMany(Vacancy::className(), [ 'user_id' => 'id' ]) |
555 | + ->inverseOf('user'); | ||
548 | } | 556 | } |
549 | 557 | ||
550 | public function getGalleries() | 558 | public function getGalleries() |
@@ -554,22 +562,44 @@ | @@ -554,22 +562,44 @@ | ||
554 | 562 | ||
555 | public function getOwner() | 563 | public function getOwner() |
556 | { | 564 | { |
557 | - if($this->type == 1){ | ||
558 | - return $this->hasOne(UserInfo::className(), [ 'user_id' => 'id' ]); | ||
559 | - } else if($this->type == 2) { | 565 | + if($this->type == 2) { |
560 | return $this->hasOne(CompanyInfo::className(), [ 'user_id' => 'id' ]); | 566 | return $this->hasOne(CompanyInfo::className(), [ 'user_id' => 'id' ]); |
567 | + } else { | ||
568 | + return $this->hasOne(UserInfo::className(), [ 'user_id' => 'id' ]); | ||
561 | } | 569 | } |
562 | - | ||
563 | } | 570 | } |
564 | 571 | ||
565 | - public function getName(){ | ||
566 | - if($this->type == 1){ | ||
567 | - return $this->firstname. ' '.$this->lastname; | ||
568 | - } else if($this->type == 2){ | 572 | + public function getName() |
573 | + { | ||
574 | + if($this->type == 2) { | ||
569 | return $this->companyInfo->name; | 575 | return $this->companyInfo->name; |
576 | + } else { | ||
577 | + return $this->firstname . ' ' . $this->lastname; | ||
570 | } | 578 | } |
579 | + } | ||
571 | 580 | ||
581 | + public function getComments() | ||
582 | + { | ||
583 | + $entity = 'user-' . $this->id; | ||
584 | + $comments = (new Comment())->getComments($entity); | ||
585 | + return $comments; | ||
572 | } | 586 | } |
573 | 587 | ||
588 | + public function getRatingPG() | ||
589 | + { | ||
590 | + if(\Yii::$app->db->driverName != 'pgsql') { | ||
591 | + throw new InvalidConfigException('This method is available only in PostgreSQL'); | ||
592 | + } | ||
593 | + $entity = 'user-' . $this->id; | ||
594 | + $rating = (new Comment())->getComments($entity) | ||
595 | + ->select('ROUND(SUM("rating"."value")/COUNT("rating"."rating_id")::float) as rating') | ||
596 | + ->leftJoin(Rating::tableName(), "CONCAT('Comment-', \"comment\".\"comment_id\") = \"rating\".\"entity\"") | ||
597 | + ->andWhere([ | ||
598 | + 'not', | ||
599 | + [ 'rating.value' => NULL ], | ||
600 | + ]) | ||
601 | + ->one(); | ||
602 | + return $rating; | ||
603 | + } | ||
574 | 604 | ||
575 | } | 605 | } |
common/modules/comment/models/Comment.php
1 | <?php | 1 | <?php |
2 | namespace common\modules\comment\models; | 2 | namespace common\modules\comment\models; |
3 | 3 | ||
4 | + use yii\db\ActiveQuery; | ||
5 | + | ||
4 | /** | 6 | /** |
5 | * Class Comment | 7 | * Class Comment |
6 | * @property bool $guestComment | 8 | * @property bool $guestComment |
@@ -19,6 +21,8 @@ | @@ -19,6 +21,8 @@ | ||
19 | const SCENARIO_USER = 'user'; | 21 | const SCENARIO_USER = 'user'; |
20 | const SCENARIO_GUEST = 'guest'; | 22 | const SCENARIO_GUEST = 'guest'; |
21 | 23 | ||
24 | + public $rating; | ||
25 | + | ||
22 | /** | 26 | /** |
23 | * @var bool | 27 | * @var bool |
24 | */ | 28 | */ |
@@ -130,12 +134,17 @@ | @@ -130,12 +134,17 @@ | ||
130 | $this->guestComment = $value; | 134 | $this->guestComment = $value; |
131 | } | 135 | } |
132 | 136 | ||
137 | + /** | ||
138 | + * @param string $entity | ||
139 | + * | ||
140 | + * @return ActiveQuery | ||
141 | + */ | ||
133 | public function getComments($entity) | 142 | public function getComments($entity) |
134 | { | 143 | { |
135 | return $this->find() | 144 | return $this->find() |
136 | ->where([ | 145 | ->where([ |
137 | - 'entity' => $this->entity, | ||
138 | - 'status' => 1, | 146 | + 'comment.entity' => $entity, |
147 | + 'comment.status' => 1, | ||
139 | ]); | 148 | ]); |
140 | } | 149 | } |
141 | 150 |
frontend/controllers/SearchController.php
1 | <?php | 1 | <?php |
2 | namespace frontend\controllers; | 2 | namespace frontend\controllers; |
3 | 3 | ||
4 | +use common\models\CustomerSearch; | ||
4 | use common\models\Project; | 5 | use common\models\Project; |
5 | use common\models\UserInfo; | 6 | use common\models\UserInfo; |
6 | use common\models\Vacancy; | 7 | use common\models\Vacancy; |
@@ -68,7 +69,65 @@ class SearchController extends Controller | @@ -68,7 +69,65 @@ class SearchController extends Controller | ||
68 | 69 | ||
69 | 70 | ||
70 | public function actionCustomer(){ | 71 | public function actionCustomer(){ |
72 | + $model = new CustomerSearch(); | ||
73 | + $dataProvider = $model->search(Yii::$app->request->queryParams); | ||
74 | + $dataProvider->setPagination([ | ||
75 | + 'pageSize' => 5 | ||
76 | + ]); | ||
77 | + $dataProvider->setSort([ | ||
78 | + 'attributes' => [ | ||
79 | + 'name' => [ | ||
80 | + 'asc' => [ | ||
81 | + 'company_info.name' => SORT_ASC, | ||
82 | + 'firstname' => SORT_ASC, | ||
83 | + 'lastname' => SORT_ASC, | ||
84 | + ], | ||
85 | + 'desc' => [ | ||
86 | + 'company_info.name' => SORT_DESC, | ||
87 | + 'firstname' => SORT_DESC, | ||
88 | + 'lastname' => SORT_DESC, | ||
89 | + ], | ||
90 | + 'default' => SORT_ASC, | ||
91 | + 'label' => 'Название', | ||
92 | + ], | ||
93 | + 'staff' => [ | ||
94 | + 'asc' => [ | ||
95 | + 'company_info.staff' => SORT_ASC, | ||
96 | + ], | ||
97 | + 'desc' => [ | ||
98 | + 'company_info.staff' => SORT_DESC, | ||
99 | + ], | ||
100 | + 'default' => SORT_DESC, | ||
101 | + 'label' => 'Количество сотрудников', | ||
102 | + ], | ||
103 | + 'visit' => [ | ||
104 | + 'asc' => [ | ||
105 | + 'user_info.date_visit' => SORT_ASC, | ||
106 | + ], | ||
107 | + 'desc' => [ | ||
108 | + 'user_info.date_visit' => SORT_DESC, | ||
109 | + ], | ||
110 | + 'default' => SORT_DESC, | ||
111 | + 'label' => 'Последний визит', | ||
112 | + ], | ||
113 | + 'city' => [ | ||
114 | + 'asc' => [ | ||
115 | + 'user_info.city' => SORT_ASC, | ||
116 | + ], | ||
117 | + 'desc' => [ | ||
118 | + 'user_info.city' => SORT_DESC, | ||
119 | + ], | ||
120 | + 'default' => SORT_ASC, | ||
121 | + 'label' => 'Город', | ||
122 | + ], | ||
123 | + ], | ||
124 | + ]); | ||
125 | + $model->load(Yii::$app->request->queryParams); | ||
126 | + $cities = UserInfo::find()->select('city')->distinct()->asArray()->indexBy('city')->column(); | ||
71 | return $this->render('customer',[ | 127 | return $this->render('customer',[ |
128 | + 'model' => $model, | ||
129 | + 'dataProvider' => $dataProvider, | ||
130 | + 'cities' => $cities, | ||
72 | ]); | 131 | ]); |
73 | } | 132 | } |
74 | 133 |
frontend/views/layouts/company.php
@@ -16,10 +16,17 @@ $this->beginContent('@app/views/layouts/main.php'); | @@ -16,10 +16,17 @@ $this->beginContent('@app/views/layouts/main.php'); | ||
16 | <div class="performance-vacancy-call-back"> | 16 | <div class="performance-vacancy-call-back"> |
17 | <div class="performance-vacancy-call-back-title">Оставьте заявку<br />и мы вам перезвоним</div> | 17 | <div class="performance-vacancy-call-back-title">Оставьте заявку<br />и мы вам перезвоним</div> |
18 | <form class="callback" action=""> | 18 | <form class="callback" action=""> |
19 | - <label for="callbac_name">Имя</label> | ||
20 | - <input id="callbac_name" type="text"/> | ||
21 | - <label for="callbac_phone">Телефон</label> | ||
22 | - <input id="callbac_phone" type="text"/> | 19 | + |
20 | + <div class="input-blocks-wrapper"> | ||
21 | + <label for="callbac_name">Имя</label> | ||
22 | + <input id="callbac_name" type="text"/> | ||
23 | + </div> | ||
24 | + | ||
25 | + <div class="input-blocks-wrapper"> | ||
26 | + <label for="callbac_phone">Телефон</label> | ||
27 | + <input id="callbac_phone" type="text"/> | ||
28 | + </div> | ||
29 | + | ||
23 | <input id="callbac_submit" type="submit" value="Перезвонить мне"/> | 30 | <input id="callbac_submit" type="submit" value="Перезвонить мне"/> |
24 | </form> | 31 | </form> |
25 | <div class="performance-vacancy-call-back-conf">Гарантируем конфидециальность</div> | 32 | <div class="performance-vacancy-call-back-conf">Гарантируем конфидециальность</div> |
1 | +<?php | ||
2 | + /** | ||
3 | + * @var User $model | ||
4 | + * @var mixed $key | ||
5 | + * @var integer $index | ||
6 | + * @var ListView $widget | ||
7 | + */ | ||
8 | + use common\models\Project; | ||
9 | + use common\models\User; | ||
10 | + use frontend\helpers\TextHelper; | ||
11 | + use yii\bootstrap\Html; | ||
12 | + use yii\helpers\Url; | ||
13 | + use yii\widgets\ListView; | ||
14 | +?> | ||
15 | +<div class="search_perform_txt-wr"> | ||
16 | + <div class="search_perform_title"> | ||
17 | + <?php | ||
18 | + if($model->type == 2) { | ||
19 | + echo Html::a($model->companyInfo->name, ['company/common', 'company_id' => $model->id]); | ||
20 | + } else { | ||
21 | + echo Html::a($model->firstname . $model->lastname, ['performer/common', 'performer_id' => $model->id]); | ||
22 | + } | ||
23 | + ?> | ||
24 | + </div> | ||
25 | + <div class="search_perform-stars-wr"> | ||
26 | + <div class="rating_search_performer"> | ||
27 | + <!--оценка--> | ||
28 | + <?php | ||
29 | + if($rating = $model->getRatingPG()->rating) { | ||
30 | + echo "<input type='hidden' class='val' value='{$rating}'/>"; | ||
31 | + } else { | ||
32 | + echo "<input type='hidden' class='val' value='0'/>"; | ||
33 | + } | ||
34 | + ?> | ||
35 | + <input type="hidden" class="val" value="4"/> | ||
36 | + </div> | ||
37 | + <div class="search_perform-stars-txt"> | ||
38 | + <?= $model->getComments()->count() ?> отзывов | ||
39 | + <?php | ||
40 | + if(!empty( $model->userInfo->city )) { | ||
41 | + echo ", {$model->userInfo->city}"; | ||
42 | + } | ||
43 | + ?> | ||
44 | + </div> | ||
45 | + </div> | ||
46 | + <?php | ||
47 | + if($model->type == 2 && !empty( $model->companyInfo->staff )) { | ||
48 | + ?> | ||
49 | + <div class="search_perform_leng"> | ||
50 | + <div>Сотрудники: <?= $model->companyInfo->staff ?></div> | ||
51 | + </div> | ||
52 | + <?php | ||
53 | + } | ||
54 | + ?> | ||
55 | + <div class="search_perform_visit"> | ||
56 | + <span>Послелний визит:</span> <?= \Yii::$app->formatter->asRelativeTime($model->userInfo->date_visit) ?> | ||
57 | + </div> | ||
58 | + <div class="search_perform_projets_nam"> | ||
59 | + <?= Html::a("Заказано проектов {$model->getProjects()->count()}", ['search/project', (new Project())->formName().'[user_id]' => $model->id]) ?> | ||
60 | + </div> | ||
61 | +</div> | ||
62 | + | ||
63 | +<div class="right_search_perform_block-wr"> | ||
64 | + <div class="right_search_perform_foto-wr"> | ||
65 | + <div> | ||
66 | + <?php | ||
67 | + echo Html::img($model->userInfo->image?:"/images/search_performer_img-1.jpg", ['class' => 'search_customer_image']); | ||
68 | + ?> | ||
69 | + </div> | ||
70 | + </div> | ||
71 | + <a class="get-list" href="#">Добавить в закладки</a> | ||
72 | +</div> | ||
0 | \ No newline at end of file | 73 | \ No newline at end of file |
frontend/views/search/company.php
@@ -100,6 +100,12 @@ use yii\widgets\ListView; | @@ -100,6 +100,12 @@ use yii\widgets\ListView; | ||
100 | <input type="submit" value="Найти"/> | 100 | <input type="submit" value="Найти"/> |
101 | </div> | 101 | </div> |
102 | </form> | 102 | </form> |
103 | + <script> | ||
104 | + $('div.rating').rating({ | ||
105 | + fx: 'full', | ||
106 | + url: 'rating.php' | ||
107 | + }); | ||
108 | + </script> | ||
103 | </div> | 109 | </div> |
104 | <div class="right-search-work"> | 110 | <div class="right-search-work"> |
105 | <div class="search-worker-title style">Найти исполнителя</div> | 111 | <div class="search-worker-title style">Найти исполнителя</div> |
@@ -144,6 +150,14 @@ use yii\widgets\ListView; | @@ -144,6 +150,14 @@ use yii\widgets\ListView; | ||
144 | ?> | 150 | ?> |
145 | </div> | 151 | </div> |
146 | 152 | ||
153 | + <script> | ||
154 | + $('div.rating-new').rating({ | ||
155 | + fx: 'full', | ||
156 | + readOnly: 'true', | ||
157 | + url: 'rating.php' | ||
158 | + }); | ||
159 | + </script> | ||
160 | + | ||
147 | </div> | 161 | </div> |
148 | </div> | 162 | </div> |
149 | </div> | 163 | </div> |
frontend/views/search/customer.php
1 | <?php | 1 | <?php |
2 | -/** | ||
3 | - * Created by PhpStorm. | ||
4 | - * User: vitaliy | ||
5 | - * Date: 09.03.16 | ||
6 | - * Time: 10:21 | ||
7 | - */ | 2 | + /** |
3 | + * @var CustomerSearch $model | ||
4 | + * @var ActiveDataProvider $dataProvider | ||
5 | + * @var string[] $cities | ||
6 | + */ | ||
7 | + use common\models\CustomerSearch; | ||
8 | + use yii\data\ActiveDataProvider; | ||
9 | + use yii\helpers\Html; | ||
10 | + use yii\widgets\ActiveForm; | ||
11 | + use yii\widgets\LinkSorter; | ||
12 | + use yii\widgets\ListView; | ||
13 | + | ||
8 | ?> | 14 | ?> |
9 | <div class="section-box-22 section-box-customer"> | 15 | <div class="section-box-22 section-box-customer"> |
10 | <div class="box-wr"> | 16 | <div class="box-wr"> |
11 | <div class="box-all"> | 17 | <div class="box-all"> |
18 | + <?php | ||
19 | + // == Left filter == | ||
20 | + ?> | ||
12 | <div class="left-search-work"> | 21 | <div class="left-search-work"> |
13 | - <form action="" class="search-work-form"> | ||
14 | - <div class="blocks-check-list-wrapp"> | ||
15 | - <div class="blocks-check-title"><label for="theme-1">Город</label></div> | ||
16 | - <select id="theme-1"> | ||
17 | - <option selected="" value="">Любой</option> | ||
18 | - <option value="">Киев</option> | ||
19 | - <option value="">Житомир</option> | ||
20 | - <option value="">Львов</option> | ||
21 | - <option value="">Киев</option> | ||
22 | - <option value="">Житомир</option> | ||
23 | - <option value="">Львов</option> | 22 | + <?php |
23 | + $form = ActiveForm::begin(['method' => 'get', 'options' => [ 'class' => 'search-work-form' ], 'action' => [''] ]); | ||
24 | 24 | ||
25 | - <option value="">Киев</option> | ||
26 | - <option value="">Житомир</option> | ||
27 | - <option value="">Львов</option> | ||
28 | - <option value="">Киев</option> | ||
29 | - <option value="">Житомир</option> | ||
30 | - <option value="">Львов</option> | ||
31 | - <option value="">Киев</option> | ||
32 | - <option value="">Житомир</option> | ||
33 | - <option value="">Львов</option> | ||
34 | - <option value="">Киев</option> | ||
35 | - <option value="">Житомир</option> | ||
36 | - <option value="">Львов</option> | ||
37 | - <option value="">Киев</option> | ||
38 | - <option value="">Житомир</option> | ||
39 | - <option value="">Львов</option> | ||
40 | - <option value="">Киев</option> | ||
41 | - <option value="">Житомир</option> | ||
42 | - <option value="">Львов</option> | ||
43 | - <option value="">Киев</option> | ||
44 | - <option value="">Житомир</option> | ||
45 | - <option value="">Львов</option> | ||
46 | - <option value="">Киев</option> | ||
47 | - <option value="">Житомир</option> | ||
48 | - <option value="">Львов</option> | ||
49 | - <option value="">Киев</option> | ||
50 | - <option value="">Житомир</option> | ||
51 | - <option value="">Львов</option> | ||
52 | - <option value="">Киев</option> | ||
53 | - <option value="">Житомир</option> | ||
54 | - <option value="">Львов</option> | ||
55 | - <option value="">Киев</option> | ||
56 | - <option value="">Житомир</option> | ||
57 | - <option value="">Львов</option> | ||
58 | - <option value="">Киев</option> | ||
59 | - <option value="">Житомир</option> | ||
60 | - <option value="">Львов</option> | ||
61 | - <option value="">Киев</option> | ||
62 | - <option value="">Житомир</option> | ||
63 | - <option value="">Львов</option> | ||
64 | - <option value="">Киев</option> | ||
65 | - <option value="">Житомир</option> | ||
66 | - <option value="">Львов</option> | ||
67 | - <option value="">Киев</option> | ||
68 | - <option value="">Житомир</option> | ||
69 | - <option value="">Львов</option> | ||
70 | - <option value="">Киев</option> | ||
71 | - <option value="">Житомир</option> | ||
72 | - <option value="">Львов</option> | ||
73 | - <option value="">Киев</option> | ||
74 | - <option value="">Житомир</option> | ||
75 | - <option value="">Львов</option> | ||
76 | - <option value="">Киев</option> | ||
77 | - <option value="">Житомир</option> | ||
78 | - <option value="">Львов</option> | ||
79 | - <option value="">Киев</option> | 25 | + echo $form->field($model, 'city', [ |
26 | + 'options' => [ | ||
27 | + 'class' => 'blocks-check-list-wrapp', | ||
28 | + ], | ||
29 | + 'template' => "<div class='blocks-check-title'>{label}</div>\n{input}<div class='select-after'></div>\n{hint}\n{error}", | ||
30 | + ]) | ||
31 | + ->dropDownList($cities, [ 'prompt' => 'Любой' ]); | ||
80 | 32 | ||
81 | - </select><div class="select-after"></div> | ||
82 | - </div> | ||
83 | - | ||
84 | - <div class="blocks-check-list-wrapp"> | ||
85 | - <div class="blocks-check-title"><label for="theme-3">Тип заказчика</label></div> | ||
86 | - <select id="theme-3"> | ||
87 | - <option selected="" value="">Любая</option> | ||
88 | - <option value="">Киев</option> | ||
89 | - <option value="">Житомир</option> | ||
90 | - <option value="">Львов</option> | ||
91 | - <option value="">Киев</option> | ||
92 | - <option value="">Житомир</option> | ||
93 | - <option value="">Львов</option> | ||
94 | - </select><div class="select-after"></div> | ||
95 | - </div> | 33 | + echo $form->field($model, 'type', [ |
34 | + 'options' => [ | ||
35 | + 'class' => 'blocks-check-list-wrapp', | ||
36 | + ], | ||
37 | + 'template' => "<div class='blocks-check-title'>{label}</div>\n{input}<div class='select-after'></div>\n{hint}\n{error}", | ||
38 | + ]) | ||
39 | + ->dropDownList([ | ||
40 | + 1 => 'Физическое лицо', | ||
41 | + 2 => 'Компания', | ||
42 | + ], [ 'prompt' => 'Любой' ]); | ||
43 | + ?> | ||
96 | 44 | ||
45 | + <?php | ||
46 | + /* Рейтинг | ||
47 | + ?> | ||
97 | <div class="blocks-check-list-wrapp"> | 48 | <div class="blocks-check-list-wrapp"> |
98 | <div class="blocks-check-title">Рейтинг</div> | 49 | <div class="blocks-check-title">Рейтинг</div> |
99 | <div class="rating"> | 50 | <div class="rating"> |
@@ -101,56 +52,92 @@ | @@ -101,56 +52,92 @@ | ||
101 | <input type="hidden" class="val" value="0"> | 52 | <input type="hidden" class="val" value="0"> |
102 | </div> | 53 | </div> |
103 | </div> | 54 | </div> |
55 | + <?php | ||
56 | + */ | ||
57 | + ?> | ||
104 | 58 | ||
105 | - <div class="blocks-check-list-wrapp"> | ||
106 | - <div class="blocks-check-title">Статус</div> | ||
107 | - <div class="blocks-check-list"> | ||
108 | - <input type="radio" name="group3" class="check-search" id="theme-8"><label for="theme-8"><span></span>Онлайн</label> | ||
109 | - </div> | ||
110 | - <div class="blocks-check-list"> | ||
111 | - <input type="radio" name="group3" class="check-search" id="theme-9" checked=""><label for="theme-9"><span></span>Все</label> | ||
112 | - </div> | ||
113 | - </div> | 59 | + <?php |
60 | + echo $form->field($model, 'online', [ | ||
61 | + 'options' => [ | ||
62 | + 'class' => 'blocks-check-list-wrapp', | ||
63 | + ], | ||
64 | + 'template' => "<div class='blocks-check-title'>{label}</div>\n{input}\n{hint}\n{error}", | ||
65 | + ]) | ||
66 | + ->radioList([ | ||
67 | + '' => 'Все', | ||
68 | + 1 => 'Онлайн', | ||
69 | + ], [ | ||
70 | + 'item' => function($index, $label, $name, $checked, $value) use ($model) { | ||
71 | + $checked = ($model->online == $value); | ||
72 | + return "<div class='blocks-check-list'><input type='radio' id='{$model->formName()}-{$index}' name='{$name}' class='check-search' value='{$value}' " . ($checked?'checked':'') . "><label for='{$model->formName()}-{$index}'><span></span>{$label}</label></div>"; | ||
73 | + }, | ||
74 | + 'unselect' => NULL, | ||
75 | + ]); | ||
114 | 76 | ||
115 | - <div class="blocks-check-list-submit"> | ||
116 | - <input type="submit" value="Найти"> | ||
117 | - </div> | ||
118 | - </form> | 77 | + echo '<div class="blocks-check-list-submit">'.Html::submitInput('Найти').'</div>'; |
78 | + | ||
79 | + $form->end(); | ||
80 | + ?> | ||
119 | <script> | 81 | <script> |
120 | - $('div.rating').rating({ | ||
121 | - fx: 'full', | ||
122 | - url: 'rating.php' | ||
123 | - }); | 82 | + $('div.rating').rating( |
83 | + { | ||
84 | + fx : 'full', url : 'rating.php' | ||
85 | + } | ||
86 | + ); | ||
124 | </script> | 87 | </script> |
125 | </div> | 88 | </div> |
126 | 89 | ||
90 | + <?php | ||
91 | + // == End of left filter == | ||
92 | + ?> | ||
93 | + | ||
94 | + <?php | ||
95 | + // == Page content == | ||
96 | + ?> | ||
127 | <div class="right-search-work"> | 97 | <div class="right-search-work"> |
128 | <div class="search-worker-title style">Найти заказчика</div> | 98 | <div class="search-worker-title style">Найти заказчика</div> |
129 | - <div class="search-worker-title-two style">Заказчики готовые приступить к работе <span>145</span></div> | 99 | + <div class="search-worker-title-two style">Заказчики готовые приступить к работе |
100 | + <span><?= $dataProvider->totalCount ?></span></div> | ||
130 | <div class="search-worker-search-wr style"> | 101 | <div class="search-worker-search-wr style"> |
131 | - <form action="" class="search-worker-form"> | ||
132 | - <input id="srch-wrk-text" type="text" placeholder="Любая информация о заказчике" required=""> | ||
133 | - <input id="srch-wrk-sub" type="submit" value="Найти"> | ||
134 | - </form> | 102 | + <?php |
103 | + $form2 = ActiveForm::begin(['method' => 'get', 'action' => [''], 'options' => ['class' => 'search-worker-form']]); | ||
104 | + echo $form2->field($model, 'info', ['options' => ['tag' => false]])->label(false)->textInput(['placeholder' => $model->getAttributeLabel('info')]); | ||
105 | + echo Html::submitInput('Найти'); | ||
106 | + $form2->end(); | ||
107 | + ?> | ||
135 | <a href="#" class="add-to-catalog-search-worker">Добавить себя в каталог</a> | 108 | <a href="#" class="add-to-catalog-search-worker">Добавить себя в каталог</a> |
136 | <div class="search-worker-sort-wr style"> | 109 | <div class="search-worker-sort-wr style"> |
137 | <div class="search-worker-sort">Сортировать: </div> | 110 | <div class="search-worker-sort">Сортировать: </div> |
138 | <ul> | 111 | <ul> |
139 | <li class="activejob"> | 112 | <li class="activejob"> |
140 | - <a href="#">рейтинг</a> | 113 | + <a href="#"></a> |
141 | <div class="sidebar-droped-wr style"> | 114 | <div class="sidebar-droped-wr style"> |
142 | - <ul> | ||
143 | - <li><a href="#">рейтинг</a></li> | ||
144 | - <li><a href="#">1заказчик</a></li> | ||
145 | - <li><a href="#">2заказчик</a></li> | ||
146 | - <li><a href="#">3заказчик</a></li> | ||
147 | - <li><a href="#">4заказчик</a></li> | ||
148 | - </ul> | 115 | + <?php |
116 | + echo LinkSorter::widget([ | ||
117 | + 'sort' => $dataProvider->sort, | ||
118 | + ]); | ||
119 | + ?> | ||
149 | </div> | 120 | </div> |
150 | </li> | 121 | </li> |
151 | </ul> | 122 | </ul> |
152 | </div> | 123 | </div> |
153 | </div> | 124 | </div> |
125 | + <?php | ||
126 | + echo ListView::widget([ | ||
127 | + 'dataProvider' => $dataProvider, | ||
128 | + 'layout' => "{items}\n{pager}", | ||
129 | + 'options' => [ | ||
130 | + 'class' => 'search-worker-blocks-wr style', | ||
131 | + ], | ||
132 | + 'itemOptions' => [ | ||
133 | + 'class' => 'search-worker-blocks', | ||
134 | + ], | ||
135 | + 'itemView' => '_customer_list_view', | ||
136 | + ]); | ||
137 | + ?> | ||
138 | + <?php | ||
139 | + /* == Layout == | ||
140 | + ?> | ||
154 | <div class="search-worker-blocks-wr style"> | 141 | <div class="search-worker-blocks-wr style"> |
155 | 142 | ||
156 | <div class="search-worker-blocks"> | 143 | <div class="search-worker-blocks"> |
@@ -161,13 +148,16 @@ | @@ -161,13 +148,16 @@ | ||
161 | <!--оценка--> | 148 | <!--оценка--> |
162 | <input type="hidden" class="val" value="4"/> | 149 | <input type="hidden" class="val" value="4"/> |
163 | </div> | 150 | </div> |
164 | - <div class="search_perform-stars-txt">30 отзывов, Киев </div> | 151 | + <div class="search_perform-stars-txt">30 отзывов, Киев</div> |
165 | </div> | 152 | </div> |
166 | <div class="search_perform_leng"> | 153 | <div class="search_perform_leng"> |
167 | <div>Сотрудники: более 40</div> | 154 | <div>Сотрудники: более 40</div> |
168 | </div> | 155 | </div> |
169 | - <div class="search_perform_visit"><span>Послелний визит:</span> 2 дня назад</div> | ||
170 | - <div class="search_perform_projets_nam"><a href="#">Заказано проектов: 21</a></div> | 156 | + <div class="search_perform_visit"> |
157 | + <span>Послелний визит:</span> 2 дня назад | ||
158 | + </div> | ||
159 | + <div class="search_perform_projets_nam"> | ||
160 | + <a href="#">Заказано проектов: 21</a></div> | ||
171 | </div> | 161 | </div> |
172 | 162 | ||
173 | <div class="right_search_perform_block-wr"> | 163 | <div class="right_search_perform_block-wr"> |
@@ -186,13 +176,16 @@ | @@ -186,13 +176,16 @@ | ||
186 | <!--оценка--> | 176 | <!--оценка--> |
187 | <input type="hidden" class="val" value="2"/> | 177 | <input type="hidden" class="val" value="2"/> |
188 | </div> | 178 | </div> |
189 | - <div class="search_perform-stars-txt">30 отзывов, Киев </div> | 179 | + <div class="search_perform-stars-txt">30 отзывов, Киев</div> |
190 | </div> | 180 | </div> |
191 | <div class="search_perform_leng"> | 181 | <div class="search_perform_leng"> |
192 | <!--<div>Сотрудники: более 40</div>--> | 182 | <!--<div>Сотрудники: более 40</div>--> |
193 | </div> | 183 | </div> |
194 | - <div class="search_perform_visit"><span>Послелний визит:</span> 2 дня назад</div> | ||
195 | - <div class="search_perform_projets_nam"><a href="#">Заказано проектов: 21</a></div> | 184 | + <div class="search_perform_visit"> |
185 | + <span>Послелний визит:</span> 2 дня назад | ||
186 | + </div> | ||
187 | + <div class="search_perform_projets_nam"> | ||
188 | + <a href="#">Заказано проектов: 21</a></div> | ||
196 | </div> | 189 | </div> |
197 | 190 | ||
198 | <div class="right_search_perform_block-wr"> | 191 | <div class="right_search_perform_block-wr"> |
@@ -211,13 +204,16 @@ | @@ -211,13 +204,16 @@ | ||
211 | <!--оценка--> | 204 | <!--оценка--> |
212 | <input type="hidden" class="val" value="1"/> | 205 | <input type="hidden" class="val" value="1"/> |
213 | </div> | 206 | </div> |
214 | - <div class="search_perform-stars-txt">30 отзывов, Киев </div> | 207 | + <div class="search_perform-stars-txt">30 отзывов, Киев</div> |
215 | </div> | 208 | </div> |
216 | <div class="search_perform_leng"> | 209 | <div class="search_perform_leng"> |
217 | <div>Сотрудники: более 40</div> | 210 | <div>Сотрудники: более 40</div> |
218 | </div> | 211 | </div> |
219 | - <div class="search_perform_visit"><span>Послелний визит:</span> 2 дня назад</div> | ||
220 | - <div class="search_perform_projets_nam"><a href="#">Заказано проектов: 21</a></div> | 212 | + <div class="search_perform_visit"> |
213 | + <span>Послелний визит:</span> 2 дня назад | ||
214 | + </div> | ||
215 | + <div class="search_perform_projets_nam"> | ||
216 | + <a href="#">Заказано проектов: 21</a></div> | ||
221 | </div> | 217 | </div> |
222 | 218 | ||
223 | <div class="right_search_perform_block-wr"> | 219 | <div class="right_search_perform_block-wr"> |
@@ -236,13 +232,16 @@ | @@ -236,13 +232,16 @@ | ||
236 | <!--оценка--> | 232 | <!--оценка--> |
237 | <input type="hidden" class="val" value="5"/> | 233 | <input type="hidden" class="val" value="5"/> |
238 | </div> | 234 | </div> |
239 | - <div class="search_perform-stars-txt">30 отзывов, Киев </div> | 235 | + <div class="search_perform-stars-txt">30 отзывов, Киев</div> |
240 | </div> | 236 | </div> |
241 | <div class="search_perform_leng"> | 237 | <div class="search_perform_leng"> |
242 | <!--<div>Сотрудники: более 40</div>--> | 238 | <!--<div>Сотрудники: более 40</div>--> |
243 | </div> | 239 | </div> |
244 | - <div class="search_perform_visit"><span>Послелний визит:</span> 2 дня назад</div> | ||
245 | - <div class="search_perform_projets_nam"><a href="#">Заказано проектов: 21</a></div> | 240 | + <div class="search_perform_visit"> |
241 | + <span>Послелний визит:</span> 2 дня назад | ||
242 | + </div> | ||
243 | + <div class="search_perform_projets_nam"> | ||
244 | + <a href="#">Заказано проектов: 21</a></div> | ||
246 | </div> | 245 | </div> |
247 | 246 | ||
248 | <div class="right_search_perform_block-wr"> | 247 | <div class="right_search_perform_block-wr"> |
@@ -263,14 +262,21 @@ | @@ -263,14 +262,21 @@ | ||
263 | </ul> | 262 | </ul> |
264 | </div> | 263 | </div> |
265 | 264 | ||
265 | + <?php | ||
266 | + == End of layout == */ | ||
267 | + ?> | ||
268 | + | ||
266 | <script> | 269 | <script> |
267 | - $('div.rating_search_performer').rating({ | ||
268 | - fx: 'full', | ||
269 | - readOnly: 'true', | ||
270 | - url: 'rating.php' | ||
271 | - }); | 270 | + $('div.rating_search_performer').rating( |
271 | + { | ||
272 | + fx : 'full', readOnly : 'true', url : 'rating.php' | ||
273 | + } | ||
274 | + ); | ||
272 | </script> | 275 | </script> |
273 | </div> | 276 | </div> |
277 | + <?php | ||
278 | + // == End of page content == | ||
279 | + ?> | ||
274 | </div> | 280 | </div> |
275 | </div> | 281 | </div> |
276 | </div> | 282 | </div> |
277 | \ No newline at end of file | 283 | \ No newline at end of file |
frontend/views/search/performer.php
@@ -159,6 +159,12 @@ $this->title = 'My Yii Application'; | @@ -159,6 +159,12 @@ $this->title = 'My Yii Application'; | ||
159 | <input type="submit" value="Найти"/> | 159 | <input type="submit" value="Найти"/> |
160 | </div> | 160 | </div> |
161 | </form> | 161 | </form> |
162 | + <script> | ||
163 | + $('div.rating').rating({ | ||
164 | + fx: 'full', | ||
165 | + url: 'rating.php' | ||
166 | + }); | ||
167 | + </script> | ||
162 | </div> | 168 | </div> |
163 | <div class="right-search-work"> | 169 | <div class="right-search-work"> |
164 | <div class="search-worker-title style">Найти исполнителя</div> | 170 | <div class="search-worker-title style">Найти исполнителя</div> |
@@ -203,6 +209,14 @@ $this->title = 'My Yii Application'; | @@ -203,6 +209,14 @@ $this->title = 'My Yii Application'; | ||
203 | 209 | ||
204 | 210 | ||
205 | </div> | 211 | </div> |
212 | + | ||
213 | + <script> | ||
214 | + $('div.rating-new').rating({ | ||
215 | + fx: 'full', | ||
216 | + readOnly: 'true', | ||
217 | + url: 'rating.php' | ||
218 | + }); | ||
219 | + </script> | ||
206 | </div> | 220 | </div> |
207 | </div> | 221 | </div> |
208 | </div> | 222 | </div> |
frontend/views/site/forms-modal-offer.php
@@ -44,7 +44,7 @@ | @@ -44,7 +44,7 @@ | ||
44 | <div class="form-resume-sub style">Предложить проект</div> | 44 | <div class="form-resume-sub style">Предложить проект</div> |
45 | <form action="" class="offer-project"> | 45 | <form action="" class="offer-project"> |
46 | 46 | ||
47 | - <label>Выбрать проект</label><div style="clear:both;"></div> | 47 | + <label>Выбрать проект</label> |
48 | <div class="list_item title"> | 48 | <div class="list_item title"> |
49 | <div class="main_item"> | 49 | <div class="main_item"> |
50 | <div class="pr_title"></div> | 50 | <div class="pr_title"></div> |
@@ -77,11 +77,6 @@ | @@ -77,11 +77,6 @@ | ||
77 | </div> | 77 | </div> |
78 | </div> | 78 | </div> |
79 | 79 | ||
80 | - <label for="off_name">Название проекта</label><input id="off_name" name="" type="text"> | ||
81 | - | ||
82 | - <label for="off_text">Описание</label><textarea id="off_text" name=""></textarea> | ||
83 | - | ||
84 | - <label for="off_price">Цена</label><input id="off_price" name="" type="text"> | ||
85 | 80 | ||
86 | <input id="off_submit" type="submit" value="Предложить"> | 81 | <input id="off_submit" type="submit" value="Предложить"> |
87 | </form> | 82 | </form> |
@@ -89,5 +84,56 @@ | @@ -89,5 +84,56 @@ | ||
89 | </div> | 84 | </div> |
90 | </div> | 85 | </div> |
91 | 86 | ||
87 | +<!--<div id="modal_form_offer">--> | ||
88 | +<!-- <div class="closed-form"></div>--> | ||
89 | +<!-- <div class="form-resume-wr offer">--> | ||
90 | +<!-- <div class="form-resume-sub style">Предложить проект</div>--> | ||
91 | +<!-- <form action="" class="offer-project">--> | ||
92 | +<!----> | ||
93 | +<!-- <label>Выбрать проект</label><div style="clear:both;"></div>--> | ||
94 | +<!-- <div class="list_item title">--> | ||
95 | +<!-- <div class="main_item">--> | ||
96 | +<!-- <div class="pr_title"></div>--> | ||
97 | +<!-- <span></span>--> | ||
98 | +<!-- </div>--> | ||
99 | +<!-- <div class="arrow up"></div>--> | ||
100 | +<!-- <div class="off_list">--> | ||
101 | +<!-- <ul class="content list-form-offer">--> | ||
102 | +<!-- <li>--> | ||
103 | +<!-- <div class="title1">Проект бассейна 1</div>--> | ||
104 | +<!-- <div class="title2">Подряд: Вилла 1</div>--> | ||
105 | +<!-- </li>--> | ||
106 | +<!-- <li>--> | ||
107 | +<!-- <div class="title1">Проект бассейна 2</div>--> | ||
108 | +<!-- <div class="title2">Подряд: Вилла 2</div>--> | ||
109 | +<!-- </li>--> | ||
110 | +<!-- <li>--> | ||
111 | +<!-- <div class="title1">Проект бассейна 3</div>--> | ||
112 | +<!-- <div class="title2">Подряд: Вилла 3</div>--> | ||
113 | +<!-- </li>--> | ||
114 | +<!-- <li>--> | ||
115 | +<!-- <div class="title1">Проект бассейна 4</div>--> | ||
116 | +<!-- <div class="title2">Подряд: Вилла 4</div>--> | ||
117 | +<!-- </li>--> | ||
118 | +<!-- <li>--> | ||
119 | +<!-- <div class="title1">Проект бассейна 5</div>--> | ||
120 | +<!-- <div class="title2">Подряд: Вилла 5</div>--> | ||
121 | +<!-- </li>--> | ||
122 | +<!-- </ul>--> | ||
123 | +<!-- </div>--> | ||
124 | +<!-- </div>--> | ||
125 | +<!----> | ||
126 | +<!-- <label for="off_name">Название проекта</label><input id="off_name" name="" type="text">--> | ||
127 | +<!----> | ||
128 | +<!-- <label for="off_text">Описание</label><textarea id="off_text" name=""></textarea>--> | ||
129 | +<!----> | ||
130 | +<!-- <label for="off_price">Цена</label><input id="off_price" name="" type="text">--> | ||
131 | +<!----> | ||
132 | +<!-- <input id="off_submit" type="submit" value="Предложить">--> | ||
133 | +<!-- </form>--> | ||
134 | +<!-- <div class="res_form_line"></div>--> | ||
135 | +<!-- </div>--> | ||
136 | +<!--</div>--> | ||
137 | + | ||
92 | 138 | ||
93 | 139 |
frontend/views/site/login.php
@@ -11,42 +11,62 @@ | @@ -11,42 +11,62 @@ | ||
11 | $this->title = 'Авторизация'; | 11 | $this->title = 'Авторизация'; |
12 | $this->params[ 'breadcrumbs' ][] = $this->title; | 12 | $this->params[ 'breadcrumbs' ][] = $this->title; |
13 | ?> | 13 | ?> |
14 | - <h1><?php echo Html::encode($this->title); ?></h1> | 14 | +<div class="box-wr"> |
15 | + <div class="box-all"> | ||
16 | + <div class="form_site_logn-wr"> | ||
17 | + <div class="form_site_logn_"> | ||
18 | + <h1><?php echo Html::encode($this->title); ?></h1> | ||
19 | + | ||
20 | + <?php | ||
21 | + if(Yii::$app->getSession() | ||
22 | + ->hasFlash('error') | ||
23 | + ) { | ||
24 | + echo '<div class="alert alert-danger">' . Yii::$app->getSession() | ||
25 | + ->getFlash('error') . '</div>'; | ||
26 | + } | ||
27 | + ?> | ||
28 | + | ||
29 | + | ||
30 | + <?php //echo \nodge\eauth\Widget::widget([ 'action' => 'site/login' ]); ?> | ||
31 | + | ||
15 | 32 | ||
16 | -<?php | ||
17 | - if(Yii::$app->getSession() | ||
18 | - ->hasFlash('error') | ||
19 | - ) { | ||
20 | - echo '<div class="alert alert-danger">' . Yii::$app->getSession() | ||
21 | - ->getFlash('error') . '</div>'; | ||
22 | - } | ||
23 | -?> | ||
24 | 33 | ||
34 | + <?php $form = ActiveForm::begin([ | ||
35 | + 'options' => [ | ||
36 | + 'class' => 'form-horizontal', | ||
37 | + 'id' => 'login-form', | ||
38 | + ], | ||
39 | + ]); ?> | ||
40 | + <div class="input-blocks-wrapper"> | ||
41 | + <?php echo $form->field($model, 'username') | ||
42 | + ->textInput(['class'=>'custom-input-2']); ?> | ||
43 | + </div> | ||
25 | 44 | ||
26 | -<?php //echo \nodge\eauth\Widget::widget([ 'action' => 'site/login' ]); ?> | 45 | + <div class="input-blocks-wrapper"> |
46 | + <?php echo $form->field($model, 'password') | ||
47 | + ->passwordInput(['class'=>'custom-input-2']); ?> | ||
48 | + </div> | ||
27 | 49 | ||
50 | + <div class="login-check-remember style"> | ||
51 | + <?php echo $form->field($model, 'rememberMe', [ 'template' => "{input}\n{label}\n{error}" ]) | ||
52 | + ->label('<span></span>Запомнить меня') | ||
53 | + ->checkbox([ | ||
54 | + 'class' => 'custom-check', | ||
55 | + 'checked' => 'checked', | ||
56 | + ], false); ?> | ||
57 | + </div> | ||
28 | 58 | ||
29 | 59 | ||
60 | + <div class="form-actions style"> | ||
61 | + <?php echo Html::submitButton('Вход', [ 'class' => 'btn btn-primary login-button' ]); ?> | ||
62 | + </div> | ||
63 | + <div class="style" style="text-align: center; font-size: 13px; margin-top: 16px"> | ||
64 | + <?= Html::a('Восстановить пароль', [ 'site/request-password-reset' ]) ?> | ||
65 | + </div> | ||
30 | 66 | ||
31 | -<?php $form = ActiveForm::begin([ | ||
32 | - 'options' => [ | ||
33 | - 'class' => 'form-horizontal', | ||
34 | - 'id' => 'login-form', | ||
35 | - ], | ||
36 | -]); ?> | ||
37 | -<?php echo $form->field($model, 'username') | ||
38 | - ->textInput(); ?> | ||
39 | -<?php echo $form->field($model, 'password') | ||
40 | - ->passwordInput(); ?> | ||
41 | -<?php echo $form->field($model, 'rememberMe', [ 'template' => "{input}\n{label}\n{error}" ]) | ||
42 | - ->label('<span></span>Запомнить меня') | ||
43 | - ->checkbox([ | ||
44 | - 'class' => 'custom-check', | ||
45 | - 'checked' => 'checked', | ||
46 | - ], false); ?> | 67 | + <?php ActiveForm::end(); ?> |
68 | + </div> | ||
69 | + </div> | ||
47 | 70 | ||
48 | - <div class="form-actions"> | ||
49 | - <?php echo Html::submitButton('Login', [ 'class' => 'btn btn-primary' ]); ?> | ||
50 | </div> | 71 | </div> |
51 | -<?= Html::a('Восстановить пароль', [ 'site/request-password-reset' ]) ?> | ||
52 | -<?php ActiveForm::end(); ?> | ||
53 | \ No newline at end of file | 72 | \ No newline at end of file |
73 | +</div> |
frontend/web/css/style.css
@@ -945,13 +945,13 @@ li.project-home-active span{ | @@ -945,13 +945,13 @@ li.project-home-active span{ | ||
945 | margin-left: -120px; | 945 | margin-left: -120px; |
946 | margin-top: 22px; | 946 | margin-top: 22px; |
947 | } | 947 | } |
948 | -.form-resume-wr form label { | 948 | +.form-resume-wr form label, .form_site_logn-wr label { |
949 | font-size: 13px; | 949 | font-size: 13px; |
950 | font-weight: 700; | 950 | font-weight: 700; |
951 | width: 100%; | 951 | width: 100%; |
952 | float: left; | 952 | float: left; |
953 | } | 953 | } |
954 | -.form-resume-wr form input { | 954 | +.form-resume-wr form input, .form_site_logn-wr form input { |
955 | width: 240px; | 955 | width: 240px; |
956 | height: 29px; | 956 | height: 29px; |
957 | border: 1px solid #dcdcdc; | 957 | border: 1px solid #dcdcdc; |
@@ -2724,12 +2724,14 @@ input[type=file]::-webkit-file-upload-button { | @@ -2724,12 +2724,14 @@ input[type=file]::-webkit-file-upload-button { | ||
2724 | .search-worker-blocks:first-child{margin-top: 20px} | 2724 | .search-worker-blocks:first-child{margin-top: 20px} |
2725 | .search-worker-blocks-foto-wr { | 2725 | .search-worker-blocks-foto-wr { |
2726 | width: 318px; | 2726 | width: 318px; |
2727 | - | 2727 | + min-height: 320px; |
2728 | float: left; | 2728 | float: left; |
2729 | } | 2729 | } |
2730 | .search-worker-blocks-text-wr { | 2730 | .search-worker-blocks-text-wr { |
2731 | width: 382px; | 2731 | width: 382px; |
2732 | float: right; | 2732 | float: right; |
2733 | + min-height: 320px; | ||
2734 | + position: relative; | ||
2733 | } | 2735 | } |
2734 | .search-worker-blocks-ico-wr { | 2736 | .search-worker-blocks-ico-wr { |
2735 | width: 48px; | 2737 | width: 48px; |
@@ -2752,7 +2754,7 @@ input[type=file]::-webkit-file-upload-button { | @@ -2752,7 +2754,7 @@ input[type=file]::-webkit-file-upload-button { | ||
2752 | text-align: center; | 2754 | text-align: center; |
2753 | } | 2755 | } |
2754 | .search-worker-blocks-title { | 2756 | .search-worker-blocks-title { |
2755 | - font-size: 18px; margin-top: -4px; | 2757 | + font-size: 18px; margin-top: -1px; |
2756 | } | 2758 | } |
2757 | .rating-new { | 2759 | .rating-new { |
2758 | float: left; | 2760 | float: left; |
@@ -2877,8 +2879,14 @@ input[type=file]::-webkit-file-upload-button { | @@ -2877,8 +2879,14 @@ input[type=file]::-webkit-file-upload-button { | ||
2877 | .search-worker-blocks-buttons { | 2879 | .search-worker-blocks-buttons { |
2878 | margin-top: 49px; | 2880 | margin-top: 49px; |
2879 | } | 2881 | } |
2880 | - | ||
2881 | - | 2882 | +.search-worker-blocks-buttons { |
2883 | + margin-top: 0; | ||
2884 | + position: absolute; | ||
2885 | + bottom: 0; | ||
2886 | + left: 0; | ||
2887 | +} | ||
2888 | +.search-worker-blocks .search-worker-blocks-jobs-portfolio {margin-bottom: 41px} | ||
2889 | +.search-company-block-left .search-worker-blocks-jobs-portfolio {margin-bottom: 31px} | ||
2882 | 2890 | ||
2883 | .gallery-box-search { | 2891 | .gallery-box-search { |
2884 | width: 100%; | 2892 | width: 100%; |
@@ -3258,10 +3266,13 @@ ul.proektant-comments {margin-top: 15px} | @@ -3258,10 +3266,13 @@ ul.proektant-comments {margin-top: 15px} | ||
3258 | .search-company-block-left { | 3266 | .search-company-block-left { |
3259 | width: 400px; | 3267 | width: 400px; |
3260 | float: left; | 3268 | float: left; |
3269 | + min-height: 320px; | ||
3270 | + position: relative; | ||
3261 | } | 3271 | } |
3262 | .search-company-block-right { | 3272 | .search-company-block-right { |
3263 | width: 320px; | 3273 | width: 320px; |
3264 | float: right; | 3274 | float: right; |
3275 | + min-height: 320px; | ||
3265 | } | 3276 | } |
3266 | .search-company-block-left .search-worker-blocks-title-wr {float: left; width: 100% !important;} | 3277 | .search-company-block-left .search-worker-blocks-title-wr {float: left; width: 100% !important;} |
3267 | .search-company-block-left .land-stars-pro, .land-stars-new {margin-right: 11px} | 3278 | .search-company-block-left .land-stars-pro, .land-stars-new {margin-right: 11px} |
@@ -3422,7 +3433,8 @@ ul.proektant-comments {margin-top: 15px} | @@ -3422,7 +3433,8 @@ ul.proektant-comments {margin-top: 15px} | ||
3422 | .favorite-user-profile-add span{line-height: 18px} | 3433 | .favorite-user-profile-add span{line-height: 18px} |
3423 | 3434 | ||
3424 | form.offer-project { | 3435 | form.offer-project { |
3425 | - height: 531px; | 3436 | + /*height: 531px;*/ |
3437 | + height: 211px; | ||
3426 | } | 3438 | } |
3427 | #off_submit { | 3439 | #off_submit { |
3428 | bottom: 25px; | 3440 | bottom: 25px; |
@@ -4114,7 +4126,8 @@ ul.min_markers_two | @@ -4114,7 +4126,8 @@ ul.min_markers_two | ||
4114 | /*** message-read***/ | 4126 | /*** message-read***/ |
4115 | .comments_block{width:938px;height:498px;background-color:#fcfcfc;border:1px solid #b7b7b7;border-right:none;margin-bottom:57px;color:#333;font-family:Roboto;font-size:13px;position:relative;overflow:hidden;outline:none}.comment_type{width:940px}.comment_type .pole{width:660px;margin:0 auto;position:relative}.comment_type .mes_title{font-size:18px;color:#333;margin:18px 0}.message_text{width:638px;height:78px;resize:none;border:1px solid #c2c2c2;margin:0 auto;margin-bottom:26px;margin-top:18px;padding:10px;font-family:Roboto}.send_mess_but{outline:none;border:none;cursor:pointer;font-size:12px!important;padding-top:2px;width:170px;height:43px;text-align:center;text-transform:uppercase;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr = '#148ad6',endColorstr = '#0072bc');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr = '#148ad6',endColorstr = '#0072bc')";background-image:-moz-linear-gradient(top,#148ad6,#0072bc);background-image:-ms-linear-gradient(top,#148ad6,#0072bc);background-image:-o-linear-gradient(top,#148ad6,#0072bc);background-image:-webkit-gradient(linear,center top,center bottom,from(#148ad6),to(#0072bc));background-image:-webkit-linear-gradient(top,#148ad6,#0072bc);background-image:linear-gradient(top,#148ad6,#0072bc);color:#fff;border-bottom:2px solid #0054a6;border-radius:4px;transition:.1s;top:170px;line-height:3.5}.send_mess_but:hover{opacity:.9}.send_mess_but:active{line-height:3.7}.pick_file{position:absolute;top:170px;right:0;width:130px}.pick_file .link:after{content:'';background:url(/images/skrpk.png) left center no-repeat;position:absolute;width:19px;height:21px;left:-28px;top:0}.pick_file .link{text-transform:uppercase;color:#0276c0;font-size:13px;cursor:pointer;text-decoration:none;border-bottom:1px solid #70b2db;position:relative}.pick_file .capt{color:#c2c2c2;font-size:11px;line-height:16px;margin-top:3px}.comment_text{position:relative;padding:12px 13px;width:602px;border:1px solid #c2c2c2;min-height:74px;left:10px;line-height:1.3;background-color:#fff}.comment.left .comment_text{float:left}.comment.right .comment_text{float:right}.comment.left .comment_text:before{content:'';background:url(/images/mes_bord_left.png);position:absolute;width:11px;height:11px;top:-1px;left:-11px}.comment.right .comment_text:before{content:'';background:url(/images/mes_bord_right.png);position:absolute;width:11px;height:11px;top:-1px;right:-11px}.comment.left .author_pic{float:left;margin:0 10px}.comment.right .author_pic{float:right;margin:0 25px 0 30px}.comment_time{color:#c6c6c6;font-family:Roboto;font-size:13px;font-weight:600;line-height:32px;position:absolute}.comment.left .comment_time{top: 17px; right: -120px; width: 100px;}.comment.right .comment_time{ top: 18px; left: -88px; width: 100px;}.comment{position:relative;margin:30px 21px 30px 1px}.comment .offer_link a{color:#0173bd;display:block; height:25px; position:relative}.comment .offer_link a:before{content:'';position:absolute;background:url(/images/skrpk_sm.png) left center no-repeat;width:19px;height:21px;left:-26px;top:-3px}.comment.right .offer_link{float:right;margin-right:94px;margin-top:12px;margin-bottom:-17px}.comment.left .offer_link{left:104px;bottom:-27px}.comment_block .content{overflow:auto;width:938px;height:498px}.fileform{background-color:#FFF;border:1px solid #CCC;border-radius:2px;cursor:pointer;height:26px;overflow:hidden;padding:2px;position:relative;text-align:left;vertical-align:middle;width:230px}.comment_type form{width:660px;margin:0 auto}.comment_type form label{color:#333;font-family:Roboto;font-size:18px}.input_file_text{color:#c2c2c2;font-size:11px;font-family:Roboto;width:125px;position:absolute;right:0;line-height:16px;top:18px;overflow:hidden;text-overflow:ellipsis;white-space:pre-line}.inputfile{float:right;position:relative;width:153px;padding-bottom:10px;background-repeat:no-repeat}.input_file{opacity:0;cursor:pointer;width:160px}.inputfile .file_input_title{position:absolute;color:#0276c0;border-bottom:1px solid #0276c0;text-transform:uppercase;font-family:Roboto;font-size:13px;right:0}.jspArrow{background-color:#0173bd;width:20px;height:20px}.jspVerticalBar{width:20px}.jspVerticalBar .jspArrow{height:20px}.jspTrack{background:#ebebeb;position:relative}.jspDrag{background:#c2c2c2;position:relative;top:0;left:0;cursor:pointer;border-left:2px solid #ebebeb;border-right:2px solid #ebebeb}.jspVerticalBar{background:#ebebeb}.jspArrowUp{background:#0173bd url(/images/scroll_up.png) center center no-repeat}.jspArrowUp:hover{opacity:.8}.jspArrowUp:active{background-position-y:1px!important}.jspDisabled.jspArrowUp{background:#80808d url(/images/scroll_up_grey.png) center center no-repeat}.jspArrowDown{background:#0173bd url(/images/scroll_down.png) center center no-repeat}.jspArrowDown:hover{opacity:.8}.jspArrowDown:active{background-position-y:1px!important}.jspArrowDown{background:#0173bd url(/images/scroll_down.png) center center no-repeat}.jspDisabled.jspArrowDown{background:#80808d url(/images/scroll_down_grey.png) center center no-repeat}.jspContainer{outline:none;border:none} | 4127 | .comments_block{width:938px;height:498px;background-color:#fcfcfc;border:1px solid #b7b7b7;border-right:none;margin-bottom:57px;color:#333;font-family:Roboto;font-size:13px;position:relative;overflow:hidden;outline:none}.comment_type{width:940px}.comment_type .pole{width:660px;margin:0 auto;position:relative}.comment_type .mes_title{font-size:18px;color:#333;margin:18px 0}.message_text{width:638px;height:78px;resize:none;border:1px solid #c2c2c2;margin:0 auto;margin-bottom:26px;margin-top:18px;padding:10px;font-family:Roboto}.send_mess_but{outline:none;border:none;cursor:pointer;font-size:12px!important;padding-top:2px;width:170px;height:43px;text-align:center;text-transform:uppercase;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr = '#148ad6',endColorstr = '#0072bc');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(startColorstr = '#148ad6',endColorstr = '#0072bc')";background-image:-moz-linear-gradient(top,#148ad6,#0072bc);background-image:-ms-linear-gradient(top,#148ad6,#0072bc);background-image:-o-linear-gradient(top,#148ad6,#0072bc);background-image:-webkit-gradient(linear,center top,center bottom,from(#148ad6),to(#0072bc));background-image:-webkit-linear-gradient(top,#148ad6,#0072bc);background-image:linear-gradient(top,#148ad6,#0072bc);color:#fff;border-bottom:2px solid #0054a6;border-radius:4px;transition:.1s;top:170px;line-height:3.5}.send_mess_but:hover{opacity:.9}.send_mess_but:active{line-height:3.7}.pick_file{position:absolute;top:170px;right:0;width:130px}.pick_file .link:after{content:'';background:url(/images/skrpk.png) left center no-repeat;position:absolute;width:19px;height:21px;left:-28px;top:0}.pick_file .link{text-transform:uppercase;color:#0276c0;font-size:13px;cursor:pointer;text-decoration:none;border-bottom:1px solid #70b2db;position:relative}.pick_file .capt{color:#c2c2c2;font-size:11px;line-height:16px;margin-top:3px}.comment_text{position:relative;padding:12px 13px;width:602px;border:1px solid #c2c2c2;min-height:74px;left:10px;line-height:1.3;background-color:#fff}.comment.left .comment_text{float:left}.comment.right .comment_text{float:right}.comment.left .comment_text:before{content:'';background:url(/images/mes_bord_left.png);position:absolute;width:11px;height:11px;top:-1px;left:-11px}.comment.right .comment_text:before{content:'';background:url(/images/mes_bord_right.png);position:absolute;width:11px;height:11px;top:-1px;right:-11px}.comment.left .author_pic{float:left;margin:0 10px}.comment.right .author_pic{float:right;margin:0 25px 0 30px}.comment_time{color:#c6c6c6;font-family:Roboto;font-size:13px;font-weight:600;line-height:32px;position:absolute}.comment.left .comment_time{top: 17px; right: -120px; width: 100px;}.comment.right .comment_time{ top: 18px; left: -88px; width: 100px;}.comment{position:relative;margin:30px 21px 30px 1px}.comment .offer_link a{color:#0173bd;display:block; height:25px; position:relative}.comment .offer_link a:before{content:'';position:absolute;background:url(/images/skrpk_sm.png) left center no-repeat;width:19px;height:21px;left:-26px;top:-3px}.comment.right .offer_link{float:right;margin-right:94px;margin-top:12px;margin-bottom:-17px}.comment.left .offer_link{left:104px;bottom:-27px}.comment_block .content{overflow:auto;width:938px;height:498px}.fileform{background-color:#FFF;border:1px solid #CCC;border-radius:2px;cursor:pointer;height:26px;overflow:hidden;padding:2px;position:relative;text-align:left;vertical-align:middle;width:230px}.comment_type form{width:660px;margin:0 auto}.comment_type form label{color:#333;font-family:Roboto;font-size:18px}.input_file_text{color:#c2c2c2;font-size:11px;font-family:Roboto;width:125px;position:absolute;right:0;line-height:16px;top:18px;overflow:hidden;text-overflow:ellipsis;white-space:pre-line}.inputfile{float:right;position:relative;width:153px;padding-bottom:10px;background-repeat:no-repeat}.input_file{opacity:0;cursor:pointer;width:160px}.inputfile .file_input_title{position:absolute;color:#0276c0;border-bottom:1px solid #0276c0;text-transform:uppercase;font-family:Roboto;font-size:13px;right:0}.jspArrow{background-color:#0173bd;width:20px;height:20px}.jspVerticalBar{width:20px}.jspVerticalBar .jspArrow{height:20px}.jspTrack{background:#ebebeb;position:relative}.jspDrag{background:#c2c2c2;position:relative;top:0;left:0;cursor:pointer;border-left:2px solid #ebebeb;border-right:2px solid #ebebeb}.jspVerticalBar{background:#ebebeb}.jspArrowUp{background:#0173bd url(/images/scroll_up.png) center center no-repeat}.jspArrowUp:hover{opacity:.8}.jspArrowUp:active{background-position-y:1px!important}.jspDisabled.jspArrowUp{background:#80808d url(/images/scroll_up_grey.png) center center no-repeat}.jspArrowDown{background:#0173bd url(/images/scroll_down.png) center center no-repeat}.jspArrowDown:hover{opacity:.8}.jspArrowDown:active{background-position-y:1px!important}.jspArrowDown{background:#0173bd url(/images/scroll_down.png) center center no-repeat}.jspDisabled.jspArrowDown{background:#80808d url(/images/scroll_down_grey.png) center center no-repeat}.jspContainer{outline:none;border:none} |
4116 | /***form-order***/ | 4128 | /***form-order***/ |
4117 | -#modal_form_offer {height: 505px;} | 4129 | +#modal_form_offer { /*height: 505px;*/ height: 309px; } |
4130 | +#modal_form_offer .form-resume-wr {overflow: visible} | ||
4118 | #modal_form_offer,#modal_form_question, #modal_form_question{margin-top: 70px;} | 4131 | #modal_form_offer,#modal_form_question, #modal_form_question{margin-top: 70px;} |
4119 | .form-resume-wr form input[type="submit"]{margin-left: 55px;} | 4132 | .form-resume-wr form input[type="submit"]{margin-left: 55px;} |
4120 | .form-resume-wr form{top:72px;} | 4133 | .form-resume-wr form{top:72px;} |
@@ -4140,6 +4153,7 @@ ul.min_markers_two | @@ -4140,6 +4153,7 @@ ul.min_markers_two | ||
4140 | border: 1px solid #dcdcdc; | 4153 | border: 1px solid #dcdcdc; |
4141 | position: relative; | 4154 | position: relative; |
4142 | cursor:pointer; | 4155 | cursor:pointer; |
4156 | + z-index: 2; | ||
4143 | } | 4157 | } |
4144 | .list_item.title{margin-bottom: 15px;} | 4158 | .list_item.title{margin-bottom: 15px;} |
4145 | .list_item .arrow{ | 4159 | .list_item .arrow{ |
@@ -4169,14 +4183,13 @@ ul.min_markers_two | @@ -4169,14 +4183,13 @@ ul.min_markers_two | ||
4169 | border: 4px solid transparent; | 4183 | border: 4px solid transparent; |
4170 | border-top-color: white; | 4184 | border-top-color: white; |
4171 | } | 4185 | } |
4172 | -form.offer-project {height: 406px;} | 4186 | + |
4173 | .list_item .main_item{padding: 10px 37px 12px 12px;transition:0.3s;} | 4187 | .list_item .main_item{padding: 10px 37px 12px 12px;transition:0.3s;} |
4174 | .off_list ul li:hover{background-color: #fffccc; } | 4188 | .off_list ul li:hover{background-color: #fffccc; } |
4175 | .act-offer-li{opacity: 0.6; cursor: default } | 4189 | .act-offer-li{opacity: 0.6; cursor: default } |
4176 | .act-offer-li:hover{background-color: #fff !important; } | 4190 | .act-offer-li:hover{background-color: #fff !important; } |
4177 | .off_list{ | 4191 | .off_list{ |
4178 | position: absolute; | 4192 | position: absolute; |
4179 | - width: 100%; | ||
4180 | width: 238px; | 4193 | width: 238px; |
4181 | background-color: white; | 4194 | background-color: white; |
4182 | border: 1px solid #dcdcdc; | 4195 | border: 1px solid #dcdcdc; |
@@ -5286,23 +5299,6 @@ input.disabled.admin-check:checked + label, input.disabled.admin-check:checked + | @@ -5286,23 +5299,6 @@ input.disabled.admin-check:checked + label, input.disabled.admin-check:checked + | ||
5286 | left: -12px; | 5299 | left: -12px; |
5287 | width: 15px; | 5300 | width: 15px; |
5288 | } | 5301 | } |
5289 | - | ||
5290 | -.help-block { | ||
5291 | - /*width: 320px;*/ | ||
5292 | - /*margin-left: -10px;*/ | ||
5293 | - /*text-align: center;*/ | ||
5294 | - /*position: relative;*/ | ||
5295 | - /*border: 1px solid #c1c1c1;*/ | ||
5296 | - /*margin-top: 25px;*/ | ||
5297 | - /*box-shadow: 3px 3px 7px 0 rgba(200, 200, 200, .5), inset 0 -3px 0 0 #c1c1c1;*/ | ||
5298 | - /*padding: 15px 0;*/ | ||
5299 | - /*display: none;*/ | ||
5300 | -} | ||
5301 | -.has-error .help-block { | ||
5302 | - /*display: block;*/ | ||
5303 | - /*color: inherit;*/ | ||
5304 | - /*background: #fff;*/ | ||
5305 | -} | ||
5306 | .new-portf-add-comm .help-block{ | 5302 | .new-portf-add-comm .help-block{ |
5307 | width: 230px; | 5303 | width: 230px; |
5308 | margin-left: 0; | 5304 | margin-left: 0; |
@@ -5344,7 +5340,7 @@ top: 272px; | @@ -5344,7 +5340,7 @@ top: 272px; | ||
5344 | margin-top: 6px; | 5340 | margin-top: 6px; |
5345 | margin-bottom: 60px; | 5341 | margin-bottom: 60px; |
5346 | } | 5342 | } |
5347 | -.form-resume-wr .required:before, .site-request-password-reset .required:before{ | 5343 | +.form-resume-wr .required:before, .site-request-password-reset .required:before, .form_site_logn-wr .required:before{ |
5348 | display: block; | 5344 | display: block; |
5349 | content: "*"; | 5345 | content: "*"; |
5350 | color: #D40000; | 5346 | color: #D40000; |
@@ -5356,7 +5352,7 @@ top: 272px; | @@ -5356,7 +5352,7 @@ top: 272px; | ||
5356 | .site-request-password-reset .required:before{ | 5352 | .site-request-password-reset .required:before{ |
5357 | left: 125px; | 5353 | left: 125px; |
5358 | } | 5354 | } |
5359 | -.form-resume-wr .help-block { | 5355 | +.form-resume-wr .help-block, .form_site_logn-wr .help-block { |
5360 | width: 320px; | 5356 | width: 320px; |
5361 | margin: 0; | 5357 | margin: 0; |
5362 | text-align: center; | 5358 | text-align: center; |
@@ -5368,12 +5364,12 @@ top: 272px; | @@ -5368,12 +5364,12 @@ top: 272px; | ||
5368 | padding: 15px 0; | 5364 | padding: 15px 0; |
5369 | display: none; | 5365 | display: none; |
5370 | } | 5366 | } |
5371 | -.form-resume-wr .has-error .help-block { | 5367 | +.form-resume-wr .has-error .help-block, .form_site_logn-wr .has-error .help-block{ |
5372 | display: block; | 5368 | display: block; |
5373 | color: inherit; | 5369 | color: inherit; |
5374 | background: #fff; | 5370 | background: #fff; |
5375 | } | 5371 | } |
5376 | -.form-resume-wr .help-block:before { | 5372 | +.form-resume-wr .help-block:before, .form_site_logn-wr .help-block:before { |
5377 | width: 20px; | 5373 | width: 20px; |
5378 | height: 20px; | 5374 | height: 20px; |
5379 | background: #fff; | 5375 | background: #fff; |
@@ -5384,7 +5380,7 @@ top: 272px; | @@ -5384,7 +5380,7 @@ top: 272px; | ||
5384 | left: -2px; | 5380 | left: -2px; |
5385 | margin-top: -10px; | 5381 | margin-top: -10px; |
5386 | } | 5382 | } |
5387 | -.form-resume-wr .help-block:after { | 5383 | +.form-resume-wr .help-block:after, .form_site_logn-wr .help-block:after { |
5388 | height: 20px; | 5384 | height: 20px; |
5389 | background: #fff; | 5385 | background: #fff; |
5390 | transform: rotate(45deg); | 5386 | transform: rotate(45deg); |
@@ -6641,8 +6637,8 @@ input[disabled], select[disabled] { | @@ -6641,8 +6637,8 @@ input[disabled], select[disabled] { | ||
6641 | .rating_search_performer .vote-success, .rating_search_performer .vote-result { | 6637 | .rating_search_performer .vote-success, .rating_search_performer .vote-result { |
6642 | display: none; | 6638 | display: none; |
6643 | } | 6639 | } |
6644 | -.rating_search_performer .vote-active { | ||
6645 | - background: url("/images/stars.png") 0px 14px !important; | 6640 | +.vote-active { |
6641 | + top: -1px !important; | ||
6646 | } | 6642 | } |
6647 | .rating_search_performer .div.vote-stars, .rating_search_performer div.vote-active { | 6643 | .rating_search_performer .div.vote-stars, .rating_search_performer div.vote-active { |
6648 | cursor: default; | 6644 | cursor: default; |
@@ -6659,4 +6655,29 @@ input[disabled], select[disabled] { | @@ -6659,4 +6655,29 @@ input[disabled], select[disabled] { | ||
6659 | text-align: center; | 6655 | text-align: center; |
6660 | } | 6656 | } |
6661 | .right_search_perform_foto-wr {vertical-align: middle} | 6657 | .right_search_perform_foto-wr {vertical-align: middle} |
6662 | -.section-box-customer .search-worker-blocks {margin-top: 20px} | ||
6663 | \ No newline at end of file | 6658 | \ No newline at end of file |
6659 | +.section-box-customer .search-worker-blocks {margin-top: 20px} | ||
6660 | +.form_site_logn-wr { | ||
6661 | + width: 240px; | ||
6662 | + margin: 0 auto; | ||
6663 | +} | ||
6664 | +.form_site_logn_ { | ||
6665 | + width: 100%; | ||
6666 | + padding: 30px 0; | ||
6667 | + float: left; | ||
6668 | + position: relative; | ||
6669 | +} | ||
6670 | +.form_site_logn-wr h1 { | ||
6671 | + font-size: 24px; | ||
6672 | + width: 100%; | ||
6673 | + text-align: center; | ||
6674 | +} | ||
6675 | + | ||
6676 | +.form_site_logn-wr .login-check-remember { | ||
6677 | + margin-bottom: 19px; | ||
6678 | +} | ||
6679 | +.form_site_logn-wr input.custom-check + label span {margin-top: 1px; margin-right: 6px} | ||
6680 | +.callback .input-blocks-wrapper {margin-top: 0} | ||
6681 | +.list_item.title {margin-top: 20px} | ||
6682 | +.search_customer_image { | ||
6683 | + height: 100%; | ||
6684 | +} | ||
6664 | \ No newline at end of file | 6685 | \ No newline at end of file |
frontend/web/js/forms.js
@@ -54,6 +54,7 @@ $(document).ready(function(){ | @@ -54,6 +54,7 @@ $(document).ready(function(){ | ||
54 | var newMarg = $(window).scrollTop(); | 54 | var newMarg = $(window).scrollTop(); |
55 | $('#overlay').fadeIn(400, | 55 | $('#overlay').fadeIn(400, |
56 | function(){ | 56 | function(){ |
57 | + $('body').css({overflowY:'hidden'}) | ||
57 | $('.forms-modal-hide>div') | 58 | $('.forms-modal-hide>div') |
58 | .css({display:'block', marginTop:-230+newMarg}) | 59 | .css({display:'block', marginTop:-230+newMarg}) |
59 | .animate({opacity: 1, top: '50%'}, 200); | 60 | .animate({opacity: 1, top: '50%'}, 200); |
@@ -110,6 +111,7 @@ $(document).ready(function(){ | @@ -110,6 +111,7 @@ $(document).ready(function(){ | ||
110 | clocseModalForms() | 111 | clocseModalForms() |
111 | function clocseModalForms(){ | 112 | function clocseModalForms(){ |
112 | $('body').on('click','.closed-form, #overlay', function(){ | 113 | $('body').on('click','.closed-form, #overlay', function(){ |
114 | + $('body').css({overflowY:'visible'}) | ||
113 | $('.forms-modal-hide>div') | 115 | $('.forms-modal-hide>div') |
114 | .animate({opacity: 0, top: '30%'}, 200, | 116 | .animate({opacity: 0, top: '30%'}, 200, |
115 | function(){ | 117 | function(){ |