public function afterSave($insert, $changedAttributes) { parent::afterSave($insert, $changedAttributes); $auth = Yii::$app->authManager; if ($insert) { $location = new \common\models\Locations(); //$location->scenario = \common\models\Locations::SCENARIO_REGISTER; if ($location->load(Yii::$app->request->post())) { $location->user_id = $this->id; if ($location->save()) { // USER CREDIT $userCredit = new \common\models\UserCredit(); $userCredit->user_id = $this->id; $userCredit->time = date('Y-m-d H:i:s'); $userCredit->save(); // USER DETAILS $userDetails = new \common\models\UserDetails(); $userDetails->user_id = $this->id; $userDetails->loc_id = $location->id; $userDetails->file_id = 2; $userDetails->lang_code = 'SR'; $userDetails->currency_id = 1; $userDetails->role_id = 1; $userDetails->time_role_set = date('Y-m-d H:i:s'); $userDetails->update_time = date('Y-m-d H:i:s'); $userDetails->save(); // USER LOCATIONS $user_location = new \common\models\UserLocations(); $user_location->loc_id = $location->id; $user_location->user_id = $this->id; $user_location->save(); // USER LOG $userLog = new \common\models\UserLog(); $userLog->user_id = $this->id; $userLog->action = $this->is_provider == 0 ? 'user_registered' : 'provider_registered'; $userLog->alias = $this->id; $userLog->time = date('Y-m-d H:i:s'); $userLog->save(); // USER NOTIFICATONS $userNotifications = new \common\models\UserNotifications(); $userNotifications->user_id = $this->id; $userNotifications->update_time = date('Y-m-d H:i:s'); $userNotifications->save(); if ($this->is_provider == 1) { $model = new \common\models\RegistrationProviderForm(); if ($model->load(Yii::$app->request->post())) { // PROVIDER $provider = new \common\models\Provider(); $provider->user_id = $this->id; $provider->industry_id = $model->industry; $provider->loc_id = $location->id; $provider->legal_form = 'freelancer'; $provider->type = 'service_provider'; $provider->department_type = 'hq'; $provider->status = 'active'; $provider->registration_time = date('Y-m-d H:i:s'); $provider->save(); $userRole = $auth->getRole('provider'); $auth->assign($userRole, $this->id); } } else { $userRole = $auth->getRole('user'); $auth->assign($userRole, $this->id); } } } } else { $this->updated_at = time(); } }
public function currentProvider($model) { if ($user = \common\models\User::findOne(Yii::$app->user->id)) { $user->is_provider = 1; $user->member = 0; $user->role = 'provider'; if ($user->save()) { // create temp provider $provider = new \common\models\Provider(); $provider->user_id = $user->id; $provider->industry_id = $model->industry_id; $provider->loc_id = 1; $provider->legal_form = 'freelancer'; $provider->type = 'service_provider'; $provider->department_type = 'hq'; $provider->status = 'inactive'; $provider->is_active = 0; $provider->registration_time = date('Y-m-d H:i:s'); //$provider->save(); if ($provider->save()) { // provider Industry if ($providerIndustry = \common\models\ProviderIndustries::findOne($provider->initialIndustry->id)) { $proserv = new \common\models\ProviderServices(); $proserv->provider_industry_id = $providerIndustry->id; $proserv->provider_id = $provider->id; $proserv->industry_id = $model->industry_id; $proserv->service_id = $model->id; $proserv->is_set = 1; $proserv->update_time = date('Y-m-d H:i:s'); $proserv->save(); } } } return $user; } return false; }
public function currentProvider($model) { $user = \common\models\User::findOne(Yii::$app->user->id); // create temp provider $provider = new \common\models\Provider(); $provider->user_id = $user->id; $provider->industry_id = $model->industry_id; $provider->loc_id = 1; $provider->legal_form = 'freelancer'; $provider->type = 'service_provider'; $provider->department_type = 'hq'; $provider->status = 'inactive'; $provider->is_active = 0; $provider->registration_time = date('Y-m-d H:i:s'); $provider->save(); if ($provider->save()) { // provider Industry $providerIndustry = new \common\models\ProviderIndustries(); $providerIndustry->provider_id = $provider->id; $providerIndustry->industry_id = $model->industry_id; $providerIndustry->main = 1; if ($providerIndustry->save()) { $proserv = new \common\models\ProviderServices(); $proserv->provider_industry_id = $providerIndustry->id; $proserv->provider_id = $provider->id; $proserv->industry_id = $model->industry_id; $proserv->service_id = $model->id; $proserv->is_set = 1; $proserv->update_time = date('Y-m-d H:i:s'); $proserv->save(); } // provider Industry Terms $providerIndustryTerm = new \common\models\ProviderIndustryTerms(); $providerIndustryTerm->provider_industry_id = $providerIndustry->id; $providerIndustryTerm->update_time = date('Y-m-d H:i:s'); $providerIndustryTerm->save(); // provider Language $providerLanguage = new \common\models\ProviderLanguages(); $providerLanguage->provider_id = $provider->id; $providerLanguage->lang_code = 'SR'; $providerLanguage->save(); // provider Portfolio $providerPortfolio = new \common\models\ProviderPortfolio(); $providerPortfolio->provider_id = $provider->id; $providerPortfolio->name = 'Moj portfolio'; $providerPortfolio->save(); // provider Terms $providerTerms = new \common\models\ProviderTerms(); $providerTerms->provider_id = $provider->id; $providerTerms->update_time = date('Y-m-d H:i:s'); $providerTerms->save(); // provider Notifications $providerNotifications = new \common\models\ProviderNotifications(); $providerNotifications->provider_id = $provider->id; $providerNotifications->notification_type = 'matching'; $providerNotifications->time = date('Y-m-d H:i:s'); $providerNotifications->save(); } return $user; }