Open KarambaKG opened 8 years ago
Предыстория:
Заказчик в тз пожелал иметь на главной странице карту, на которой бы отображались все социальные учреждения маркерами. В этом случае пользователь сможет зайти на главную страницу, увидеть все организации в одном месте, промотреть их названия и адреса. Кроме того, на встрече с заказчиком 23 сентября, было предложено сделать маркеры разными цветами в зависимости от того, есть у организации открытый запрос о помощи или нет. Сейчас в карте отображаются адреса фейковых организаций, созданные для демонстрации и не отображающие состояние объектов базы данных.
Задача: Отображать на карте на главной странице координаты и данные для организаций, содержащихся в базе данных. Если у организации нет открытых запросов о помощи, то отображать маркер синим, и в карточке попапа отображать название организации и ее адрес, иначе - название организации и ссылку на последний пост.
Решение:
создать в organizations_controller метод list, который будет возвращать данные об организациях в json формате созадать роут organizations/list в файле map.js отправить ajax запрос на роут, получить ответ, и вызвать метод populateMap, который заполняет карту маркерами из данных этого ответа. создать метод, который будет проверять, есть ли открытые посты категории "Нужна помощь", который будет возращать ссылку на пост или null В зависимости от результата метода сформировать стиль иконки маркера и содержмиое попапа
Тестирование: На карте главной страницы маркеры должны стать двух цветов: синие и красные, с разными попапами - название организации и или ссылка на статью, или адрес организации.
Отображать на главной странице фактические данные организаций, содержащихся в базе. Помечать красным маркером организации, у которых есть незакрытые запросы о помощи.