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')
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')