summaryrefslogtreecommitdiffstats
path: root/askbot/views/commands.py
diff options
context:
space:
mode:
Diffstat (limited to 'askbot/views/commands.py')
-rw-r--r--askbot/views/commands.py20
1 files changed, 14 insertions, 6 deletions
diff --git a/askbot/views/commands.py b/askbot/views/commands.py
index 19a956ef..207a0615 100644
--- a/askbot/views/commands.py
+++ b/askbot/views/commands.py
@@ -612,12 +612,20 @@ def delete_tag(request):
if request.user.is_anonymous() \
or not request.user.is_administrator_or_moderator():
raise exceptions.PermissionDenied()
- post_data = simplejson.loads(request.raw_post_data)
- tag_name = forms.clean_tag(post_data['tag_name'])
- path = post_data['path']
- tree = category_tree.get_data()
- category_tree.delete_category(tree, tag_name, path)
- category_tree.save_data(tree)
+
+ try:
+ post_data = simplejson.loads(request.raw_post_data)
+ tag_name = post_data['tag_name']
+ path = post_data['path']
+ tree = category_tree.get_data()
+ category_tree.delete_category(tree, tag_name, path)
+ category_tree.save_data(tree)
+ except Exception:
+ if 'tag_name' in locals():
+ logging.critical('could not delete tag %s' % tag_name)
+ else:
+ logging.critical('failed to parse post data %s' % request.raw_post_data)
+ raise exceptions.PermissionDenied(_('Sorry, could not delete tag'))
return {'tree_data': tree}
@csrf.csrf_exempt