fixed routing error for deleting all changes
authordurandn
Fri, 17 Apr 2015 11:23:30 +0200
changeset 132 04de6a298527
parent 131 7684ea24c330
child 133 31f7f4806755
fixed routing error for deleting all changes
src/catedit/__init__.py
src/catedit/templates/categories/workshop.html
src/catedit/views/categories.py
--- a/src/catedit/__init__.py	Fri Apr 17 10:45:30 2015 +0200
+++ b/src/catedit/__init__.py	Fri Apr 17 11:23:30 2015 +0200
@@ -77,13 +77,14 @@
         Utility hook function to link to every github call as a kwarg so the
         app logs how many requests can still be made, after the current request
     """
-    app.logger.debug(
-        str(r.request.method) + " "
-        + str(r.url) + " - "
-        + "Remaining requests count: "
-        + str(r.headers["X-RateLimit-Remaining"]) + "/"
-        + str(r.headers["X-RateLimit-Limit"])
-    )
+    pass
+    #app.logger.debug(
+    #    str(r.request.method) + " "
+    #    + str(r.url) + " - "
+    #    + "Remaining requests count: "
+    #    + str(r.headers["X-RateLimit-Remaining"]) + "/"
+    #    + str(r.headers["X-RateLimit-Limit"])
+    #)
 
 def save_links(r, *args, **kwargs):
     """
--- a/src/catedit/templates/categories/workshop.html	Fri Apr 17 10:45:30 2015 +0200
+++ b/src/catedit/templates/categories/workshop.html	Fri Apr 17 11:23:30 2015 +0200
@@ -54,7 +54,7 @@
       <span class="glyphicon glyphicon-chevron-up"/>
     </a>
   </h3>
-  <form method="POST" action="{{url_for('categories.workshop', repository=current_repository)}}" class="form form-inline">
+  <form method="POST" action="{{url_for('categories.delete_all_changes', repository=current_repository, redirect_to='workshop')}}" class="form form-inline">
     <h4>
       <small>
         <ul class="list-inline">
--- a/src/catedit/views/categories.py	Fri Apr 17 10:45:30 2015 +0200
+++ b/src/catedit/views/categories.py	Fri Apr 17 11:23:30 2015 +0200
@@ -49,7 +49,7 @@
 
 
 @module.route(
-    '/<string:repository>/delete-modifs-<deleted_changes_id>&redirect_to=<redirect_to>',
+    '/<string:repository>/delete-modifs-<deleted_changes_id>_redirect_to=<redirect_to>',
     methods=['POST']
 )
 def delete_changes(repository, deleted_changes_id, redirect_to):
@@ -63,18 +63,35 @@
     check_user_status_and_repo_access(repository)
     
     cat_changes_api_instance = CategoryChangesAPI()
-    if deleted_changes_id is None:
-        cat_changes_api_instance.delete(repository=repository)
-    else:
-        cat_changes_api_instance.delete(
-            repository=repository,
-            modified_cat_id=deleted_changes_id
-        )
+    logger.debug("deleting changes for cat")
+    cat_changes_api_instance.delete(
+        repository=repository,
+        modified_cat_id=deleted_changes_id
+    )
     return redirect(url_for('categories.'+redirect_to, repository=repository))
 
 
 @module.route(
-    '/<string:repository>/delete-<deleted_cat_id>&redirect_to=<redirect_to>',
+    '/<string:repository>/delete-all-modifs_redirect_to_<redirect_to>',
+    methods=['POST']
+)
+def delete_all_changes(repository, redirect_to):
+    """
+        View that handles deleting changes for a given repo. If no deleted_changes_id is
+        given, it will delete every change
+    """
+    if repository not in app.config["PERSISTENCE_CONFIG"]["REPOSITORY_LIST"]:
+        abort(404)
+
+    check_user_status_and_repo_access(repository)
+    
+    cat_changes_api_instance = CategoryChangesAPI()
+    cat_changes_api_instance.delete(repository=repository)
+    return redirect(url_for('categories.'+redirect_to, repository=repository))
+
+
+@module.route(
+    '/<string:repository>/delete-category-<deleted_cat_id>_redirect_to=<redirect_to>',
     methods=['POST']
 )
 def delete_category(repository, deleted_cat_id, redirect_to):