def _create(self, request, experiment_id): from tardis.tardis_portal.auth.decorators import has_experiment_write if not has_experiment_write(request, experiment_id): return return_response_error(request) form = self.form_cls(json.loads(request.body)) if not form.is_valid(): return HttpResponse('', status=400) ps = ExperimentParameterSet(experiment_id=experiment_id, schema=self.schema) ps.save() ParameterSetManager(ps).set_params_from_dict(form.cleaned_data) return HttpResponse(json.dumps(self._get_dict_from_ps(ps)), content_type='application/json; charset=utf-8', status=201)
def _create(self, request, experiment_id): from tardis.tardis_portal.auth.decorators import has_experiment_write if not has_experiment_write(request, experiment_id): return return_response_error(request) form = self.form_cls(json.loads(request.body)) if not form.is_valid(): return HttpResponse('', status=400) ps = ExperimentParameterSet(experiment_id=experiment_id, schema=self.schema) ps.save() ParameterSetManager(ps).set_params_from_dict(form.cleaned_data) return HttpResponse(json.dumps(self._get_dict_from_ps(ps)), content_type='application/json; charset=utf-8', status=201)
def _delete(self, request, experiment_id, ps_id): from tardis.tardis_portal.auth.decorators import has_experiment_write if not has_experiment_write(request, experiment_id): return return_response_error(request) try: ps = ExperimentParameterSet.objects.get(experiment_id=experiment_id, id=ps_id) except ExperimentParameterSet.DoesNotExist: return HttpResponse("", status=404) print(ps.schema_id, self.schema.id, str(self)) obj = self._get_dict_from_ps(ps) ps.delete() return HttpResponse(json.dumps(obj), content_type="application/json; charset=utf-8")
def _delete(self, request, experiment_id, ps_id): from tardis.tardis_portal.auth.decorators import has_experiment_write if not has_experiment_write(request, experiment_id): return return_response_error(request) try: ps = ExperimentParameterSet.objects.get( experiment_id=experiment_id, id=ps_id) except ExperimentParameterSet.DoesNotExist: return HttpResponse('', status=404) print(ps.schema_id, self.schema.id, str(self)) obj = self._get_dict_from_ps(ps) ps.delete() return HttpResponse(json.dumps(obj), content_type='application/json; charset=utf-8')
def _update(self, request, experiment_id, ps_id): from tardis.tardis_portal.auth.decorators import has_experiment_write if not has_experiment_write(request, experiment_id): return return_response_error(request) form = self.form_cls(json.loads(request.body)) if not form.is_valid(): return HttpResponse("", status=400) try: ps = ExperimentParameterSet.objects.get(experiment_id=experiment_id, id=ps_id) except ExperimentParameterSet.DoesNotExist: return HttpResponse("", status=404) ParameterSetManager(ps).set_params_from_dict(form.cleaned_data) return HttpResponse( json.dumps(self._get_dict_from_ps(ps)), content_type="application/json; charset=utf-8", status=201 )
def add_dataset(request, experiment_id): if not has_experiment_write(request, experiment_id): return HttpResponseForbidden() # Process form or prepopulate it if request.method == 'POST': form = DatasetForm(request.POST) if form.is_valid(): dataset = Dataset() dataset.description = form.cleaned_data['description'] dataset.save() experiment = Experiment.objects.get(id=experiment_id) dataset.experiments.add(experiment) dataset.save() return _redirect_303('tardis_portal.view_dataset', dataset.id) else: form = DatasetForm() c = {'form': form} return HttpResponse(render_response_index(request, 'tardis_portal/add_or_edit_dataset.html', c))
def add_dataset(request, experiment_id): if not has_experiment_write(request, experiment_id): return HttpResponseForbidden() # Process form or prepopulate it if request.method == 'POST': form = DatasetForm(request.POST) if form.is_valid(): dataset = Dataset() dataset.description = form.cleaned_data['description'] dataset.save() experiment = Experiment.objects.get(id=experiment_id) dataset.experiments.add(experiment) dataset.save() return _redirect_303('tardis_portal.view_dataset', dataset.id) else: form = DatasetForm() c = {'form': form} return HttpResponse( render_response_index(request, 'tardis_portal/add_or_edit_dataset.html', c))