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";
                     }
                 }
             }
         }
     }
 }
예제 #2
0
 /**
  * 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));
 }