Time Logs

Атрибуты в task:

  • open_time:
    • не имеет значения записывается или нет в бд
    • время открытия задачи, назначается в функции open
  • time - стнет json - {юзер: время (итоговое)}
  • full_time - Время общее всех юзеров

task_log (project-level)

На самом деле лог активити ассета, с фильтром по задачам.

  • Добавить в Class Log затраченое время - атрибут time +
    • запись при каждом коммите +
    • при открытии задачи заполнять атрибут task.open_time +
    • при комите записывать разницу в commit_log.time и обновлять task.open_time временем коммита. +
    • после внесения записи в commit_log.time суммирование в: task.time, task.full_time, artist_log.full_time +

artist_task_log (studio-level)

Note

Class Log добавить методы для чтения-записи, принимающие объект artist. +

  • table_name: [nik_name]_tasks_logs +
  • table_columns: [project_name, task_name, full_time, price, start, finish] (словарь studio.artists_logs_keys) +
  • запись создаётся при первом выполнении task.open и далее редактируется: +
    • start - время создания записи.
    • full_time - ссумируется при каждом коммите, ед. измерения секунда.
    • price - вносится по принятию задачи (task.accept_task()).
    • finish - вносится по принятию задачи (task.accept_task()) (Время принятия, чтобы не было проблем с оплатой за период).

artist_time_log (studio-level)

  • table_name: [nik_name]_time_logs
  • table_columns: [project_name, task_name, date, time] (словарь studio.artists_time_logs_keys)
  • все записи создаются вручную, с привязкой к задаче.
    • нужно создание и редактирование записей.
    • чтение:
      • чтение по данной таблице (с фильтрами: проект, временной интервал, задача?).
      • глобальное чтение для вывода в юзер_тайм_лог (с фильтрами: проект, временной интервал).
        • список задач из artist_tasks_logs
        • чтение task_log по полученному списку задач
        • чтение artist_time_log
        • составление общей таблицы