liquid_feedback_frontend

diff model/member.lua @ 1642:45287f1037fb

Support precondtions if LDAP accounts may login
author bsw
date Tue Feb 09 21:07:16 2021 +0100 (2021-02-09)
parents 64b0e610fe8e
children 446d2798f424
line diff
     1.1 --- a/model/member.lua	Tue Feb 09 17:40:50 2021 +0100
     1.2 +++ b/model/member.lua	Tue Feb 09 21:07:16 2021 +0100
     1.3 @@ -413,7 +413,6 @@
     1.4    local function prepare_login_selector()
     1.5      local selector = self:new_selector()
     1.6      selector:add_field({ "now() > COALESCE(last_delegation_check, activated) + ?::interval", config.check_delegations_interval_hard }, "needs_delegation_check_hard")
     1.7 -    selector:add_where('NOT "locked"')
     1.8      selector:optional_object_mode()
     1.9      return selector
    1.10    end
    1.11 @@ -476,12 +475,16 @@
    1.12          end
    1.13  
    1.14          -- update the member attributes and privileges from LDAP
    1.15 -        local ldap_conn, ldap_err, err, err2 = ldap.update_member_attr(member, nil, uid)
    1.16 +        local ldap_conn, ldap_entry, err, err2 = ldap.update_member_attr(member, nil, uid)
    1.17          if not err then
    1.18 +          ldap.update_member_allowed(member, ldap_entry)
    1.19            local err = member:try_save()
    1.20            if err then
    1.21              return nil, "member_save_error", err
    1.22            end
    1.23 +          if member.locked then
    1.24 +            return nil, "member_locked"
    1.25 +          end
    1.26            local succes, err, err2 = ldap.update_member_privileges(member, ldap_entry)
    1.27            if err then
    1.28              return nil, "update_member_privileges_error", err, err2
    1.29 @@ -522,8 +525,12 @@
    1.30          if config.ldap.member.cache_passwords then
    1.31            member:set_password(password)
    1.32          end
    1.33 -        local ldap_conn, ldap_err, err, err2 = ldap.update_member_attr(member, nil, uid)
    1.34 +        local ldap_conn, ldap_entry, err, err2 = ldap.update_member_attr(member, nil, uid)
    1.35          if not err then
    1.36 +          ldap.update_member_allowed(member, ldap_entry)
    1.37 +          if member.locked then
    1.38 +            return nil, "member_not_allowed"
    1.39 +          end
    1.40            local err = member:try_save()
    1.41            if err then
    1.42              return nil, "member_save_error", err

Impressum / About Us