Пример #1
0
 /**
  * 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));
 }
Пример #2
0
    ?>
			<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')));
}
?>
Пример #3
0
 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;
     }
 }
Пример #4
0
<?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();
Пример #5
0
 /**
  * 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));
 }
Пример #6
0
	
	<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>