Beispiel #1
0
 def start(self, tag, attrs):
     if tag == "content":
         return
     elif tag == "inline":
         #TODO: process inlines
         inline_class = get_inline(*attrs.get('type').split("."))
         inline = inline_class(attrs)
         self.output.append(inline.render(self.request, self.obj, self.field))
         return
     self.output.append("<%s>" % tag)
Beispiel #2
0
def render(request):
    inline_id = request.POST['id']
    inline_attrs = cjson.decode(request.POST['attrs'])
    model_app_label = request.POST['model_app_label']
    model_name = request.POST['model_name']
    model_pk = request.POST['model_pk']
    field_name = request.POST['field_name']
    
    app_label, inline_name = inline_attrs.get('type').split('.')
    inline_class = get_inline(app_label, inline_name)
    inline = inline_class(inline_attrs)
    model_class = get_model(model_app_label, model_name)
    model = model_class._default_manager.get(pk=model_pk)
    field = model._meta.get_field(field_name)
    
    rendered_inline = inline.render(request, model, field)
    return HttpResponse(rendered_inline)
Beispiel #3
0
 def start(self, tag, attrs):
     if tag == "content":
         return
     elif tag == "inline":
         inline = get_inline(*attrs.get('type').split("."))(attrs)
         inline_tag = ' '.join(['%s="%s"' % (k, v) for k,v in  attrs.items()])
         content_tag = inline.render(self.request, self.obj, self.field)
         self.output.append("""
             <div class="inline">
                 <inline %s />
                 <div class="rendered">
                 %s
                 </div>
             </div>
         """ % (inline_tag, content_tag))
         return
     self.output.append("<%s>" % tag)