Назад | Перейти на главную страницу

Как я могу удалить адрес электронной почты пользователя trac?

У нас есть несколько пользователей, которые покинули компанию, и мы заблокировали их адрес электронной почты, но trac продолжает отправлять уведомления на эти адреса. Как я могу удалить адрес электронной почты из их профиля trac?

Плагины не требуются, если вам удобна командная строка. TracAdmin твой друг.

Перечислите имя и адрес электронной почты для данных sid (имя пользователя):

trac-admin /usr/local/share/trac/test session list

SID      Auth  Last Visit  Name            Email            
------------------------------------------------------------
bob      1     1970-01-01  Bob Smith       bob@bob.com

где /usr/local/share/trac/test это путь к вашему проекту.

Теперь просто отправьте пустую строку, чтобы очистить их адрес электронной почты:

trac-admin /usr/local/share/trac/test session set email bob ""

Убедитесь, что это сработало:

trac-admin /usr/local/share/trac/test session list

SID      Auth  Last Visit  Name            Email            
------------------------------------------------------------
bob      1     1970-01-01  Bob Smith                        

Нужно установить что-то другое? Нет проблем:

trac-admin /usr/local/share/trac/test session set email bob "bob@bob.com"

trac-admin /usr/local/share/trac/test session list

SID      Auth  Last Visit  Name            Email            
------------------------------------------------------------
bob      1     1970-01-01  Bob Smith       bob@bob.com 

Вы можете зайти в базу данных и обновить запись:

 DELETE FROM session_attribute WHERE name = 'email' AND value = 'email@example.com';

Если вы используете sqlite, это будет что-то вроде «sqlite3 trac.db», где trac.db находится где-то в вашем каталоге trac.

Кроме того, в trac.ini есть настройки для автоматической отправки изменений и заявок по электронной почте.

always_notify_owner = true
always_notify_reporter = true
always_notify_updater = true

Если человек все еще находится в билетах как один из этих трех, он будет продолжать получать электронные письма, если имя пользователя trac является первой частью его адреса электронной почты, а настройка «smtp_default_domain» соответствует части домена.

Другой подход, который я нашел, - использовать UserManagerPlugin. «Управление сеансом пользователя» обеспечивает возможность удаления старых пользователей из системы.

После установки плагина

  1. Выберите Admin -> Users -> Session Management.
  2. Установите флажки рядом с пользователями, которых нужно удалить, и нажмите «Удалить выбранное».