public function configureQuery(AdminInterface $admin, ProxyQueryInterface $query, $content = 'list') { if ($admin instanceof ContactAdmin) { $query->andWhere($query->expr()->eq('o.organization', ':org_id'))->andWhere(':school_id MEMBER OF o.schools')->setParameter(':org_id', $this->session->get($this->orgSessionKey))->setParameter(':school_id', $this->session->get($this->schoolSessionKey)); } else { $query->innerJoin('o.contact', 'c', 'WITH', 'c.organization = :org_id AND :school_id MEMBER OF c.schools')->setParameter(':org_id', $this->session->get($this->orgSessionKey))->setParameter(':school_id', $this->session->get($this->schoolSessionKey)); } }
/** * @param ProxyQueryInterface|QueryBuilder $queryBuilder * @param mixed $parameter */ protected function applyWhere(ProxyQueryInterface $queryBuilder, $parameter) { if ($this->getCondition() == self::CONDITION_OR) { $queryBuilder->orWhere($parameter); } else { $queryBuilder->andWhere($parameter); } // filter is active since it's added to the queryBuilder $this->active = true; }
public function preBatchAction($actionName, ProxyQueryInterface $query, array &$idx, $allElements) { if ($actionName == 'delete') { $query->andWhere($query->expr()->in('o.id', '?1'))->setParameter(1, $idx); $serviceGroups = $query->execute(); foreach ($serviceGroups as $serviceGroup) { $this->preRemove($serviceGroup); } } }
public function configureQuery(AdminInterface $admin, ProxyQueryInterface $query, $content = 'list') { $query->andWhere($query->expr()->eq('o.organization', ':org_id'))->setParameter(':org_id', $this->session->get($this->sessionKey)); }
public function batchActionDelete(ProxyQueryInterface $query) { // status = Vérouillé cannot be deleted $query->andWhere('o.status = 2 OR o.status IS NULL'); return parent::batchActionDelete($query); }