Пример #1
0
 /**
  * Lists all models.
  * Users viewing restrictions apply.
  * @param string $municipality Filter on the WaterRequests
  */
 public function actionIndex($municipality = null)
 {
     if (!Yii::app()->user->checkAccess('listWaterRequest')) {
         throw new CHttpException(403, Yii::t('http_status', '403'));
     }
     //Yii::log(print_r($_GET, true), CLogger::LEVEL_INFO, 'INDEX');
     $this->layout = '//layouts/column1';
     $criteria = new CDbCriteria();
     if (Yii::app()->user->isWRUT) {
         $criteria = new CDbCriteria(array('order' => 'status ASC'));
     }
     if (Yii::app()->user->isWRU) {
         /* In the first period, a WRU can view all Water Requests, in all statuses*/
         /* uncomment these line to filter the view */
         //$criteria->compare('status','<>'.WaterRequests::SW_NODE(WaterRequests::SAVED_STATUS),false,'OR');
         //$criteria->compare('status','<>'.WaterRequests::SW_NODE(WaterRequests::CANCELLED_STATUS),false,'OR');
         if ($municipality) {
             $oneshot = 0;
             $autoctoni = Users::model()->findAllByAttributes(array('municipality' => $municipality));
             if (!count($autoctoni)) {
                 $criteria->compare('id', -99, false, 'AND');
             }
             foreach ($autoctoni as $user) {
                 $criteria->compare('username', $user->username, false, !$oneshot++ ? 'AND' : 'OR');
             }
             //Yii::log(print_r($criteria, true), CLogger::LEVEL_INFO, 'criteria INDEX');
         }
     } else {
         $criteria->compare('username', Yii::app()->user->id, false, 'AND');
         // Showing all WaterRequests created by other users with user's same municipality too
         if ($municipality) {
             //Yii::log($municipality, CLogger::LEVEL_INFO, 'INDEX con municipality');
             $users_like_me = Users::model()->findAllByAttributes(array('municipality' => Yii::app()->user->municipality));
             foreach ($users_like_me as $user) {
                 if ($user->username != Yii::app()->user->id) {
                     $criteria->compare('username', $user->username, false, 'OR');
                 }
             }
         }
     }
     // show only statuses the user can see
     $criteria->addInCondition('replace(status, \'' . WaterRequests::WORKFLOW . '/' . '\',\'\')', Yii::app()->user->whatCanSee());
     // show only desired status
     if (isset($_GET['status']) && in_array($_GET['status'], WaterRequests::allStatuses())) {
         $criteria->compare('status', WaterRequests::WORKFLOW . '/' . $_GET['status'], false, 'AND');
     }
     //Yii::log(print_r($criteria, true), CLogger::LEVEL_INFO, 'INDEX con municipality - criteria');
     $dataProvider = new CActiveDataProvider(WaterRequests::model()->no_tmp(), array('criteria' => $criteria, 'sort' => array('defaultOrder' => 'timestamp DESC'), 'pagination' => array('pageSize' => 9)));
     $this->render('index', array('dataProvider' => $dataProvider, 'municipality' => $municipality, 'gridview' => isset($_GET['gridview']) ? $_GET['gridview'] == 'true' : false, 'status' => isset($_GET['status']) ? $_GET['status'] : 'all'));
 }
Пример #2
0
<h1><?php 
echo Yii::t('waterrequest', 'Water Requests');
?>
</h1>
<?php 
if (Yii::app()->user->isPlanner) {
    echo CHtml::openTag('p');
    echo CHtml::link(Yii::t('waterrequest', 'Create New Water Request'), CController::createUrl('waterRequests/create'));
    echo CHtml::closeTag('p');
}
echo CHtml::openTag('div', array('id' => 'wr_list'));
// Status Filter line
echo CHtml::openTag('div');
echo Yii::t('waterrequest', 'View status: ');
echo CHtml::link(Yii::t('waterrequest', 'All'), 'javascript:void(0);', array('id' => 'all_wr', 'class' => $status == 'all' ? 'wr_filter_selected' : '', 'onclick' => '$.fn.yiiListView.update(\'waterRequestsList\', {data:{\'status\':\'all\', \'gridview\':view_wr_list_as_grid}});'));
foreach (WaterRequests::allStatuses() as $value) {
    if (Yii::app()->user->canSee($value)) {
        echo '&nbsp;&#124;&nbsp;';
        echo CHtml::link(ucfirst(Yii::t('waterrequest', $value)), 'javascript:void(0);', array('id' => $value . '_wr', 'class' => $status == $value ? 'wr_filter_selected' : '', 'onclick' => 'javascript: $.fn.yiiListView.update(\'waterRequestsList\', {data:{\'status\':\'' . $value . '\', \'gridview\':view_wr_list_as_grid }});'));
    }
}
?>
	
<span id="search_links"></span>	

<?php 
echo CHtml::closeTag('div');
echo CHtml::openTag('div', array('style' => 'float:right'));
// Choose visualization type List or Grid
echo CHtml::link('&nbsp;', 'javascript:void(0);', array('id' => 'wr_view_list', 'title' => Yii::t('waterrequest', 'List View'), 'class' => $gridview ? 'wr_view' : 'wr_view active', 'onclick' => '$(\'.wr_view\').removeClass(\'active\'); $(\'.water_request\').removeClass(\'square\'); $(this).addClass(\'active\'); setgridview(false);'));
echo '&nbsp;';