Example #1
0
 /**
  * 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;
 }
Example #2
0
 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>&nbsp;</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>&nbsp;</td>";
             }
         } else {
             echo "<td>&nbsp;</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>";
Example #4
0
 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];
 }
Example #5
0
 /**
  * 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.');
     }
 }
Example #7
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getStuMasterStuAddress()
 {
     return $this->hasOne(StuAddress::className(), ['stu_address_id' => 'stu_master_stu_address_id']);
 }