Пример #1
0
def edit_sample(request):
    context = {}
    profile_id = request.session['profile_id']
    task = request.POST['task']
    if task == 'form':
        component_name = "sample"
        try:
            sample_id = request.POST['sample_id']
        except:
            sample_id = None

        context['component_name'] = component_name
        context['form_body'] = htags.generate_copo_sample_form(sample_id)
        context['form_title'] = lkup.UI_INFO["add_form_title"].format(**locals())
        if sample_id:
            context['form_title'] = lkup.UI_INFO["edit_form_title"].format(**locals())
    if task == 'save':
        source_id = Source(profile_id).save_source(request.POST['auto_fields'])
        record_object = Sample(profile_id, source_id).save_sample(request.POST['auto_fields'])
        row_data = htags.get_record_data(record_object, Sample(profile_id).schema)
        context['table_data'] = {"row_data": row_data, "table_id": "sample_table"}

    if task == 'data':
        context['table_data'] = htags.generate_copo_samples_data(profile_id)


    out = jsonpickle.encode(context)
    return HttpResponse(out, content_type='json')
Пример #2
0
def edit_publication(request):
    context = {}
    task = request.POST['task']
    profile_id = request.session['profile_id']

    if task == 'data':
        context['table_data'] = htags.generate_copo_publications_data(profile_id)
    elif task == 'save':
        record_object = Publication(profile_id).save_publication(request.POST['auto_fields'])
        row_data = htags.get_record_data(record_object, Publication(profile_id).schema)
        context['table_data'] = {"row_data": row_data, "table_id": "publication_table"}

    elif task == 'edit':
        publication_id = request.POST['publication_id']
        Publication(profile_id).edit_publication(request.POST['auto_fields'], publication_id)
        context['table_data'] = htags.generate_copo_publications_data(profile_id)

    elif task == 'delete':
        publication_ids = ast.literal_eval(request.POST['publication_ids'])
        for publication_id in publication_ids:
            Publication(profile_id).edit_publication(None, publication_id, delete="1")
        context['table_data'] = htags.generate_copo_publications_data(profile_id)

    elif task == 'form':
        component_name = "publication"
        try:
            publication_id = request.POST['publication_id']
        except:
            publication_id = None
        context['component_name'] = component_name
        context['form_body'] = htags.generate_copo_publication_form(publication_id)
        context['form_title'] = lkup.UI_INFO["add_form_title"].format(**locals())
        if publication_id:  # then we are in edit context
            context['form_title'] = lkup.UI_INFO["edit_form_title"].format(**locals())
            context['target_id'] = publication_id
    elif task == "doi":
        id_handle = request.POST['id_handle']
        id_type = request.POST['id_type']
        doi_dict = DOI2Metadata(id_handle, id_type).map_result_schema()
        component_name = "publication"
        context['component_name'] = component_name
        context['form_body'] = htags.generate_copo_publication_form(None, doi_dict)
        context['form_title'] = lkup.UI_INFO["add_form_title"].format(**locals())

    out = jsonpickle.encode(context)
    return HttpResponse(out, content_type='json')