Author: batiste.bieler
Date: Mon Feb 16 12:38:17 2009
New Revision: 349

Modified:
    trunk/pages/admin/__init__.py
    trunk/pages/models.py

Log:
Finaly fix cache bug with the admin tree

Modified: trunk/pages/admin/__init__.py
==============================================================================
--- trunk/pages/admin/__init__.py       (original)
+++ trunk/pages/admin/__init__.py       Mon Feb 16 12:38:17 2009
@@ -116,6 +116,7 @@
          language = form.cleaned_data['language']
          target = request.GET.get('target', None)
          position = request.GET.get('position', None)
+
          obj.invalidate()

          if target is not None and position is not None:
@@ -124,8 +125,8 @@
              except self.model.DoesNotExist:
                  pass
              else:
-                obj.move_to(target, position)
                  target.invalidate()
+                obj.move_to(target, position)

          for mandatory_placeholder in self.mandatory_placeholders:
              Content.objects.set_or_create_content(obj, language,
@@ -331,7 +332,6 @@
          """
          Move the page to the requested target, at the given position
          """
-        context = {}
          page = Page.objects.get(pk=page_id)

          target = request.POST.get('target', None)
@@ -340,14 +340,16 @@
              try:
                  target = self.model.objects.get(pk=target)
              except self.model.DoesNotExist:
-                context.update({'error': _('Page could not been moved.')})
+                pass
+                # TODO: should use the django message system
+                # to display this message
+                # _('Page could not been moved.')
              else:
                  page.invalidate()
                  target.invalidate()
                  page.move_to(target, position)
                  return self.list_pages(request,
                       
template_name='admin/pages/page/change_list_table.html')
-        context.update(extra_context or {})
          return HttpResponseRedirect('../../')
  admin.site.register(Page, PageAdmin)


Modified: trunk/pages/models.py
==============================================================================
--- trunk/pages/models.py       (original)
+++ trunk/pages/models.py       Mon Feb 16 12:38:17 2009
@@ -106,9 +106,12 @@
          for desc in self.get_descendants():
              desc.invalidate_if_parent_changed()

-        for site in self.sites.all():
-            if self.parent:
+        if self.parent:
+            for site in self.parent.sites.all():
                  cache.delete(self.PAGE_CHILDREN_KEY % (self.parent.id,  
site.id))
+
+        for site in self.sites.all():
+            cache.delete(self.PAGE_CHILDREN_KEY % (self.id, site.id))

          #TODO: invalidate the content cache of the page


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"pinax-updates" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/pinax-updates?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to