Custom BoolFilters -> Error 500

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Marcel
    Member
    • Jul 2025
    • 33

    #1

    Custom BoolFilters -> Error 500

    Hi all,

    I try to create a custom BoolFilter for a column but I only get a 500 Error from the page. Nothing is in the log.


    .../custom/Espo/Custom/Select/CCustomer/BoolFilters/CustomerTrue.php

    PHP Code:
    <?php
    namespace Espo\Custom\Select\CCustomer\BoolFilters;

    use 
    Espo\Core\Select\Bool\Filter;
    use 
    Espo\ORM\Query\SelectBuilder;
    use 
    Espo\ORM\Query\Part\Condition as Cond;

    class 
    CustomerTrue implements Filter
    {
        public function 
    apply(SelectBuilder $queryBuilder): void
        
    {
            
    // $queryBuilder->where(
            //     Cond::equals(Cond::column('gDPR'), 1) --> Tried with true/false and 1/0
            // );
            // $queryBuilder->where('customer', 1);
            
    $queryBuilder->where(['gDPR' => true]);
        }
    }


    .../custom/Espo/Custom/Resources/metadata/clientDefs/CCustomer.json

    PHP Code:
        "boolFilterList": [
            
    "onlyMy",
            
    "customerTrue"
        
    ],
        
    "defaultFilterData": {
            
    "bool": {
                
    "customerTrue"true
            
    }
        }
    ​ 

    .../custom/Espo/Custom/Resources/metadata/selectDefs/CCustomer.json

    PHP Code:
    {
      
    "boolFilterClassNameMap": {
        
    "customerTrue""Espo\\Custom\\Select\\CCustomer\\BoolFilters\\CustomerTrue"
      
    }
    }
    ​ 
    What did I wrong? Can somebody help me, please?
  • item
    Active Community Member
    • Mar 2017
    • 1547

    #2
    Hi,
    change to : public function apply(SelectBuilder $queryBuilder, OrGroupBuilder $orGroupBuilder): void.
    If you could give the project a star on GitHub. EspoCrm believe our work truly deserves more recognition. Thanks.​

    Comment

    • Marcel
      Member
      • Jul 2025
      • 33

      #3
      Originally posted by item
      Hi,
      change to : public function apply(SelectBuilder $queryBuilder, OrGroupBuilder $orGroupBuilder): void.
      Thank you very much! It is working now.

      Comment

      Working...