[solucionado] Problemas con condiciones en select dependiente

Buenas tardes, estoy intentando poner una condición a un select dependiente y no trabaja, solo trabaja en el primero, en el dependiente no trabaja, muestro aqui los códigos:
en el controlador:

public function actionActualizarFirmantes() {
        $model = Clientes::model()->findByPk($_POST['idCodigo']);
//llenar firmantes
        $data = CHtml::listData($model->firmantes, 'Id', 'Nombre');
        $firmantes = "";
        foreach ($data as $value => $name) {
            $firmantes .= CHtml::tag('option', array('value' => $value), CHtml::encode($name), true);
        }

// return data (JSON formatted)
        echo CJSON::encode(array(
            'firmantes' => $firmantes,
        ));
    }

en la vista primer select, este trabaja la condicion:

  <?php
                        $this->widget('ext.select2.ESelect2', array(
                            'model' => $model,
                            'attribute' => 'CodCliente',
                            'data' => CHtml::listData(Clientes::model()->findAll(array('order' => 'Descripcion ASC', 'condition' => 'IdEstado = 1')), 'CodCliente', 'Descripcion'),
                            'htmlOptions' => array(
                                'style' => 'width: 360px',
                                // 'id' => 'CodCliente',
                                'placeholder' => 'Seleccione el cliente',
                                'ajax' =>
                               array(
                                    'type' => 'POST',
                                    'url' => CController::createUrl('/facturacion/facturas/actualizarFirmantes'),
                                    'dataType' => 'json',
                                    'data' => array('idCodigo' => 'js:this.value'),
                                    'success' => 'function(data) {
                                       $("#Facturas_Idrec").html(data.firmantes); 
                                     
                                   }'
                                )
                            )
                                )
                        );
                        ?>

el dependiente aqui la condicion no trabaja, o sea me muestra todos los que traiga la accion del controlador

  <?php
                        $this->widget('ext.select2.ESelect2', array(//'bootstrap.widgets.TbSelect2'//'ext.YiiBooster.TbSelect2'
                            'model' => $model,
                            'attribute' => 'Idrec',
                            // 'asDropDownList' => true,
                            'data' => CHtml::listData(Firmantes::model()->findAll(array('condition' => 'IdEstado = 1', 'order' => 'Nombre')), 'Id', 'Nombre'),
                            'options' => array('placeholder' => 'Seleccione persona ... ',
                                'width' => '88%',
                                'allowClear' => true,),
                                )
                        )
                        ?>

Ojala y puedan ayudarme lo necesito para ayer como se dice en la vida real, gracias por adelantado.
Aclaro creo que si le pongo la condicion a la accion del controlador se resolveria pero no se como.

una aclaracion creo que valida, la forma que obtengo los datos es a travez de las relaciones entre las tablas afectadas, o sea, firmantes es una relacion:

```
$data = CHtml::listData($model->firmantes, 'Id', 'Nombre');

aqui las relaciones del modelo clientes:

return array( 'firmantes' => array(self::HAS_MANY, 'Firmantes', 'CodCliente'), 'provincias' => array(self::HAS_MANY, 'TblProvincias', 'CodProv'), 'municipios' => array(self::HAS_MANY, 'TblMunicipios', 'CodMun'), 'facturas' => array(self::HAS_MANY, 'Facturas', 'CodCliente'), 'pagoant' => array(self::HAS_MANY, 'Pagoant', 'CodCliente'), 'organismos' => array(self::HAS_MANY, 'Organismos', 'CodOrg'), 'estado' => array(self::BELONGS_TO, 'TblEstadoCliente', 'IdEstado'), ); y las del model donde trabajo:

 return array(
            'detallescheqs' => array(self::HAS_MANY, 'Detallescheq', 'nfactura'),
            'detalleFacturas' => array(self::HAS_MANY, 'Detallesfacturas', 'nfactura'),
            'estado' => array(self::BELONGS_TO, 'TblEstado', 'IdEstado'),
            'codprovedor' => array(self::BELONGS_TO, 'TblAlmacenes', 'Codprovedor'),
            'nfacturador' => array(self::BELONGS_TO, 'TblFacturador', 'Idfac'),
            'codCliente' => array(self::BELONGS_TO, 'Clientes', 'CodCliente'),
            'firmantes' => array(self::BELONGS_TO, 'Firmantes', 'Idrec'),
        );

Necesito esto, gracias

Saludos me respondo yo mismo, como obtengo los datos a traves de la relacion entre la tabla cliente y firmantes entonces en la tabla cliente modifique la relacion, poniendo la condicion asi:

  'firmantes' => array(self::HAS_MANY, 'Firmantes', 'CodCliente', 'condition'=>'Firmantes.IdEstado =1'),

aqui le puse la condicion y me hala solo los que tienen estado 1