/** * Creates a new model. * If creation is successful, the browser will be redirected to the 'view' page. */ public function actionCreate($id) { $model = new EacStatusLog(); $decision = EacDecision::model()->findByPk($id); // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if (isset($_POST['EacStatusLog'])) { $model->attributes = $_POST['EacStatusLog']; $model->decision_id = $id; $model->approved = 0; //not approved $model->create_user_id = Yii::app()->user->id; $model->date_created = date('Y-m-d H:i:s'); $model->date_updated = date('Y-m-d H:i:s'); if ($model->save()) { if ($decision) { $decision->implementation_status_id = $model->status_id; $decision->save(); Yii::app()->user->setFlash(TbHtml::ALERT_COLOR_SUCCESS, 'Status updated successfully.'); } $criteria = new CDbCriteria(); $criteria->addColumnCondition(array('is_mda' => 0), 'OR'); $mdas = $decision->getAssignedMdasIds(); $criteria->addInCondition('mda_id', $mdas); $recipients = User::getNotificationSubscribers($criteria); $loggedInUser = User::model()->findByPk(Yii::app()->user->user_id); $from = ""; if (Yii::app()->user->is_mda) { $mda = $loggedInUser->mda; $from = $mda->description; } else { $meacOffice = $loggedInUser->meacOffice; $from = $meacOffice->description; } $message = "Decision {$decision->decision_reference}-({$decision->description}) has been updated by " . Yii::app()->user->getState('loggedInUser') . " from {$from}<br />"; $message .= $model->status_narrative . "<br />"; $message .= "For more information click " . TbHtml::link("here", Yii::app()->getBaseUrl(true) . "/index.php?r=eacDecision/view&id={$decision->id}"); $this->notify($recipients, 'Decision Update', $message); $this->redirect(array('/eacDecision/view', 'id' => $id)); } } $this->render('create', array('model' => $model, 'decision' => $decision)); }
public function actionAjaxUpdate() { $mdas = $_POST['value']; //print_r($mdas);exit; $excludedMdaIds = $this->unsetMdas($_POST['pk'], $mdas); if (!empty($excludedMdaIds)) { $this->notifyUnsubscribedMdas($_POST['pk'], $excludedMdaIds); } foreach ($mdas as $mda) { $mapping = new MdaDecisionMapping(); $mapping->decision_id = $_POST['pk']; $mapping->mda_id = $mda; if (!$mapping->exists('decision_id=:id AND mda_id=:mda', array(':id' => $mapping->decision_id, ':mda' => $mapping->mda_id))) { $mapping->save(); } else { echo "Unable to assign"; } } //Notify subscribers $criteria = new CDbCriteria(); $criteria->addColumnCondition(array('is_mda' => 1)); $criteria->addInCondition('mda_id', $mdas); $recipients = User::getNotificationSubscribers($criteria); $message = "You have been assigned to report on decision " . $this->loadModel($_POST['pk'])->decision_reference . " by the " . Yii::app()->params['owner'] . "<br />"; $message .= "For more information click " . TbHtml::link("here", Yii::app()->getBaseUrl(true) . "/index.php?r=eacDecision/view&id={$_POST['pk']}"); $this->notify($recipients, 'Decision Update', $message); }