# HG changeset patch # User gibus # Date 1394532325 -3600 # Node ID 830993bdf983872e310f7be8660cbdf81e5c5b94 # Parent 0dad543d4ed03d57149af2ae032edd7cfe3f93aa Clear cache when creating/deleting text/comment/user. diff -r 0dad543d4ed0 -r 830993bdf983 src/cm/client.py --- a/src/cm/client.py Mon Mar 10 17:01:09 2014 +0100 +++ b/src/cm/client.py Tue Mar 11 11:05:25 2014 +0100 @@ -24,6 +24,7 @@ import re import time import operator +from django.core.cache import cache selection_place_error_msg = _(u'A selection is required. Select in the text the part your comment applies to.') @@ -166,6 +167,7 @@ comment.delete() ret['msg'] = _(u'comment removed') register_activity(request, "comment_removed", text=text, comment=comment) + cache.clear() except ObjectDoesNotExist: pass return ret ; @@ -288,6 +290,7 @@ if AUTO_CONTRIB_REGISTER: Notification.objects.set_notification(text=text, type='own', active=True, email_or_user=user or email) register_activity(request, "comment_created", text, comment) + cache.clear() return ret #we need to call comments_thread from here this function will be very expensive diff -r 0dad543d4ed0 -r 830993bdf983 src/cm/models.py --- a/src/cm/models.py Mon Mar 10 17:01:09 2014 +0100 +++ b/src/cm/models.py Tue Mar 11 11:05:25 2014 +0100 @@ -25,12 +25,14 @@ import pickle from django.db import connection from datetime import datetime +from django.core.cache import cache class TextManager(Manager): def create_text(self, title, format, content, note, name, email, tags, user=None, state='approved', **kwargs): content = on_content_receive(content, format) text = self.create(name=name, email=email, user=user, state=state) text_version = TextVersion.objects.create(title=title, format=format, content=content, text=text, note=note, name=name, email=email, tags=tags, user=user) + cache.clear() return text def create_new_version(self, text, title, format, content, note, name, email, tags, user=None, **kwargs): diff -r 0dad543d4ed0 -r 830993bdf983 src/cm/views/texts.py --- a/src/cm/views/texts.py Mon Mar 10 17:01:09 2014 +0100 +++ b/src/cm/views/texts.py Tue Mar 11 11:05:25 2014 +0100 @@ -46,6 +46,7 @@ import cssutils from os.path import basename from django.db.models.sql.datastructures import EmptyResultSet +from django.core.cache import cache def get_text_and_admin(key, adminkey, assert_admin = False): """ @@ -213,6 +214,7 @@ display_message(request, _(u'Text %(text_title)s deleted') %{'text_title':text.title}) register_activity(request, "text_removed", text=text) text.delete() + cache.clear() return HttpResponse('') # no redirect because this is called by js @has_perm_on_text('can_delete_text') diff -r 0dad543d4ed0 -r 830993bdf983 src/cm/views/user.py --- a/src/cm/views/user.py Mon Mar 10 17:01:09 2014 +0100 +++ b/src/cm/views/user.py Tue Mar 11 11:05:25 2014 +0100 @@ -326,6 +326,7 @@ userform = UserValidateForm(instance=user) pwform = SetPasswordForm(user) + cache.clear() return render_to_response('site/activate.html', { 'forms' : [userform, pwform], 'title': _(u'Activate your account'), @@ -367,6 +368,7 @@ profile.user.save() display_message(request, _(u"User's access %(prof)s has been refused.") % {'prof':profile.simple_print()}) register_activity(request, "user_refused", user=profile.user) + cache.clear() return HttpResponse('') # no redirect because this is called by js raise UnauthorizedException('')