def submit_data(request, formdef_id, template='submit_data.html'): """ A debug utility for admins to submit xml directly to a schema """ context = {} if request.method == 'POST': form = SubmitDataForm(request.POST, request.FILES) if form.is_valid(): xmlfile = request.FILES['file'].read() checksum = hashlib.md5(xmlfile).hexdigest() new_submission = submitprocessor.new_submission(request.META, checksum, request.user.selected_domain) submitprocessor.save_legacy_blob(new_submission, xmlfile) submitprocessor.handle_legacy_blob(new_submission) if new_submission == '[error]': logging.error("Domain Submit(): Submission error") context['errors'] = "Problem with submitting data" else: attachments = Attachment.objects.all().filter(submission=new_submission) context['submission'] = new_submission else: logging.error("Domain Submit(): Form submission error") context['errors'] = form.errors context['upload_form'] = SubmitDataForm() return data(request, formdef_id, template, context)
def makeNewEntry(headerfile, bodyfile, domain=None): fin = open(headerfile,"r") meta= fin.read() fin.close() fin = open(bodyfile,"rb") body = fin.read() fin.close() metahash = eval(meta) if domain: mockdomain = domain elif Domain.objects.all().count() == 0: mockdomain = Domain(name='mockdomain') mockdomain.save() else: mockdomain = Domain.objects.all()[0] checksum = hashlib.md5(body).hexdigest() new_submission = submitprocessor.new_submission(metahash, checksum, mockdomain) submitprocessor.save_legacy_blob(new_submission, body) attachments = submitprocessor.handle_legacy_blob(new_submission) return new_submission