These are chat archives for dru-io/Drupal

18th
Feb 2016
Andriy Khomych
@a-kom
Feb 18 2016 08:35
Всем привет
KarmaBot
@KarmaBot
Feb 18 2016 08:35
@a-kom, привет, как настроение?
Andriy Khomych
@a-kom
Feb 18 2016 08:36
Есть вопрос)
По серч апи.
И иерархии
Alan Bondarchuk
@fortis
Feb 18 2016 13:03
обычно лучше сразу спрашивать)
@a-kom привет!
Kirill Nesmeyanov
@SerafimArts
Feb 18 2016 13:05
This message was deleted
This message was deleted
This message was deleted
KarmaBot
@KarmaBot
Feb 18 2016 13:06
@SerafimArts, и какой ответ ты ожидаешь услышать?
Kirill Nesmeyanov
@SerafimArts
Feb 18 2016 13:06
This message was deleted
Andriy Khomych
@a-kom
Feb 18 2016 13:33
Хм, в общем надо погрупировать поля в фасете по референсу.
Структура такова шас, есть словарь Размеры, в нем есть поле референс на таксономию словаря Группа Размеров.
Задача получить в фасете вывод:
Группа размера1
-Размер 1
-Размер 2
Группа размер2
-Размер 3
-Размер 4
Alan Bondarchuk
@fortis
Feb 18 2016 16:33
а зачем группу размеров в отдельном словаре делать?
@a-kom у термина может быть сколько угодно родителей
если нужно
andreystrelkov
@andreystrelkov
Feb 18 2016 17:32
Товарищи, у кого есть опыт работы в Drupal-е с LDAP?
Max Khabibullin
@KhabibullinMax
Feb 18 2016 18:03
А что конкретно с ldap интересует? Я работал
andreystrelkov
@andreystrelkov
Feb 18 2016 18:10
Интересует (при работе с модулем https://www.drupal.org/project/ldap - 2ой версии), как быть с моментом когда пользователь выходит замуж, у неё меняется имя и соответственно логин, после чего при попытке зайти на сайт, сайт ей ругается - что мол не буду пускать, потому что пользователь с таким же e-mail уже есть в системе
т.е. модуль (или сам друпал) за уникальное считает e-mail, а в Active Directory по уму это должен быть GUID
Alan Bondarchuk
@fortis
Feb 18 2016 18:34
а в Active Directory могут быть с одинаковыми email ?
когда то с 6кой его ставил там вроде было что то из настроек в этом случае, email то в друпале один только может быть, и если на том конце не может быть двух одинаковых то можно разрешать это и вроде это настраивалось
судя по https://www.drupal.org/node/1899336#comment-10118806 жуткий модуль )
как вариант тут патч чтобы логиниться по мылу https://www.drupal.org/node/2017251 мыло то у нее в браке свое осталось))
andreystrelkov
@andreystrelkov
Feb 18 2016 18:39
может быть одинаковым, но проблема скорее не в этом а в том, что там скорее как, человек меняет фамилию, у него учётку в AD просто переименовывают, но если человек входит на сайт с переименованной учёткой, Drupal его считает как новым, и беда даже не в том что он начинает конфликтовать с предыдущей учёткой, а в том что он должен понимать что это тот же самый пользователь под тем же GUID-ом, и ему нужно просто в базе синхронизировать имя, логин и т.п.
т.е. плясать надо от guid
а на текущий момент если даже и ящик сменится, получается для друпала это новый юзер, и прошлый юзер с его нодами, каментами и т.п. это вообще другой юзер
Alan Bondarchuk
@fortis
Feb 18 2016 18:40
так пусть по мылу входит?
andreystrelkov
@andreystrelkov
Feb 18 2016 18:41
судя по https://www.drupal.org/node/1899336#comment-10118806 жуткий модуль )
у меня такой же случай был, это у него какая то настройка не сделана, есть там галочка отвечающая за это
ощущение что всё это не решение - по email, т.к. вроде как по идеология AD это в корне не верно потому что за уникальность отвечает толи guid толи некий sid
Alan Bondarchuk
@fortis
Feb 18 2016 18:43
ну смотри в коде есть
   'ldap_user_puid_property' => 
  array (
    'und' => 
    array (
      0 => 
      array (
        'value' => 'guid',
        'format' => NULL,
        'safe_value' => 'guid',
      ),
    ),
  ),
оно вроде в $user->ldap_user_puid лежит
есть еще $user->ldap_user_puid_sid но эт наверно сессия
ldap_user_puid_property он получается от ldap сервера
модулек закодить небольшой наверно и связать
Alan Bondarchuk
@fortis
Feb 18 2016 18:52
кажется вся логика аутентификации в _ldap_authentication_user_login_authenticate_validate()
или выше уровнем в ldap_sso_user_login_sso()
andreystrelkov
@andreystrelkov
Feb 18 2016 18:58
судя по коду он guid всё таки имеет ввиду?
Alan Bondarchuk
@fortis
Feb 18 2016 19:01
мм не вижу кажется там
list($drupal_account, $drupal_account_is_authmapped) = ldap_authentication_corresponding_drupal_user($authname, $auth_conf, $watchdog_tokens);
по authname а это имя пользователя из формы проверяет есть ли подходящий
потом его проверяет подходят ли к нему credentials
пароль
list($authentication_result, $ldap_user, $ldap_server_authenticated_on) = ldap_authentication_test_credentials($auth_conf, $sso_login, $authname, $form_state['values']['pass'], $watchdog_tokens);
тут видимо и лагает, у ldap же тут нет этого юзера с таким именем
имя другое уже
вот интересный класс и метод http://3xff.net/1902162gc2b.png
вероятно можно отнаследоваться от него и заместить и проверять по своему есть ли юзер в ldap
Alan Bondarchuk
@fortis
Feb 18 2016 19:07
вот тут про то как его заместить кажется https://www.drupal.org/node/1940670
там свой MyModuleLdapServer делают
Andriy Khomych
@a-kom
Feb 18 2016 20:32
@a-kom у термина может быть сколько угодно родителей
Согласен, но группа надо отдельно, словарь другой немного по функционалу.
Насчет родителей сколько угодно то хз, можеш как то подсказать как лучше это сделать?
Я думал создать в хук ентити инфо альтер псевдо поле в таком формате
Но передумал.
Пока сделал выборку с базы и во время исполнения фасета в своем виджете погрупировал их.
Не кошерно, но работает.
Запрос и сортировка вроде бы занимают меньше 100 мс.
Alan Bondarchuk
@fortis
Feb 18 2016 20:48
а не понятно что за задача что за размеры и группы
https://help.github.com/articles/adding-a-file-to-a-repository/
теперь в гитхаб можно закидывать файлы драгндроп =)
@a-kom почему например не сделать все в одном словаре, сделать группы и дочерние размеры?