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 ""
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)
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)