##// END OF EJS Templates
experimento_start view function modificated...
Fiorella Quino -
r252:ab42e1c14f27
parent child
Show More
@@ -28,7 +28,7 from apps.cgs.forms import CGSConfigurationForm
28 from apps.abs.forms import ABSConfigurationForm
28 from apps.abs.forms import ABSConfigurationForm
29 from apps.usrp.forms import USRPConfigurationForm
29 from apps.usrp.forms import USRPConfigurationForm
30
30
31 from .models import Campaign, Experiment, Device, Configuration, Location, RunningExperiment
31 from .models import Campaign, Experiment, Device, Configuration, Location, RunningExperiment, DEV_STATES
32 from apps.cgs.models import CGSConfiguration
32 from apps.cgs.models import CGSConfiguration
33 from apps.jars.models import JARSConfiguration, EXPERIMENT_TYPE
33 from apps.jars.models import JARSConfiguration, EXPERIMENT_TYPE
34 from apps.usrp.models import USRPConfiguration
34 from apps.usrp.models import USRPConfiguration
@@ -543,7 +543,7 def experiments(request):
543 def experiment(request, id_exp):
543 def experiment(request, id_exp):
544
544
545 experiment = get_object_or_404(Experiment, pk=id_exp)
545 experiment = get_object_or_404(Experiment, pk=id_exp)
546 experiment.get_status()
546 #experiment.get_status()
547 configurations = Configuration.objects.filter(experiment=experiment, type=0)
547 configurations = Configuration.objects.filter(experiment=experiment, type=0)
548
548
549 kwargs = {}
549 kwargs = {}
@@ -719,18 +719,21 def experiment_start(request, id_exp):
719
719
720 exp = get_object_or_404(Experiment, pk=id_exp)
720 exp = get_object_or_404(Experiment, pk=id_exp)
721
721
722 if exp.status == 2:
722 confs = Configuration.objects.filter(experiment=exp, type=0)
723 messages.warning(request, 'Experiment {} already running'.format(exp))
723 if not confs:
724 messages.error(request, 'Experiment not running. No Device Configurations detected.')
725 return redirect(exp.get_absolute_url())
724
726
725 elif exp.status == 3:
727 for conf in confs:
726 messages.warning(request, 'Experiment {} already programmed'.format(exp))
728 conf.status_device()
729 if conf.device.status != 2:
730 messages.error(request, 'Experiment not running. Configuration {} state: '.format(conf) + DEV_STATES[conf.device.status][1])
731 return redirect(exp.get_absolute_url())
727
732
728 if not (exp.start_time < datetime.now().time() < exp.end_time):
733 exp.get_status()
729 exp.status==1
730 exp.save()
731 messages.warning(request, 'Experiment {} is out of time'.format(exp))
732 return redirect(exp.get_absolute_url())
733
734
735 if exp.status == 2:
736 messages.warning(request, 'Experiment {} already running'.format(exp))
734 else:
737 else:
735 task = task_start.delay(exp.pk)
738 task = task_start.delay(exp.pk)
736 exp.status = task.wait()
739 exp.status = task.wait()
@@ -738,8 +741,7 def experiment_start(request, id_exp):
738 messages.error(request, 'Experiment {} not start'.format(exp))
741 messages.error(request, 'Experiment {} not start'.format(exp))
739 if exp.status==2:
742 if exp.status==2:
740 messages.success(request, 'Experiment {} started'.format(exp))
743 messages.success(request, 'Experiment {} started'.format(exp))
741
744 exp.save()
742 exp.save()
743
745
744 return redirect(exp.get_absolute_url())
746 return redirect(exp.get_absolute_url())
745
747
@@ -748,7 +750,13 def experiment_start(request, id_exp):
748 def experiment_stop(request, id_exp):
750 def experiment_stop(request, id_exp):
749
751
750 exp = get_object_or_404(Experiment, pk=id_exp)
752 exp = get_object_or_404(Experiment, pk=id_exp)
753 confs = Configuration.objects.filter(experiment=exp, type=0)
754 if not confs:
755 messages.error(request, 'No Device Configurations detected.')
756 return redirect(exp.get_absolute_url())
751
757
758 exp.get_status()
759
752 if exp.status == 2:
760 if exp.status == 2:
753 task = task_stop.delay(exp.pk)
761 task = task_stop.delay(exp.pk)
754 exp.status = task.wait()
762 exp.status = task.wait()
General Comments 0
You need to be logged in to leave comments. Login now