Всем доброго времени суток.
Вопрос простой - возможно ли во views создание конструкции типа:
WHERE (
(
)
AND
(
(
(
)
AND
(
)
)
OR
(
)
)
)
Мой вариант не подходит:
____________________________
____________________________
P.S.
Drupal 7.28
Views 7.x-3.8
Комментарии
Есть ноды, которые могут иметь различные статусы:
1. Нода опубликована в библиотеке. (field_published_in_repository)
2. Ноду доступна для пользователей той же компании, что и автор ноды. (field_shared_inside_customer)
3. Нода может находится в стадии транзакции (выставляется модеротором. field_model_in_transition)
Необходимо отображать опубликованные (стандартный друпаловский флаг) ноды не находящиеся в стадии транзакции и они должны быть либо опубликованы в библиотеке, либо они доступны для клиентов/сотрудников той же компании, что и автор, при условии, что залогинившийся пользователь - это клиент/сотрудник той же компании.
За последнее отвечает фильтр Customer authors - он берет компанию залогинившегося пользователя (компания - это термин) далее берет всех пользователей этой компании и добавляет:
node.uid in (1,2,3,4,...). К примеру если мы с вами клиенты/сотрудники одной компании, то при создании вами ноды вы можете выставить галочку field_shared_inside_customer, тогда все клиенты/сотрудники нашей с вами компании могут видеть эту ноду.
Надеюсь, доступно объяснил.
Верно.
Собственно вопрос и заключается в том как сделать такую конструкцию. Я не вижу возможности сделать вложенность группы в группу.
Для этой реализации, полагаю, мне необходимо было бы в группу вложить фильтр и группу. Между ними должен был быть OR, а во вложенной группе должен быть AND.
Буду вам благодарен если вы покажете скрин с такой настройкой (пусть будут рандомные фильтры - главное конструкция).
P.S. Для меня нет проблем написать свой фильтр выполняющий эту вложенность, но хотелось бы повысить свой скилл и образованность, т.к. есть ощущение, что можно это сделать и через UI.
----------
UPD: исправил тавтологию...
Не покажу) Берегу ваш мозг.
Это я все знаю. С программной частью у меня нет проблем. Могу писать любые филды, фильтры и зависимости. В общем using VIews API
Такой фильтр я написал через 15 минут после создания поста)))
Чуть позже опишу решение.
without use views?
Да это пожалуйста:
В моем случае добавляется join:
и доолнительная проверка во where
предварительно выбрав пользователей компании текущего юзверя.
Without use Views API (without programming)
Поясните, где здесь костыль?
На мой взгляд, это как раз таки drupal-way. Использован hook_views_data, в котором создан фильтр со своим handler'ом.
я как раз пытаюсь избавиться от этого модуля, так как именно им затыкались все дыры раньше.