/** * Az éppen bejelentkezett felhasználó számára a megadott tantárgyakból a hiányzásokat lenullázza. * @param int $subject_id A tantárgy azonosítója */ public function actionResetAbsenteeism($subject_id) { //Be van jelentkezve a felhasználó? if (!Yii::app()->user->getId()) { throw new CHttpException(403, "Ennek a funkciónak a használatához be kell jelentkeznie"); } //Csak ellenőrzésként, hogy ez a tárgy tényleg létezik-e $model = Subject::model()->findByPk((int) $subject_id); if ($model == null) { throw new CHttpException(404, "A kért elem nem található"); } $Absenteeism = UserAbsenteeism::model()->findByAttributes(array('user_id' => Yii::app()->user->getId(), 'subject_id' => $subject_id)); if ($Absenteeism != null) { if (!$Absenteeism->delete()) { print 'fail'; } } print 'ok'; }
/** * Megjeleníti a tantárgy adatlapját. Bejelentkezett hallgató esetén a hiányzásokat is lekérdezi. * @param int $id A tantárgy azonosítója */ public function actionDetails($id) { $model = Subject::model()->findByPk((int) $id); if ($model == null) { throw new CHttpException(404, "A kért elem nem található"); } //Előfeltételek lekérdezése $dependencies = array(); foreach ($model->dependencies as $dependency) { $Subj = Subject::Model()->findByPk($dependency->dependent_subject_id); $dependencies[] = array("id" => $Subj->subject_id, "name" => $Subj->name, "dependency_id" => $dependency->dependency_id, "shortName" => $Subj->shortName, "semester" => $Subj->semester, "group" => $Subj->group->group_name); } //Rá épülő tárgyak $Based_on = array(); foreach ($model->based_on as $current) { $Subj = Subject::Model()->findByPk($current->subject_id); $Based_on[] = array("id" => $Subj->subject_id, "shortName" => $Subj->shortName, "semester" => $Subj->semester, "group" => $Subj->group->group_name); } //Hiányzások $Misses = 0; if (Yii::app()->user->getId()) { $Absenteeism = UserAbsenteeism::model()->findByAttributes(array('user_id' => Yii::app()->user->getId(), 'subject_id' => $id)); if ($Absenteeism != null) { $Misses = $Absenteeism->count; } } $this->render('details', array('based_on' => $Based_on, 'data' => $model, 'dependencies' => $dependencies, 'Misses' => $Misses)); }