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
-~----------~----~----~----~------~----~------~--~---