Exemple #1
0
 /**
  * Tests the create review action with invalid input.
  */
 public function testCreateInvalid()
 {
     $note = $this->notes('note1');
     $student = $this->students('student1');
     // Empty content
     $review = new Review();
     $review->setAttributes(array('content' => null));
     $this->assertFalse($note->addReview($review, $student->id));
 }
 public function actionReviewAdd($response_id)
 {
     if (Yii::app()->user->isGuest) {
         throw new CHttpException(403);
     }
     $Response = Response::model()->findByPK($response_id);
     if (is_null($Response)) {
         throw new CHttpException(403);
     }
     $profile = Yii::app()->user->getProfile();
     $Company = $profile->company;
     if ($Company->isBlocked()) {
         $this->render('reviewaddblock', ['Response' => $Response, 'CompanyPartner' => null]);
         return;
     }
     $CompanyPartnerId = null;
     if ($Company->id == $Response->from_company_id) {
         $CompanyPartnerId = $Response->to_company_id;
     } else {
         if ($Company->id == $Response->to_company_id) {
             $CompanyPartnerId = $Response->from_company_id;
         } else {
             // компания не принадлежит к этой сделке
             throw new CHttpException(403);
         }
     }
     $CompanyPartner = Company::model()->findByPk($CompanyPartnerId);
     if ($CompanyPartner->isBlocked()) {
         $this->render('reviewaddblock', ['Response' => $Response, 'CompanyPartner' => $CompanyPartner]);
         return;
     }
     if (!$Response->isCompaniesReadyForReviews()) {
         Yii::log("actionReviewAdd companies NOT ready for review", "info");
         throw new CHttpException(403);
     }
     $Review = Review::model()->findByAttributes(['response_id' => $response_id, 'from_company_id' => $Company->id]);
     if (is_null($Review)) {
         $Review = new Review();
     }
     //$Response = Response::model()->findByPk($response_id);
     if (isset($_POST['Review'])) {
         $Review->setAttributes($_POST['Review'], false);
         $Review->from_company_id = $Company->id;
         if ($Response->to_company->id == $Company->id) {
             $CompanyTo = $Response->from_company;
         } else {
             $CompanyTo = $Response->to_company;
         }
         $Review->to_company_id = $CompanyTo->id;
         $Review->response_id = $Response->response_id;
         if ($Review->validate()) {
             $Review->save();
             if (isset($_POST['photos'])) {
                 $Review->setPhoto($_POST['photos']);
             }
             $Review->setscenario('valid_photo');
             if ($Review->validate()) {
                 //$this->redirect('/cabinet/deal/'.$Response->response_id);
                 $this->redirect('/response/' . $Response->response_id);
             }
         }
     }
     $mainAssets = Yii::app()->getTheme()->getAssetsUrl();
     Yii::app()->getClientScript()->registerCssFile($mainAssets . '/css/review.css');
     $this->render('reviewadd', ['Review' => $Review, 'Response' => $Response]);
 }