From df03e621c0e40b3e5dc1a6dac70b289fe1defea4 Mon Sep 17 00:00:00 2001 From: Max Goodman Date: Tue, 9 Jul 2013 01:46:50 -0700 Subject: [PATCH] Don't base copy/rename API URLs on the "from" multi path. Since "copy" and "rename" are operations rather than resources underneath the multi, let's put them in the root of the API namespace. --- r2/r2/config/routing.py | 4 ++-- r2/r2/controllers/multi.py | 4 ++-- r2/r2/public/static/js/multi.js | 3 ++- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/r2/r2/config/routing.py b/r2/r2/config/routing.py index 8ef83c01c..9c9e5397a 100644 --- a/r2/r2/config/routing.py +++ b/r2/r2/config/routing.py @@ -321,8 +321,8 @@ def make_map(): mc('/api/:action', controller='api') mc("/api/multi/mine", controller="multiapi", action="my_multis") - mc("/api/multi/*multipath/copy", controller="multiapi", action="multi_copy") - mc("/api/multi/*multipath/rename", controller="multiapi", action="multi_rename") + mc("/api/multi/copy", controller="multiapi", action="multi_copy") + mc("/api/multi/rename", controller="multiapi", action="multi_rename") mc("/api/multi/*multipath/r/:srname", controller="multiapi", action="multi_subreddit") mc("/api/multi/*multipath/description", controller="multiapi", action="multi_description") mc("/api/multi/*multipath", controller="multiapi", action="multi") diff --git a/r2/r2/controllers/multi.py b/r2/r2/controllers/multi.py index a08ff5f0f..f82019b62 100644 --- a/r2/r2/controllers/multi.py +++ b/r2/r2/controllers/multi.py @@ -222,7 +222,7 @@ class MultiApiController(RedditController, OAuth2ResourceController): @validate( VUser(), VModhash(), - from_multi=VMultiByPath("multipath", require_view=True), + from_multi=VMultiByPath("from", require_view=True), to_path_info=VMultiPath("to", docs={"to": "destination multireddit url path"}, ), @@ -256,7 +256,7 @@ class MultiApiController(RedditController, OAuth2ResourceController): @validate( VUser(), VModhash(), - from_multi=VMultiByPath("multipath", require_edit=True), + from_multi=VMultiByPath("from", require_edit=True), to_path_info=VMultiPath("to", docs={"to": "destination multireddit url path"}, ), diff --git a/r2/r2/public/static/js/multi.js b/r2/r2/public/static/js/multi.js index 7f244b5ff..0f9b9d52e 100644 --- a/r2/r2/public/static/js/multi.js +++ b/r2/r2/public/static/js/multi.js @@ -147,8 +147,9 @@ r.multi.MultiReddit = Backbone.Model.extend({ var deferred = new $.Deferred Backbone.ajax({ type: 'POST', - url: this.url() + '/' + op, + url: '/api/multi/' + op, data: { + from: this.get('path'), to: newCollection.pathByName(newName) }, success: _.bind(function(resp) {