Esempio n. 1
0
    def skip_validation(self, experiment_form, task_formset):
        experiment_form.full_clean()
        exp_data = experiment_form.cleaned_data
        exp_data.pop('skip_validation')
        if experiment_form.instance and experiment_form.instance.pk:
            exp = experiment_form.instance
            experiment_form.save()
        else:
            exp = Experiment.objects.create(**exp_data)

        task_formset.full_clean()
        for task_form in task_formset.forms:
            for pv_formset in task_form.parameter_values:
                pv_formset.full_clean()

        sources = save_task(exp, task_formset)

        for task_form in task_formset.forms:
            for pv_form in task_form.parameter_values[0].forms:
                source_ref = pv_form.cleaned_data['source_ref']
                if source_ref:
                    source_ref = source_ref.split('-value')[0]
                    source = sources[source_ref]
                    target = pv_form.instance
                    exist = Connection.objects.filter(target=target, source=source)
                    if not exist:
                        Connection.objects.create(target=target, source=source)

        return HttpResponse(reverse_lazy('experiment-update', kwargs={'pk': exp.pk}))
Esempio n. 2
0
    def save_all(self, experiment=None, commit=True):
        if experiment:
            self.instance = experiment

        sources = save_task(experiment, self)

        for task_form in self.forms:
            for pv_form in task_form.parameter_values[0].forms:
                source_ref = pv_form.cleaned_data['source_ref']
                if source_ref:
                    source_ref = source_ref.split('-value')[0]
                    source = sources[source_ref]
                    target = pv_form.instance
                    exist = Connection.objects.filter(target=target, source=source)
                    if not exist:
                        Connection.objects.create(target=target, source=source)
Esempio n. 3
0
    def save_all(self, experiment=None, commit=True):
        if experiment:
            self.instance = experiment

        sources = save_task(experiment, self)

        for task_form in self.forms:
            for pv_form in task_form.parameter_values[0].forms:
                source_ref = pv_form.cleaned_data['source_ref']
                if source_ref:
                    source_ref = source_ref.split('-value')[0]
                    source = sources[source_ref]
                    target = pv_form.instance
                    exist = Connection.objects.filter(target=target,
                                                      source=source)
                    if not exist:
                        Connection.objects.create(target=target, source=source)