From 8304575fd344a80a4b30645c46b3206e932e5229 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20P=C3=A9ters?= Date: Mon, 17 Oct 2016 15:39:01 +0200 Subject: [PATCH] sql: add user name to fulltext index (#13524) --- tests/test_sql.py | 10 ++++++++++ wcs/sql.py | 3 +++ 2 files changed, 13 insertions(+) diff --git a/tests/test_sql.py b/tests/test_sql.py index d2fe601..61ba006 100644 --- a/tests/test_sql.py +++ b/tests/test_sql.py @@ -33,6 +33,7 @@ def setup_module(module): cleanup() pub = create_temporary_pub() + pub.user_class = sql.SqlUser pub.is_using_postgresql = lambda: True conn = psycopg2.connect(user=os.environ['USER']) @@ -858,6 +859,15 @@ def test_sql_criteria_fts(): assert [x.id for x in data_class.select([st.FtsMatch('BAR')], order_by='id')] == range(21, 51) + assert data_class.count([st.FtsMatch('Pierre')]) == 0 + sql.SqlUser.wipe() + user = sql.SqlUser() + user.name = 'Pierre' + user.store() + t.user_id = user.id + t.store() + assert data_class.count([st.FtsMatch('Pierre')]) == 1 + def table_exists(cur, table_name): cur.execute('''SELECT COUNT(*) FROM information_schema.tables WHERE table_name = %s''', (table_name,)) diff --git a/wcs/sql.py b/wcs/sql.py index 1065afc..f985bd4 100644 --- a/wcs/sql.py +++ b/wcs/sql.py @@ -1246,6 +1246,9 @@ class SqlFormData(SqlMixin, wcs.formdata.FormData): for evo in self._evolution: if evo.comment: fts_strings.append(evo.comment) + user = self.get_user() + if user: + fts_strings.append(user.get_display_name()) sql_statement = '''UPDATE %s SET fts = to_tsvector( %%(fts)s) WHERE id = %%(id)s''' % self._table_name -- 2.9.3