Beispiel #1
0
 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)
Beispiel #2
0
 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)
Beispiel #3
0
    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")
Beispiel #4
0
    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')
Beispiel #5
0
    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
        )
Beispiel #6
0
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))
Beispiel #7
0
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))