Возможность строить отчёт по time entries другого пользователя #40

Closed
opened 2026-06-29 13:49:15 +07:00 by artem.kokos · 0 comments
Owner

Сейчас отчёт всегда строится для текущего пользователя (redmine.user.get("current")). Нужно добавить возможность указать другого пользователя через CLI.

Предлагаемый интерфейс

  • --user-id 42 — основной способ. Числовой ID пользователя в Redmine. Работает напрямую через time_entry.filter(user_id=...), если у запускающего есть права видеть чужие time entries.
  • --user-name "Иванов И.И." / --user-login ivanov — опционально, для удобства. Перед запросом time entries CLI должен попытаться разрешить имя/логин в ID через redmine.user.filter(). Если у пользователя нет прав на просмотр списка пользователей — выводить понятную ошибку и просить использовать --user-id.

Поведение по умолчанию

Без флагов — текущий пользовател��, как сейчас.

Затронутый код

  • redmine_reporter/cli.py — новые аргументы и валидация.
  • redmine_reporter/client.py — передача user_id в fetch_issues_with_spent_time() и в redmine.time_entry.filter().

Ограничения

Возможность смотреть чужие time entries зависит от прав Redmine у запускающего пользователя. CLI не может это обойти.

Сейчас отчёт всегда строится для текущего пользователя (`redmine.user.get("current")`). Нужно добавить возможность указать другого пользователя через CLI. ## Предлагаемый интерфейс - `--user-id 42` — основной способ. Числовой ID пользователя в Redmine. Работает напрямую через `time_entry.filter(user_id=...)`, если у запускающего есть права видеть чужие time entries. - `--user-name "Иванов И.И."` / `--user-login ivanov` — опционально, для удобства. Перед запросом time entries CLI должен попытаться разрешить имя/логин в ID через `redmine.user.filter()`. Если у пользователя нет прав на просмотр списка пользователей — выводить понятную ошибку и просить использовать `--user-id`. ## Поведение по умолчанию Без флагов — текущий пользовател��, как сейчас. ## Затронутый код - `redmine_reporter/cli.py` — новые аргументы и валидация. - `redmine_reporter/client.py` — передача `user_id` в `fetch_issues_with_spent_time()` и в `redmine.time_entry.filter()`. ## Ограничения Возможность смотреть чужие time entries зависит от прав Redmine у запускающего пользователя. CLI не может это обойти.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: artem.kokos/redmine-reporter#40