Ejemplo n.º 1
0
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)
Ejemplo n.º 2
0
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