thiagovidal, on 04 February 2013 - 06:07 PM, said:
Cara, provavelmente no seu grid o dataprovider deve estar $model->search(). Você precisa criar outra função de search no model com outro nome e chamar no gridview/listview $model->searchFaturasVencidas() e nesta função definir os parametros da busca com $criteria->compare...
outra coisa importante... esse view do admin será o mesmo para os 2 modelos?
Faz o seguinte pra eu poder ajudar melhor manda o código do view, do controller e do model.
Olá thiagovidal, obrigado pela ajuda.
Sim, no grid o dataProvider está $model->search().
Estou enviando abaixo os códigos que você pediu.
View (estou usando o bootstrap):
<?php
$this->widget('bootstrap.widgets.TbGridView', array(
'type'=>'striped bordered condensed',
'dataProvider'=>$model->search(),
'filter'=>$model,
'template'=>"{items}",
'columns'=>array(
array('name'=>'id_fatura', 'header'=>'ID'),
array('name'=>'descricao', 'header'=>'Descrição'),
array('name'=>'valor', 'header'=>'Valor'),
array('name'=>'vencimento', 'header'=>'Vencimento'),
array('name'=>'status', 'header'=>'Status'),
array(
'class'=>'bootstrap.widgets.TbButtonColumn',
'htmlOptions'=>array('style'=>'width: 50px'),
),
),
));
?>
Controller:
public function actionAdmin()
{
$model=new Fatura('search');
$model->unsetAttributes(); // clear any default values
if(isset($_GET['Fatura']))
$model->attributes=$_GET['Fatura'];
$this->render('admin',array(
'model'=>$model,
));
}
Model:
public function search()
{
// Warning: Please modify the following code to remove attributes that
// should not be searched.
$criteria=new CDbCriteria;
$criteria->compare('id_fatura',$this->id_fatura);
$criteria->compare('fk_cliente',$this->fk_cliente);
$criteria->compare('fk_servico_contratado',$this->fk_servico_contratado);
$criteria->compare('valor',$this->valor,true);
$criteria->compare('descricao',$this->descricao,true);
$criteria->compare('vencimento',$this->vencimento,true);
$criteria->compare('status',$this->status,true);
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
));
}
Mais uma vez, obrigado pela atenção.
Abraços!!!