/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function search($params) { $query = StuAddress::find(); $dataProvider = new ActiveDataProvider(['query' => $query]); $this->load($params); if (!$this->validate()) { // uncomment the following line if you do not want to any records when validation fails // $query->where('0=1'); return $dataProvider; } $query->andFilterWhere(['stu_address_id' => $this->stu_address_id, 'stu_cadd_city' => $this->stu_cadd_city, 'stu_cadd_state' => $this->stu_cadd_state, 'stu_cadd_country' => $this->stu_cadd_country, 'stu_cadd_pincode' => $this->stu_cadd_pincode, 'stu_padd_city' => $this->stu_padd_city, 'stu_padd_state' => $this->stu_padd_state, 'stu_padd_country' => $this->stu_padd_country, 'stu_padd_pincode' => $this->stu_padd_pincode]); $query->andFilterWhere(['like', 'stu_cadd', $this->stu_cadd])->andFilterWhere(['like', 'stu_cadd_house_no', $this->stu_cadd_house_no])->andFilterWhere(['like', 'stu_cadd_phone_no', $this->stu_cadd_phone_no])->andFilterWhere(['like', 'stu_padd', $this->stu_padd])->andFilterWhere(['like', 'stu_padd_house_no', $this->stu_padd_house_no])->andFilterWhere(['like', 'stu_padd_phone_no', $this->stu_padd_phone_no]); return $dataProvider; }
public function actionStudentProfilePdf($sid) { $nationality = $stuAdd = []; $stuMaster = StuMaster::findOne($sid); $stuDocs = StuDocs::find()->where(['stu_docs_stu_master_id' => $sid])->join('join', 'document_category dc', 'dc.doc_category_id = stu_docs_category_id AND dc.is_status <> 2')->all(); $stuInfo = StuInfo::find()->where(['stu_info_stu_master_id' => $sid])->one(); $stuCourse = Courses::findOne($stuMaster->stu_master_course_id); $stuBatch = Batches::findOne($stuMaster->stu_master_batch_id); $stuSection = Section::findOne($stuMaster->stu_master_section_id); $stuGuard = StuGuardians::findAll(['guardia_stu_master_id' => $sid]); $sDocs = new StuDocs(); if ($stuMaster->stu_master_nationality_id !== null) { $nationality = Nationality::findOne($stuMaster->stu_master_nationality_id)->nationality_name; } if ($stuMaster->stu_master_stu_address_id !== null) { $stuAdd = StuAddress::findOne($stuMaster->stu_master_stu_address_id); } $html = $this->renderPartial('/stu-master/stuprofilepdf', ['stuDocs' => $stuDocs, 'stuMaster' => $stuMaster, 'stuInfo' => $stuInfo, 'nationality' => $nationality, 'stuBatch' => $stuBatch, 'stuCourse' => $stuCourse, 'stuSection' => $stuSection, 'stuAdd' => $stuAdd, 'stuGuard' => $stuGuard, 'sDocs' => $sDocs]); $fName = $stuInfo->stu_first_name . "_" . $stuInfo->stu_last_name . "_" . date('Ymd-His'); return Yii::$app->pdf->exportData(Yii::t('report', 'Student Report'), $fName, $html); }
} else { $add_s = ''; } if (!empty(StuAddress::findOne($sd['stu_master_stu_address_id'])->stu_padd_country)) { $add_co = Country::findOne(StuAddress::findOne($sd['stu_master_stu_address_id'])->stu_padd_country)->country_name; } else { $add_co = ''; } echo "<td style='text-align:center; width:400px;'>" . StuAddress::findOne($sd['stu_master_stu_address_id'])->stu_padd . $add_city_c . " " . $add_s . " " . $add_co . "</td>"; } else { echo "<td> </td>"; } } else { if ($s == 'city') { if ($sd['stu_master_stu_address_id'] != 0) { $add = StuAddress::findOne($sd['stu_master_stu_address_id']); if (!empty($add)) { $city = City::findOne($add->stu_cadd_city); } if (!empty($add->stu_cadd_city)) { echo "<td style='text-align:center;'>" . $city['city_name'] . "</td>"; } else { echo "<td> </td>"; } } else { echo "<td> </td>"; } } else { if ($s == 'stu_email_id') { if (StuInfo::findOne($sd['stu_master_stu_info_id'])->{$s} != null) { echo "<td style='text-align:center;width:250px;'>" . StuInfo::findOne($sd['stu_master_stu_info_id'])->{$s} . "</td>";
public function importStuData($model) { $dispResults = []; $totalSuccess = 0; $objPHPExcel = PHPExcel_IOFactory::load($model->importFilePath . $model->importFile); $sheetData = $objPHPExcel->getActiveSheet()->toArray(null, true, true, true); //print_r($sheetData); exit; unset($sheetData[1]); //start import student row by row foreach ($sheetData as $k => $line) { //print_r($line); exit; if (!array_filter($line)) { continue; } $line = array_map('trim', $line); $line = array_map(function ($value) { return empty($value) ? NULL : $value; }, $line); $stuMaster = new StuMaster(); $stuInfo = new StuInfo(); $stuInfo->scenario = 'import-stu'; $stuAddress = new StuAddress(); $user = new User(); $auth_assign = new AuthAssignment(); //set student info attributes $stuInfo->stu_unique_id = $stuInfo->getUniqueId(); // Student Unique Id $stuInfo->stu_title = $this->valueReplace($line['A'], $stuInfo->getTitleOptions()); //Title Name $stuInfo->stu_first_name = $line['B']; //First Name $stuInfo->stu_last_name = $line['C']; //Last Name $stuInfo->stu_dob = Yii::$app->dateformatter->getDateFormat($line['D']); //Date of Birth $stuInfo->stu_admission_date = Yii::$app->dateformatter->getDateFormat($line['H']); //Student Admission Date $stuInfo->stu_gender = $this->valueReplace($line['I'], $stuInfo->getGenderOptions()); // Gender $stuInfo->stu_email_id = $line['J']; // Email ID $stuInfo->stu_mobile_no = $line['K']; // Mobile No //set student master attribute $stuMaster->stu_master_course_id = $this->valueReplace($line['E'], Courses::getStuCourse()); // Course $stuMaster->stu_master_batch_id = $this->valueReplace($line['F'], Batches::getStuBatches()); // Batch $stuMaster->stu_master_section_id = $this->valueReplace($line['G'], Section::getStuSection()); // Section $stuMaster->stu_master_category_id = $this->valueReplace($line['L'], StuCategory::getStuCategoryId()); //Admission Category $stuMaster->stu_master_nationality_id = $this->valueReplace($line['M'], Nationality::getNationality()); //Nationality //set student address attribute $stuAddress->stu_cadd = $line['N']; //Current Address $stuAddress->stu_cadd_city = $this->valueReplace($line['O'], City::getAllCity()); //City $stuAddress->stu_cadd_state = $this->valueReplace($line['P'], State::getAllState()); //State $stuAddress->stu_cadd_country = $this->valueReplace($line['Q'], Country::getAllCountry()); //Country $stuAddress->stu_cadd_pincode = $line['R']; //Pincode $stuAddress->stu_cadd_house_no = $line['S']; //House No $stuAddress->stu_cadd_phone_no = $line['T']; //Phone No //set user login info attributes $uniq_id = $stuInfo->getUniqueId(); $login_id = \app\models\Organization::find()->one()->org_stu_prefix . $uniq_id; $user->user_login_id = $login_id; //user login id $user->user_password = md5($user->user_login_id . $user->user_login_id); //user password $user->user_type = "S"; //user type $user->created_by = Yii::$app->getid->getId(); //created by $user->created_at = new \yii\db\Expression('NOW()'); //created at if ($user->validate() && $stuInfo->validate() && $stuAddress->validate()) { $transaction = Yii::$app->db->beginTransaction(); try { if ($stuInfo->save() && $user->save() && $stuAddress->save()) { $stuMaster->stu_master_stu_info_id = $stuInfo->stu_info_id; $stuMaster->stu_master_user_id = $user->user_id; $stuMaster->stu_master_stu_address_id = $stuAddress->stu_address_id; $stuMaster->created_by = Yii::$app->getid->getId(); $stuMaster->created_at = new \yii\db\Expression('NOW()'); if ($stuMaster->save()) { $stuInfo->stu_info_stu_master_id = $stuMaster->stu_master_id; if ($stuInfo->save(false)) { $auth_assign->item_name = 'Student'; $auth_assign->user_id = $user->user_id; $auth_assign->created_at = date_format(date_create(), 'U'); $auth_assign->save(false); $transaction->commit(); $totalSuccess += 1; $dispResults[] = array_merge($line, ['type' => 'S', 'stuMasterId' => $stuMaster->stu_master_id, 'message' => 'Success']); } } else { $dispResults[] = array_merge($line, ['type' => 'E', 'message' => Html::errorSummary($stuMaster)]); } } // end stuInfo, user, StuAddress $transaction->rollback(); } catch (\Exception $e) { $transaction->rollBack(); $dispResults[] = array_merge($line, ['type' => 'E', 'message' => $e->getMessage()]); } } else { $dispResults[] = array_merge($line, ['type' => 'E', 'message' => Html::errorSummary([$user, $stuInfo, $stuMaster, $stuAddress])]); } //end validated if } //end foreach return ['dispResults' => $dispResults, 'totalSuccess' => $totalSuccess]; }
/** * Updates an existing StuMaster model. * If update is successful, the browser will be redirected to the 'view' page. * @param integer $id * @return mixed */ public function actionUpdate($sid, $tab) { $model = $this->findModel($sid); $info = StuInfo::findOne($model->stu_master_stu_info_id); if (isset($_REQUEST['stu_guard_id'])) { $guard = StuGuardians::find()->where(['guardia_stu_master_id' => $model->stu_master_id, 'stu_guardian_id' => $_REQUEST['stu_guard_id']])->one(); } $address = StuAddress::findOne($model->stu_master_stu_address_id); if ($tab == 'personal') { if ($model->load(Yii::$app->request->post()) && $info->load(Yii::$app->request->post())) { $model->attributes = $_POST['StuMaster']; $info->attributes = $_POST['StuInfo']; if (empty($_POST['StuInfo']['stu_email_id'])) { $info->stu_email_id = NULL; } else { $info->stu_email_id = strtolower($_POST['StuInfo']['stu_email_id']); } $info->stu_dob = Yii::$app->dateformatter->getDateFormat($_POST['StuInfo']['stu_dob']); $model->updated_by = Yii::$app->getid->getId(); $model->updated_at = new \yii\db\Expression('NOW()'); if ($model->save() && $info->save()) { return $this->redirect(['view', 'id' => $model->stu_master_id, '#' => "personal"]); } else { return $this->render('personal_info', ['model' => $model, 'info' => $info]); } } else { return $this->render('personal_info', ['model' => $model, 'info' => $info]); } } else { if ($tab == 'academic') { if ($model->load(Yii::$app->request->post()) && $info->load(Yii::$app->request->post())) { $model->attributes = $_POST['StuMaster']; $info->attributes = $_POST['StuInfo']; $info->stu_admission_date = Yii::$app->dateformatter->getDateFormat($_POST['StuInfo']['stu_admission_date']); $model->updated_by = Yii::$app->getid->getId(); $model->updated_at = new \yii\db\Expression('NOW()'); if ($model->save() && $info->save(false)) { return $this->redirect(['view', 'id' => $model->stu_master_id, '#' => "academic"]); } else { return $this->render('academic_info', ['model' => $model, 'info' => $info]); } } else { return $this->render('academic_info', ['model' => $model, 'info' => $info]); } } else { if ($tab == 'guardians') { if (Yii::$app->request->isAjax && $guard->load(Yii::$app->request->post())) { \Yii::$app->response->format = \yii\web\Response::FORMAT_JSON; return ActiveForm::validate($guard); } if ($guard->load(Yii::$app->request->post()) || isset($_POST['StuGuardians'])) { $guard->attributes = $_POST['StuGuardians']; if (empty($_POST['StuGuardians']['guardian_email'])) { $guard->guardian_email = NULL; } else { $guard->guardian_email = strtolower($_POST['StuGuardians']['guardian_email']); } $guard->updated_by = Yii::$app->getid->getId(); $guard->updated_at = new \yii\db\Expression('NOW()'); if ($guard->save()) { return $this->redirect(['view', 'id' => $model->stu_master_id, '#' => "guardians"]); } else { return $this->renderAjax('guardians_info', ['model' => $model, 'info' => $info, 'guard' => $guard]); } } else { return $this->renderAjax('guardians_info', ['model' => $model, 'info' => $info, 'guard' => $guard]); } } else { if ($tab == 'address') { if ($address->load(Yii::$app->request->post())) { $address->attributes = $_POST['StuAddress']; if ($address->save()) { return $this->redirect(['view', 'id' => $model->stu_master_id, '#' => "address"]); } else { return $this->render('address_info', ['model' => $model, 'info' => $info, 'address' => $address]); } } else { return $this->render('address_info', ['model' => $model, 'info' => $info, 'address' => $address]); } } else { return $this->render('update', ['model' => $model, 'info' => $info]); } } } } }
/** * Finds the StuAddress model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return StuAddress the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = StuAddress::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
/** * @return \yii\db\ActiveQuery */ public function getStuMasterStuAddress() { return $this->hasOne(StuAddress::className(), ['stu_address_id' => 'stu_master_stu_address_id']); }