/** * Creates data provider instance with search query applied * * @param array $params * * @return ActiveDataProvider */ public function searchOlAttendee($params) { $query = OlAttendees::find(); // add conditions that should always apply here $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; } // grid filtering conditions $query->andFilterWhere(['id' => $this->id, 'user_type_id' => $this->user_type_id, 'is_active' => 1]); $query->andFilterWhere(['like', 'ol_bio', $this->ol_bio])->andFilterWhere(['like', 'ol_phone_no', $this->ol_phone_no])->andFilterWhere(['like', 'ol_email', $this->ol_email]); $query->andFilterWhere(['like', 'last_name', $this->name]); $query->orFilterWhere(['like', 'first_name', $this->name]); $query->orderBy('last_name asc'); return $dataProvider; }
} if (count($modelsAttendees) == 0) { $modelsAttendees = [new \backend\models\MeetingSchedules()]; } if (count($modelsOlAttendees) == 0) { $modelsOlAttendees = [new \backend\models\MeetingSchedules()]; } //$model1 = new \backend\models\SdaSchedules(); $model1 = new \backend\models\MeetingSchedules(); $request = Yii::$app->request; $id = $request->get('id'); $controller = Yii::$app->controller->id; $action = Yii::$app->controller->action->id; $congid = $model->congress_id; $data = AmgenContactList::find()->select(['Name as value'])->asArray()->all(); $olattendees = OlAttendees::find()->select(['name as value'])->asArray()->all(); ?> <div class="meeting-details-form"> <div class="btn-group" role="group" aria-label="First group" style="width:33%;margin-left: 34px;"> <?php echo Html::a(' <button class="btn_booths float_left active " type="button">Congress Schedule</button>', ['sda/index', 'id' => $congid], ['class' => 'profile-link']); ?> </div> <?php $form = ActiveForm::begin(['id' => $model->formName(), 'options' => ['enctype' => 'multipart/form-data', 'class' => 'form-inline'], 'errorSummaryCssClass' => 'error-summary alert alert-danger', 'scrollToError' => false]);
/** * @return \yii\db\ActiveQuery */ public function getOlAttendee() { return $this->hasOne(OlAttendees::className(), ['id' => 'ol_attendee_id']); }
/** * Finds the OlAttendees model based on its primary key value. * If the model is not found, a 404 HTTP exception will be thrown. * @param integer $id * @return OlAttendees the loaded model * @throws NotFoundHttpException if the model cannot be found */ protected function findModel($id) { if (($model = OlAttendees::findOne($id)) !== null) { return $model; } else { throw new NotFoundHttpException('The requested page does not exist.'); } }
/** * Uploads ol engagement data in CSV format * @return mixed */ public function actionOlupload() { $model = new Olform(); $congress = Yii::$app->getRequest()->getQueryParam('congress'); if ($model->load(Yii::$app->request->post())) { $row = 1; $model->csvfile = UploadedFile::getInstance($model, 'csvfile'); $time = time(); $model->csvfile->saveAs('csv/' . $time . '.' . $model->csvfile->extension); $model->csvfile = 'csv/' . $time . '.' . $model->csvfile->extension; $requiredHeaders = array('Title', 'Meeting Type', 'Date', 'Start Time', 'End Time', 'Location', 'Amgen attendees', 'OL attendees', 'Commercial/Medical/Joint', 'Joint Meeting Approval Received', 'Restricted State Rules', 'Consultant', 'Catering', 'Notes'); $f = fopen($model->csvfile, 'r'); $firstLine = fgets($f); //get first line of csv file fclose($f); $foundHeaders = array_map('trim', str_getcsv(trim($firstLine), ',', '"')); //parse to array $handle = fopen($model->csvfile, "r"); if ($foundHeaders == $requiredHeaders) { while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { $approval = 0; $rsr = 0; $consultant = 0; $row++; $eventtype = \backend\models\MeetingTypes::find()->where(['type' => $data[1]])->one(); $eventtype = isset($eventtype['id']) ? $eventtype['id'] : '4'; $profile = OlProfiles::find()->where(['name' => $data[8]])->one(); $profiletype = isset($profile['id']) ? $profile['id'] : '1'; if ($data[9] == "Yes") { $approval = 1; } if ($data[10] == "Yes") { $rsr = 1; } if ($data[11] == "Yes") { $consultant = 1; } if ($row == 2) { //ignoring } else { //Save the row $meetingdetails = new \backend\models\MeetingDetails(); $meetingdetails->congress_id = $congress; $meetingdetails->title = $data[0]; $meetingdetails->date = date("Y-m-d H:i:s", strtotime($data[2])); $meetingdetails->start_time = $data[3]; $meetingdetails->stop_time = $data[4]; $meetingdetails->location = $data[5]; $meetingdetails->event_type = $eventtype; if ($eventtype == "3") { $meetingdetails->ol_profile_id = $profiletype; $meetingdetails->rsr = $rsr; $meetingdetails->meeting_approval = $approval; $meetingdetails->ol_consultant = $consultant; $meetingdetails->ol_catering = $data[12]; $meetingdetails->notes = $data[13]; } try { $meetingdetails->save(); $amgenatten = explode(',', $data[6]); $olattendee = explode(',', $data[7]); if (count($amgenatten) > 0) { foreach ($amgenatten as $value) { $value = trim($value); $amgenattendee = explode(' ', $value); if (!empty($amgenattendee[0]) && !empty($amgenattendee[1])) { $attendeeexits = \backend\models\AmgenContactList::find()->where(['first_name' => $amgenattendee[0], 'last_name' => $amgenattendee[1]])->one(); if ($attendeeexits) { $olengagement = new OlEngagement(); $olengagement->congress_id = $congress; $olengagement->meeting_id = $meetingdetails->id; $olengagement->title = $data[0]; $olengagement->ol_date = date("Y-m-d H:i:s", strtotime($data[2])); $olengagement->ol_start_time = $data[3]; $olengagement->ol_end_time = $data[4]; $olengagement->location = $data[5]; $olengagement->attendee_id = $attendeeexits->id; $olengagement->ol_attendee_id = ''; $olengagement->ol_profile_id = $profiletype; $olengagement->meeting_approval = $approval; $olengagement->rsr = $rsr; $olengagement->ol_consultant = $consultant; $olengagement->ol_catering = $data[12]; $olengagement->notes = $data[13]; $olengagement->save(TRUE); try { $olengagement->save(FALSE); } catch (\Exception $exc) { echo $exc->getTraceAsString(); } $meetingschedule = new \backend\models\MeetingSchedules(); $meetingschedule->congress_id = $congress; $meetingschedule->meeting_id = $meetingdetails->id; $meetingschedule->attendee_id = $attendeeexits->id; $meetingschedule->ol_attendee_id = ""; $meetingschedule->save(FALSE); } } } } if (count($olattendee) > 0) { foreach ($olattendee as $value) { $value = trim($value); $oladata = explode(' ', $value); if (!empty($oladata[0]) && !empty($oladata[1])) { $olattendeeexits = \backend\models\OlAttendees::find()->where(['first_name' => $oladata[0], 'last_name' => $oladata[1]])->one(); if ($olattendeeexits) { $olengagement = new OlEngagement(); $olengagement->congress_id = $congress; $olengagement->meeting_id = $meetingdetails->id; $olengagement->title = $data[0]; $olengagement->ol_date = date("Y-m-d H:i:s", strtotime($data[2])); $olengagement->ol_start_time = $data[3]; $olengagement->ol_end_time = $data[4]; $olengagement->location = $data[5]; $olengagement->attendee_id = ''; $olengagement->ol_attendee_id = $olattendeeexits->id; $olengagement->ol_profile_id = $profiletype; $olengagement->meeting_approval = $approval; $olengagement->rsr = $rsr; $olengagement->ol_consultant = $consultant; $olengagement->ol_catering = $data[12]; $olengagement->notes = $data[13]; $olengagement->save(TRUE); try { $olengagement->save(FALSE); } catch (Exception $exc) { echo $exc->getTraceAsString(); } $meetingschedule = new \backend\models\MeetingSchedules(); $meetingschedule->congress_id = $congress; $meetingschedule->meeting_id = $meetingdetails->id; $meetingschedule->attendee_id = ''; $meetingschedule->ol_attendee_id = $olattendeeexits->id; $meetingschedule->save(FALSE); } } } } } catch (Exception $exc) { echo $exc->getTraceAsString(); } } } Yii::$app->getSession()->setFlash('success', 'All OL is Uploaded Successfully'); } else { Yii::$app->getSession()->setFlash('error', 'CSV is in Incorrect format'); } fclose($handle); $this->redirect(['meeting/index', 'id' => $congress]); } else { return $this->render('csvupload', ['model' => $model]); } }
/** * Get ol attendee details by his name */ public function actionOldata() { $tm = $_REQUEST['term']; $olattendees = OlAttendees::find()->select(['id as value', new \yii\db\Expression("CONCAT(`last_name` ,' ', `first_name`) as label")])->where('last_name LIKE :query')->andWhere(['is_active' => '1'])->addParams([':query' => "{$tm}%"])->orderBy(['last_name' => SORT_DESC])->asArray()->all(); echo json_encode($olattendees); }