/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = Advisor::find(); if (!isset($params['sort'])) { $query->orderBy(['id_advisor' => SORT_DESC]); } $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to return any records when validation fails // $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['id_advisor' => $this->id_advisor, 'id_user' => $this->id_user, 'id_institution' => $this->id_institution, 'trained' => $this->trained, 'approved' => $this->approved, 'train_date' => $this->train_date, 'delete' => $this->delete, 'created_at' => $this->created_at, 'updated_at' => $this->updated_at]); $query->andFilterWhere(['like', 'advisor_id', $this->advisor_id])->andFilterWhere(['like', 'phone', $this->phone]); return $dataProvider; }
public static function createAppFormPdfByApplication($application) { $appForm = $application->appForm; $primaryAppApplicant = $application->primaryAppApplicant; $dataJson = json_decode(file_get_contents('../../common/pdf-template/data/data_app_form.json'), true); $dataJson['a.full_name'] = $primaryAppApplicant->first_name . ($primaryAppApplicant->mid_name ? ' ' . $primaryAppApplicant->mid_name : '') . ' ' . $primaryAppApplicant->last_name; $dataJson['a.street'] = $primaryAppApplicant->address_street; $dataJson['a.city_state_zip'] = $primaryAppApplicant->getFullAddress(); $dataJson['a.home_phone'] = $primaryAppApplicant->home_phone; $dataJson['a.work_phone'] = $primaryAppApplicant->work_phone; $dataJson['a.cell_phone'] = $primaryAppApplicant->cell_phone; $dataJson['a.email'] = $primaryAppApplicant->email_address; $dataJson['a.ssn'] = $primaryAppApplicant->social_security_number; $dataJson['a.dob'] = $primaryAppApplicant->date_of_birth ? date('m/d/Y', $primaryAppApplicant->date_of_birth) : ''; if ($primaryAppApplicant->is_united_states_citizen === DictApplicant::AMERICAN_CITIZEN_NOT) { $dataJson['a.us_n'] = 'checked'; } elseif ($primaryAppApplicant->is_united_states_citizen === DictApplicant::AMERICAN_CITIZEN_YES) { $dataJson['a.us_y'] = 'checked'; } switch ($primaryAppApplicant->identification_type) { case DictApplicant::IDENTIFICATION_DRIVERS_LICENSE: $dataJson['a.id_dl'] = 'checked'; break; case DictApplicant::IDENTIFICATION_PASSPORT: $dataJson['a.id_pp'] = 'checked'; break; case DictApplicant::IDENTIFICATION_PHOTO_ID: $dataJson['a.id_gid'] = 'checked'; break; } $dataJson['a.id_no'] = $primaryAppApplicant->identification_number; $dataJson['a.id_state'] = $primaryAppApplicant->identification_state; $dataJson['a.id_ed'] = $primaryAppApplicant->identification_expiration_date ? date('m/d/Y', $primaryAppApplicant->identification_expiration_date) : ''; $dataJson['a.occupation'] = $primaryAppApplicant->occupation; $dataJson['a.employer'] = $primaryAppApplicant->employer; switch ($primaryAppApplicant->total_annual_income) { case DictApplicant::TOTAL_ANNUAL_INCOME_1: $dataJson['a.income_less'] = 'checked'; break; case DictApplicant::TOTAL_ANNUAL_INCOME_2: $dataJson['a.income_5010'] = 'checked'; break; case DictApplicant::TOTAL_ANNUAL_INCOME_3: $dataJson['a.income_1025'] = 'checked'; break; case DictApplicant::TOTAL_ANNUAL_INCOME_4: $dataJson['a.income_2550'] = 'checked'; break; case DictApplicant::TOTAL_ANNUAL_INCOME_5: $dataJson['a.income_500100'] = 'checked'; break; case DictApplicant::TOTAL_ANNUAL_INCOME_6: $dataJson['a.income_1000'] = 'checked'; break; } switch ($primaryAppApplicant->marital_status) { case DictApplicant::MARITAL_MARRIED: $dataJson['a.marital_m'] = 'checked'; break; case DictApplicant::MARITAL_SEPARATED: $dataJson['a.marital_s'] = 'checked'; break; case DictApplicant::MARITAL_UNMARRIED: $dataJson['a.marital_u'] = 'checked'; break; } if ($coAppApplicant = $application->coAppApplicant) { $dataJson['co.full_name'] = $coAppApplicant->first_name . ($coAppApplicant->mid_name ? ' ' . $coAppApplicant->mid_name : '') . ' ' . $coAppApplicant->last_name; $dataJson['co.street'] = $coAppApplicant->address_street; $dataJson['co.city_state_zip'] = $coAppApplicant->getFullAddress(); $dataJson['co.home_phone'] = $coAppApplicant->home_phone; $dataJson['co.work_phone'] = $coAppApplicant->work_phone; $dataJson['co.cell_phone'] = $coAppApplicant->cell_phone; $dataJson['co.email'] = $coAppApplicant->email_address; $dataJson['co.ssn'] = $coAppApplicant->social_security_number; $dataJson['co.dob'] = $coAppApplicant->date_of_birth ? date('m/d/Y', $coAppApplicant->date_of_birth) : ''; if ($coAppApplicant->is_united_states_citizen === DictApplicant::AMERICAN_CITIZEN_NOT) { $dataJson['co.us_n'] = 'checked'; } elseif ($coAppApplicant->is_united_states_citizen === DictApplicant::AMERICAN_CITIZEN_YES) { $dataJson['co.us_y'] = 'checked'; } switch ($coAppApplicant->identification_type) { case DictApplicant::IDENTIFICATION_DRIVERS_LICENSE: $dataJson['co.id_dl'] = 'checked'; break; case DictApplicant::IDENTIFICATION_PASSPORT: $dataJson['co.id_pp'] = 'checked'; break; case DictApplicant::IDENTIFICATION_PHOTO_ID: $dataJson['co.id_gid'] = 'checked'; break; } $dataJson['co.id_no'] = $coAppApplicant->identification_number; $dataJson['co.id_state'] = $coAppApplicant->identification_state; $dataJson['co.id_ed'] = $coAppApplicant->identification_expiration_date ? date('m/d/Y', $coAppApplicant->identification_expiration_date) : ''; $dataJson['co.occupation'] = $coAppApplicant->occupation; $dataJson['co.employer'] = $coAppApplicant->employer; switch ($coAppApplicant->total_annual_income) { case DictApplicant::TOTAL_ANNUAL_INCOME_1: $dataJson['co.income_less'] = 'checked'; break; case DictApplicant::TOTAL_ANNUAL_INCOME_2: $dataJson['co.income_5010'] = 'checked'; break; case DictApplicant::TOTAL_ANNUAL_INCOME_3: $dataJson['co.income_1025'] = 'checked'; break; case DictApplicant::TOTAL_ANNUAL_INCOME_4: $dataJson['co.income_2550'] = 'checked'; break; case DictApplicant::TOTAL_ANNUAL_INCOME_5: $dataJson['co.income_500100'] = 'checked'; break; case DictApplicant::TOTAL_ANNUAL_INCOME_6: $dataJson['co.income_1000'] = 'checked'; break; } switch ($coAppApplicant->marital_status) { case DictApplicant::MARITAL_MARRIED: $dataJson['co.marital_m'] = 'checked'; break; case DictApplicant::MARITAL_SEPARATED: $dataJson['co.marital_s'] = 'checked'; break; case DictApplicant::MARITAL_UNMARRIED: $dataJson['co.marital_u'] = 'checked'; break; } } switch ($primaryAppApplicant->years_with_advisor) { case DictApplicant::YEARS_WITH_ADVISOR_1: $dataJson['with_advisor_1'] = 'checked'; break; case DictApplicant::YEARS_WITH_ADVISOR_2: $dataJson['with_advisor_14'] = 'checked'; break; case DictApplicant::YEARS_WITH_ADVISOR_3: $dataJson['with_advisor_59'] = 'checked'; break; case DictApplicant::YEARS_WITH_ADVISOR_4: $dataJson['with_advisor_10'] = 'checked'; break; } switch ($primaryAppApplicant->net_worth) { case DictApplicant::NET_WORTH_1: $dataJson['net_worth_10'] = 'checked'; break; case DictApplicant::NET_WORTH_2: $dataJson['net_worth_1025'] = 'checked'; break; case DictApplicant::NET_WORTH_3: $dataJson['net_worth_2550'] = 'checked'; break; case DictApplicant::NET_WORTH_4: $dataJson['net_worth_50100'] = 'checked'; break; case DictApplicant::NET_WORTH_5: $dataJson['net_worth_100500'] = 'checked'; break; case DictApplicant::NET_WORTH_6: $dataJson['net_worth_500'] = 'checked'; break; } $dataJson['value_account'] = number_format($primaryAppApplicant->total_value_with_advisor ?: 0); $dataJson['loc_amount'] = number_format($application->loc ?: 0); $dataJson['loc_max'] = $application->loc_max ? 'checked' : ''; $application->have_existing_loan ? $dataJson['exsting_loan_y'] = 'checked' : ($dataJson['exsting_loan_n'] = 'checked'); $dataJson['payoff_amount'] = number_format($application->existing_loan_amount ?: 0); $dataJson['lender_name'] = $application->name_of_lender; $dataJson['exsting_loan_number'] = $application->loan_number; switch ($appForm->primary_purpose) { case DictApplication::PRIMARY_PURPOSE_TAX_PAYMENTS: $dataJson['purpose_tax'] = 'checked'; break; case DictApplication::PRIMARY_PURPOSE_PERSONAL_PURCHASE: $dataJson['purpose_luxury'] = 'checked'; break; case DictApplication::PRIMARY_PURPOSE_REAL_ESTATE: $dataJson['purpose_real_estate'] = 'checked'; break; case DictApplication::PRIMARY_PURPOSE_GENERAL_LIQUIDITY_PURPOSES: $dataJson['purpos_general'] = 'checked'; break; } if ($collateralAccounts = $application->collateralAccounts) { $dataJson['accounts'] = []; foreach ($collateralAccounts as $collateralAccount) { $account = []; $account['account_namer'] = $collateralAccount->account_name_title; $account['registration'] = $collateralAccount->registration; $account['custodian'] = $collateralAccount->custodian; $account['account_number'] = $collateralAccount->account_number; $collateralAccount->has_regular_distribution ? $account['distribution_y'] = 'checked' : ($account['distribution_n'] = 'checked'); $account['distribution_amount'] = number_format($collateralAccount->regular_distribution_amount ?: 0); $account['distribution_payee'] = $collateralAccount->payee; $account['revocable_trust'] = $collateralAccount->is_trust_account ? 'checked' : ''; $account['trust_name'] = $collateralAccount->trust_name; $account['grantor_name'] = $collateralAccount->names_of_grantors; $account['trustee_name'] = $collateralAccount->names_of_trustees; $account['tax_id'] = $collateralAccount->tax_id; $account['address_street'] = $collateralAccount->address_street; $account['address_state'] = $collateralAccount->address_state_where_organized; $account['address_city_state_zip'] = $collateralAccount->getFullAddress(); $account['trustee_phone'] = $collateralAccount->trustee_phone_number; $dataJson['accounts'][] = $account; } } $dataJson['bank_name'] = $appForm->bank_name; $dataJson['routing'] = $appForm->routing_number; $dataJson['account_name'] = $appForm->account_name; $dataJson['account_number'] = $appForm->account_number; if ((string) $appForm->applicant_has_a_freeze === '0') { $dataJson['a_freeze_n'] = 'checked'; } elseif ((string) $appForm->applicant_has_a_freeze === '1') { $dataJson['a_freeze_y'] = 'checked'; } if ($application->coAppApplicant) { if ((string) $appForm->co_applicant_has_a_freeze === '0') { $dataJson['co_freeze_n'] = 'checked'; } elseif ((string) $appForm->co_applicant_has_a_freeze === '1') { $dataJson['co_freeze_y'] = 'checked'; } } $advisor = Advisor::findOne(['id_user' => $application->primaryAdvisor->id_user]); $dataJson['advisor_firm_name'] = $advisor->institution->institution_name; $dataJson['print_name'] = $advisor->user->first_name . ' ' . $advisor->user->last_name; $dataJson['advisor_name'] = $advisor->user->first_name . ' ' . $advisor->user->last_name; $dataJson['firm_name'] = $advisor->institution->institution_name; $dataJson['firm_phone'] = $advisor->institution->phone; $dataJson['firm_address'] = $advisor->office->address; $dataJson['firm_city'] = $advisor->office->city; $dataJson['firm_state'] = $advisor->office->state; $dataJson['firm_zip'] = $advisor->office->zip; $dataJson['advisor_email'] = $advisor->user->email; if (file_exists(Yii::$app->params['outpdfPath'] . $application->id_application . '_app_form.pdf')) { unlink(Yii::$app->params['outpdfPath'] . $application->id_application . '_app_form.pdf'); } if (file_exists(Yii::$app->params['outpdfPath'] . $application->id_application . '_signaure_spec_app_form.json')) { unlink(Yii::$app->params['outpdfPath'] . $application->id_application . '_signaure_spec_app_form.json'); } if ($application->charge_fee) { $document = new Document("../../common/pdf-template/config/config_app_form.json", $dataJson, "../../common/pdf-template/", Yii::$app->params['outpdfPath'] . $application->id_application . "_app_form.pdf", Yii::$app->params['outpdfPath'] . $application->id_application . "_signaure_spec_app_form.json"); } else { $document = new Document("../../common/pdf-template/config/config_app_form.json", $dataJson, "../../common/pdf-template/nofee/", Yii::$app->params['outpdfPath'] . $application->id_application . "_app_form.pdf", Yii::$app->params['outpdfPath'] . $application->id_application . "_signaure_spec_app_form.json"); } $document->render(); return $result = Upload::uploadFileByApplication($application->id_application, Yii::$app->params['outpdfPath'] . $application->id_application . '_app_form.pdf', 'app_form.pdf', DictDocument::TYPE_APPLICATION_FORM); }
public function afterSave($insert, $changeAttributes) { if ($insert) { $applicationModel = $this->application; $primaryAppApplicant = $applicationModel->primaryAppApplicant; $coAppApplicant = $applicationModel->coAppApplicant; $loanBorrowerModel = new LoanBorrower(); $loanBorrowerModel->id_loan = $this->id_loan; $loanBorrowerModel->id_user = $primaryAppApplicant->id_user; $loanBorrowerModel->type = 1; $loanBorrowerModel->save(); if ($applicationModel->coAppApplicant) { $loanBorrowerModel = new LoanBorrower(); $loanBorrowerModel->id_loan = $this->id_loan; $loanBorrowerModel->id_user = $coAppApplicant->id_user; $loanBorrowerModel->type = 0; $loanBorrowerModel->save(); } $loanPaymentPreferenceModel = new LoanPaymentPreference(); $loanPaymentPreferenceModel->id_loan = $this->id_loan; $loanPaymentPreferenceModel->type = 2; $loanPaymentPreferenceModel->ach_max_debtied_amount = 0; $loanPaymentPreferenceModel->ach_id_loan_bank_acount = 0; $loanPaymentPreferenceModel->save(); $loanCollateralAccountModel = new LoanCollateralAccount(); $loanCollateralAccountModel->id_loan = $this->id_loan; $loanCollateralAccountModel->id_institution = Advisor::findOne(['id_user' => $applicationModel->primaryAdvisor->id_user])->id_institution; $loanCollateralAccountModel->id_group = $applicationModel->id_group; $appFormCollateralAccountModels = AppFormCollateralAccount::find()->andWhere(['id_application' => $this->id_application])->all(); foreach ($appFormCollateralAccountModels as $appFormCollateralAccountModel) { $newLoanCollateralAccountModel = clone $loanCollateralAccountModel; $newLoanCollateralAccountModel->load([$newLoanCollateralAccountModel->formName() => $appFormCollateralAccountModel->getAttributes()]); $newLoanCollateralAccountModel->save(); } } }
public static function getDate($id) { $model = new Advisor(); $group_arr = ''; if (!empty($_GET['id'])) { $advisorid = is_numeric($_GET['id']) ? $_GET['id'] : ''; $advisorarr = $model->find()->where(['id_advisor' => $advisorid])->asArray()->one(); } $train_date = empty($advisorarr['train_date']) ? date('Y-m-d') : date('Y-m-d', $advisorarr['train_date']); return $train_date; }
/** * Creates a new Application model. * If creation is successful, the browser will be redirected to the 'view' page. * @return mixed */ public function actionCreate() { $model = new Application(); $appModel = new AppApplicant(['scenario' => 'primary-create']); $coAppModel = new AppApplicant(['scenario' => 'co-create']); $appFormModel = new AppForm(); //加载数据并验证 if ($model->load(Yii::$app->request->post()) && $appModel->load(Yii::$app->request->post()) && $coAppModel->load(Yii::$app->request->post()) && $appFormModel->load(Yii::$app->request->post()) && $model->validate() && $appModel->validate() && ($model->is_joint_application == 1 ? $coAppModel->validate() : true) && ($model->is_joint_application == 1 ? $appModel->email_address != $coAppModel->email_address : true)) { //开启事务 $transaction = Yii::$app->db->beginTransaction(); try { if (!$appModel->id_user) { $user = User::createUser(Dict::USER_ROLE_CLIENT, ['User' => ['first_name' => $appModel->first_name, 'last_name' => $appModel->last_name, 'mid_name' => $appModel->mid_name, 'email' => $appModel->email_address], 'Client' => ['id_group' => $model->id_group]]); //设置applicant的id_user $appModel->id_user = $user->id_user; SendEmail::email(DictEmail::EMAIL_INVITE_USER, [$user]); } if ($model->is_joint_application && !$coAppModel->id_user) { $user = User::createUser(Dict::USER_ROLE_CLIENT, ['User' => ['first_name' => $coAppModel->first_name, 'last_name' => $coAppModel->last_name, 'mid_name' => $coAppModel->mid_name, 'email' => $coAppModel->email_address], 'Client' => ['id_group' => $model->id_group]]); //设置co-applicant的id_user $coAppModel->id_user = $user->id_user; SendEmail::email(DictEmail::EMAIL_INVITE_USER, [$user]); } $model->application_name = $appModel->first_name . ($model->is_joint_application ? ' and ' . $coAppModel->first_name : '') . "'s application"; $model->charge_fee = Advisor::findOne(['id_user' => Yii::$app->user->getId()])->will_charge_fee; if (!$model->save()) { $transaction->rollBack(); } $user = Yii::$app->user->getIdentity(); Active::operationLog($model->id_application, [$user->first_name, $user->last_name], DictActive::CREATE_APPLICATION, $user->id); $appModel->id_application = $model->id_application; $appModel->id_app_applicant_type = 1; if (!$appModel->save()) { $transaction->rollBack(); } if ($model->is_joint_application == 1) { $coAppModel->id_application = $model->id_application; $coAppModel->id_app_applicant_type = 2; if (!$coAppModel->save()) { $transaction->rollBack(); } } $appFormModel->id_application = $model->id_application; if (!$appFormModel->save()) { $transaction->rollBack(); } //初始化任务 AppTask::initialize($model->id_application); // 将AppTaskCheckpoint中的模板转换为实例 AppTaskCheckpoint::initialize($model->appTask); //创建AppUser记录 AppUser::createByApplication($model); //send email to notificate advisor create application success.method email([$task_type,$id_application,$id_app_owner_task],$notify_type) SendEmail::email(DictEmail::EMAIL_TASK_NOTIFICATION, [DictTask::TYPE_APPLICATION_FORM, $model->id_application, 0]); //id_app_owner_task_type:1(app-form);0:表示没有传递id_app_owner_task $transaction->commit(); } catch (Exception $e) { $transaction->rollBack(); } return $this->redirect(['/app-form/basic-info', 'id_application' => $model->id_application]); } return $this->render('create', ['model' => $model, 'appModel' => $appModel, 'coAppModel' => $coAppModel, 'appFormModel' => $appFormModel]); }
public function getAdvisors() { return $this->hasMany(Advisor::className(), ['id_advisor' => 'id_advisor'])->via('advisorGroups'); }
<?php use yii\helpers\Url; use common\models\Advisor; $groups = Advisor::findGroupByAdvisor(Yii::$app->user->getIdentity()->id_extend); ?> <!-- START SIDEBAR --> <div class="sidebar clearfix"> <ul class="sidebar-panel nav"> <li class="sidetitle">MAIN</li> <li><a href="<?php echo Url::to(['/advisor/index']); ?> "><span class="icon color5"><i class="fa fa-home"></i></span>Dashboard</a></li> <li><a href="<?php echo Url::to(['/loan/list']); ?> "><span class="icon color5"><i class="fa fa-group"></i></span><?php echo Yii::t('app', 'Lines'); ?> </a></li> <li><a href="<?php echo Url::to(['/application/index']); ?> "><span class="icon color5"><i class="fa fa-th"></i></span>Applications</a></li> <li><a href="<?php echo Url::to(['/client/index']); ?> "><span class="icon color5"><i class="fa fa-group"></i></span>Clients</a></li> </ul>
use yii\helpers\Html; use yii\widgets\ActiveForm; use yii\helpers\Url; use common\models\Client; use common\models\Group; use kartik\widgets\DepDrop; use yii\helpers\ArrayHelper; use kartik\date\DatePicker; use common\models\Advisor; use common\models\AppApplicant; use yii\widgets\MaskedInput; use common\models\State; use kartik\widgets\Select2; use common\models\Betterdebt; if ($model->getIsNewRecord()) { $advisor = Advisor::findOne(['id_user' => Yii::$app->user->getId()]); $group = ArrayHelper::map($advisor->groups, 'id_group', 'group_id'); } $betterdebt = Betterdebt::find()->andWhere(['id_user' => Yii::$app->user->getId()])->one(); if (Yii::$app->user->getIdentity()->id_user_role == Dict::USER_ROLE_ADVISOR && !$model->isNewRecord && !$model->isNewRecord || Yii::$app->user->getIdentity()->id_user_role == Dict::USER_ROLE_CLIENT || Yii::$app->user->getIdentity()->id_user_role == Dict::USER_ROLE_BETTERDEBT) { // $readonly = true; //判断不属于service team的supernova只能有读的权限 if (Yii::$app->user->getIdentity()->id_user_role == Dict::USER_ROLE_BETTERDEBT) { if ($betterdebt->is_in_service_team == Dict::BD_SERVICE_TEAM_YES) { $readonly = false; } else { $readonly = true; } } else { $readonly = true; }
public function actionUpdate($id) { $model = $this->findModel($id); $userModel = User::find()->andWhere(['id_user' => $model->id_user])->one(); if ($this->user->id_user_role == Dict::USER_ROLE_CLIENT) { if ($model->id_user != $this->user->id) { throw new UnauthorizedHttpException("Sorry, you don't have permission to access this page."); } } else { if ($this->user->id_user_role == dict::USER_ROLE_ADVISOR) { $advisor = Advisor::findOne(['id_user' => $this->user->id_user]); $groups = AdvisorGroup::find()->andWhere(['id_advisor' => $advisor->id_advisor])->all(); $id_groups = []; foreach ($groups as $val) { $id_groups[] = $val->id_group; } // check if (!in_array($model->id_group, $id_groups)) { throw new UnauthorizedHttpException("Sorry, you don't have permission to access this page."); } } } //validate email if (Yii::$app->request->isAjax && $userModel->load(Yii::$app->request->post())) { Yii::$app->response->format = Response::FORMAT_JSON; return ActiveForm::validate($userModel); } if ($model->load(Yii::$app->request->post()) && $userModel->load(Yii::$app->request->post())) { $arr = ['User' => $_POST['User'], 'Client' => $_POST['Client']]; $result = $userModel->UserUpdate($this->_roleId, $arr, $id); if ($result) { return $this->redirect(['index']); } else { return $this->render('update', ['model' => $model, 'userModel' => $userModel]); } } else { return $this->render('update', ['model' => $model, 'userModel' => $userModel]); } }
/** * add advisor */ public function actionAddAdvisor($id = null) { $model = new Advisor(); $userModel = new User(); //validate email unique if (Yii::$app->request->isAjax && $model->load(Yii::$app->request->post()) && $userModel->load(Yii::$app->request->post())) { Yii::$app->response->format = Response::FORMAT_JSON; return array_merge(ActiveForm::validate($userModel), ActiveForm::validate($model)); } if ($model->load(Yii::$app->request->get()) && $userModel->load(Yii::$app->request->get())) { Yii::$app->response->format = Response::FORMAT_JSON; $user = User::createUser(Dict::USER_ROLE_ADVISOR, ['User' => $_GET['User'], 'Advisor' => $_GET['Advisor']]); if ($user) { if (!empty($id)) { $advisorGroup = new AdvisorGroup(); $advisorGroup->id_group = $id; $advisorGroup->id_advisor = $user->advisor->id_advisor; $advisorGroup->save(); } return true; } else { return false; } } return $this->renderAjax('add_advisor', ['model' => $model, 'user' => $userModel, 'id' => $id]); }
public function getInfo() { switch ($this->id_user_role) { case Dict::USER_ROLE_BETTERDEBT: return $this->hasOne(Betterdebt::classname(), ['id_user' => 'id_user']); break; case Dict::USER_ROLE_ADVISOR: return $this->hasOne(Advisor::classname(), ['id_user' => 'id_user']); break; case Dict::USER_ROLE_CLIENT: return $this->hasOne(Client::classname(), ['id_user' => 'id_user']); break; case Dict::USER_ROLE_BANK: return $this->hasOne(BankUser::classname(), ['id_user' => 'id_user']); break; default: return null; break; } }
public function actionList() { $searchModel = new LoanSearch(); if ($this->user->id_user_role == Dict::USER_ROLE_ADVISOR) { $advisor = Advisor::find()->andWhere(['id_user' => $this->user->id])->one(); //find related groups $id_groups = AdvisorGroup::find()->andWhere(['id_advisor' => $advisor['id_advisor']])->all(); $ids = []; foreach ($id_groups as $value) { $ids[] = $value['id_group']; } $applications = Application::find()->andWhere(['in', 'id_group', $ids])->all(); $id_applications = []; foreach ($applications as $value) { $id_applications[] = $value['id_application']; } $query = Loan::find()->andWhere(['in', 'id_application', $id_applications])->andWhere(['status' => 1]); //->orderBy(['id_loan' => SORT_DESC]); $dataProvider = $searchModel->search(Yii::$app->request->get(), $query); } else { if ($this->user->id_user_role == Dict::USER_ROLE_BETTERDEBT) { $query = Loan::find()->andWhere(['status' => 1]); //->orderBy(['id_loan' => SORT_DESC]); $dataProvider = $searchModel->search(Yii::$app->request->get(), $query); // $query->orderBy(['id_loan' => SORT_DESC]); // $dataProvider = new ActiveDataProvider([ // 'query' => $query, // ]); } } return $this->render('list', ['searchModel' => $searchModel, 'dataProvider' => $dataProvider]); }
} } SCRIPT; $form = ActiveForm::begin(['enableClientScript' => false]); ?> <section class="content-wrap"> <div class="container"> <div class="row pt50"> <main class="col-md-9 main-content"> <div class="new-application frame"> <h3 class="border-bottom h3">NEW APPLICATION</h3> <div class="application-box"> <div class="clearfix"> <div class="form-group padding-left-Zero col-xs-6 mb0"> <?php echo $form->field($model, 'id_group', ['options' => ['class' => 'form-group']])->label('Please select Master Account (group)')->dropDownList(ArrayHelper::map(Advisor::find()->where(['id_user' => Yii::$app->user->getIdentity()->id])->one()->groups, 'id_group', function ($model, $defaultValue) { return $model->group_id; })); ?> </div> <div class="col-xs-6 padding-right0"> <?php echo $form->field($model, 'is_joint_application')->label('Select Application Type')->radioList(DictApplication::$applicationJoint, ['item' => function ($index, $label, $name, $checked, $value) { $radio = Html::radio($name, $checked, ['value' => $value, 'id' => $name . $index]); $label = Html::label($radio . $label); return Html::tag('div', $label, ['class' => 'radio col-xs-6']); }]); ?> </div> </div>
public function getAdvisorUser() { return $this->hasOne(Advisor::className(), ['id_advisor' => 'id_advisor'])->joinwith('users'); }
/** * Finds the Advisor model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return Advisor the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = Advisor::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
$form = ActiveForm::begin(); ?> <?php echo $form->field($model, 'group_id')->textInput(['maxlength' => true]); ?> <?php echo $form->field($model, 'name')->textInput(['maxlength' => true]); ?> <?php echo $form->field($model, 'id_custodian')->dropDownList(ArrayHelper::map(Custodian::find()->all(), 'id_custodian', 'name'), ['id' => 'id_custodian', 'prompt' => 'Select...']); ?> <div class="form-group field-advisorgroup-id_advisor required"> <label class="col-sm-3 control-label form-label" for="id_advisor">Id Advisor</label> <div class="col-sm-8"> <?php echo Select2::widget(['name' => 'id_advisor', 'value' => ArrayHelper::map($model->advisors, 'id_advisor', 'id_advisor'), 'data' => ArrayHelper::map(Advisor::find()->all(), 'id_advisor', function ($item) { return $item->user->first_name; }), 'options' => ['placeholder' => 'Select ...', 'multiple' => true], 'pluginOptions' => ['maximumInputLength' => 10, 'ajax' => ['url' => Url::to(['get-all-advisor-list']), 'dataType' => 'json', 'data' => new JsExpression('function(params) { return {q:params.term}; }')]]]); ?> </div> </div> <div class="form-group"> <div class="col-sm-2"></div> <div class="col-sm-10"> <?php echo Html::button(Yii::t('app', 'Add Advisor'), ['class' => 'fa fa-plus btn btn-success "', 'data-toggle' => 'modal', 'data-target' => '#myModal']); ?> <?php echo Html::submitButton($model->isNewRecord ? 'Create' : 'Update', ['class' => $model->isNewRecord ? 'btn btn-success' : 'btn btn-primary']); ?> </div>