/** * 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]); }