liquid_feedback_frontend
view env/ldap/update_all_members.lua @ 1773:0c8cee7f1489
Fixed capitalization
| author | bsw | 
|---|---|
| date | Mon Oct 18 16:06:58 2021 +0200 (2021-10-18) | 
| parents | 45287f1037fb | 
| children | 
 line source
     1 -- check for all LiquidFeedback Members with LDAP authentication
     2 -- if the corresponding LDAP entry is still existent and updates
     3 -- changed attributes
     4 -- --------------------------------------------------------------------------
     5 -- prints debug output to stdout
     6 --
     7 -- returns
     8 --   success: true if no error occured during run
     9 --            false if at least one error occured during run
    11 function ldap.update_all_members()
    13   local some_error_occured = false
    15   local ldap_conn = ldap.bind_as_app()
    17   local function update_member(member)
    19     local function failure (err, err2)
    20       Member.get_db_conn():query("ROLLBACK")
    21       io.stdout:write("ERROR: ", err, " (", err2, ") id=", tostring(member.id), " uid=", tostring(member.authority_uid), "\n")
    22       some_error_occured = true
    23     end
    25     local function success ()
    26       Member.get_db_conn():query("COMMIT")
    27       io.stdout:write("ok: id=", tostring(member.id), " uid=", tostring(member.authority_uid), "\n")
    28     end
    30     Member.get_db_conn():query("BEGIN")
    32     local ldap_conn, ldap_entry, err, err2 = ldap.update_member_attr(member, ldap_conn)
    33     if err then
    34       failure("ldap_update_member", err)
    35       return
    36     end
    38     ldap.update_member_allowed(member, ldap_entry)
    40     local err = member:try_save()
    41     if err then
    42       failure("member_try_save", err)
    43       return
    44     end
    46     if ldap_entry then
    47       local success, err, err2 = ldap.update_member_privileges(member, ldap_entry)
    48       if err then
    49         failure("ldap_update_member_privileges", err)
    50         return
    51       end
    53     end
    55     success()
    57   end
    60   local members = Member:get_all_by_authority("ldap")
    62   for i, member in ipairs(members) do 
    63     update_member(member)
    64   end
    66   ldap_conn:unbind()
    68   return not some_error_occured
    70 end
