diff options
| author | Marlon Bailey | 2013-05-11 22:26:34 -0400 |
|---|---|---|
| committer | Marlon Bailey | 2013-05-11 22:26:34 -0400 |
| commit | 9d2580dccfe23e113221c7e150bddebb95d98214 (patch) | |
| tree | 4d07b3aa372d8cfabb919b35ff41e003f30a26e2 /rest_framework/routers.py | |
| parent | fd4a66cfc7888775d20b18665d63156cf3dae13a (diff) | |
| download | django-rest-framework-9d2580dccfe23e113221c7e150bddebb95d98214.tar.bz2 | |
added support for multiple @action and @link decorators on a viewset, along with a router testcase illustrating the failure against the master code base
Diffstat (limited to 'rest_framework/routers.py')
| -rw-r--r-- | rest_framework/routers.py | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/rest_framework/routers.py b/rest_framework/routers.py index 0707635a..ebdf2b2a 100644 --- a/rest_framework/routers.py +++ b/rest_framework/routers.py @@ -127,18 +127,18 @@ class SimpleRouter(BaseRouter): """ # Determine any `@action` or `@link` decorated methods on the viewset - dynamic_routes = {} + dynamic_routes = [] for methodname in dir(viewset): attr = getattr(viewset, methodname) httpmethod = getattr(attr, 'bind_to_method', None) if httpmethod: - dynamic_routes[httpmethod] = methodname + dynamic_routes.append((httpmethod, methodname)) ret = [] for route in self.routes: if route.mapping == {'{httpmethod}': '{methodname}'}: # Dynamic routes (@link or @action decorator) - for httpmethod, methodname in dynamic_routes.items(): + for httpmethod, methodname in dynamic_routes: initkwargs = route.initkwargs.copy() initkwargs.update(getattr(viewset, methodname).kwargs) ret.append(Route( |
