114 identifier |
114 identifier |
115 """ |
115 """ |
116 SESSION_VAR = '__session' |
116 SESSION_VAR = '__session' |
117 |
117 |
118 def __init__(self, appli): |
118 def __init__(self, appli): |
119 self.session_manager = appli.vreg['components'].select('sessionmanager') |
119 self.vreg = appli.vreg |
|
120 self.session_manager = self.vreg['components'].select('sessionmanager') |
120 global SESSION_MANAGER |
121 global SESSION_MANAGER |
121 SESSION_MANAGER = self.session_manager |
122 SESSION_MANAGER = self.session_manager |
122 if not 'last_login_time' in appli.vreg.schema: |
123 if not 'last_login_time' in self.vreg.schema: |
123 self._update_last_login_time = lambda x: None |
124 self._update_last_login_time = lambda x: None |
|
125 CW_EVENT_MANAGER.bind('after-registry-reload', self.reset_session_manager) |
|
126 |
|
127 def reset_session_manager(self): |
|
128 data = self.session_manager.dump_data() |
|
129 self.session_manager = self.vreg['components'].select('sessionmanager') |
|
130 self.session_manager.restore_data(data) |
|
131 global SESSION_MANAGER |
|
132 SESSION_MANAGER = self.session_manager |
124 |
133 |
125 def clean_sessions(self): |
134 def clean_sessions(self): |
126 """cleanup sessions which has not been unused since a given amount of |
135 """cleanup sessions which has not been unused since a given amount of |
127 time |
136 time |
128 """ |
137 """ |