public function triggerNotification($frequency) { $indicators = Indicator::model()->findAll(); foreach ($indicators as $indicator) { if ($indicator->indicatorFrequency) { if ($indicator->indicatorFrequency[0]->code == $frequency) { echo 'found one: ' . 'indicator ID: ' . $indicator->indicatorFrequency[0]->code . "\r\n"; foreach ($indicator->indicatorFramework as $framework) { $mapper = EamsFrameworkIndicatorMapping::model()->find('indicator_id=:i AND framework_id=:f', array(':i' => $indicator->id, ':f' => $framework->id)); //Initialize facts table: indicator value to be filled after notification has been sent $fact = new EamsFacts(); $fact->framework_ind_id = $mapper->id; $fact->time_id = TimeDimension::getTimeIdByDate(date('dmy')); echo '<pre>'; print_r($fact); print_r($mapper); echo "\r\n"; if ($fact->save()) { echo "Saved\r\n"; } } } } } }
/** * Creates a new model. * If creation is successful, the browser will be redirected to the 'view' page. */ public function actionCreate($framework_id) { $model = new Indicator(); // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if (isset($_POST['Indicator'])) { $model->attributes = $_POST['Indicator']; if ($model->save()) { $frequencyMapping = new IndicatorFrequencyMapping(); $frequencyMapping->indicator_id = $model->id; $frequencyMapping->frequency_id = $model->frequency; $frequencyMapping->save(); $frameworkMapping = new EamsFrameworkIndicatorMapping(); $frameworkMapping->framework_id = $framework_id; $frameworkMapping->indicator_id = $model->id; $frameworkMapping->indicator_unit_id = $model->indicatorUnit; $frameworkMapping->data_source_id = $model->indicatorDataSource; $frameworkMapping->created_by = Yii::app()->user->id; $frameworkMapping->save(); $this->redirect(array('view', 'id' => $model->id)); } } $this->render('create', array('model' => $model)); }