Commit 7e6d3f52368ebe4849e358682a8e28bddce69a03
1 parent
d48b9aad
24.02.16
Showing
6 changed files
with
56 additions
and
30 deletions
Show diff stats
common/models/Project.php
@@ -173,6 +173,15 @@ | @@ -173,6 +173,15 @@ | ||
173 | ->viaTable('project_payment', [ 'project_id' => 'project_id' ]); | 173 | ->viaTable('project_payment', [ 'project_id' => 'project_id' ]); |
174 | } | 174 | } |
175 | 175 | ||
176 | + | ||
177 | + /** | ||
178 | + * @return \yii\db\ActiveQuery | ||
179 | + */ | ||
180 | + public function getOwner() | ||
181 | + { | ||
182 | + return $this->hasOne(User::className(), [ 'id' => 'user_id' ]); | ||
183 | + } | ||
184 | + | ||
176 | /** | 185 | /** |
177 | * @return \yii\db\ActiveQuery | 186 | * @return \yii\db\ActiveQuery |
178 | */ | 187 | */ |
frontend/controllers/TenderController.php
1 | <?php | 1 | <?php |
2 | namespace frontend\controllers; | 2 | namespace frontend\controllers; |
3 | 3 | ||
4 | +use common\models\Project; | ||
4 | use Yii; | 5 | use Yii; |
5 | use common\models\LoginForm; | 6 | use common\models\LoginForm; |
6 | use frontend\models\PasswordResetRequestForm; | 7 | use frontend\models\PasswordResetRequestForm; |
@@ -53,9 +54,13 @@ class TenderController extends Controller | @@ -53,9 +54,13 @@ class TenderController extends Controller | ||
53 | return $this->redirect(['search/project']); | 54 | return $this->redirect(['search/project']); |
54 | } | 55 | } |
55 | 56 | ||
56 | - public function actionView(/*$tender_id*/) | 57 | + public function actionView($tender_id) |
57 | { | 58 | { |
58 | - return $this->render('view'); | 59 | + $model = Project::findOne($tender_id); |
60 | + | ||
61 | + return $this->render('view',[ | ||
62 | + 'model' => $model | ||
63 | + ]); | ||
59 | } | 64 | } |
60 | 65 | ||
61 | } | 66 | } |
frontend/models/SignupForm.php
@@ -21,6 +21,7 @@ class SignupForm extends Model | @@ -21,6 +21,7 @@ class SignupForm extends Model | ||
21 | public $is_customer; | 21 | public $is_customer; |
22 | public $is_freelancer; | 22 | public $is_freelancer; |
23 | public $city; | 23 | public $city; |
24 | + public $company_name; | ||
24 | 25 | ||
25 | /** | 26 | /** |
26 | * @inheritdoc | 27 | * @inheritdoc |
@@ -41,6 +42,10 @@ class SignupForm extends Model | @@ -41,6 +42,10 @@ class SignupForm extends Model | ||
41 | ['email', 'string', 'max' => 255], | 42 | ['email', 'string', 'max' => 255], |
42 | ['email', 'unique', 'targetClass' => '\common\models\User', 'message' => 'This email address has already been taken.'], | 43 | ['email', 'unique', 'targetClass' => '\common\models\User', 'message' => 'This email address has already been taken.'], |
43 | 44 | ||
45 | + ['company_name', 'required'], | ||
46 | + ['firstname', 'required'], | ||
47 | + | ||
48 | + | ||
44 | ['verifyCode', 'captcha'], | 49 | ['verifyCode', 'captcha'], |
45 | 50 | ||
46 | ['type', 'integer'], | 51 | ['type', 'integer'], |
@@ -92,6 +97,7 @@ class SignupForm extends Model | @@ -92,6 +97,7 @@ class SignupForm extends Model | ||
92 | 'alt_location' => 'Город не в списке', | 97 | 'alt_location' => 'Город не в списке', |
93 | 'is_customer' => '', | 98 | 'is_customer' => '', |
94 | 'is_freelancer' => '', | 99 | 'is_freelancer' => '', |
100 | + 'company_name' => 'Название компании' | ||
95 | ]; | 101 | ]; |
96 | } | 102 | } |
97 | 103 |
frontend/views/search/_projects_list_view.php
1 | <?php | 1 | <?php |
2 | +use frontend\helpers\TextHelper; | ||
2 | use yii\helpers\Html; | 3 | use yii\helpers\Html; |
3 | use yii\helpers\Url; | 4 | use yii\helpers\Url; |
4 | 5 | ||
5 | ?> | 6 | ?> |
6 | <div class="search-profile-blocks"> | 7 | <div class="search-profile-blocks"> |
7 | - <?= Html::a($model->name, Url::toRoute( ['tender/view','tender_id' =>$model->project_id] )) ?> | ||
8 | - <div class="srch-prof-budget"><span></span>Бюджет: <?= $model->budget?> <?= $model->budgetCurrency->label?> (<?= $model->contractual ? "Договорной" : "Не договорной" ?>)</div> | 8 | + <?= Html::a($model->name, Url::toRoute( ['tender/view','tender_id' =>$model->project_id] ), ['class' => 'srch-prof-title']) ?> |
9 | + <div class="srch-prof-budget"><span></span>Бюджет: <?= $model->budget?> <?= $model->budgetCurrency->label?> (<?= $model->contractual ? "Договорной" : "Недоговорной" ?>)</div> | ||
9 | <div class="srch-prof-contract-wr"> | 10 | <div class="srch-prof-contract-wr"> |
11 | + | ||
12 | + <?php if(!empty($model->parent->name)):?> | ||
10 | <div class="srch-prof-contract-button">ПОДРЯД</div> | 13 | <div class="srch-prof-contract-button">ПОДРЯД</div> |
11 | <div class="srch-prof-contract-txt"> | 14 | <div class="srch-prof-contract-txt"> |
12 | - <?php if(!empty($model->parent->name)):?> | ||
13 | <span>Из проекта: </span><?= Html::a($model->parent->name, Url::toRoute(['tender/view', 'tender_id' =>$model->parent->project_id ])) ?> | 15 | <span>Из проекта: </span><?= Html::a($model->parent->name, Url::toRoute(['tender/view', 'tender_id' =>$model->parent->project_id ])) ?> |
14 | - <?php endif; ?> | ||
15 | </div> | 16 | </div> |
17 | + <?php endif; ?> | ||
18 | + | ||
16 | </div> | 19 | </div> |
17 | <div class="srch-prof-text"> | 20 | <div class="srch-prof-text"> |
18 | - <?= $model->description?> | 21 | + <?= TextHelper::truncateHtmlText($model->description, 1000)?> |
19 | </div> | 22 | </div> |
20 | <div class="srch-prof-params-wr"> | 23 | <div class="srch-prof-params-wr"> |
21 | <div class="srch-prof-params srch-prof-params-city"> | 24 | <div class="srch-prof-params srch-prof-params-city"> |
22 | <img src="/images/ico-city.png" alt=""/><span><?= $model->city?></span> | 25 | <img src="/images/ico-city.png" alt=""/><span><?= $model->city?></span> |
23 | </div> | 26 | </div> |
24 | <div class="srch-prof-params srch-prof-params-clock"> | 27 | <div class="srch-prof-params srch-prof-params-clock"> |
25 | - <img src="/images/ico-clock.png" alt=""/><span><?= Yii::$app->formatter->asDatetime($model->date_end, 'Y-MM-d')?></span> | 28 | + <img src="/images/ico-clock.png" alt=""/><span><?= Yii::$app->formatter->asDatetime($model->date_end, 'dd.MM.Y')?></span> |
26 | </div> | 29 | </div> |
27 | <div class="srch-prof-params srch-prof-params-comm"> | 30 | <div class="srch-prof-params srch-prof-params-comm"> |
28 | <img src="/images/ico-comm.png" alt=""/><span>4 предложения</span> | 31 | <img src="/images/ico-comm.png" alt=""/><span>4 предложения</span> |
frontend/views/site/registration.php
@@ -53,14 +53,16 @@ | @@ -53,14 +53,16 @@ | ||
53 | 53 | ||
54 | 54 | ||
55 | 55 | ||
56 | - <?= $form->field ($model, 'type',['options'=> ['class'=>'check-radio-wr']]) | 56 | + <?php |
57 | + $model->type = '1'; | ||
58 | + echo $form->field ($model, 'type',['options'=> ['class'=>'check-radio-wr']]) | ||
57 | ->label (false) | 59 | ->label (false) |
58 | ->radioList ( | 60 | ->radioList ( |
59 | [1 => 'Частное лицо', 2 => 'Компания'], | 61 | [1 => 'Частное лицо', 2 => 'Компания'], |
60 | [ | 62 | [ |
61 | 'item' => function($index, $label, $name, $checked, $value) { | 63 | 'item' => function($index, $label, $name, $checked, $value) { |
62 | $return = '<div class="custom-form-buttons">'; | 64 | $return = '<div class="custom-form-buttons">'; |
63 | - $return .= '<input class="custom-radio" id="custom-radio-'.$value.'" type="radio" name="' . $name . '" value="' . $value . '" >'; | 65 | + $return .= '<input class="custom-radio" id="custom-radio-'.$value.'" '.($checked ? "checked" : "" ).' type="radio" name="' . $name . '" value="' . $value . '" >'; |
64 | $return .= '<label for="custom-radio-'.$value.'" ><span></span>' . $label .'</label>'; | 66 | $return .= '<label for="custom-radio-'.$value.'" ><span></span>' . $label .'</label>'; |
65 | $return .= '</div>'; | 67 | $return .= '</div>'; |
66 | return $return; | 68 | return $return; |
@@ -87,6 +89,12 @@ | @@ -87,6 +89,12 @@ | ||
87 | 89 | ||
88 | <div class="input-blocks-wrapper"> | 90 | <div class="input-blocks-wrapper"> |
89 | <div class="input-blocks"> | 91 | <div class="input-blocks"> |
92 | + <?= $form->field($model, 'company_name')->textInput(['class'=>'custom-input-2'])?> | ||
93 | + </div> | ||
94 | + </div> | ||
95 | + | ||
96 | + <div class="input-blocks-wrapper"> | ||
97 | + <div class="input-blocks"> | ||
90 | <?= $form->field($model, 'firstname')->textInput(['class'=>'custom-input-2'])?> | 98 | <?= $form->field($model, 'firstname')->textInput(['class'=>'custom-input-2'])?> |
91 | </div> | 99 | </div> |
92 | </div> | 100 | </div> |
frontend/views/tender/view.php
1 | <?php | 1 | <?php |
2 | 2 | ||
3 | use \yii\helpers\Html; | 3 | use \yii\helpers\Html; |
4 | - use yii\widgets\DetailView; | 4 | +use yii\helpers\Url; |
5 | +use yii\widgets\DetailView; | ||
5 | 6 | ||
6 | /* @var $this yii\web\View */ | 7 | /* @var $this yii\web\View */ |
7 | 8 | ||
@@ -9,25 +10,27 @@ $this->title = 'My Yii Application'; | @@ -9,25 +10,27 @@ $this->title = 'My Yii Application'; | ||
9 | ?> | 10 | ?> |
10 | <div class="section-box content"> | 11 | <div class="section-box content"> |
11 | <div class="section-box-tender"> | 12 | <div class="section-box-tender"> |
12 | - <div class="section-box-tender-title">Создание проекта квартиры</div> | 13 | + <div class="section-box-tender-title"><?= $model->name ?></div> |
13 | <div class="section-box"> | 14 | <div class="section-box"> |
14 | <div class="box-wr"> | 15 | <div class="box-wr"> |
15 | <div class="box-all"> | 16 | <div class="box-all"> |
16 | <div class="tender-contract-wr style"> | 17 | <div class="tender-contract-wr style"> |
17 | <div class="tender-contract-left"> | 18 | <div class="tender-contract-left"> |
19 | + <?php if(!empty($model->parent->name)):?> | ||
18 | <div class="srch-prof-contract-button">ПОДРЯД</div> | 20 | <div class="srch-prof-contract-button">ПОДРЯД</div> |
19 | <div class="srch-prof-contract-txt"> | 21 | <div class="srch-prof-contract-txt"> |
20 | - <span>Из проекта: </span><a href="#">ЖК Княжеский</a> | 22 | + <span>Из проекта: </span><?= Html::a($model->parent->name, Url::toRoute(['tender/view', 'tender_id' =>$model->parent->project_id ])) ?> |
21 | </div> | 23 | </div> |
24 | + <?php endif; ?> | ||
22 | </div> | 25 | </div> |
23 | <div class="tender-contract-right"> | 26 | <div class="tender-contract-right"> |
24 | - <span>Бюджет: 30 000 грн</span> | 27 | + <span>Бюджет: <?= $model->budget?> <?= $model->budgetCurrency->label?></span> |
25 | <img src="/images/tender/ico-1.png" alt=""/> | 28 | <img src="/images/tender/ico-1.png" alt=""/> |
26 | </div> | 29 | </div> |
27 | </div> | 30 | </div> |
28 | <div class="tender-date style"> | 31 | <div class="tender-date style"> |
29 | <div class="srch-prof-params srch-prof-params-clock"> | 32 | <div class="srch-prof-params srch-prof-params-clock"> |
30 | - <img src="/images/ico-clock.png" alt=""><span>20.04.2016</span> | 33 | + <img src="/images/ico-clock.png" alt=""><span><?= Yii::$app->formatter->asDatetime($model->date_end, 'dd.MM.Y')?></span> |
31 | </div> | 34 | </div> |
32 | </div> | 35 | </div> |
33 | </div> | 36 | </div> |
@@ -125,30 +128,22 @@ $this->title = 'My Yii Application'; | @@ -125,30 +128,22 @@ $this->title = 'My Yii Application'; | ||
125 | 128 | ||
126 | </div> | 129 | </div> |
127 | <div class="section-box-tender-navi"> | 130 | <div class="section-box-tender-navi"> |
128 | - <span>Подряд</span><img src="/images/tender/ico-2.png" alt=""/><a href="#">Основной проект</a> | 131 | + <?php if(!empty($model->parent->name)):?> |
132 | + <span>Подряд</span><img src="/images/tender/ico-2.png" alt=""/><?= Html::a('Основной проект', Url::toRoute(['tender/view', 'tender_id' =>$model->parent->project_id ])) ?> | ||
133 | + <?php endif; ?> | ||
129 | </div> | 134 | </div> |
130 | <div class="section-box-tender-info-wr"> | 135 | <div class="section-box-tender-info-wr"> |
131 | <div class="tender-info-title style">Краткая информация о проекте</div> | 136 | <div class="tender-info-title style">Краткая информация о проекте</div> |
132 | <div class="section-box-tender-txt"> | 137 | <div class="section-box-tender-txt"> |
133 | - <p>1.1 Строительная площадка расположена по адресу: г. Киев.</p> | ||
134 | - <p>1.2 Существующий объект представляет собой помещение общей площадью ориентировочно – 140 м2.</p> | ||
135 | - <p>1.3. Цель проекта состоит в проведении внутренних общестроительных и отделочных работ.</p> | ||
136 | - <p>1.4. При разработке методов строительства и выборе материалов, используемых в настоящем проекте, необходимо учитывать климатические условия, характерные для г. Киева.</p> | ||
137 | - <p> | ||
138 | - 1.5. Требования к проектированию и производству работ определяются следующими документами: | ||
139 | - <ul> | ||
140 | - <li>- Техническим заданием.</li> | ||
141 | - <li>- Строительными нормами и правилами.</li> | ||
142 | - </ul> | ||
143 | - </p> | ||
144 | - <p>Все проектные решения и все разделы рабочего проекта должны быть согласованы с Заказчиком в объеме, необходимом для последующей сдачи инженерных систем и коммуникаций.</p> | 138 | + <?= $model->description ?> |
145 | </div> | 139 | </div> |
146 | </div> | 140 | </div> |
147 | <div class="section-box-tender-tags-wr"> | 141 | <div class="section-box-tender-tags-wr"> |
148 | <div class="section-box-tender-tags-title style">Специализации</div> | 142 | <div class="section-box-tender-tags-title style">Специализации</div> |
149 | <div class="section-box-tender-tags style"> | 143 | <div class="section-box-tender-tags style"> |
150 | - <span><a href="#">Дизайн интерьера</a>, </span><span><a href="#">Архитектурное проектирование</a>, </span><span><a href="#">Ремонт квартир</a>, </span><span><a href="#">Ремонт ванной</a>, </span><span><a href="#">Отделка домов</a>, </span><span><a href="#">Строительство коттеджей</a>,</span> | ||
151 | - <span><a href="#">Дизайн интерьера</a>, </span><span><a href="#">Архитектурное проектирование</a>, </span><span><a href="#">Ремонт квартир</a>, </span><span><a href="#">Ремонт ванной</a>, </span><span><a href="#">Отделка домов</a>, </span> | 144 | + <?php foreach($model->specializations as $specialization):?> |
145 | + <span><a href="#"><?= $specialization->specialization_name ?></a>, </span> | ||
146 | + <?php endforeach; ?> | ||
152 | </div> | 147 | </div> |
153 | </div> | 148 | </div> |
154 | </div> | 149 | </div> |