Commit 3dc20ff72c14cc17bfc757929acd8f854345360d

Authored by Administrator
1 parent 5a6471b3

24.02.16

common/models/CompanyInfo.php
... ... @@ -33,8 +33,6 @@
33 33 [
34 34 [
35 35 'name',
36   - 'street',
37   - 'house',
38 36 ],
39 37 'required',
40 38 ],
... ...
common/models/Project.php
... ... @@ -177,7 +177,7 @@
177 177 /**
178 178 * @return \yii\db\ActiveQuery
179 179 */
180   - public function getOwner()
  180 + public function getUser()
181 181 {
182 182 return $this->hasOne(User::className(), [ 'id' => 'user_id' ]);
183 183 }
... ...
common/models/User.php
... ... @@ -23,6 +23,7 @@
23 23 * @property integer $created_at
24 24 * @property integer $updated_at
25 25 * @property string $password write-only password
  26 + * @property string $type
26 27 */
27 28 class User extends ActiveRecord implements IdentityInterface, UserRbacInterface
28 29 {
... ... @@ -56,6 +57,9 @@
56 57 ];
57 58 }
58 59  
  60 +
  61 +
  62 +
59 63 /**
60 64 * @inheritdoc
61 65 */
... ... @@ -86,22 +90,10 @@
86 90 'max' => 255,
87 91 ],
88 92 [
89   - [ 'type' ],
90   - 'in',
91   - 'range' => [
92   - 1,
93   - 2,
94   - ],
95   - ],
96   - [
97   - [ 'type' ],
98   - 'default',
99   - 'value' => '1',
100   - ],
101   - [
102 93 [
103 94 'specializationInput',
104 95 'paymentInput',
  96 + 'type'
105 97 ],
106 98 'safe',
107 99 ],
... ... @@ -554,4 +546,19 @@
554 546 return $this->hasMany(Gallery::className(), [ 'user_id' => 'id' ]);
555 547 }
556 548  
  549 + public function getOwner()
  550 + {
  551 + if($this->type == 1){
  552 + return $this->hasOne(UserInfo::className(), [ 'user_id' => 'id' ]);
  553 + } else if($this->type == 2) {
  554 + return $this->hasOne(CompanyInfo::className(), [ 'user_id' => 'id' ]);
  555 + }
  556 +
  557 + }
  558 +
  559 + public function getName(){
  560 + return $this->firstname. ' '.$this->lastname;
  561 + }
  562 +
  563 +
557 564 }
... ...
common/models/UserInfo.php
... ... @@ -266,6 +266,10 @@
266 266 return parent::beforeSave($insert);
267 267 }
268 268  
  269 + public function getName(){
  270 + return $this->user->name();
  271 + }
  272 +
269 273 public function getGeographies()
270 274 {
271 275 return json_decode($this->geography);
... ...
frontend/controllers/SiteController.php
... ... @@ -246,35 +246,51 @@ class SiteController extends Controller
246 246 public function actionRegistration()
247 247 {
248 248  
249   - $model = new SignupForm();
  249 + $post = Yii::$app->request->post();
  250 +
  251 + if(!empty($post) && isset($post['SignupForm']) && isset($post['SignupForm']['type'])){
  252 + if($post['SignupForm']['type'] == 1 ){
  253 +
  254 + $model = new SignupForm(['scenario' => SignupForm::SCENARIO_USER]);
  255 + } else {
  256 +
  257 + $model = new SignupForm(['scenario' => SignupForm::SCENARIO_COMPANY]);
  258 + }
  259 + } else {
  260 + $model = new SignupForm();
  261 + }
  262 +
250 263 if ($model->load(Yii::$app->request->post())) {
251 264  
  265 +
252 266 if ($user = $model->signup()) {
253 267  
  268 +
  269 +
254 270 $user_info = new UserInfo();
255 271  
256 272 $user_info->load(Yii::$app->request->post(),'SignupForm');
257 273  
258 274 $user_info->user_id = $user->id;
259 275  
260   -
261 276 $user_info->save();
262 277  
263 278 if($user->type == 2 ){
264 279  
265 280 $company_info = new CompanyInfo();
266 281 $company_info->load(Yii::$app->request->post(),'SignupForm');
267   - $company_info->name = $user->id;
  282 + $company_info->user_id = $user->id;
268 283  
269 284 $company_info->save();
  285 +
270 286 }
271 287  
272 288 if (Yii::$app->getUser()->login($user)) {
273   - return $this->goHome();
  289 + return $this->redirect('/accounts');
274 290 }
275 291 }
276 292 }
277   -
  293 + $model = new SignupForm();
278 294 return $this->render('registration', [
279 295 'model' => $model,
280 296 ]);
... ...
frontend/models/SignupForm.php
... ... @@ -23,6 +23,11 @@ class SignupForm extends Model
23 23 public $city;
24 24 public $name;
25 25  
  26 +
  27 +
  28 + const SCENARIO_USER = 'user';
  29 + const SCENARIO_COMPANY = 'company';
  30 +
26 31 /**
27 32 * @inheritdoc
28 33 */
... ... @@ -41,8 +46,6 @@ class SignupForm extends Model
41 46 ['email', 'email'],
42 47 ['email', 'string', 'max' => 255],
43 48 ['email', 'unique', 'targetClass' => '\common\models\User', 'message' => 'This email address has already been taken.'],
44   -
45   - ['name', 'required'],
46 49 ['firstname', 'required'],
47 50  
48 51  
... ... @@ -54,6 +57,21 @@ class SignupForm extends Model
54 57  
55 58 ['password', 'required'],
56 59 ['password', 'string', 'min' => 6],
  60 + [
  61 + 'name',
  62 + 'required',
  63 + 'on'=>[SignupForm::SCENARIO_COMPANY]
  64 + ],
  65 + [
  66 + 'name',
  67 + 'safe',
  68 + 'on'=>[SignupForm::SCENARIO_USER]
  69 + ],
  70 + [
  71 + 'name',
  72 + 'required',
  73 + 'on'=>[SignupForm::SCENARIO_DEFAULT]
  74 + ],
57 75 ];
58 76 }
59 77  
... ... @@ -71,6 +89,7 @@ class SignupForm extends Model
71 89 $user->firstname = $this->firstname;
72 90 $user->lastname = $this->lastname;
73 91 $user->email = $this->email;
  92 + $user->type = $this->type;
74 93 $user->setPassword($this->password);
75 94 $user->generateAuthKey();
76 95  
... ...
frontend/views/site/registration.php
... ... @@ -85,7 +85,7 @@
85 85 ], false); ?>
86 86 </div>
87 87  
88   -
  88 + <div id="register-company-block-target"></div>
89 89 <div class="input-blocks-wrapper register-company-block">
90 90 <div class="input-blocks">
91 91 <?= $form->field($model, 'name')->textInput(['class'=>'custom-input-2'])?>
... ... @@ -171,15 +171,20 @@
171 171 var registerValCompany = $('.register-val-company .custom-radio:checked').attr('value');
172 172 var regHideBlock = $('.register-company-block .form-group')
173 173 if(registerValCompany==1) {
174   - regHideBlock.css({display:'none'})
  174 + $('.register-company-block').css('display', 'none');
175 175 }
176 176  
  177 +
  178 +
177 179 $('.register-val-company .custom-radio').change(function(){
178   - var newRegisterValCompany = +$(this).attr('value')
  180 + var newRegisterValCompany = +$(this).attr('value');
179 181 if(newRegisterValCompany==1){
180   - regHideBlock.css({display:'none'})
  182 + //human
  183 + $('.register-company-block').css('display', 'none');
  184 +
181 185 } else {
182   - regHideBlock.css({display:'block'})
  186 + //company
  187 + $('.register-company-block').css('display', 'block');
183 188 }
184 189  
185 190 })
... ...
frontend/views/tender/view.php
... ... @@ -46,7 +46,7 @@ $this-&gt;title = &#39;My Yii Application&#39;;
46 46 <div class="cabinet-message-read-foto"><img src="/images/ded-foto.jpg" alt=""/></div>
47 47 </div>
48 48 <div class="cab-mes-read-cont">
49   - <div class="cab-mes-read-cont-title">Петер Цумтор</div>
  49 + <div class="cab-mes-read-cont-title"><?= $model->user->owner->name?></div>
50 50 <div class="cab-mes-read-cont-stars">
51 51 <div class="rating">
52 52 <!--оценка-->
... ...