public function countStatus(PledgeItem $pledge_item, $status, $target_list = null) { $query = $this->createQuery('p')->where('p.status = ?', $status)->andWhere('pledge_item_id = ?', $pledge_item->getId()); if ($target_list) { /* @var $target_list MailingList */ $query->leftJoin('p.Contact c')->andWhere('c.mailing_list_id = ?', $target_list->getId()); } return $query->count(); }
public function findOneByItemAndText(PledgeItem $item, PetitionText $text) { return $this->createQuery('pt')->where('pt.pledge_item_id = ?', $item->getId())->andWhere('pt.petition_text_id = ?', $text->getId())->fetchOne(); }
public function getPledgeTextByPledgeItem(PledgeItem $pledge_item) { foreach ($this->getPledgeTexts() as $pledge_text) { /* @var $pledge_text PledgeText */ if ($pledge_text->getPledgeItemId() == $pledge_item->getId()) { $text = trim($pledge_text->getText()); if ($text) { return $text; } else { return $pledge_item->getName(); } } } return $pledge_item->getName(); }