I hope i can make this clear. I have this model with a defaultScope()
	public function defaultScope()
	{
		return array(
			'condition'=>'project_id='.Yii::App()->user->projectId 
			.' and tenant_id='.Yii::App()->user->tenantId
		);
	}
But in one circumstance, when i render site/index i need to bypass the projectId condition and fetch all records regardless of projectId. So i modified it as follows:
           if ($this->id =='site')
            {
 		return array(
			'condition'=>'tenant_id='.Yii::App()->user->tenantId
		);
            }
            else
            {
               'condition'=>'project_id='.Yii::App()->user->projectId 
			.' and tenant_id='.Yii::App()->user->tenantId
		);  
            }    
The site controller fetches the records:
	public function actionIndex()
	{
            $projectModel = Project::model()->findAll();
            $deliverableModel = Deliverable::model()->findAll();
           
            $this->render('index',array(
			'projectModel'=>$projectModel,
                        'deliverableModel'=>$deliverableModel,
		));
	}     
it calls the deliverable controller which calls the defaultScope and makes my deliverable.defaultScope if statement return what i am not expecting. So this means i am not specifying the right controller in the defaultScope if statement.
Is there a way i can specify (pseudocode)
When deliverable model is rendered, If call comes from site controller, then do this, else do that.
Any help would be quite appreciated.