public function get_qb($field = null, $direction = 'ASC') { $qb = org_openpsa_invoices_invoice_dba::new_collector('metadata.deleted', false); if (!is_null($field)) { $qb->add_order($field, $direction); } $this->_add_filters($qb); switch ($this->_list_type) { case 'paid': $qb->add_constraint('paid', '>', 0); break; case 'unsent': $qb->add_constraint('sent', '=', 0); break; case 'overdue': $qb->add_constraint('sent', '>', 0); $qb->add_constraint('paid', '=', 0); $qb->add_constraint('due', '<=', mktime(0, 0, 0, date('n'), date('j') - 1, date('Y'))); break; case 'open': $qb->add_constraint('sent', '>', 0); $qb->add_constraint('paid', '=', 0); $qb->add_constraint('due', '>', mktime(0, 0, 0, date('n'), date('j') - 1, date('Y'))); break; } $qb->add_order('number'); return $qb; }