/**
  * Creates a new Complaint model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  * @return mixed
  */
 public function actionCreate()
 {
     $model = new ComplaintCompleteForm();
     if ($model->load(Yii::$app->request->post()) && $model->validate()) {
         //create entries into the DB
         //check if comlainant already exists
         $complainant = $model->getComplainant();
         if ($complainant == null) {
             $complainant = new Complainant();
             $complainant->cnic = $model->cnic;
             $complainant->name = $model->name;
             $complainant->phone = $model->phone;
             $complainant->address_house_number = $model->house;
             $complainant->address_street_number = $model->street;
             $complainant->address_sector_id = $model->sector;
             $complainant->save();
             $complainant->id = $complainant->getPrimaryKey();
         }
         $complaint = new Complaint();
         $complaint->complainant_id = $complainant->id;
         $complaint->description = $model->complaint;
         $complaint->save();
         return $this->redirect(['view', 'id' => $complaint->id]);
     } else {
         return $this->render('create', ['model' => $model]);
     }
 }
Beispiel #2
0
 public function getComplainant()
 {
     return $this->hasOne(Complainant::className(), ['id' => 'complainant_id']);
 }
 public function getComplainant()
 {
     $complainant = Complainant::find()->where(array('cnic' => $this->cnic))->one();
     return $complainant;
 }
Beispiel #4
0
 /**
  * @return \yii\db\ActiveQuery
  */
 public function getComplainants()
 {
     return $this->hasMany(Complainant::className(), ['sector_id' => 'id']);
 }