Esempio n. 1
0
 def render_tag(self, context, object_expr, category, template_search_list=[]):
     ctype, object_pk = self.get_target_ctype_pk(context, object_expr)
     if object_pk:
         template_search_list.extend(
             [
                 # classic comments like
                 "reviews/%s/%s/form.html" % (ctype.app_label, ctype.model),
                 "reviews/%s/form.html" % ctype.app_label,
                 # like before, but with optional different template per category
                 "reviews/%s/%s/form_%s.html" % (ctype.app_label, ctype.model, category),
                 "reviews/%s/form_%s.html" % (ctype.app_label, category),
                 "reviews/form_%s.html" % category,
                 "reviews/form.html",
             ]
         )
         context.push()
         formstr = render_to_string(
             template_search_list, {"form": reviews.get_form()(object_expr, category=category)}, context
         )
         context.pop()
         return formstr
     else:
         return ""
Esempio n. 2
0
 def render_tag(self, context, object_expr, category):
     return reviews.get_form()(object_expr, category=category)
 def testGetForm(self):
     from custom_reviews.forms import CustomReviewForm
     self.assertEqual(reviews.get_form(), CustomReviewForm)
Esempio n. 4
0
    except ObjectDoesNotExist:
        return ReviewPostBadRequest(
            "No object matching content-type %r and object PK %r exists." % \
                (escape(ctype), escape(object_pk)))
    except (ValueError, ValidationError), e:
        return ReviewPostBadRequest(
            "Attempting go get content-type %r and object PK %r exists raised %s" % \
                (escape(ctype), escape(object_pk), e.__class__.__name__))

    # Do we want to preview the review?
    preview = "preview" in data

    category = signing.loads(data['category'])

    # Construct the review form
    form = reviews.get_form()(target, data=data, category=category)

    # Check security information
    if form.security_errors():
        return ReviewPostBadRequest(
            "The review form failed security verification: %s" % \
                escape(str(form.security_errors())))

    # If there are errors or if we requested a preview show the review
    if form.errors or not form.formset.is_valid() or preview:
        template_list = [
            # Now the usual directory based template heirarchy.
            "reviews/%s/%s/preview.html" % (model._meta.app_label, model._meta.module_name),
            "reviews/%s/preview.html" % model._meta.app_label,

            # like before, but with optional different template per category
 def testGetForm(self):
     self.assertEqual(reviews.get_form(), ReviewForm)