def tr_edit_xhr(request, nid): if request.is_ajax(): if request.method == "GET": tr = TopicResource.objects.get(id=nid) t = tr.resource.url data = {"resource": t} form = TopicResourceForm(instance=tr) # form.resource=str(tr.resource.url) # form.save(commit=False) c = {"form": form} c.update(csrf(request)) formt = 'includes/gen_form_inc.html' html = render_to_string(formt, c) res = {"html": html} response = simplejson.dumps(res) return HttpResponse(response, mimetype='application/json') if request.method == "POST": tr = TopicResource.objects.get(id=nid) form = TopicResourceForm(request.POST, instance=tr) if form.is_valid(): form = form.save() template = 'includes/tr_inc.html' html = render_to_string(template, {"r": form}) res = {"html": html} response = simplejson.dumps(res) return HttpResponse(response, mimetype='application/json') else: return Http404 return Http404
def tr_create_xhr(request, person, slug): if request.method == "POST": form = TopicResourceForm(request.POST) if form.is_valid(): try: r = Resource.objects.get(url=form.cleaned_data['resource']) except Resource.DoesNotExist: r = Resource.objects.create(url=form.cleaned_data['resource'], rtype=form.cleaned_data['rtype']) r.save() obj = form.save(commit=False) obj.resource = r try: topic = Topic.objects.get(person__user=request.user, slug__iexact=slug) except Topic.DoesNotExist: return Http404 obj.topic = topic obj.save() html = render_to_string('includes/tr_inc.html', { "r": obj, "topic": topic }) res = {'html': html} if request.is_ajax(): return HttpResponse(simplejson.dumps(res), mimetype="application/json") else: return HttpResponseRedirect("../..") return Http404
def get_context_data(self, **kwargs): context = super(TopicDetailView, self).get_context_data(**kwargs) context['update_form'] = UpdatesForm() context['tr_form'] = TopicResourceForm() context['update_list'] = Update.objects.filter( topic=self.object).order_by('-added') context['tr_list'] = TopicResource.objects.select_related().filter( topic=self.object).order_by('-added') return context