php - Yii - How to Hide/View Button in CGridview Based on User's Level? -


i tried view or show button (cbuttoncolumn) in cgridview, in /views/file/admin.php:

.... //getlevel()==1 means admin, getlevel==2 means common users array(         'class'=>'bootstrap.widgets.tbbuttoncolumn',             'template'=>'{view}{update}{delete}', 'visible'=> (yii::app()->user->getlevel()==1),             'deleteconfirmation'=>"js: 'are want delete '+$(this).parent().parent().children(':first-child').text()+ '?'",    //i tried modify code below, there's nothing happens, 'view' button not   //display when access common user (getlevel()==2)                 'buttons'=>array(                 'view' => array(                     'visible'=> yii::app()->user->getlevel()==2,                 ),              )     ), .... 

webuser.php

<?php class webuser extends cwebuser{  protected $_model;  protected function loaduser() {     if ( $this->_model === null ) {             $this->_model = user::model()->findbypk($this->id);     }     return $this->_model; }  function getlevel() {     $user=$this->loaduser();     if($user)         return $user->id_level;     return 100; } } ?> 

i tried code, there 'view' button not display, , there's no error when load page. can me solve problem? lot.

you setting column visibility admin users on line

'template'=>'{view}{update}{delete}', 'visible'=> (yii::app()->user->getlevel()==1), 

so

    'view' => array(         'visible'=> yii::app()->user->getlevel()==2,     ), 

has no effect. remove first setting visible. @soju , @rafay said visible should php expression therefore should read

    'view' => array(         'visible'=> 'yii::app()->user->getlevel()==2',     ), 

Comments

Popular posts from this blog

user interface - How to replace the Python logo in a Tkinter-based Python GUI app? -

objective c - Greedy NSProgressIndicator Allocation -

how to set an OCR language in Google Drive -