# HG changeset patch # User bsw # Date 1295959426 -3600 # Node ID 5e35add677ee6f8013d833b970dda5591bf64f48 # Parent e60a26bf535b45a2c74d17591603d73e7ac4515d Added support for member.locked and account expiry mechanism. Small corrections. diff -r e60a26bf535b -r 5e35add677ee app/main/index/_action/login.lua --- a/app/main/index/_action/login.lua Mon Nov 08 15:49:23 2010 +0100 +++ b/app/main/index/_action/login.lua Tue Jan 25 13:43:46 2011 +0100 @@ -1,10 +1,10 @@ local member = Member:by_login_and_password(param.get('login'), param.get('password')) if member then + member.last_login = "now" + member.active = true + member:save() app.session.member = member - if config.last_login_enabled then - db:query{ "UPDATE member SET last_login = now() WHERE id = ?", member.id } - end app.session:save() slot.select("notice", function() ui.tag{ content = _'Login successful!' } diff -r e60a26bf535b -r 5e35add677ee app/main/member/show_tab.lua --- a/app/main/member/show_tab.lua Mon Nov 08 15:49:23 2010 +0100 +++ b/app/main/member/show_tab.lua Tue Jan 25 13:43:46 2011 +0100 @@ -46,16 +46,12 @@ local broken_delegations = Delegation:new_selector() :join("member", nil, "delegation.trustee_id = member.id") :add_where{"delegation.truster_id = ?", member.id} - if config.delegation_warning_time and config.last_login_enabled then - broken_delegations:add_where{"member.active = 'f' OR (member.last_login IS NULL OR age(member.last_login) > ?::interval)", config.delegation_warning_time} - else - broken_delegations:add_where{"member.active = 'f'"} - end + :add_where{"member.active = 'f' OR (member.last_login_public IS NULL OR age(member.last_login) > ?::interval)", config.delegation_warning_time } if broken_delegations:count() > 0 then tabs[#tabs+1] = { class = "red", - name = "problem_delegations", + name = "broken_delegations", label = _"Delegation problems" .. " (" .. tostring(broken_delegations:count()) .. ")", icon = { static = "icons/16/table_go.png" }, module = "delegation", diff -r e60a26bf535b -r 5e35add677ee config/default.lua --- a/config/default.lua Mon Nov 08 15:49:23 2010 +0100 +++ b/config/default.lua Tue Jan 25 13:43:46 2011 +0100 @@ -34,10 +34,10 @@ config.default_lang = "de" --- after how long is a user considered inactive and the trustee will see warning\ +-- after how long is a user considered inactive and the trustee will see warning -- will not work unless config.last_login_enabled is set to true -- notation is according to postgresql intervals, nil turns off feature -config.delegation_warning_time = '6 weeks' +config.delegation_warning_time = '6 months' config.mail_subject_prefix = "[LiquidFeedback] " @@ -53,9 +53,6 @@ config.feature_rss_enabled = false -- feature is broken --- Saving last login of user in database -config.last_login_enabled = true - -- OpenID authentication is not fully implemented yet, DO NOT USE BEFORE THIS NOTICE HAS BEEN REMOVED! config.auth_openid_enabled = false config.auth_openid_https_as_default = true diff -r e60a26bf535b -r 5e35add677ee model/member.lua --- a/model/member.lua Mon Nov 08 15:49:23 2010 +0100 +++ b/model/member.lua Tue Jan 25 13:43:46 2011 +0100 @@ -281,7 +281,7 @@ function Member:by_login_and_password(login, password) local selector = self:new_selector() selector:add_where{'"login" = ?', login } - selector:add_where('"active"') + selector:add_where('NOT "locked"') selector:optional_object_mode() local member = selector:exec() if member and member:check_password(password) then