{% block filters %}
    public function filtersAction()
    {
        if ($this->getRequest()->get('reset')) {
            $this->setFilters(array());
            // Remove scopes and re-apply default ones
            $this->setScopes(null);

            return new RedirectResponse($this->getListUrl());
        }

        if ($this->getRequest()->getMethod() == "POST") {
            $form = $this->getFilterForm();
            $form->bind($this->getRequest());

            if ($form->isValid()) {
                $filters = $form->getViewData();
            }
        }

        if ($this->getRequest()->getMethod() == "GET") {
            $filters = $this->getRequest()->query->all();

            {% for filter,column in builder.filterColumns %}
                {% if column.filtersGroups %}
                    if (isset($filters['{{ column.name }}']) && !$this->checkGroups({{ column.filtersGroups|as_php }})) {
                        unset($filters['{{ column.name }}']);
                    }
                {% endif %}
            {% endfor %}
        }

        if (isset($filters)) {
            // Set no active scope
            $this->setScopes(array());
            $this->setFilters($filters);
        }

        return new RedirectResponse($this->getListUrl());
    }

    {% block setFilters -%}
    protected function setFilters(array $filters)
    {
        $this->get('session')->set($this->getSessionPrefix().'List\Filters', $filters);
    }
    {% endblock %}

    {% block getFilters -%}
    protected function getFilters()
    {
        return $this->get('session')->get($this->getSessionPrefix().'List\Filters', array());
    }
    {% endblock %}
{% endblock %}

{% block filters %}
    public function filtersAction()
    {
        if ($this->getRequest()->get('reset')) {
            $this->setFilters(array());
            // Remove scopes and re-apply default ones
            $this->setScopes(null);

            return new RedirectResponse($this->getListUrl());
        }

        if ($this->getRequest()->getMethod() == "POST") {
            $form = $this->getFilterForm();
            $form->handleRequest($this->getRequest());

            if ($form->isValid()) {
                $filters = $form->getViewData();
            }
        }

        if ($this->getRequest()->getMethod() == "GET") {
            $filters = $this->getRequest()->query->all();

            {% for filter,column in builder.filterColumns %}
                {% if column.filtersGroups %}
                    if (isset($filters['{{ column.name }}']) && !$this->checkGroups({{ column.filtersGroups|as_php }})) {
                        unset($filters['{{ column.name }}']);
                    }
                {% endif %}
            {% endfor %}
        }

        if (isset($filters)) {
            // Set no active scope
            $this->setScopes(array());
            $this->setFilters($filters);
        }

        return new RedirectResponse($this->getListUrl());
    }

    {% block setFilters -%}
    protected function setFilters(array $filters)
    {
        $this->get('session')->set($this->getSessionPrefix().'List\Filters', $filters);
    }
    {% endblock %}

    {% block getFilters -%}
    protected function getFilters()
    {
        return $this->get('session')->get($this->getSessionPrefix().'List\Filters', array());
    }
    {% endblock %}
{% endblock %}

Move `bind` calls to `handleRequest` ones
Move `bind` calls to `handleRequest` ones
