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