git.ithinksw.org
/
philo.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
69872b7
)
MultiViews now pass extra_context and node to view functions that accept them as...
author
Joseph Spiros
<joseph.spiros@ithinksw.com>
Tue, 29 Jun 2010 23:25:49 +0000
(19:25 -0400)
committer
Joseph Spiros
<joseph.spiros@ithinksw.com>
Tue, 29 Jun 2010 23:34:27 +0000
(19:34 -0400)
models/nodes.py
patch
|
blob
|
history
diff --git
a/models/nodes.py
b/models/nodes.py
index
9c18e52
..
a8125ee
100644
(file)
--- a/
models/nodes.py
+++ b/
models/nodes.py
@@
-4,6
+4,8
@@
from django.contrib.contenttypes import generic
from django.contrib.sites.models import Site
from django.http import HttpResponse, HttpResponseServerError, HttpResponseRedirect
from django.core.servers.basehttp import FileWrapper
from django.contrib.sites.models import Site
from django.http import HttpResponse, HttpResponseServerError, HttpResponseRedirect
from django.core.servers.basehttp import FileWrapper
+from django.core.urlresolvers import resolve
+from inspect import getargspec
from philo.models.base import TreeEntity, Entity, QuerySetMapper
from philo.utils import ContentTypeSubclassLimiter
from philo.validators import RedirectValidator
from philo.models.base import TreeEntity, Entity, QuerySetMapper
from philo.utils import ContentTypeSubclassLimiter
from philo.validators import RedirectValidator
@@
-62,8
+64,14
@@
class MultiView(View):
if not subpath:
subpath = ""
subpath = "/" + subpath
if not subpath:
subpath = ""
subpath = "/" + subpath
- from django.core.urlresolvers import resolve
view, args, kwargs = resolve(subpath, urlconf=self)
view, args, kwargs = resolve(subpath, urlconf=self)
+ view_args = getargspec(view)[0]
+ if extra_context is not None and 'extra_context' in view_args:
+ if 'extra_context' in kwargs:
+ extra_context.update(kwargs['extra_context'])
+ kwargs['extra_context'] = extra_context
+ if 'node' in view_args:
+ kwargs['node'] = node
return view(request, *args, **kwargs)
class Meta:
return view(request, *args, **kwargs)
class Meta: