def add_service(request, username, id_string): context = RequestContext(request) form = RestServiceForm() xform = XForm.objects.get(user__username=username, id_string=id_string) if request.method == "POST": form = RestServiceForm(request.POST) if form.is_valid(): service_name = form.cleaned_data["service_name"] service_url = form.cleaned_data["service_url"] try: rs = RestService(service_url=service_url, name=service_name, xform=xform) rs.save() except IntegrityError: context.message = u"Service already defined." context.status = "fail" else: context.status = "success" context.message = u"Successfully added service %s." % service_name context.restservice = rs else: context.status = "fail" context.message = u"Please fill in all required fields" if form.errors: for field in form: context.message += Template(u"{{ field.errors }}").render(Context({"field": field})) if request.is_ajax(): response = {"status": context.status, "message": context.message} if context.restservice: response["restservice"] = u"%s" % context.restservice return HttpResponse(simplejson.dumps(response)) context.list_services = RestService.objects.filter(xform=xform) context.form = form context.username = username context.id_string = id_string return render_to_response("add-service.html", context_instance=context)
def add_service(request, username, id_string): context = RequestContext(request) form = RestServiceForm() xform = get_object_or_404(XForm, user__username=username, id_string=id_string) if request.method == 'POST': form = RestServiceForm(request.POST) context.restservice = None if form.is_valid(): service_name = form.cleaned_data['service_name'] service_url = form.cleaned_data['service_url'] try: rs = RestService(service_url=service_url, name=service_name, xform=xform) rs.save() except IntegrityError: context.message = _(u"Service already defined.") context.status = 'fail' else: context.status = 'success' context.message = (_(u"Successfully added service %(name)s.") % { 'name': service_name }) service_tpl = render_to_string( "service.html", { "sv": rs, "username": xform.user.username, "id_string": xform.id_string }) context.restservice = service_tpl else: context.status = 'fail' context.message = _(u"Please fill in all required fields") if form.errors: for field in form: context.message += Template(u"{{ field.errors }}")\ .render(Context({'field': field})) if request.is_ajax(): response = {'status': context.status, 'message': context.message} if context.restservice: response["restservice"] = u"%s" % context.restservice return HttpResponse(json.dumps(response)) context.list_services = RestService.objects.filter(xform=xform) context.form = form context.username = username context.id_string = id_string return render_to_response("add-service.html", context_instance=context)
def add_service(request, username, id_string): context = RequestContext(request) form = RestServiceForm() xform = get_object_or_404( XForm, user__username=username, id_string=id_string) if request.method == 'POST': form = RestServiceForm(request.POST) context.restservice = None if form.is_valid(): service_name = form.cleaned_data['service_name'] service_url = form.cleaned_data['service_url'] try: rs = RestService(service_url=service_url, name=service_name, xform=xform) rs.save() except IntegrityError: context.message = _(u"Service already defined.") context.status = 'fail' else: context.status = 'success' context.message = (_(u"Successfully added service %(name)s.") % {'name': service_name}) service_tpl = render_to_string("service.html", { "sv": rs, "username": xform.user.username, "id_string": xform.id_string}) context.restservice = service_tpl else: context.status = 'fail' context.message = _(u"Please fill in all required fields") if form.errors: for field in form: context.message += Template(u"{{ field.errors }}")\ .render(Context({'field': field})) if request.is_ajax(): response = {'status': context.status, 'message': context.message} if context.restservice: response["restservice"] = u"%s" % context.restservice return HttpResponse(simplejson.dumps(response)) context.list_services = RestService.objects.filter(xform=xform) context.form = form context.username = username context.id_string = id_string return render_to_response("add-service.html", context_instance=context)