public function save() { //start a transaction $transaction = Yii::app()->db->beginTransaction(); try { if (!$this->isPublic) { if (Yii::app()->user->isCollegeAdmin()) { $collegeAdmin = CollegeAdmin::model()->findByPk(Yii::app()->user->id); } else { $collegeAdmin = CollegeAdmin::model()->findByPk($this->postItem->user_id); } $this->event->college_id = $collegeAdmin->college_id; } else { if (!$this->event->isNewRecord && $this->postedByCollegeAdmin()) { $this->event->college_id = null; } } if ($this->postItem->save()) { if ($this->event->save(true, null, $this->postItem)) { $transaction->commit(); return true; } } $transaction->rollback(); return false; } catch (Exception $e) { $transaction->rollback(); return false; } }