fix(number-fields): избегаем потери точности длинных чисел
- number-поля теперь рендерятся как text + inputMode=numeric, чтобы браузер не округлял значения через input type=number - пробелы при вставке в number-поля удаляются - бэкенд нормализует значения number-полей в строку перед сохранением - добавлен хелпер normalizeFieldValueForStorage Closes: искажение расчётного счёта и других длинных числовых полей
This commit is contained in:
26
migrations/0041_user_profile_enhancements.sql
Normal file
26
migrations/0041_user_profile_enhancements.sql
Normal file
@@ -0,0 +1,26 @@
|
||||
-- Add phone to users
|
||||
ALTER TABLE users ADD COLUMN IF NOT EXISTS phone varchar(50);
|
||||
|
||||
-- Add manager to roles
|
||||
ALTER TABLE roles ADD COLUMN IF NOT EXISTS manager_id integer REFERENCES users(id) ON DELETE SET NULL;
|
||||
|
||||
-- Add link_to_user_profile to form fields
|
||||
ALTER TABLE form_fields ADD COLUMN IF NOT EXISTS link_to_user_profile boolean NOT NULL DEFAULT false;
|
||||
|
||||
-- Create user profile audit log
|
||||
CREATE TABLE IF NOT EXISTS user_profile_audit_log (
|
||||
id serial PRIMARY KEY,
|
||||
user_id integer NOT NULL REFERENCES users(id) ON DELETE CASCADE,
|
||||
organization_id integer NOT NULL REFERENCES organizations(id) ON DELETE CASCADE,
|
||||
action varchar(50) NOT NULL,
|
||||
field_id integer REFERENCES user_profile_fields(id),
|
||||
field_name text,
|
||||
old_value jsonb,
|
||||
new_value jsonb,
|
||||
changed_by integer REFERENCES users(id),
|
||||
changed_by_name text,
|
||||
metadata jsonb,
|
||||
created_at timestamp NOT NULL DEFAULT now()
|
||||
);
|
||||
|
||||
CREATE INDEX IF NOT EXISTS user_profile_audit_log_user_created_idx ON user_profile_audit_log(user_id, created_at DESC);
|
||||
Reference in New Issue
Block a user