Django

Code

Changeset 7611

Show
Ignore:
Timestamp:
06/10/08 11:05:09 (5 months ago)
Author:
brosner
Message:

newforms-admin: Fixed #5999 -- When a session expires properly route the
flow to call the correct view. Thanks favo and Michael Newman.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • django/branches/newforms-admin/django/contrib/admin/sites.py

    r6988 r7611  
    114114 
    115115        if not self.has_permission(request): 
    116             return self.login(request) 
     116            response = self.login(request) 
     117            if response: 
     118                # make sure that there is a response before returning 
     119                # this addresses any post data that might persist from 
     120                # expired sessions and continue through (#5999) 
     121                return response 
    117122 
    118123 
     
    246251                        request.POST = post_data 
    247252                        request.user = user 
    248                         return view_func(request, *args, **kwargs) 
     253                        return None 
    249254                    else: 
    250255                        request.session.delete_test_cookie() 
  • django/branches/newforms-admin/tests/regressiontests/admin_views/tests.py

    r7589 r7611  
    146146        self.client.get('/test_admin/admin/logout/') 
    147147         
     148        # Check and make sure that if user expires, data still persists 
     149        post = self.client.post('/test_admin/admin/admin_views/article/add/', add_dict) 
     150        self.assertContains(post, 'Please log in again, because your session has expired.') 
     151        self.super_login['post_data'] = _encode_post_data(add_dict) 
     152        post = self.client.post('/test_admin/admin/admin_views/article/add/', self.super_login) 
     153        self.assertRedirects(post, '/test_admin/admin/admin_views/article/') 
     154        self.failUnlessEqual(Article.objects.all().count(), 4) 
     155        self.client.get('/test_admin/admin/logout/') 
     156         
    148157    def testChangeView(self): 
    149158        """Change view should restrict access and allow users to edit items."""