Projet

Général

Profil

0005-sessions-unlog-inactive-users-42428.patch

Benjamin Dauvergne, 07 juillet 2020 16:36

Télécharger (1,77 ko)

Voir les différences:

Subject: [PATCH 5/5] sessions: unlog inactive users (#42428)

 tests/test_sessions.py | 8 ++++++++
 wcs/qommon/sessions.py | 7 ++++---
 2 files changed, 12 insertions(+), 3 deletions(-)
tests/test_sessions.py
208 208
    freezer.move_to(datetime.datetime.now() + datetime.timedelta(5))  # last usage limit
209 209
    pub.clean_sessions()
210 210
    assert pub.session_manager.session_class.count() == 0
211

  
212

  
213
def test_inactive_user(pub, user, app):
214
    login(app, username='foo', password='foo')
215
    assert 'Logout' in app.get('/')
216
    user.is_active = False
217
    user.store()
218
    assert 'Logout' not in app.get('/')
wcs/qommon/sessions.py
215 215
                user.anonymous = True
216 216
                user.name_identifiers = [ self.name_identifier ]
217 217
                user.lasso_dump = self.lasso_anonymous_identity_dump
218
                return user
219 218
            else:
220 219
                try:
221
                    return get_publisher().user_class.get(user_id)
220
                    user = get_publisher().user_class.get(user_id)
222 221
                except KeyError:
223
                    pass
222
                    return None
223
            if user.is_active:
224
                return user
224 225
        return None
225 226

  
226 227
    def set_user(self, user_id):
227
-