Разработчик (20.3.2010, 17:17) писал:
Не совсем. Код вычисления выполняется при любом сохранении строки (т.е. и при добавлении и при редактировании).
А что мешает Вам просто не заполнять поля логина и пароля? если вы не хотите обновления пользователя. Выключать обновление "вообще" по моему глупо, т.к. в этом случае данные в двух таблицах просто не будут совпадать. Хотя опять же никто вам не мешает удалить код автообновления совсем. Удалять только поля Логин и Пароль для этого недостаточно.
Все же я так и не понял, что именно вы хотите в итоге. Сформулируйте вашу задачу максимально точно.
Код вычисления очень простой и легко читается, к тому же все же шаги там прокомментированы. Не вижу особого смысла расписывать его полностью и подробно. Если у вас есть вопрос по конкретному непонятному месту - задавайте.
Со всем кодом разобрался тем же часом. Создайте пользователя и запостите на форуме сообщение. Вы получите отсутствие у сообщения ФИО, редакционных функций и битой ссылки на аватар. После того как я создаю сотрудника с пустыми полями "логин" и "пароль" связи у данного пользователя с его записью в сотрудниках не происходит (что очевидно, так как в коде представления форума проверка производится по полям логина). После того как я ввожу в сотрудниках свой логин и пароль: 1) меня выкидывает; 2) мой логин-пароль становятся достоянием общественности. Понятно, что для тех у кого права на просмотр данной таблицы и этих полей конечно, по умолчанию - все админы, а у нас с данными правами несколько человек, да и вообще, ни к чему админам знать пароль к примеру главного бухгалтера; 3) пароль записан не в защищенном виде, что является потенциальной уязвимостью, более того, даже тип поля для него обычный текстовый, что позволяет свободно его видеть.
Я удалил дублирующиеся поля (логин, пароль, уровень доступа) из сотрудников и поставил проверку по ФИО (это оказалось нужно только в представлении форума).
Конечно, удобно заводить сотрудника и тут же создавать для него учетную запись если сотрудников много, но в таком случае нужны логические поля, например:
текстовое поле: "ФИО", а напротив него галочка с лейблом: "связь с пользователем", после нажатия которой текстовое поле "ФИО" меняется на поле с типом связь и выпадающим списком пользователей. Это лишь один пример где были бы полезны поля с меняющимся типом в зависимости от выбранного условия.