liquid_feedback_frontend

annotate env/ldap/update_all_members.lua @ 1706:2558d9c15c44

Show top MOTD only when no unit or area is selected
author bsw
date Mon Sep 27 11:03:28 2021 +0200 (2021-09-27)
parents 45287f1037fb
children
rev   line source
bsw@1071 1 -- check for all LiquidFeedback Members with LDAP authentication
bsw@1071 2 -- if the corresponding LDAP entry is still existent and updates
bsw@1071 3 -- changed attributes
bsw@1071 4 -- --------------------------------------------------------------------------
bsw@1071 5 -- prints debug output to stdout
bsw@1071 6 --
bsw@1071 7 -- returns
bsw@1071 8 -- success: true if no error occured during run
bsw@1071 9 -- false if at least one error occured during run
bsw@1071 10
bsw@1071 11 function ldap.update_all_members()
bsw@1071 12
bsw@1071 13 local some_error_occured = false
bsw@1071 14
bsw@1071 15 local ldap_conn = ldap.bind_as_app()
bsw@1071 16
bsw@1639 17 local function update_member(member)
bsw@1071 18
bsw@1071 19 local function failure (err, err2)
bsw@1071 20 Member.get_db_conn():query("ROLLBACK")
bsw@1074 21 io.stdout:write("ERROR: ", err, " (", err2, ") id=", tostring(member.id), " uid=", tostring(member.authority_uid), "\n")
bsw@1071 22 some_error_occured = true
bsw@1071 23 end
bsw@1071 24
bsw@1071 25 local function success ()
bsw@1071 26 Member.get_db_conn():query("COMMIT")
bsw@1074 27 io.stdout:write("ok: id=", tostring(member.id), " uid=", tostring(member.authority_uid), "\n")
bsw@1071 28 end
bsw@1071 29
bsw@1071 30 Member.get_db_conn():query("BEGIN")
bsw@1071 31
bsw@1071 32 local ldap_conn, ldap_entry, err, err2 = ldap.update_member_attr(member, ldap_conn)
bsw@1071 33 if err then
bsw@1071 34 failure("ldap_update_member", err)
bsw@1071 35 return
bsw@1071 36 end
bsw@1071 37
bsw@1642 38 ldap.update_member_allowed(member, ldap_entry)
bsw@1642 39
bsw@1071 40 local err = member:try_save()
bsw@1071 41 if err then
bsw@1071 42 failure("member_try_save", err)
bsw@1071 43 return
bsw@1071 44 end
bsw@1071 45
bsw@1071 46 if ldap_entry then
bsw@1071 47 local success, err, err2 = ldap.update_member_privileges(member, ldap_entry)
bsw@1071 48 if err then
bsw@1071 49 failure("ldap_update_member_privileges", err)
bsw@1071 50 return
bsw@1071 51 end
bsw@1071 52
bsw@1071 53 end
bsw@1071 54
bsw@1071 55 success()
bsw@1071 56
bsw@1071 57 end
bsw@1071 58
bsw@1071 59
bsw@1071 60 local members = Member:get_all_by_authority("ldap")
bsw@1071 61
bsw@1071 62 for i, member in ipairs(members) do
bsw@1071 63 update_member(member)
bsw@1071 64 end
bsw@1071 65
bsw@1071 66 ldap_conn:unbind()
bsw@1071 67
bsw@1071 68 return not some_error_occured
bsw@1071 69
bsw@1071 70 end

Impressum / About Us