Opened 3 years ago

Closed 9 days ago

Last modified 9 days ago

#1149 closed дефект (готово)

Неверное отображение имени пользователя

Reported by: alx Owned by: Denis_N
Priority: major Component: БД изделий АДС
Keywords: Cc:

Description (last modified by alx)

Ранее в базе данных пользователь имел имя (users.worker) "Ronnie O'Sullivan".
После аутентификации пользователя в веб-интерфейсе имя пользователя было изменено на "Alex Mogilnikov".

После изменения имени пользователя в БД была добавлена (через интерфейс "Возврат") плата s/n C04620 и сделан ряд комментариев к ней. В результате в истории изделия все записи отображаются со старым именем в графе "Сотрудник":


Также старое имя продолжает отображаться в правом верхнем углу страниц.

Ожидалось, что будет отображаться имя сотрудника "Alex Mogilnikov".

Attachments (1)

ss1.jpg (179.4 KB ) - added by alx 3 years ago.

Download all attachments as: .zip

Change History (9)

by alx, 3 years ago

Attachment: ss1.jpg added

comment:1 by alx, 3 years ago

Description: modified (diff)

comment:2 by alx, 3 years ago

Что-то похожее ранее было в интерфейсе "Ремонт" - см. #875.

comment:3 by san, 3 years ago

Видимо имя запоминается в куках один раз в начале сессии... Не думаю что это можно считать багом т.к. интерфейс базы пока не имеет механизма смены имени пользователя :-) Я имею в виду, что предполагая что имя не меняется, автор видимо так и задумывал.

in reply to:  3 comment:4 by alx, 3 years ago

Replying to san:

Не думаю что это можно считать багом т.к. интерфейс базы пока не имеет механизма смены имени пользователя :-)

Я имею в виду, что предполагая что имя не меняется, автор видимо так и задумывал.

Ранее ты писал: "Т.к. пользователей будет порядка 10, то можно изменить имя через администратора базы." Отсюда следует, что возможность изменения имени в СУБД в обход веб-интерфейса предполагается. И если так, то предположение разработчика о том, что имя никогда не изменится, является ошибочным. И, соответственно, написанный исходя из ошибочного предположения код - тоже является ошибочным. По-моему так. (с) Винни Пух

in reply to:  3 ; comment:5 by Denis_N, 3 years ago

Replying to san:

Видимо имя запоминается в куках один раз в начале сессии...

Да, записываю имя пользователя сейчас в переменную

$_SESSION['worker']

Во избежание подобных проблем сделаю так, что имя пользователя будет браться из базы каждый раз при загрузке страницы, и при записи в базу имя пользователя тоже будет будет браться из базы

comment:6 by Denis_N, 9 days ago

In 583/base:

Исправление: обновление имени сотрудника при проверке сессии

Сделано обновление $_SESSIONworker из users.worker при проверке текущей сессии. Это исключает использование устаревшего имени сотрудника в шапке страниц и новых записях истории после изменения имени пользователя в БД без повторной авторизации.

see #1149

in reply to:  5 comment:7 by Denis_N, 9 days ago

Replying to Denis_N:

Во избежание подобных проблем сделаю так, что имя пользователя будет браться из базы каждый раз при загрузке страницы, и при записи в базу имя пользователя тоже будет будет браться из базы

Сейчас обновляется $_SESSIONworker при загрузке страницы. Но из базы при записи не будет браться, так как всё равно нужно как-то идентифицировать пользователя, поэтому закрываю тикет как выполненный

Last edited 9 days ago by Denis_N (previous) (diff)

comment:8 by Denis_N, 9 days ago

Resolution: готово
Status: newclosed
Note: See TracTickets for help on using tickets.