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);
 }