/** * Tests testimonial rejection. */ public function testReject() { $testi = $this->testimonials('testimonial2'); $this->assertTrue($testi->reject()); $updatedTesti = Testimonial::model()->findByPk($testi->id); $this->assertEquals(Testimonial::STATUS_REJECTED, $testi->status); }
/** * Displays the profile page of a student. * @param integer $id the student id */ public function actionView($id) { $model = $this->loadModel($id); $numItems = Yii::app()->params['itemsPerPage']; $downloads = new CArrayDataProvider($model->downloadInfos, array('pagination' => array('pageSize' => $numItems))); $reviews = new CArrayDataProvider($model->reviews, array('pagination' => array('pageSize' => $numItems))); $sql = Yii::app()->db->createCommand()->select(array('id', 'title', 'value', 'note_id', 'timestamp'))->from(array('bk_note note', 'bk_rate rate'))->where(array('and', 'rate.student_id=:sid', 'rate.note_id=note.id'), array(':sid' => $model->id)); $count = count($model->rates); $rates = new CSqlDataProvider($sql, array('totalItemCount' => $count, 'pagination' => array('pageSize' => $numItems))); $sql = Yii::app()->db->createCommand()->select(array('id', 'title', 'note_id', 'timestamp'))->from(array('bk_note note', 'bk_report report'))->where(array('and', 'report.student_id=:sid', 'report.note_id=note.id'), array(':sid' => $model->id)); $count = count($model->reports); $reports = new CSqlDataProvider($sql, array('totalItemCount' => $count, 'pagination' => array('pageSize' => $numItems))); $uploads = new CArrayDataProvider($model->notes, array('pagination' => array('pageSize' => $numItems))); $badges = new CArrayDataProvider($model->badges, array('pagination' => array('pageSize' => 20))); if (Yii::app()->user->isAdmin) { $finder = Testimonial::model(); } else { $finder = Testimonial::model()->student($model->id); } $testimonials = new CActiveDataProvider($finder, array('pagination' => array('pageSize' => $numItems))); $this->render('view', array('model' => $model, 'downloads' => $downloads, 'reviews' => $reviews, 'rates' => $rates, 'reports' => $reports, 'uploads' => $uploads, 'badges' => $badges, 'testimonials' => $testimonials)); }
/** * Returns the data model based on the primary key given in the GET variable. * If the data model is not found, an HTTP exception will be raised. * @param integer the ID of the model to be loaded */ public function loadModel($id) { $model = Testimonial::model()->findByPk((int) $id); if ($model === null) { throw new CHttpException(404, 'The requested page does not exist.'); } return $model; }
/** * Retrieves testimonial of the month. * @return Testimonial the testimonial or null if not found */ public static function getCurrentTestimonial() { $testimonial = Testimonial::model()->find(array('condition' => 'status=:status', 'params' => array(':status' => self::STATUS_APPROVED), 'order' => 'timestamp DESC')); if ($testimonial === null) { return null; } $currentMonth = date('m'); $testimonialMonth = date('m', strtotime($testimonial->timestamp)); if ($currentMonth !== $testimonialMonth) { return null; } else { return $testimonial; } }
/** * Loads the testimonial model. * @param int $id the testimonial id * @return Note the testimonial object associated with the given id */ public function loadModel($id) { $model = Testimonial::model()->findByPk($id); if ($model === NULL) { throw new CHttpException(404, 'Testimonial yang dimaksud tidak ada.'); } return $model; }