Browse Source

Bust caches on WarnLevel and AttachmentType models. #303

Rafał Pitoń 11 years ago
parent
commit
ae1ebfa90c

+ 3 - 0
misago/apps/admin/attachmenttypes/views.py

@@ -57,6 +57,7 @@ class New(FormWidget):
         new_type.save(force_insert=True)
         new_type.save(force_insert=True)
         for role in form.cleaned_data['roles']:
         for role in form.cleaned_data['roles']:
             new_type.roles.add(roles)
             new_type.roles.add(roles)
+        AttachmentType.objects.flush_cache()
         return new_type, Message(_('New attachments type has been created.'), messages.SUCCESS)
         return new_type, Message(_('New attachments type has been created.'), messages.SUCCESS)
 
 
 
 
@@ -92,6 +93,7 @@ class Edit(FormWidget):
         target.save(force_update=True)
         target.save(force_update=True)
 
 
         target.update_roles(form.cleaned_data['roles'])
         target.update_roles(form.cleaned_data['roles'])
+        AttachmentType.objects.flush_cache()
 
 
         return target, Message(_('Changes in type "%(name)s" have been saved.') % {'name': self.original_name}, messages.SUCCESS)
         return target, Message(_('Changes in type "%(name)s" have been saved.') % {'name': self.original_name}, messages.SUCCESS)
 
 
@@ -138,6 +140,7 @@ class Delete(FormWidget):
                 else:
                 else:
                     messages.info(request, _("Attachment type has been deleted."), self.admin.id)
                     messages.info(request, _("Attachment type has been deleted."), self.admin.id)
                 model.delete()
                 model.delete()
+                AttachmentType.objects.flush_cache()
                 return redirect(reverse('admin_attachments_types'))
                 return redirect(reverse('admin_attachments_types'))
             else:
             else:
                 message = Message(_("Request authorization is invalid. Please resubmit your form."), messages.ERROR)
                 message = Message(_("Request authorization is invalid. Please resubmit your form."), messages.ERROR)

+ 5 - 0
misago/apps/admin/warninglevels/views.py

@@ -51,6 +51,7 @@ class List(ListWidget):
         for item in page_items:
         for item in page_items:
             item.warning_level = cleaned_data['pos_' + str(item.pk)]
             item.warning_level = cleaned_data['pos_' + str(item.pk)]
             item.save(force_update=True)
             item.save(force_update=True)
+        WarnLevel.objects.flush_cache()
         return Message(_('Warning levels have been changed'), messages.SUCCESS), reverse('admin_warning_levels')
         return Message(_('Warning levels have been changed'), messages.SUCCESS), reverse('admin_warning_levels')
 
 
     def sort_items(self, page_items, sorting_method):
     def sort_items(self, page_items, sorting_method):
@@ -71,6 +72,7 @@ class List(ListWidget):
                 level.warning_level = levels_counter
                 level.warning_level = levels_counter
                 level.save(force_update=True)
                 level.save(force_update=True)
             levels_counter += 1
             levels_counter += 1
+        WarnLevel.objects.flush_cache()
 
 
         return Message(_('Selected warning levels have been deleted successfully.'), messages.SUCCESS), reverse('admin_warning_levels')
         return Message(_('Selected warning levels have been deleted successfully.'), messages.SUCCESS), reverse('admin_warning_levels')
 
 
@@ -105,6 +107,7 @@ class New(FormWidget):
                               restrict_posting_threads=form.cleaned_data['restrict_posting_threads']
                               restrict_posting_threads=form.cleaned_data['restrict_posting_threads']
                               )
                               )
         new_level.save(force_insert=True)
         new_level.save(force_insert=True)
+        WarnLevel.objects.flush_cache()
         return new_level, Message(_('New warning level has been defined.'), messages.SUCCESS)
         return new_level, Message(_('New warning level has been defined.'), messages.SUCCESS)
 
 
 
 
@@ -142,6 +145,7 @@ class Edit(FormWidget):
         target.restrict_posting_replies = form.cleaned_data['restrict_posting_replies']
         target.restrict_posting_replies = form.cleaned_data['restrict_posting_replies']
         target.restrict_posting_threads = form.cleaned_data['restrict_posting_threads']
         target.restrict_posting_threads = form.cleaned_data['restrict_posting_threads']
         target.save(force_update=True)
         target.save(force_update=True)
+        WarnLevel.objects.flush_cache()
 
 
         return target, Message(_('Changes in warning level "%(name)s" have been saved.') % {'name': self.original_name}, messages.SUCCESS)
         return target, Message(_('Changes in warning level "%(name)s" have been saved.') % {'name': self.original_name}, messages.SUCCESS)
 
 
@@ -161,5 +165,6 @@ class Delete(ButtonWidget):
                 level.warning_level = levels_counter
                 level.warning_level = levels_counter
                 level.save(force_update=True)
                 level.save(force_update=True)
             levels_counter += 1
             levels_counter += 1
+        WarnLevel.objects.flush_cache()
 
 
         return Message(_('Warning level "%(name)s" has been deleted.') % {'name': _(target.name)}, messages.SUCCESS), False
         return Message(_('Warning level "%(name)s" has been deleted.') % {'name': _(target.name)}, messages.SUCCESS), False

+ 3 - 0
misago/models/warnlevelmodel.py

@@ -6,6 +6,9 @@ from misago.thread import local
 _thread_local = local()
 _thread_local = local()
 
 
 class WarnLevelManager(models.Manager):
 class WarnLevelManager(models.Manager):
+    def flush_cache(self):
+        cache.delete('warning_levels')
+
     def get_levels(self):
     def get_levels(self):
         try:
         try:
             return _thread_local._misago_warning_levels
             return _thread_local._misago_warning_levels