liquid_feedback_frontend
changeset 1074:aefef1556d55
Removed usage of hstore from LDAP support
author | bsw |
---|---|
date | Tue Jul 22 22:17:37 2014 +0200 (2014-07-22) |
parents | f9c1acb859d0 |
children | a85f7ea61ef6 |
files | app/main/index/_action/cancel_register.lua app/main/index/_action/login.lua app/main/index/_action/register.lua app/main/index/register.lua env/encode/pg_hstore.lua env/encode/pg_hstore_value.lua env/ldap/create_member.lua env/ldap/test.lua env/ldap/update_all_members.lua env/ldap/update_member_attr.lua model/member.lua model/session.lua |
line diff
1.1 --- a/app/main/index/_action/cancel_register.lua Fri Jul 18 23:13:19 2014 +0200 1.2 +++ b/app/main/index/_action/cancel_register.lua Tue Jul 22 22:17:37 2014 +0200 1.3 @@ -1,5 +1,6 @@ 1.4 app.session.authority = nil 1.5 -app.session.authority_data = nil 1.6 +app.session.authority_uid = nil 1.7 +app.session.authority_login = nil 1.8 app.session:save() 1.9 1.10 return true 1.11 \ No newline at end of file
2.1 --- a/app/main/index/_action/login.lua Fri Jul 18 23:13:19 2014 +0200 2.2 +++ b/app/main/index/_action/login.lua Tue Jul 22 22:17:37 2014 +0200 2.3 @@ -5,10 +5,8 @@ 2.4 2.5 if err == "ldap_credentials_valid_but_no_member" then 2.6 app.session.authority = "ldap" 2.7 - app.session.authority_data = encode.pg_hstore{ 2.8 - login = login, 2.9 - uid = uid 2.10 - } 2.11 + app.session.authority_uid = uid 2.12 + app.session.authority_login = login 2.13 app.session:save() 2.14 request.redirect{ 2.15 module = "index", view = "register", params = {
3.1 --- a/app/main/index/_action/register.lua Fri Jul 18 23:13:19 2014 +0200 3.2 +++ b/app/main/index/_action/register.lua Tue Jul 22 22:17:37 2014 +0200 3.3 @@ -6,7 +6,7 @@ 3.4 if not config.ldap.member or not config.ldap.member.registration == "manual" then 3.5 error("access denied") 3.6 end 3.7 - member = ldap.create_member(app.session.authority_data_uid, true) 3.8 + member = ldap.create_member(app.session.authority_uid, true) 3.9 3.10 else 3.11 if config.registration_disabled then
4.1 --- a/app/main/index/register.lua Fri Jul 18 23:13:19 2014 +0200 4.2 +++ b/app/main/index/register.lua Tue Jul 22 22:17:37 2014 +0200 4.3 @@ -1,7 +1,7 @@ 4.4 local ldap_uid 4.5 4.6 if config.ldap.member and app.session.authority == "ldap" then 4.7 - ldap_uid = app.session.authority_data_uid 4.8 + ldap_uid = app.session.authority_uid 4.9 end 4.10 4.11 if config.registration_disabled and not ldap_uid then
5.1 --- a/env/encode/pg_hstore.lua Fri Jul 18 23:13:19 2014 +0200 5.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 5.3 @@ -1,16 +0,0 @@ 5.4 --- Encodes a Lua table as PostgreSQL hstore text input 5.5 --- TODO This should be implemented in the SQL abstraction layer 5.6 - 5.7 -function encode.pg_hstore(hstore_values) 5.8 - 5.9 - local entries = {} 5.10 - 5.11 - for key, val in pairs(hstore_values) do 5.12 - local escaped_key = encode.pg_hstore_value(key) 5.13 - local escaped_val = encode.pg_hstore_value(val) 5.14 - entries[#entries+1] = escaped_key .. "=>" .. escaped_val 5.15 - end 5.16 - 5.17 - return table.concat(entries, ", ") 5.18 - 5.19 -end
6.1 --- a/env/encode/pg_hstore_value.lua Fri Jul 18 23:13:19 2014 +0200 6.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 6.3 @@ -1,6 +0,0 @@ 6.4 --- Formats a value (or a key) for usage in the text representation of 6.5 --- hstore fields 6.6 - 6.7 -function encode.pg_hstore_value(value) 6.8 - return '"' .. string.gsub(value, '([\\"])', "\\%1") .. '"' 6.9 -end 6.10 \ No newline at end of file
7.1 --- a/env/ldap/create_member.lua Fri Jul 18 23:13:19 2014 +0200 7.2 +++ b/env/ldap/create_member.lua Tue Jul 22 22:17:37 2014 +0200 7.3 @@ -15,9 +15,7 @@ 7.4 7.5 member.authority = "ldap" 7.6 7.7 - member.authority_data = encode.pg_hstore{ 7.8 - uid = uid 7.9 - } 7.10 + member.authority_uid = uid 7.11 7.12 local ldap_conn, ldap_entry, err, err2 = ldap.update_member_attr(member, nil, uid) 7.13 7.14 @@ -25,10 +23,8 @@ 7.15 ldap_conn:unbind() 7.16 end 7.17 7.18 - member.authority_data = encode.pg_hstore{ 7.19 - uid = uid, 7.20 - login = config.ldap.member.login_map(ldap_entry) 7.21 - } 7.22 + member.authority_uid = uid 7.23 + member.authority_login = config.ldap.member.login_map(ldap_entry) 7.24 7.25 if not err then 7.26 return member
8.1 --- a/env/ldap/test.lua Fri Jul 18 23:13:19 2014 +0200 8.2 +++ b/env/ldap/test.lua Tue Jul 22 22:17:37 2014 +0200 8.3 @@ -37,8 +37,8 @@ 8.4 end 8.5 8.6 local members = Member:new_selector() 8.7 - :add_field{ "authority_data->'login' as authority_data_login" } 8.8 - :add_where{ "authority = ? AND authority_data->'uid' = ?", "ldap", uid } 8.9 + :add_field{ "authority_login" } 8.10 + :add_where{ "authority = ? AND authority_uid = ?", "ldap", uid } 8.11 :exec() 8.12 8.13 if #members < 1 then 8.14 @@ -62,7 +62,7 @@ 8.15 return 8.16 end 8.17 8.18 - test("login", login, member.authority_data_login) 8.19 + test("login", login, member.authority_login) 8.20 test("name", name, member.name) 8.21 8.22 for i, unit_id in ipairs(units_with_voting_priv) do
9.1 --- a/env/ldap/update_all_members.lua Fri Jul 18 23:13:19 2014 +0200 9.2 +++ b/env/ldap/update_all_members.lua Tue Jul 22 22:17:37 2014 +0200 9.3 @@ -18,13 +18,13 @@ 9.4 9.5 local function failure (err, err2) 9.6 Member.get_db_conn():query("ROLLBACK") 9.7 - io.stdout:write("ERROR: ", err, " (", err2, ") id=", tostring(member.id), " uid=", tostring(member.authority_data_uid), "\n") 9.8 + io.stdout:write("ERROR: ", err, " (", err2, ") id=", tostring(member.id), " uid=", tostring(member.authority_uid), "\n") 9.9 some_error_occured = true 9.10 end 9.11 9.12 local function success () 9.13 Member.get_db_conn():query("COMMIT") 9.14 - io.stdout:write("ok: id=", tostring(member.id), " uid=", tostring(member.authority_data_uid), "\n") 9.15 + io.stdout:write("ok: id=", tostring(member.id), " uid=", tostring(member.authority_uid), "\n") 9.16 end 9.17 9.18 Member.get_db_conn():query("BEGIN")
10.1 --- a/env/ldap/update_member_attr.lua Fri Jul 18 23:13:19 2014 +0200 10.2 +++ b/env/ldap/update_member_attr.lua Tue Jul 22 22:17:37 2014 +0200 10.3 @@ -21,7 +21,7 @@ 10.4 return nil, nil, "member_is_not_authenticated_by_ldap" 10.5 end 10.6 10.7 - local filter = config.ldap.member.uid_filter_map(member.authority_data_uid or uid) 10.8 + local filter = config.ldap.member.uid_filter_map(member.authority_uid or uid) 10.9 local ldap_entry, err, err2 = ldap.get_member_entry(filter, ldap_conn) 10.10 10.11 if err then 10.12 @@ -38,10 +38,8 @@ 10.13 -- If exactly one corresponding entry found, update the attributes 10.14 local err = config.ldap.member.attr_map(ldap_entry, member) 10.15 10.16 - member.authority_data = encode.pg_hstore{ 10.17 - uid = member.authority_data_uid or uid, 10.18 - login = config.ldap.member.login_map(ldap_entry) 10.19 - } 10.20 + member.authority_uid = member.authority_uid or uid 10.21 + member.authority_login = config.ldap.member.login_map(ldap_entry) 10.22 10.23 if err then 10.24 return ldap_conn, ldap_entry, "attr_map_error", err
11.1 --- a/model/member.lua Fri Jul 18 23:13:19 2014 +0200 11.2 +++ b/model/member.lua Tue Jul 22 22:17:37 2014 +0200 11.3 @@ -278,7 +278,7 @@ 11.4 11.5 local members = Member:new_selector() 11.6 :add_where{ "authority = ?", authority } 11.7 - :add_field("authority_data->'uid' as authority_data_uid") 11.8 + :add_field("authority_uid") 11.9 :exec() 11.10 11.11 return members 11.12 @@ -415,12 +415,12 @@ 11.13 -- Get login name from LDAP entry 11.14 if ldap_entry then 11.15 uid = config.ldap.member.uid_map(ldap_entry) 11.16 - selector:add_where{'"authority" = ? AND "authority_data"->\'uid\' = ?', "ldap", uid } 11.17 + selector:add_where{'"authority" = ? AND "authority_uid" = ?', "ldap", uid } 11.18 11.19 -- or build it from the login 11.20 else 11.21 login = config.ldap.member.login_normalizer(login) 11.22 - selector:add_where{'"authority" = ? AND "authority_data"->\'login\' = ?', "ldap", login } 11.23 + selector:add_where{'"authority" = ? AND "authority_uid" = ?', "ldap", login } 11.24 end 11.25 11.26 local member = selector:exec() 11.27 @@ -489,10 +489,8 @@ 11.28 end 11.29 end 11.30 -- TODO change this when SQL layers supports hstore 11.31 - member.authority_data = encode.pg_hstore{ 11.32 - uid = uid, 11.33 - login = ldap_login 11.34 - } 11.35 + member.authority_uid = uid 11.36 + member.authority_login = ldap_login 11.37 member.activated = "now" 11.38 member.last_activity = "now" 11.39 if config.ldap.member.cache_passwords then
12.1 --- a/model/session.lua Fri Jul 18 23:13:19 2014 +0200 12.2 +++ b/model/session.lua Tue Jul 22 22:17:37 2014 +0200 12.3 @@ -28,7 +28,7 @@ 12.4 function Session:by_ident(ident) 12.5 local selector = self:new_selector() 12.6 selector:add_where{ 'ident = ?', ident } 12.7 - selector:add_field{ '"authority_data" -> \'uid\' as authority_data_uid' } 12.8 + selector:add_field{ 'authority_uid' } 12.9 selector:optional_object_mode() 12.10 return selector:exec() 12.11 end