В MyChat есть такая классная штука, как общая панель контактов. Древовидный список с любой степенью вложенности, по подразделениям компании, который формируется автоматически, для всех пользователей чата.
Всё вроде хорошо, но вот незадача — нужно в общем списке как-то выделять руководителей подразделений. Окей, мы эту проблему решили, создав на сервере специальный раздел, который так и назвали «Должности компании«.
Нужно заполнить список необходимых должностей и затем отметить некоторые как «Это руководитель подразделения«. Должности расставляются по старшинству, их можно двигать вверх-вниз и затем назначать пользователям, которые зарегистрированы на сервере. Делать это может только администратор сервера.
Выглядит это всё примерно вот так:
После этих нехитрых манипуляций все руководители подразделений (мы их между собой называем «тим-лидеры» (team leaders)) начинают отображаться во всех списках светло-голубым цветом. Вроде как бы и выделяются заметно, легко найти руководителей, не заходя в просмотр профиля пользователя.
Всё было хорошо, пока к нам не обратился человек, который использует наш продукт.
Суть просьбы такова: в компании есть ряд высокопоставленных сотрудников, которых не устраивает то, что их фамилии в общем списке находятся ниже других. Дескать я же начальник — почему моя фамилия находится с списке контактов после секретаря. И смех и грех.
Но выход всё же найден, причём достаточно элегантный. Я люблю SQL 🙂 Всё решилось несколькими дополнительными условиями в запросе к серверной базе данных.
Поскольку у нас в должностях компании есть очерёдность, то есть видно, кто «главнее «, можно, при необходимости, «подружить» выборку древовидного списка контактов и список должностей. Итого, если вы поставите в настройках сервера, в разделе «Должности компании» галку на опции «Размещать более высокие должности сверху в списках контактов (без сортировки)«, то MyChat клиент будет отображать список контактов следующим образом:
сначала располагаются все сотрудники, у которых в профиле прописана должность, сортируясь по старшинству. Выше будет тот, у кого должность больше. А затем уже все остальные сотрудники, у которых должности одинаковые или не прописаны вовсе, по алфавиту. Вот так это выглядит в панели контактов у клиента:
И овцы целы, и волки сыты.
Обновление будет выложено на сайт сегодня.
Интересно, а можно у вас брать посты с RSS? Ссылку на источник обязательно поставлю.
Можно, почему нет.