Ok let me explain in more detail.
You are using this format to call your callback function,
$crud->add_action('Photos', '', '','ui-icon-image',array($this,'just_a_test'));
right?
When you call this function add_action (no matter what the callback does) it will display an icon, because of the 'ui-icon-image' css definition.
If we assume that this needs to be displayed only when
$this->bitauth->has_role('OLA-AO') == true
I would change your code like this
within your controller
if ($this->bitauth->has_role('OLA-AO')) // your add_action;
and then at your callback I would just have : return site_url('closecases').'/'.$row->caseno.'/add';
It's just a matter of logic and point of view.
What I said before is NOT on a per row basis. If you needed on a per row basis then this code needs to be changed.