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 | 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 | 186 | * @return \yii\db\ActiveQuery |
| 178 | 187 | */ | ... | ... |
frontend/controllers/TenderController.php
| 1 | 1 | <?php |
| 2 | 2 | namespace frontend\controllers; |
| 3 | 3 | |
| 4 | +use common\models\Project; | |
| 4 | 5 | use Yii; |
| 5 | 6 | use common\models\LoginForm; |
| 6 | 7 | use frontend\models\PasswordResetRequestForm; |
| ... | ... | @@ -53,9 +54,13 @@ class TenderController extends Controller |
| 53 | 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 | 21 | public $is_customer; |
| 22 | 22 | public $is_freelancer; |
| 23 | 23 | public $city; |
| 24 | + public $company_name; | |
| 24 | 25 | |
| 25 | 26 | /** |
| 26 | 27 | * @inheritdoc |
| ... | ... | @@ -41,6 +42,10 @@ class SignupForm extends Model |
| 41 | 42 | ['email', 'string', 'max' => 255], |
| 42 | 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 | 49 | ['verifyCode', 'captcha'], |
| 45 | 50 | |
| 46 | 51 | ['type', 'integer'], |
| ... | ... | @@ -92,6 +97,7 @@ class SignupForm extends Model |
| 92 | 97 | 'alt_location' => 'Город не в списке', |
| 93 | 98 | 'is_customer' => '', |
| 94 | 99 | 'is_freelancer' => '', |
| 100 | + 'company_name' => 'Название компании' | |
| 95 | 101 | ]; |
| 96 | 102 | } |
| 97 | 103 | ... | ... |
frontend/views/search/_projects_list_view.php
| 1 | 1 | <?php |
| 2 | +use frontend\helpers\TextHelper; | |
| 2 | 3 | use yii\helpers\Html; |
| 3 | 4 | use yii\helpers\Url; |
| 4 | 5 | |
| 5 | 6 | ?> |
| 6 | 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 | 10 | <div class="srch-prof-contract-wr"> |
| 11 | + | |
| 12 | + <?php if(!empty($model->parent->name)):?> | |
| 10 | 13 | <div class="srch-prof-contract-button">ПОДРЯД</div> |
| 11 | 14 | <div class="srch-prof-contract-txt"> |
| 12 | - <?php if(!empty($model->parent->name)):?> | |
| 13 | 15 | <span>Из проекта: </span><?= Html::a($model->parent->name, Url::toRoute(['tender/view', 'tender_id' =>$model->parent->project_id ])) ?> |
| 14 | - <?php endif; ?> | |
| 15 | 16 | </div> |
| 17 | + <?php endif; ?> | |
| 18 | + | |
| 16 | 19 | </div> |
| 17 | 20 | <div class="srch-prof-text"> |
| 18 | - <?= $model->description?> | |
| 21 | + <?= TextHelper::truncateHtmlText($model->description, 1000)?> | |
| 19 | 22 | </div> |
| 20 | 23 | <div class="srch-prof-params-wr"> |
| 21 | 24 | <div class="srch-prof-params srch-prof-params-city"> |
| 22 | 25 | <img src="/images/ico-city.png" alt=""/><span><?= $model->city?></span> |
| 23 | 26 | </div> |
| 24 | 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 | 29 | </div> |
| 27 | 30 | <div class="srch-prof-params srch-prof-params-comm"> |
| 28 | 31 | <img src="/images/ico-comm.png" alt=""/><span>4 предложения</span> | ... | ... |
frontend/views/site/registration.php
| ... | ... | @@ -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 | 59 | ->label (false) |
| 58 | 60 | ->radioList ( |
| 59 | 61 | [1 => 'Частное лицо', 2 => 'Компания'], |
| 60 | 62 | [ |
| 61 | 63 | 'item' => function($index, $label, $name, $checked, $value) { |
| 62 | 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 | 66 | $return .= '<label for="custom-radio-'.$value.'" ><span></span>' . $label .'</label>'; |
| 65 | 67 | $return .= '</div>'; |
| 66 | 68 | return $return; |
| ... | ... | @@ -87,6 +89,12 @@ |
| 87 | 89 | |
| 88 | 90 | <div class="input-blocks-wrapper"> |
| 89 | 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 | 98 | <?= $form->field($model, 'firstname')->textInput(['class'=>'custom-input-2'])?> |
| 91 | 99 | </div> |
| 92 | 100 | </div> | ... | ... |
frontend/views/tender/view.php
| 1 | 1 | <?php |
| 2 | 2 | |
| 3 | 3 | use \yii\helpers\Html; |
| 4 | - use yii\widgets\DetailView; | |
| 4 | +use yii\helpers\Url; | |
| 5 | +use yii\widgets\DetailView; | |
| 5 | 6 | |
| 6 | 7 | /* @var $this yii\web\View */ |
| 7 | 8 | |
| ... | ... | @@ -9,25 +10,27 @@ $this->title = 'My Yii Application'; |
| 9 | 10 | ?> |
| 10 | 11 | <div class="section-box content"> |
| 11 | 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 | 14 | <div class="section-box"> |
| 14 | 15 | <div class="box-wr"> |
| 15 | 16 | <div class="box-all"> |
| 16 | 17 | <div class="tender-contract-wr style"> |
| 17 | 18 | <div class="tender-contract-left"> |
| 19 | + <?php if(!empty($model->parent->name)):?> | |
| 18 | 20 | <div class="srch-prof-contract-button">ПОДРЯД</div> |
| 19 | 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 | 23 | </div> |
| 24 | + <?php endif; ?> | |
| 22 | 25 | </div> |
| 23 | 26 | <div class="tender-contract-right"> |
| 24 | - <span>Бюджет: 30 000 грн</span> | |
| 27 | + <span>Бюджет: <?= $model->budget?> <?= $model->budgetCurrency->label?></span> | |
| 25 | 28 | <img src="/images/tender/ico-1.png" alt=""/> |
| 26 | 29 | </div> |
| 27 | 30 | </div> |
| 28 | 31 | <div class="tender-date style"> |
| 29 | 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 | 34 | </div> |
| 32 | 35 | </div> |
| 33 | 36 | </div> |
| ... | ... | @@ -125,30 +128,22 @@ $this->title = 'My Yii Application'; |
| 125 | 128 | |
| 126 | 129 | </div> |
| 127 | 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 | 134 | </div> |
| 130 | 135 | <div class="section-box-tender-info-wr"> |
| 131 | 136 | <div class="tender-info-title style">Краткая информация о проекте</div> |
| 132 | 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 | 139 | </div> |
| 146 | 140 | </div> |
| 147 | 141 | <div class="section-box-tender-tags-wr"> |
| 148 | 142 | <div class="section-box-tender-tags-title style">Специализации</div> |
| 149 | 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 | 147 | </div> |
| 153 | 148 | </div> |
| 154 | 149 | </div> | ... | ... |