diff --git a/application/controllers/admin/expressions.php b/application/controllers/admin/expressions.php index 72cbfda72af..3ce6204e847 100644 --- a/application/controllers/admin/expressions.php +++ b/application/controllers/admin/expressions.php @@ -42,26 +42,27 @@ function index() $this->_printOnLoad(Yii::app()->request->getQuery('sa', 'index')); $aData['pagetitle']="ExpressionManager: {$aData['sa']}"; - $aData['sidebar']['state'] = "close"; - $surveyinfo = Survey::model()->findByPk($iSurveyID)->surveyinfo; - $aData['title_bar']['title'] = $surveyinfo['surveyls_title']."(".gT("ID").":".$iSurveyID.")"; - if(Yii::app()->request->getQuery('gid')!='') - { - $aData['questiongroupbar']['closebutton']['url'] = 'admin/questiongroups/sa/view/surveyid/'.$aData['surveyid'].'/gid/'.sanitize_int(Yii::app()->request->getQuery('gid')); - } - else - { - $aData['surveybar']['closebutton']['url'] = 'admin/survey/sa/view/surveyid/'.$aData['surveyid']; - } - - if(Yii::app()->request->getQuery('qid')!='') - { - - $aData['questiongroupbar']['closebutton']['url'] = 'admin/questions/sa/view/surveyid/'.$aData['surveyid'].'/gid/'.sanitize_int(Yii::app()->request->getQuery('gid')).'/qid/'.sanitize_int(Yii::app()->request->getQuery('qid')); - } - - $aData['gid'] = sanitize_int(Yii::app()->request->getQuery('gid')); + if(isset($iSurveyID)) + { + $aData['sidebar']['state'] = "close"; + $surveyinfo = Survey::model()->findByPk($iSurveyID)->surveyinfo; + $aData['title_bar']['title'] = $surveyinfo['surveyls_title']."(".gT("ID").":".$iSurveyID.")"; + if(Yii::app()->request->getQuery('gid')!='') + { + $aData['questiongroupbar']['closebutton']['url'] = 'admin/questiongroups/sa/view/surveyid/'.$aData['surveyid'].'/gid/'.sanitize_int(Yii::app()->request->getQuery('gid')); + } + else + { + $aData['surveybar']['closebutton']['url'] = 'admin/survey/sa/view/surveyid/'.$aData['surveyid']; + } + if(Yii::app()->request->getQuery('qid')!='') + { + $aData['questiongroupbar']['closebutton']['url'] = 'admin/questions/sa/view/surveyid/'.$aData['surveyid'].'/gid/'.sanitize_int(Yii::app()->request->getQuery('gid')).'/qid/'.sanitize_int(Yii::app()->request->getQuery('qid')); + $aData['gid'] = sanitize_int(Yii::app()->request->getQuery('gid')); + } + } + //header("Content-type: text/html; charset=UTF-8"); // needed for correct UTF-8 encoding if(isset($_GET['sa'])) diff --git a/application/controllers/admin/surveyadmin.php b/application/controllers/admin/surveyadmin.php index f5c0285d710..2c29be6101a 100644 --- a/application/controllers/admin/surveyadmin.php +++ b/application/controllers/admin/surveyadmin.php @@ -75,86 +75,28 @@ public function listsurveys() $aData['issuperadmin'] = true; } - $sort = new CSort(); - $sort->attributes = array( - 'Survey id'=>array( - 'asc'=>'sid', - 'desc'=>'sid desc', - ), - 'Title'=>array( - 'asc'=>'surveys_languagesettings.surveyls_title', - 'desc'=>'surveys_languagesettings.surveyls_title desc', - ), - - 'Creation date'=>array( - 'asc'=>'datecreated', - 'desc'=>'datecreated desc', - ), - - 'Owner'=>array( - 'asc'=>'users.users_name', - 'desc'=>'users.users_name desc', - ), - - 'Anonymized responses'=>array( - 'asc'=>'anonymized', - 'desc'=>'anonymized desc', - ), - - 'Active'=>array( - 'asc'=>'active', - 'desc'=>'active desc', - ), - - 'Partial'=>array( - 'asc'=>'countPartialAnswers', - 'desc'=>'CountPartialAnswers desc', - ), - ); - - $criteria = new CDbCriteria; - //$criteria->addCondition("active = 'Y'"); - $criteria->join ='LEFT JOIN {{surveys_languagesettings}} AS surveys_languagesettings ON ( surveys_languagesettings.surveyls_language = t.language AND t.sid = surveys_languagesettings.surveyls_survey_id )'; - $criteria->join .='LEFT JOIN {{users}} AS users ON ( users.uid = t.owner_id )'; - - $dataProvider=new CActiveDataProvider('Survey', array( - - 'sort'=>$sort, - 'criteria'=>$criteria, - - 'pagination'=>array( - 'pageSize'=>10, - ), - )); - - $aData['surveysDatas'] = $dataProvider; - - $aData['model'] = Survey::model(); - - $ucriteria = new CDbCriteria; - $ucriteria->select = array( - '*', - ); - $ucriteria->addCondition("active = 'N'"); - $ucriteria->join ='LEFT JOIN {{surveys_languagesettings}} AS surveys_languagesettings ON ( surveys_languagesettings.surveyls_language = t.language AND t.sid = surveys_languagesettings.surveyls_survey_id )'; - $ucriteria->join .='LEFT JOIN {{users}} AS users ON ( users.uid = t.owner_id )'; + $aData['model'] = $model = new Survey('search'); - - $udataProvider=new CActiveDataProvider('Survey', array( - - 'sort'=>$sort, - 'criteria'=>$ucriteria, - - 'pagination'=>array( - 'pageSize'=>10, - ), - )); + // Search + if (isset($_GET['Survey']['searched_value'])) + { + $model->searched_value = $_GET['Survey']['searched_value']; + } + + // Filter state + if (isset($_GET['active'])) + { + $model->active = $_GET['active']; + } + + // Set number of page + if (isset($_GET['pageSize'])) + { + Yii::app()->user->setState('pageSize',(int)$_GET['pageSize']); + } + - $aData['usurveysDatas'] = $udataProvider; - $this->_renderWrappedTemplate('survey', 'listSurveys_view', $aData); - - } } diff --git a/application/models/Survey.php b/application/models/Survey.php index baa39abe886..6bbf0f9334b 100644 --- a/application/models/Survey.php +++ b/application/models/Survey.php @@ -27,8 +27,9 @@ class Survey extends LSActiveRecord protected $findByPkCache = array(); /* Set some setting not by default database */ public $format = 'G'; - public $full_answers_account; - public $partial_answers_account; + public $full_answers_account=null; + public $partial_answers_account=null; + public $searched_value; /** * init to set default @@ -636,75 +637,71 @@ public function getbuttons() return $button; } - public function search() - { - $criteria=new CDbCriteria; - - - - - - // select - $criteria->select = array( - '*', - $this->getCountFullAnswers() . " as full_answers_account", - $this->getCountPartialAnswers() . " as partial_answers_account", - ); - - - $criteria->join = 'LEFT JOIN {{surveys_languagesettings}} AS surveys_languagesettings ON ( surveys_languagesettings.surveyls_language = t.language AND t.sid = surveys_languagesettings.surveyls_survey_id )'; - $criteria->join .= 'LEFT JOIN {{users}} AS users ON ( users.uid = t.owner_id )'; - - - // where - //$criteria->compare($this->getCountTotalAnswers, $this->full_answers_account); - - - $sort = new CSort(); - $sort->attributes = array( - 'Survey id'=>array( - 'asc'=>'sid', - 'desc'=>'sid desc', - ), - 'Title'=>array( - 'asc'=>'surveys_languagesettings.surveyls_title', - 'desc'=>'surveys_languagesettings.surveyls_title desc', - ), - - 'Creation date'=>array( - 'asc'=>'datecreated', - 'desc'=>'datecreated desc', - ), - - 'Owner'=>array( - 'asc'=>'users.users_name', - 'desc'=>'users.users_name desc', - ), - - 'Anonymized responses'=>array( - 'asc'=>'anonymized', - 'desc'=>'anonymized desc', - ), - - 'Full Answers'=>array( - 'asc'=>'full_answers_account', - 'desc'=>'full_answers_account desc', - ), - ); - - - return new CActiveDataProvider(get_class($this), array( - 'criteria' => $criteria, - 'sort'=>$sort, - - 'pagination'=>array( - 'pageSize'=>15, - ), - - 'pagination' => array( - 'pageSize' => 20, - ), - )); - } - + public function search() + { + $pageSize=Yii::app()->user->getState('pageSize',Yii::app()->params['defaultPageSize']); + + $sort = new CSort(); + $sort->attributes = array( + 'Survey id'=>array( + 'asc'=>'sid', + 'desc'=>'sid desc', + ), + 'Title'=>array( + 'asc'=>'surveys_languagesettings.surveyls_title', + 'desc'=>'surveys_languagesettings.surveyls_title desc', + ), + + 'Creation date'=>array( + 'asc'=>'datecreated', + 'desc'=>'datecreated desc', + ), + + 'Owner'=>array( + 'asc'=>'users.users_name', + 'desc'=>'users.users_name desc', + ), + + 'Anonymized responses'=>array( + 'asc'=>'anonymized', + 'desc'=>'anonymized desc', + ), + + 'Active'=>array( + 'asc'=>'active', + 'desc'=>'active desc', + ), + + ); + + $criteria = new CDbCriteria; + + // select + $criteria->select = array( + '*', + $this->getCountFullAnswers() . " as full_answers_account", + $this->getCountPartialAnswers() . " as partial_answers_account", + ); + + + $criteria->join ='LEFT JOIN {{surveys_languagesettings}} AS surveys_languagesettings ON ( surveys_languagesettings.surveyls_language = t.language AND t.sid = surveys_languagesettings.surveyls_survey_id )'; + $criteria->join .='LEFT JOIN {{users}} AS users ON ( users.uid = t.owner_id )'; + $criteria->compare('active', $this->active, true, 'AND'); + $criteria->compare('surveys_languagesettings.surveyls_title', $this->searched_value, true, 'AND'); + $criteria->compare('sid', $this->searched_value, true, 'OR'); + $criteria->compare('admin', $this->searched_value, true, 'OR'); + + + $dataProvider=new CActiveDataProvider('Survey', array( + + 'sort'=>$sort, + 'criteria'=>$criteria, + + 'pagination'=>array( + 'pageSize'=>$pageSize, + ), + )); + + return $dataProvider; + } } diff --git a/application/views/admin/responses/browsemenubar_view.php b/application/views/admin/responses/browsemenubar_view.php index fbf6342b2ba..6955823af9d 100644 --- a/application/views/admin/responses/browsemenubar_view.php +++ b/application/views/admin/responses/browsemenubar_view.php @@ -73,15 +73,12 @@ hasSurveyPermission($surveyid, 'statistics', 'read')): ?> - - - diff --git a/application/views/admin/super/listquestiongroups.php b/application/views/admin/super/listquestiongroups.php index 5b1323cbfa9..02c4cc0f4ab 100644 --- a/application/views/admin/super/listquestiongroups.php +++ b/application/views/admin/super/listquestiongroups.php @@ -7,7 +7,6 @@ * @var $surveyid int */ ?> - user->getState('pageSize',Yii::app()->params['defaultPageSize']);?>

diff --git a/application/views/admin/super/listquestions.php b/application/views/admin/super/listquestions.php index 9de1748c9bb..7b4964aa549 100644 --- a/application/views/admin/super/listquestions.php +++ b/application/views/admin/super/listquestions.php @@ -27,7 +27,7 @@
- label($model, 'filter: ', array('class'=>'col-sm-2 control-label text-right col-sm-offset-6')); ?> + label($model, 'search: ', array('class'=>'col-sm-2 control-label text-right col-sm-offset-6')); ?>
textField($model, 'title', array('class'=>'form-control')); ?>
@@ -38,7 +38,7 @@ label($model, 'Group:', array('class'=>'col-sm-2 control-label text-right col-sm-offset-6')); ?>
+ + + + +
+
+
+ + + endWidget(); ?> +
+ + + +
widget('bootstrap.widgets.TbGridView', array( - 'dataProvider' => $surveysDatas, + 'dataProvider' => $model->search(), + + // Number of row per page selection + 'id' => 'survey-grid', + 'summaryText'=>gT('Displaying {start}-{end} of {count} result(s).') . + CHtml::dropDownList( + 'pageSize', + $pageSize, + Yii::app()->params['pageSizeOptions'], + array('class'=>'changePageSize form-control', 'style'=>'display: inline; width: auto')) . + gT(' rows per page'), 'columns' => array( array( @@ -44,8 +107,6 @@ 'htmlOptions' => array('class' => 'col-md-1'), ), - -/* array( 'name' => 'Partial', 'value'=>'$data->countPartialAnswers', @@ -63,7 +124,7 @@ 'value'=>'$data->countTotalAnswers', 'htmlOptions' => array('class' => 'col-md-1'), ), -*/ + array( 'name' => '', 'value'=>'$data->buttons', @@ -73,13 +134,20 @@ ), - 'htmlOptions'=>array('style'=>'cursor: pointer;', 'class'=>'hoverAction'), - 'selectionChanged'=>"function(id){window.location='" . Yii::app()->urlManager->createUrl('admin/survey/sa/view/surveyid' ) . '/' . "' + $.fn.yiiGridView.getSelection(id.split(',', 1));}", - 'ajaxUpdate' => true, - - + 'htmlOptions'=>array('style'=>'cursor: pointer;', 'class'=>'hoverAction'), + 'selectionChanged'=>"function(id){window.location='" . Yii::app()->urlManager->createUrl('admin/survey/sa/view/surveyid' ) . '/' . "' + $.fn.yiiGridView.getSelection(id.split(',', 1));}", + 'ajaxUpdate' => true, )); ?>
- \ No newline at end of file + + + + \ No newline at end of file