0001-sessions-unset-disabled-deleted-user-from-session-47.patch
tests/test_form_pages.py | ||
---|---|---|
1244 | 1244 |
assert emails.emails.get('New form (test)')['email_rcpt'] == ['foo@localhost'] |
1245 | 1245 | |
1246 | 1246 | |
1247 |
def test_form_submit_with_just_disabled_user(pub, emails): |
|
1248 |
user = create_user(pub) |
|
1249 |
formdef = create_formdef() |
|
1250 |
app = login(get_app(pub), username='foo', password='foo') |
|
1251 |
formdef.data_class().wipe() |
|
1252 |
resp = app.get('/test/') |
|
1253 |
resp = resp.form.submit('submit') |
|
1254 |
assert 'Check values then click submit.' in resp |
|
1255 |
user.is_active = False |
|
1256 |
user.store() |
|
1257 |
resp = resp.form.submit('submit') |
|
1258 |
resp = resp.follow() |
|
1259 |
assert 'The form has been recorded' in resp |
|
1260 |
assert formdef.data_class().count() == 1 |
|
1261 |
assert formdef.data_class().select()[0].user_id is None |
|
1262 | ||
1263 | ||
1247 | 1264 |
def test_form_titles(pub): |
1248 | 1265 |
formdef = create_formdef() |
1249 | 1266 |
formdef.fields = [ |
wcs/forms/root.py | ||
---|---|---|
1277 | 1277 | |
1278 | 1278 |
filled.data = self.formdef.get_data(form) |
1279 | 1279 |
session = get_session() |
1280 |
if session and session.user and not str(session.user).startswith('anonymous-'): |
|
1281 |
filled.user_id = get_request().user.id |
|
1280 |
filled.user = get_request().user |
|
1282 | 1281 | |
1283 | 1282 |
if get_request().get_path().startswith('/backoffice/'): |
1284 | 1283 |
filled.user_id = None |
wcs/qommon/sessions.py | ||
---|---|---|
222 | 222 |
return None |
223 | 223 |
if user.is_active: |
224 | 224 |
return user |
225 |
else: |
|
226 |
self.set_user(None) |
|
227 | ||
225 | 228 |
return None |
226 | 229 | |
227 | 230 |
def set_user(self, user_id): |
228 | 231 |
self.id = None # force a new session id to be assigned |
229 | 232 |
self.extra_user_variables = None |
230 | 233 |
QuixoteSession.set_user(self, user_id) |
234 |
if user_id is None: |
|
235 |
return |
|
231 | 236 |
if str(user_id).startswith('anonymous-'): |
232 | 237 |
# do not store connection time for anonymous users |
233 | 238 |
return |
234 |
- |