def add_content_object(request, group, current_app='plus_groups', **kwargs): form_args = request.POST.copy() form_args['current_app'] = current_app form = AddContentForm(form_args) if form.is_valid(): title = form.cleaned_data['title'] type_string = form.cleaned_data['type_string'] create = getattr(group, "create_" + type_string) title = form.cleaned_data['title'] name = form.cleaned_data['name'] cls = ContentType.objects.get(model=form.cleaned_data['type_string'].lower()).model_class() try: #if a stub exists, use it obj = cls.objects.plus_get(request.user, name=form.cleaned_data['name'], in_agent=group.get_ref(), stub=True) except cls.DoesNotExist: obj = create(request.user, title=title, name=name, in_agent=group.get_ref(), stub=True) obj.save() #can't do a normal redirect via ajax call, so tell the js to redirect for us return HttpResponse('redirect:' + reverse(current_app + ':edit_' + type_string, args=[group.id, obj.name])) #redirect to the edit page #return HttpResponseRedirect(reverse('edit_' + type_string, args=[group.id, obj.name])) return add_content_form(request, group.id, form)
def add_content_object(request, group, current_app='plus_groups', **kwargs): form = AddContentForm(request.POST) if form.is_valid(): title = form.cleaned_data['title'] type_string = form.cleaned_data['type_string'] create = getattr(group, "create_" + type_string) title = form.cleaned_data['title'] name = form.cleaned_data['name'] obj = create(request.user, title=title, name=name, in_agent=group.get_ref(), stub=True) obj.save() #can't do a normal redirect via ajax call, so tell the js to redirect for us return HttpResponse('redirect:' + reverse(current_app + ':edit_' + type_string, args=[group.id, obj.name])) #redirect to the edit page #return HttpResponseRedirect(reverse('edit_' + type_string, args=[group.id, obj.name])) return add_content_form(request, group.id, form)