diff options
author | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2012-09-14 19:59:20 -0400 |
---|---|---|
committer | Evgeny Fadeev <evgeny.fadeev@gmail.com> | 2012-09-14 19:59:20 -0400 |
commit | f76dd3c8b60ddf4fa16dc19a3f5eb8089dee59c1 (patch) | |
tree | c4d69a211463e5608dedad1ffdfd504836e4cef5 /askbot/utils | |
parent | 9835aedf1127f021f1d50e616aef8c8bd825571e (diff) | |
download | askbot-f76dd3c8b60ddf4fa16dc19a3f5eb8089dee59c1.tar.gz askbot-f76dd3c8b60ddf4fa16dc19a3f5eb8089dee59c1.tar.bz2 askbot-f76dd3c8b60ddf4fa16dc19a3f5eb8089dee59c1.zip |
group description editing works again
Diffstat (limited to 'askbot/utils')
-rw-r--r-- | askbot/utils/forms.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/askbot/utils/forms.py b/askbot/utils/forms.py index 917b68c2..6c3af066 100644 --- a/askbot/utils/forms.py +++ b/askbot/utils/forms.py @@ -3,6 +3,8 @@ from django import forms from django.http import str_to_unicode from django.contrib.auth.models import User from django.conf import settings +from django.http import Http404 +from django.shortcuts import get_object_or_404 from django.utils.translation import ugettext as _ from django.utils.safestring import mark_safe from askbot.conf import settings as askbot_settings @@ -28,6 +30,23 @@ def clean_next(next, default = None): def get_next_url(request, default = None): return clean_next(request.REQUEST.get('next'), default) +def get_db_object_or_404(params): + """a utility function that returns an object + in return to the model_name and object_id + + only specific models are accessible + """ + from askbot import models + try: + model_name = params['model_name'] + assert(model_name=='Group') + model = models.get_model(model_name) + obj_id = forms.IntegerField().clean(params['object_id']) + return get_object_or_404(model, id=obj_id) + except Exception: + #need catch-all b/c of the nature of the function + raise Http404 + class StrippedNonEmptyCharField(forms.CharField): def clean(self, value): value = value.strip() |