public function findAllByCurrentFirm($leaflet_values)
{
$firm = Firm::model()->findByPk(Yii::app()->session['selected_firm_id']);
$subspecialty_id = $firm->serviceSubspecialtyAssignment ? $firm->serviceSubspecialtyAssignment->subspecialty_id : null;
$criteria1 = new CDbCriteria();
if ($firm->serviceSubspecialtyAssignment) {
$criteria1->addCondition('subspecialty_id=:subspecialty_id');
$criteria1->params[':subspecialty_id'] = $subspecialty_id;
$criteria1->order = 'name asc';
$return1 = self::model()->with('subspecialties')->activeOrPk($leaflet_values)->findAll($criteria1);
}
$criteria2 = new CDbCriteria();
$criteria2->addCondition('firm_id=:firm_id');
$criteria2->params[':firm_id'] = $firm->id;
$criteria2->order = 'name asc';
$return2 = self::model()->with('firms')->activeOrPk($leaflet_values)->findAll($criteria2);
if (is_array($return1)) {
return array_merge($return1, $return2);
} else {
return $return2;
}
}