/** * Creates a new model. * If creation is successful, the browser will be redirected to the 'view' page. * @param string $phase 1, 2 or 3 * @param string $parent Parent WaterRequest ID */ public function actionCreate($phase = null, $parent = null) { if (!Yii::app()->user->checkAccess('createWaterRequest')) { throw new CHttpException(403, Yii::t('http_status', '403')); } if (!$phase || $phase != 1 && $phase != 2 && $phase != 3) { $this->layout = '//layouts/column1'; /* $model=WaterRequests::model()->findAllByAttributes( array( 'username'=>Yii::app()->user->id, 'status'=>WaterRequests::SW_NODE(WaterRequests::SUBMITTED_STATUS), 'phase'=>1 ) );*/ $criteria = new CDbCriteria(); $criteria->compare('username', Yii::app()->user->id, true, 'AND'); $criteria->compare('status', WaterRequests::SW_NODE(WaterRequests::SUBMITTED_STATUS), false, 'AND'); $criteria->compare('phase', 1, false, 'AND'); $dataProvider_phase_two = new CActiveDataProvider(WaterRequests::model()->no_tmp(), array('criteria' => $criteria)); $criteria = new CDbCriteria(); $criteria->compare('username', Yii::app()->user->id, true, 'AND'); $criteria->compare('status', WaterRequests::SW_NODE(WaterRequests::CONFIRMED_STATUS), false, 'AND'); $criteria->compare('phase', 2, false, 'AND'); $dataProvider_phase_three = new CActiveDataProvider(WaterRequests::model()->no_tmp(), array('criteria' => $criteria)); $this->render('choose_phase', array('dataProvider_phase_two' => $dataProvider_phase_two, 'dataProvider_phase_three' => $dataProvider_phase_three)); Yii::app()->end(); } $model = WaterRequests::model()->findByAttributes(array('username' => Yii::app()->user->id, 'status' => WaterRequests::SW_NODE(WaterRequests::TEMP_STATUS), 'phase' => $phase)); if ($model != null) { $model->delete(); } $model = new WaterRequests(); $model->username = Yii::app()->user->id; $model->phase = $phase; if ($parent) { //check if parent exist and it would be a right parent $parent_phase = $parent_status = null; if ($phase == 2) { $parent_phase = 1; $parent_status = WaterRequests::SW_NODE(WaterRequests::SUBMITTED_STATUS); } else { if ($phase == 3) { $parent_phase = 2; $parent_status = WaterRequests::SW_NODE(WaterRequests::CONFIRMED_STATUS); } } $p = WaterRequests::model()->findAllByAttributes(array('username' => Yii::app()->user->id, 'status' => $parent_status, 'phase' => $parent_phase, 'id' => $parent)); if (isset($p)) { $model->parent_phase = $parent; } } $model->save(false); if ($model->phase == 2) { $model->scenario = 'phase_two'; } // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if (isset($_POST['WaterRequests'])) { $model->attributes = $_POST['WaterRequests']; //$model->timestamp=date(Yii::app()->params['dateTimeFormatDB']); //$model->username=Yii::app()->user->id; if (isset($_POST['save-button'])) { $model->updateStatus(WaterRequests::SAVED_STATUS); } else { $model->updateStatus(WaterRequests::SUBMITTED_STATUS); } if ($model->save()) { $this->redirect(array('view', 'id' => $model->id)); } } $this->render('create', array('model' => $model)); }
?> <b><?php echo CHtml::encode($data->getAttributeLabel('effective_water_demand')); ?> :</b> <?php echo CHtml::encode(Math::wd_round($data->effective_water_demand) . ' ' . Yii::app()->params['water_demand_unit']); ?> <br /> <?php } ?> <?php if ($data->phase == 1 and ($data->status == WaterRequests::SW_NODE(WaterRequests::SUBMITTED_STATUS) and Yii::app()->user->isPlanner)) { echo CHtml::link(Yii::t('waterrequest', 'Move on Executive Phase'), array('waterRequests/create', 'phase' => 2, 'parent' => $data->id)); } ?> <div class="water_request_operation"> <?php if (Yii::app()->user->checkAccess('pdfWaterRequest', array('waterRequest' => $data))) { $img = CHtml::image('images/document_pdf.png'); echo CHtml::link($img, array('pdf', 'id' => $data->id), array('id' => 'pdf-link', 'title' => Yii::t('waterrequest', 'Generate PDF'))); } if (Yii::app()->user->checkAccess('epanetWaterRequest', array('waterRequest' => $data))) { $img = CHtml::image('images/document_epanet.png'); echo CHtml::link($img, array('epanet', 'id' => $data->id), array('id' => 'epanet-link', 'title' => Yii::t('waterrequest', 'Generate Epanet file'))); } ?>
public function isEditable() { switch ($this->status) { case WaterRequests::SW_NODE(WaterRequests::TEMP_STATUS): case WaterRequests::SW_NODE(WaterRequests::SAVED_STATUS): case WaterRequests::SW_NODE(WaterRequests::REJECTED_STATUS): return true; default: return false; } }
<?php $form = $this->beginWidget('CActiveForm', array('id' => 'water-requests-form', 'enableAjaxValidation' => false, 'action' => CController::createUrl('waterRequests/updateStatus', array('id' => $model->id)))); ?> <div class="row status_buttons"> <?php foreach (SWHelper::nextStatuslistData($model, false) as $k => $v) { if ($model->status === WaterRequests::SW_NODE(WaterRequests::CANCELLED_STATUS)) { echo CHtml::submitButton(Yii::t('waterrequest', 'Restore'), array('id' => 'save-button', 'name' => 'save-button', 'class' => 'restore-button')); } else { echo CHtml::submitButton(Yii::t('waterrequest', ucwords(str_replace('_', ' ', $v))), array('id' => $v . '-button', 'name' => $v . '-button')); } } ?> </div> <?php $this->endWidget();
/** * Displays statistics about waterrequests. */ public function actionWr() { if (!Yii::app()->user->checkAccess('viewStatistics')) { throw new CHttpException(403, Yii::t('http_status', '403')); } if (isset($_POST['city'])) { $selection = $_POST['city']; } else { $selection = null; } $wrs = WaterRequests::model()->findAll('status!=:temp AND status!=:saved AND username!=:username ORDER BY timestamp', array(':temp' => WaterRequests::SW_NODE(WaterRequests::TEMP_STATUS), ':saved' => WaterRequests::SW_NODE(WaterRequests::SAVED_STATUS), ':username' => 'planner')); //$wrs = WaterRequests::model()->findAll('status!=:temp AND status!=:saved ORDER BY timestamp',array(':temp'=>WaterRequests::SW_NODE(WaterRequests::TEMP_STATUS),':saved'=>WaterRequests::SW_NODE(WaterRequests::SAVED_STATUS))); if ($wrs != null) { $total_wrs = 0; $stat = array(); $city = array(); foreach ($wrs as $wr) { $city_states = $wr->cityStates; if ($city_states) { if (!isset($city[$city_states[0]])) { $city[$city_states[0]] = ucfirst(strtolower($city_states[0])); } if ($selection) { if ($selection !== $city_states[0]) { continue; } } } else { if ($selection) { continue; } } $y = $wr->year; $m = $wr->month; $total_wrs++; $pe = 0; foreach ($wr->geometries() as $geom) { foreach ($geom->zones() as $zone) { $pe += $zone->pe; } } if (isset($stat[$y])) { $stat[$y]['total']++; $stat[$y]['pe'] += $pe; } else { $stat[$y]['total'] = 1; $stat[$y]['pe'] = $pe; } if (isset($stat[$y][$m])) { $stat[$y][$m]['total']++; $stat[$y][$m]['pe'] += $pe; } else { $stat[$y][$m]['total'] = 1; $stat[$y][$m]['pe'] = $pe; } } $this->render('wr', array('total_wrs' => $total_wrs, 'stat' => $stat, 'city' => array_unique($city), 'selection' => $selection)); Yii::app()->end(); } $this->render('wr', array('total_wrs' => null)); }
<div class="row"> <?php echo $form->labelEx($model, 'id'); ?> <?php echo CHtml::encode($model->id); ?> </div> <div class="row"> <?php echo $form->labelEx($model, 'status'); ?> <?php if ($model->status == WaterRequests::SW_NODE(WaterRequests::TEMP_STATUS)) { echo CHtml::encode($model->statusHR); } else { echo $model->statusIcon; } ?> </div> <div class="row"> <?php echo $form->labelEx($model, 'phase'); ?> <?php echo CHtml::encode($model->phaseHR); ?> </div>