Доработка функционала CRM-системы

700 руб.за час
25 ноября 2019, 15:44 • 5 откликов • 64 просмотра
Стек: PHP7.3, MySQL, CodeIgniter2, Jquery, Bootstrap

Пример макета: https://clck.ru/KHWba

Задача:
Сделать так, чтобы пользователи CRM-системы предоставляли действительно актуальный календарь.

Общее описание:
Пользователь сам выбирает период, на который он хочет актуализировать календарь. Минимум - 7 дней, максимум - 28 дней (4 недели). На основании этих данных мы можем понимать доступность в ближайшие пару недель.
В разделе "Задачи" всегда есть задача "Актуализация календаря» (см. макет). Если календарь актуален - она зеленая, если неактуален - красная. Календарь (fullcalendar.js) показывает только дни, в выбранном интервале. Кнопки подтвердить, подтверждают событие и вызывают функции на бэре, кнопки отмены, возвращают пользователей на пред. шаг.

Описание логики:
после того, как пользователь нажимает «Подтвердить», на «плашке» (экран 3) мы показываем ему еще одну модалку, где он еще раз подтверждает свое действие. После этого, выбранный период мы записываем в базу.
У каждого периода есть id, start_datetime, end_datetime, id_users, created_at. Все даты хранятся в datetime UTC

При открытии раздела задачи (экран 1) вместо X дней мы пишем NOW() - end_datetime в количестве дней
для данного юзера.

Если у юзера есть действующие актуальные периоды, в другой таблице ставим ему флаг active == 1. Проверку можно сделать по крону.