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)
def initiate_formhub_request(request, id_string, uuid): context = RequestContext(request) try: fs = FormhubService.objects.get(id_string=id_string) except FormhubService.DoesNotExist: context.contents = _(u"Unknown Service") context.status = False else: dq, created = DataQueue.objects.get_or_create(service=fs, data_id=uuid) dq.processed = False dq.save() context.status = context.status = True context.contents = _(u"OK") # call process queue asynchronously process_dqueue.delay() response = {"status": context.status, "contents": context.contents} if 'callback' in request.GET and request.GET.get('callback') != '': callback = request.GET.get('callback') return HttpResponse("%s(%s)" % (callback, json.dumps(response)), mimetype='application/json') return HttpResponse(json.dumps(response), mimetype='application/json')