diff options
author | Aurélien Bompard <aurelien@bompard.org> | 2013-07-11 16:28:07 +0200 |
---|---|---|
committer | Aurélien Bompard <aurelien@bompard.org> | 2013-07-11 17:17:27 +0200 |
commit | 2c7c64b084040ad0666b15c511ff18bb96fc79b9 (patch) | |
tree | 0b3a627936cad2de88344fca4c351ee761128a33 /hyperkitty/views | |
parent | 510c337117a77591400d7ee1d8d20ffd3ca2f731 (diff) | |
download | hyperkitty-2c7c64b084040ad0666b15c511ff18bb96fc79b9.tar.gz hyperkitty-2c7c64b084040ad0666b15c511ff18bb96fc79b9.tar.xz hyperkitty-2c7c64b084040ad0666b15c511ff18bb96fc79b9.zip |
Factorize the category widget code
Diffstat (limited to 'hyperkitty/views')
-rw-r--r-- | hyperkitty/views/thread.py | 29 |
1 files changed, 2 insertions, 27 deletions
diff --git a/hyperkitty/views/thread.py b/hyperkitty/views/thread.py index 8c745ba..365dca9 100644 --- a/hyperkitty/views/thread.py +++ b/hyperkitty/views/thread.py @@ -100,18 +100,7 @@ def thread_index(request, mlist_fqdn, threadid, month=None, year=None): fav_action = "rm" # Category - categories = [ (c.name, c.name.upper()) - for c in ThreadCategory.objects.all() ] \ - + [("", "no categories")] - category_form = CategoryForm(initial={"category": thread.category or ""}) - category_form["category"].field.choices = categories - if not thread.category: - category = None - else: - try: - category = ThreadCategory.objects.get(name=thread.category) - except ThreadCategory.DoesNotExist: - category = None + category, category_form = get_category_widget(request, thread.category) # Extract relative dates today = datetime.date.today() @@ -312,21 +301,7 @@ def set_category(request, mlist_fqdn, threadid): raise SuspiciousOperation store = get_store(request) - categories = [ (c.name, c.name.upper()) - for c in ThreadCategory.objects.all() ] \ - + [("", "No categories")] - category_form = CategoryForm(request.POST) - category_form["category"].field.choices = categories - - if not category_form.is_valid(): - return HttpResponse("Error settings category: invalid data", - content_type="text/plain", status=500) - - category_name = category_form.cleaned_data["category"] - try: - category = ThreadCategory.objects.get(name=category_name) - except ThreadCategory.DoesNotExist: - raise Http404("No such category: %s" % category_name) + category, category_form = get_category_widget(request) thread = store.get_thread(mlist_fqdn, threadid) if category.name != thread.category: thread.category = category.name |